From a43960da3b88fac1c261bf06e5b4bf106c4a95b0 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Mon, 14 Nov 2016 14:54:53 -0500 Subject: [PATCH 1/3] Move GroupVersion* to pkg/runtime/schema --- .../fake/generator_fake_for_type.go | 2 +- .../generators/generator_for_group.go | 3 +- .../go2idl/go-to-protobuf/protobuf/cmd.go | 1 + examples/apiserver/apiserver.go | 4 +- pkg/api/unversioned/group_version.go | 205 +------------ pkg/api/unversioned/group_version_test.go | 115 -------- pkg/api/unversioned/meta.go | 12 +- pkg/api/unversioned/register.go | 8 +- pkg/api/unversioned/zz_generated.deepcopy.go | 3 +- pkg/runtime/schema/generated.pb.go | 58 ++++ pkg/runtime/schema/generated.proto | 28 ++ pkg/runtime/schema/group_version.go | 277 ++++++++++++++++++ pkg/runtime/schema/group_version_test.go | 136 +++++++++ pkg/runtime/schema/interfaces.go | 40 +++ test/e2e_node/apparmor_test.go | 6 +- 15 files changed, 568 insertions(+), 330 deletions(-) create mode 100644 pkg/runtime/schema/generated.pb.go create mode 100644 pkg/runtime/schema/generated.proto create mode 100644 pkg/runtime/schema/group_version.go create mode 100644 pkg/runtime/schema/group_version_test.go create mode 100644 pkg/runtime/schema/interfaces.go diff --git a/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go b/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go index eac63b355ce..a4d627cc83b 100644 --- a/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go +++ b/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go @@ -107,7 +107,7 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. "groupName": groupName, "version": g.version, "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/watch", Name: "Interface"}), - "GroupVersionResource": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api/unversioned", Name: "GroupVersionResource"}), + "GroupVersionResource": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/runtime/schema", Name: "GroupVersionResource"}), "PatchType": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "PatchType"}), "Everything": c.Universe.Function(types.Name{Package: "k8s.io/kubernetes/pkg/labels", Name: "Everything"}), diff --git a/cmd/libs/go2idl/client-gen/generators/generator_for_group.go b/cmd/libs/go2idl/client-gen/generators/generator_for_group.go index 857b13599d7..e37f9a2afa4 100644 --- a/cmd/libs/go2idl/client-gen/generators/generator_for_group.go +++ b/cmd/libs/go2idl/client-gen/generators/generator_for_group.go @@ -62,6 +62,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer const pkgAPI = "k8s.io/kubernetes/pkg/api" const pkgSerializer = "k8s.io/kubernetes/pkg/runtime/serializer" const pkgUnversioned = "k8s.io/kubernetes/pkg/api/unversioned" + const pkgSchema = "k8s.io/kubernetes/pkg/runtime/schema" apiPath := func(group string) string { if len(g.apiPath) > 0 { @@ -96,7 +97,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer "Group": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "Group"}), "GroupOrDie": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "GroupOrDie"}), "IsEnabledVersion": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "IsEnabledVersion"}), - "ParseGroupVersion": c.Universe.Function(types.Name{Package: pkgUnversioned, Name: "ParseGroupVersion"}), + "ParseGroupVersion": c.Universe.Function(types.Name{Package: pkgSchema, Name: "ParseGroupVersion"}), "apiPath": apiPath(g.group), "codecs": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Codecs"}), "directCodecFactory": c.Universe.Variable(types.Name{Package: pkgSerializer, Name: "DirectCodecFactory"}), diff --git a/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go b/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go index e900dfb9b22..ebce4d91d5f 100644 --- a/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go +++ b/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go @@ -62,6 +62,7 @@ func New() *Generator { Packages: strings.Join([]string{ `+k8s.io/kubernetes/pkg/util/intstr`, `+k8s.io/kubernetes/pkg/api/resource`, + `+k8s.io/kubernetes/pkg/runtime/schema`, `+k8s.io/kubernetes/pkg/runtime`, `+k8s.io/kubernetes/pkg/watch/versioned`, `k8s.io/kubernetes/pkg/api/unversioned`, diff --git a/examples/apiserver/apiserver.go b/examples/apiserver/apiserver.go index 72d1f77f962..3f4f2f82675 100644 --- a/examples/apiserver/apiserver.go +++ b/examples/apiserver/apiserver.go @@ -24,13 +24,13 @@ import ( testgroupetcd "k8s.io/kubernetes/examples/apiserver/rest" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/genericapiserver" "k8s.io/kubernetes/pkg/genericapiserver/authorizer" genericoptions "k8s.io/kubernetes/pkg/genericapiserver/options" genericvalidation "k8s.io/kubernetes/pkg/genericapiserver/validation" "k8s.io/kubernetes/pkg/registry/generic" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" // Install the testgroup API @@ -86,7 +86,7 @@ func Run(serverOptions *genericoptions.ServerRunOptions, stopCh <-chan struct{}) return fmt.Errorf("%v", err) } storageFactory := newStorageFactory() - storageConfig, err := storageFactory.NewConfig(unversioned.GroupResource{Group: groupName, Resource: "testtype"}) + storageConfig, err := storageFactory.NewConfig(schema.GroupResource{Group: groupName, Resource: "testtype"}) if err != nil { return fmt.Errorf("Unable to get storage config: %v", err) } diff --git a/pkg/api/unversioned/group_version.go b/pkg/api/unversioned/group_version.go index db842affe60..7e4bc1e0c0d 100644 --- a/pkg/api/unversioned/group_version.go +++ b/pkg/api/unversioned/group_version.go @@ -20,23 +20,10 @@ import ( "encoding/json" "fmt" "strings" + + "k8s.io/kubernetes/pkg/runtime/schema" ) -// ParseResourceArg takes the common style of string which may be either `resource.group.com` or `resource.version.group.com` -// and parses it out into both possibilities. This code takes no responsibility for knowing which representation was intended -// but with a knowledge of all GroupVersions, calling code can take a very good guess. If there are only two segments, then -// `*GroupVersionResource` is nil. -// `resource.group.com` -> `group=com, version=group, resource=resource` and `group=group.com, resource=resource` -func ParseResourceArg(arg string) (*GroupVersionResource, GroupResource) { - var gvr *GroupVersionResource - if strings.Count(arg, ".") >= 2 { - s := strings.SplitN(arg, ".", 3) - gvr = &GroupVersionResource{Group: s[2], Version: s[1], Resource: s[0]} - } - - return gvr, ParseGroupResource(arg) -} - // GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying // concepts during lookup stages without having partially valid types // @@ -46,14 +33,6 @@ type GroupResource struct { Resource string `protobuf:"bytes,2,opt,name=resource"` } -func (gr GroupResource) WithVersion(version string) GroupVersionResource { - return GroupVersionResource{Group: gr.Group, Version: version, Resource: gr.Resource} -} - -func (gr GroupResource) Empty() bool { - return len(gr.Group) == 0 && len(gr.Resource) == 0 -} - func (gr *GroupResource) String() string { if len(gr.Group) == 0 { return gr.Resource @@ -61,16 +40,6 @@ func (gr *GroupResource) String() string { return gr.Resource + "." + gr.Group } -// ParseGroupResource turns "resource.group" string into a GroupResource struct. Empty strings are allowed -// for each field. -func ParseGroupResource(gr string) GroupResource { - if i := strings.Index(gr, "."); i == -1 { - return GroupResource{Resource: gr} - } else { - return GroupResource{Group: gr[i+1:], Resource: gr[:i]} - } -} - // GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion // to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling // @@ -81,18 +50,6 @@ type GroupVersionResource struct { Resource string `protobuf:"bytes,3,opt,name=resource"` } -func (gvr GroupVersionResource) Empty() bool { - return len(gvr.Group) == 0 && len(gvr.Version) == 0 && len(gvr.Resource) == 0 -} - -func (gvr GroupVersionResource) GroupResource() GroupResource { - return GroupResource{Group: gvr.Group, Resource: gvr.Resource} -} - -func (gvr GroupVersionResource) GroupVersion() GroupVersion { - return GroupVersion{Group: gvr.Group, Version: gvr.Version} -} - func (gvr *GroupVersionResource) String() string { return strings.Join([]string{gvr.Group, "/", gvr.Version, ", Resource=", gvr.Resource}, "") } @@ -106,14 +63,6 @@ type GroupKind struct { Kind string `protobuf:"bytes,2,opt,name=kind"` } -func (gk GroupKind) Empty() bool { - return len(gk.Group) == 0 && len(gk.Kind) == 0 -} - -func (gk GroupKind) WithVersion(version string) GroupVersionKind { - return GroupVersionKind{Group: gk.Group, Version: version, Kind: gk.Kind} -} - func (gk *GroupKind) String() string { if len(gk.Group) == 0 { return gk.Kind @@ -131,19 +80,6 @@ type GroupVersionKind struct { Kind string `protobuf:"bytes,3,opt,name=kind"` } -// Empty returns true if group, version, and kind are empty -func (gvk GroupVersionKind) Empty() bool { - return len(gvk.Group) == 0 && len(gvk.Version) == 0 && len(gvk.Kind) == 0 -} - -func (gvk GroupVersionKind) GroupKind() GroupKind { - return GroupKind{Group: gvk.Group, Kind: gvk.Kind} -} - -func (gvk GroupVersionKind) GroupVersion() GroupVersion { - return GroupVersion{Group: gvk.Group, Version: gvk.Version} -} - func (gvk GroupVersionKind) String() string { return gvk.Group + "/" + gvk.Version + ", Kind=" + gvk.Kind } @@ -179,55 +115,6 @@ func (gv GroupVersion) String() string { return gv.Version } -// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false -// if none of the options match the group. It prefers a match to group and version over just group. -// TODO: Move GroupVersion to a package under pkg/runtime, since it's used by scheme. -// TODO: Introduce an adapter type between GroupVersion and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) -// in fewer places. -func (gv GroupVersion) KindForGroupVersionKinds(kinds []GroupVersionKind) (target GroupVersionKind, ok bool) { - for _, gvk := range kinds { - if gvk.Group == gv.Group && gvk.Version == gv.Version { - return gvk, true - } - } - for _, gvk := range kinds { - if gvk.Group == gv.Group { - return gv.WithKind(gvk.Kind), true - } - } - return GroupVersionKind{}, false -} - -// ParseGroupVersion turns "group/version" string into a GroupVersion struct. It reports error -// if it cannot parse the string. -func ParseGroupVersion(gv string) (GroupVersion, error) { - // this can be the internal version for the legacy kube types - // TODO once we've cleared the last uses as strings, this special case should be removed. - if (len(gv) == 0) || (gv == "/") { - return GroupVersion{}, nil - } - - switch strings.Count(gv, "/") { - case 0: - return GroupVersion{"", gv}, nil - case 1: - i := strings.Index(gv, "/") - return GroupVersion{gv[:i], gv[i+1:]}, nil - default: - return GroupVersion{}, fmt.Errorf("unexpected GroupVersion string: %v", gv) - } -} - -// WithKind creates a GroupVersionKind based on the method receiver's GroupVersion and the passed Kind. -func (gv GroupVersion) WithKind(kind string) GroupVersionKind { - return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} -} - -// WithResource creates a GroupVersionResource based on the method receiver's GroupVersion and the passed Resource. -func (gv GroupVersion) WithResource(resource string) GroupVersionResource { - return GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: resource} -} - // MarshalJSON implements the json.Marshaller interface. func (gv GroupVersion) MarshalJSON() ([]byte, error) { s := gv.String() @@ -242,11 +129,11 @@ func (gv *GroupVersion) unmarshal(value []byte) error { if err := json.Unmarshal(value, &s); err != nil { return err } - parsed, err := ParseGroupVersion(s) + parsed, err := schema.ParseGroupVersion(s) if err != nil { return err } - *gv = parsed + gv.Group, gv.Version = parsed.Group, parsed.Version return nil } @@ -259,87 +146,3 @@ func (gv *GroupVersion) UnmarshalJSON(value []byte) error { func (gv *GroupVersion) UnmarshalText(value []byte) error { return gv.unmarshal(value) } - -// GroupVersions can be used to represent a set of desired group versions. -// TODO: Move GroupVersions to a package under pkg/runtime, since it's used by scheme. -// TODO: Introduce an adapter type between GroupVersions and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) -// in fewer places. -type GroupVersions []GroupVersion - -// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false -// if none of the options match the group. -func (gvs GroupVersions) KindForGroupVersionKinds(kinds []GroupVersionKind) (GroupVersionKind, bool) { - var targets []GroupVersionKind - for _, gv := range gvs { - target, ok := gv.KindForGroupVersionKinds(kinds) - if !ok { - continue - } - targets = append(targets, target) - } - if len(targets) == 1 { - return targets[0], true - } - if len(targets) > 1 { - return bestMatch(kinds, targets), true - } - return GroupVersionKind{}, false -} - -// bestMatch tries to pick best matching GroupVersionKind and falls back to the first -// found if no exact match exists. -func bestMatch(kinds []GroupVersionKind, targets []GroupVersionKind) GroupVersionKind { - for _, gvk := range targets { - for _, k := range kinds { - if k == gvk { - return k - } - } - } - return targets[0] -} - -// ToAPIVersionAndKind is a convenience method for satisfying runtime.Object on types that -// do not use TypeMeta. -func (gvk *GroupVersionKind) ToAPIVersionAndKind() (string, string) { - if gvk == nil { - return "", "" - } - return gvk.GroupVersion().String(), gvk.Kind -} - -// FromAPIVersionAndKind returns a GVK representing the provided fields for types that -// do not use TypeMeta. This method exists to support test types and legacy serializations -// that have a distinct group and kind. -// TODO: further reduce usage of this method. -func FromAPIVersionAndKind(apiVersion, kind string) GroupVersionKind { - if gv, err := ParseGroupVersion(apiVersion); err == nil { - return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} - } - return GroupVersionKind{Kind: kind} -} - -// All objects that are serialized from a Scheme encode their type information. This interface is used -// by serialization to set type information from the Scheme onto the serialized version of an object. -// For objects that cannot be serialized or have unique requirements, this interface may be a no-op. -// TODO: this belongs in pkg/runtime, move unversioned.GVK into runtime. -type ObjectKind interface { - // SetGroupVersionKind sets or clears the intended serialized kind of an object. Passing kind nil - // should clear the current setting. - SetGroupVersionKind(kind GroupVersionKind) - // GroupVersionKind returns the stored group, version, and kind of an object, or nil if the object does - // not expose or provide these fields. - GroupVersionKind() GroupVersionKind -} - -// EmptyObjectKind implements the ObjectKind interface as a noop -// TODO: this belongs in pkg/runtime, move unversioned.GVK into runtime. -var EmptyObjectKind = emptyObjectKind{} - -type emptyObjectKind struct{} - -// SetGroupVersionKind implements the ObjectKind interface -func (emptyObjectKind) SetGroupVersionKind(gvk GroupVersionKind) {} - -// GroupVersionKind implements the ObjectKind interface -func (emptyObjectKind) GroupVersionKind() GroupVersionKind { return GroupVersionKind{} } diff --git a/pkg/api/unversioned/group_version_test.go b/pkg/api/unversioned/group_version_test.go index 3c01712a55d..dedde8d96b3 100644 --- a/pkg/api/unversioned/group_version_test.go +++ b/pkg/api/unversioned/group_version_test.go @@ -24,77 +24,6 @@ import ( "github.com/ugorji/go/codec" ) -func TestGroupVersionParse(t *testing.T) { - tests := []struct { - input string - out GroupVersion - err func(error) bool - }{ - {input: "v1", out: GroupVersion{Version: "v1"}}, - {input: "v2", out: GroupVersion{Version: "v2"}}, - {input: "/v1", out: GroupVersion{Version: "v1"}}, - {input: "v1/", out: GroupVersion{Group: "v1"}}, - {input: "/v1/", err: func(err error) bool { return err.Error() == "unexpected GroupVersion string: /v1/" }}, - {input: "v1/a", out: GroupVersion{Group: "v1", Version: "a"}}, - } - for i, test := range tests { - out, err := ParseGroupVersion(test.input) - if test.err == nil && err != nil || err == nil && test.err != nil { - t.Errorf("%d: unexpected error: %v", i, err) - continue - } - if test.err != nil && !test.err(err) { - t.Errorf("%d: unexpected error: %v", i, err) - continue - } - if out != test.out { - t.Errorf("%d: unexpected output: %#v", i, out) - } - } -} - -func TestGroupResourceParse(t *testing.T) { - tests := []struct { - input string - out GroupResource - }{ - {input: "v1", out: GroupResource{Resource: "v1"}}, - {input: ".v1", out: GroupResource{Group: "v1"}}, - {input: "v1.", out: GroupResource{Resource: "v1"}}, - {input: "v1.a", out: GroupResource{Group: "a", Resource: "v1"}}, - {input: "b.v1.a", out: GroupResource{Group: "v1.a", Resource: "b"}}, - } - for i, test := range tests { - out := ParseGroupResource(test.input) - if out != test.out { - t.Errorf("%d: unexpected output: %#v", i, out) - } - } -} - -func TestParseResourceArg(t *testing.T) { - tests := []struct { - input string - gvr *GroupVersionResource - gr GroupResource - }{ - {input: "v1", gr: GroupResource{Resource: "v1"}}, - {input: ".v1", gr: GroupResource{Group: "v1"}}, - {input: "v1.", gr: GroupResource{Resource: "v1"}}, - {input: "v1.a", gr: GroupResource{Group: "a", Resource: "v1"}}, - {input: "b.v1.a", gvr: &GroupVersionResource{Group: "a", Version: "v1", Resource: "b"}, gr: GroupResource{Group: "v1.a", Resource: "b"}}, - } - for i, test := range tests { - gvr, gr := ParseResourceArg(test.input) - if (gvr != nil && test.gvr == nil) || (gvr == nil && test.gvr != nil) || (test.gvr != nil && *gvr != *test.gvr) { - t.Errorf("%d: unexpected output: %#v", i, gvr) - } - if gr != test.gr { - t.Errorf("%d: unexpected output: %#v", i, gr) - } - } -} - type GroupVersionHolder struct { GV GroupVersion `json:"val"` } @@ -147,47 +76,3 @@ func TestGroupVersionMarshalJSON(t *testing.T) { } } } - -func TestKindForGroupVersionKinds(t *testing.T) { - gvks := GroupVersions{ - GroupVersion{Group: "batch", Version: "v1"}, - GroupVersion{Group: "batch", Version: "v2alpha1"}, - GroupVersion{Group: "policy", Version: "v1beta1"}, - } - cases := []struct { - input []GroupVersionKind - target GroupVersionKind - ok bool - }{ - { - input: []GroupVersionKind{{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}}, - target: GroupVersionKind{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}, - ok: true, - }, - { - input: []GroupVersionKind{{Group: "batch", Version: "v3alpha1", Kind: "CronJob"}}, - target: GroupVersionKind{Group: "batch", Version: "v1", Kind: "CronJob"}, - ok: true, - }, - { - input: []GroupVersionKind{{Group: "policy", Version: "v1beta1", Kind: "PodDisruptionBudget"}}, - target: GroupVersionKind{Group: "policy", Version: "v1beta1", Kind: "PodDisruptionBudget"}, - ok: true, - }, - { - input: []GroupVersionKind{{Group: "apps", Version: "v1alpha1", Kind: "StatefulSet"}}, - target: GroupVersionKind{}, - ok: false, - }, - } - - for i, c := range cases { - target, ok := gvks.KindForGroupVersionKinds(c.input) - if c.target != target { - t.Errorf("%d: unexpected target: %v, expected %v", i, target, c.target) - } - if c.ok != ok { - t.Errorf("%d: unexpected ok: %v, expected %v", i, ok, c.ok) - } - } -} diff --git a/pkg/api/unversioned/meta.go b/pkg/api/unversioned/meta.go index 48009da162b..603c915efa0 100644 --- a/pkg/api/unversioned/meta.go +++ b/pkg/api/unversioned/meta.go @@ -16,6 +16,10 @@ limitations under the License. package unversioned +import ( + "k8s.io/kubernetes/pkg/runtime/schema" +) + // ListMetaAccessor retrieves the list interface from an object // TODO: move this, and TypeMeta and ListMeta, to a different package type ListMetaAccessor interface { @@ -47,16 +51,16 @@ func (meta *ListMeta) SetResourceVersion(version string) { meta.ResourceVersion func (meta *ListMeta) GetSelfLink() string { return meta.SelfLink } func (meta *ListMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink } -func (obj *TypeMeta) GetObjectKind() ObjectKind { return obj } +func (obj *TypeMeta) GetObjectKind() schema.ObjectKind { return obj } // SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) SetGroupVersionKind(gvk GroupVersionKind) { +func (obj *TypeMeta) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } // GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) GroupVersionKind() GroupVersionKind { - return FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *TypeMeta) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } func (obj *ListMeta) GetListMeta() List { return obj } diff --git a/pkg/api/unversioned/register.go b/pkg/api/unversioned/register.go index 907188bc74e..c3e327b8a82 100644 --- a/pkg/api/unversioned/register.go +++ b/pkg/api/unversioned/register.go @@ -16,10 +16,14 @@ limitations under the License. package unversioned +import ( + "k8s.io/kubernetes/pkg/runtime/schema" +) + // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = GroupVersion{Group: "", Version: ""} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: ""} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } diff --git a/pkg/api/unversioned/zz_generated.deepcopy.go b/pkg/api/unversioned/zz_generated.deepcopy.go index 627bb817ecb..d6b1cff7c43 100644 --- a/pkg/api/unversioned/zz_generated.deepcopy.go +++ b/pkg/api/unversioned/zz_generated.deepcopy.go @@ -21,8 +21,9 @@ limitations under the License. package unversioned import ( - conversion "k8s.io/kubernetes/pkg/conversion" time "time" + + conversion "k8s.io/kubernetes/pkg/conversion" ) func DeepCopy_unversioned_APIGroup(in interface{}, out interface{}, c *conversion.Cloner) error { diff --git a/pkg/runtime/schema/generated.pb.go b/pkg/runtime/schema/generated.pb.go new file mode 100644 index 00000000000..82c20997c53 --- /dev/null +++ b/pkg/runtime/schema/generated.pb.go @@ -0,0 +1,58 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/kubernetes/pkg/runtime/schema/generated.proto +// DO NOT EDIT! + +/* + Package schema is a generated protocol buffer package. + + It is generated from these files: + k8s.io/kubernetes/pkg/runtime/schema/generated.proto + + It has these top-level messages: +*/ +package schema + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +const _ = proto.GoGoProtoPackageIsVersion1 + +var fileDescriptorGenerated = []byte{ + // 183 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x32, 0xc9, 0xb6, 0x28, 0xd6, + 0xcb, 0xcc, 0xd7, 0xcf, 0x2e, 0x4d, 0x4a, 0x2d, 0xca, 0x4b, 0x2d, 0x49, 0x2d, 0xd6, 0x2f, 0xc8, + 0x4e, 0xd7, 0x2f, 0x2a, 0xcd, 0x2b, 0xc9, 0xcc, 0x4d, 0xd5, 0x2f, 0x4e, 0xce, 0x48, 0xcd, 0x4d, + 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0x4a, 0x2c, 0x49, 0x4d, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, + 0x17, 0x52, 0x81, 0xe8, 0xd2, 0x43, 0xe8, 0xd2, 0x2b, 0xc8, 0x4e, 0xd7, 0x83, 0xea, 0xd2, 0x83, + 0xe8, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0x6b, 0x4e, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0x62, 0xa8, + 0x94, 0x21, 0x76, 0xa7, 0x94, 0x96, 0x64, 0xe6, 0xe8, 0x67, 0xe6, 0x95, 0x14, 0x97, 0x14, 0xa1, + 0xbb, 0xc3, 0x49, 0xe3, 0xc4, 0x43, 0x39, 0x86, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, + 0x68, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, + 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x10, 0xc5, 0x06, 0x71, 0x0b, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8d, + 0x74, 0x75, 0xa7, 0xe8, 0x00, 0x00, 0x00, +} diff --git a/pkg/runtime/schema/generated.proto b/pkg/runtime/schema/generated.proto new file mode 100644 index 00000000000..2630a82e6f5 --- /dev/null +++ b/pkg/runtime/schema/generated.proto @@ -0,0 +1,28 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package k8s.io.kubernetes.pkg.runtime.schema; + +import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "schema"; + diff --git a/pkg/runtime/schema/group_version.go b/pkg/runtime/schema/group_version.go new file mode 100644 index 00000000000..1a9bba10603 --- /dev/null +++ b/pkg/runtime/schema/group_version.go @@ -0,0 +1,277 @@ +/* +Copyright 2015 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package schema + +import ( + "fmt" + "strings" +) + +// ParseResourceArg takes the common style of string which may be either `resource.group.com` or `resource.version.group.com` +// and parses it out into both possibilities. This code takes no responsibility for knowing which representation was intended +// but with a knowledge of all GroupVersions, calling code can take a very good guess. If there are only two segments, then +// `*GroupVersionResource` is nil. +// `resource.group.com` -> `group=com, version=group, resource=resource` and `group=group.com, resource=resource` +func ParseResourceArg(arg string) (*GroupVersionResource, GroupResource) { + var gvr *GroupVersionResource + if strings.Count(arg, ".") >= 2 { + s := strings.SplitN(arg, ".", 3) + gvr = &GroupVersionResource{Group: s[2], Version: s[1], Resource: s[0]} + } + + return gvr, ParseGroupResource(arg) +} + +// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +type GroupResource struct { + Group string + Resource string +} + +func (gr GroupResource) WithVersion(version string) GroupVersionResource { + return GroupVersionResource{Group: gr.Group, Version: version, Resource: gr.Resource} +} + +func (gr GroupResource) Empty() bool { + return len(gr.Group) == 0 && len(gr.Resource) == 0 +} + +func (gr *GroupResource) String() string { + if len(gr.Group) == 0 { + return gr.Resource + } + return gr.Resource + "." + gr.Group +} + +// ParseGroupResource turns "resource.group" string into a GroupResource struct. Empty strings are allowed +// for each field. +func ParseGroupResource(gr string) GroupResource { + if i := strings.Index(gr, "."); i == -1 { + return GroupResource{Resource: gr} + } else { + return GroupResource{Group: gr[i+1:], Resource: gr[:i]} + } +} + +// GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion +// to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling +type GroupVersionResource struct { + Group string + Version string + Resource string +} + +func (gvr GroupVersionResource) Empty() bool { + return len(gvr.Group) == 0 && len(gvr.Version) == 0 && len(gvr.Resource) == 0 +} + +func (gvr GroupVersionResource) GroupResource() GroupResource { + return GroupResource{Group: gvr.Group, Resource: gvr.Resource} +} + +func (gvr GroupVersionResource) GroupVersion() GroupVersion { + return GroupVersion{Group: gvr.Group, Version: gvr.Version} +} + +func (gvr *GroupVersionResource) String() string { + return strings.Join([]string{gvr.Group, "/", gvr.Version, ", Resource=", gvr.Resource}, "") +} + +// GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +type GroupKind struct { + Group string + Kind string +} + +func (gk GroupKind) Empty() bool { + return len(gk.Group) == 0 && len(gk.Kind) == 0 +} + +func (gk GroupKind) WithVersion(version string) GroupVersionKind { + return GroupVersionKind{Group: gk.Group, Version: version, Kind: gk.Kind} +} + +func (gk *GroupKind) String() string { + if len(gk.Group) == 0 { + return gk.Kind + } + return gk.Kind + "." + gk.Group +} + +// GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion +// to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling +type GroupVersionKind struct { + Group string + Version string + Kind string +} + +// Empty returns true if group, version, and kind are empty +func (gvk GroupVersionKind) Empty() bool { + return len(gvk.Group) == 0 && len(gvk.Version) == 0 && len(gvk.Kind) == 0 +} + +func (gvk GroupVersionKind) GroupKind() GroupKind { + return GroupKind{Group: gvk.Group, Kind: gvk.Kind} +} + +func (gvk GroupVersionKind) GroupVersion() GroupVersion { + return GroupVersion{Group: gvk.Group, Version: gvk.Version} +} + +func (gvk GroupVersionKind) String() string { + return gvk.Group + "/" + gvk.Version + ", Kind=" + gvk.Kind +} + +// GroupVersion contains the "group" and the "version", which uniquely identifies the API. +type GroupVersion struct { + Group string + Version string +} + +// Empty returns true if group and version are empty +func (gv GroupVersion) Empty() bool { + return len(gv.Group) == 0 && len(gv.Version) == 0 +} + +// String puts "group" and "version" into a single "group/version" string. For the legacy v1 +// it returns "v1". +func (gv GroupVersion) String() string { + // special case the internal apiVersion for the legacy kube types + if gv.Empty() { + return "" + } + + // special case of "v1" for backward compatibility + if len(gv.Group) == 0 && gv.Version == "v1" { + return gv.Version + } + if len(gv.Group) > 0 { + return gv.Group + "/" + gv.Version + } + return gv.Version +} + +// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false +// if none of the options match the group. It prefers a match to group and version over just group. +// TODO: Move GroupVersion to a package under pkg/runtime, since it's used by scheme. +// TODO: Introduce an adapter type between GroupVersion and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) +// in fewer places. +func (gv GroupVersion) KindForGroupVersionKinds(kinds []GroupVersionKind) (target GroupVersionKind, ok bool) { + for _, gvk := range kinds { + if gvk.Group == gv.Group && gvk.Version == gv.Version { + return gvk, true + } + } + for _, gvk := range kinds { + if gvk.Group == gv.Group { + return gv.WithKind(gvk.Kind), true + } + } + return GroupVersionKind{}, false +} + +// ParseGroupVersion turns "group/version" string into a GroupVersion struct. It reports error +// if it cannot parse the string. +func ParseGroupVersion(gv string) (GroupVersion, error) { + // this can be the internal version for the legacy kube types + // TODO once we've cleared the last uses as strings, this special case should be removed. + if (len(gv) == 0) || (gv == "/") { + return GroupVersion{}, nil + } + + switch strings.Count(gv, "/") { + case 0: + return GroupVersion{"", gv}, nil + case 1: + i := strings.Index(gv, "/") + return GroupVersion{gv[:i], gv[i+1:]}, nil + default: + return GroupVersion{}, fmt.Errorf("unexpected GroupVersion string: %v", gv) + } +} + +// WithKind creates a GroupVersionKind based on the method receiver's GroupVersion and the passed Kind. +func (gv GroupVersion) WithKind(kind string) GroupVersionKind { + return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} +} + +// WithResource creates a GroupVersionResource based on the method receiver's GroupVersion and the passed Resource. +func (gv GroupVersion) WithResource(resource string) GroupVersionResource { + return GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: resource} +} + +// GroupVersions can be used to represent a set of desired group versions. +// TODO: Move GroupVersions to a package under pkg/runtime, since it's used by scheme. +// TODO: Introduce an adapter type between GroupVersions and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) +// in fewer places. +type GroupVersions []GroupVersion + +// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false +// if none of the options match the group. +func (gvs GroupVersions) KindForGroupVersionKinds(kinds []GroupVersionKind) (GroupVersionKind, bool) { + var targets []GroupVersionKind + for _, gv := range gvs { + target, ok := gv.KindForGroupVersionKinds(kinds) + if !ok { + continue + } + targets = append(targets, target) + } + if len(targets) == 1 { + return targets[0], true + } + if len(targets) > 1 { + return bestMatch(kinds, targets), true + } + return GroupVersionKind{}, false +} + +// bestMatch tries to pick best matching GroupVersionKind and falls back to the first +// found if no exact match exists. +func bestMatch(kinds []GroupVersionKind, targets []GroupVersionKind) GroupVersionKind { + for _, gvk := range targets { + for _, k := range kinds { + if k == gvk { + return k + } + } + } + return targets[0] +} + +// ToAPIVersionAndKind is a convenience method for satisfying runtime.Object on types that +// do not use TypeMeta. +func (gvk *GroupVersionKind) ToAPIVersionAndKind() (string, string) { + if gvk == nil { + return "", "" + } + return gvk.GroupVersion().String(), gvk.Kind +} + +// FromAPIVersionAndKind returns a GVK representing the provided fields for types that +// do not use TypeMeta. This method exists to support test types and legacy serializations +// that have a distinct group and kind. +// TODO: further reduce usage of this method. +func FromAPIVersionAndKind(apiVersion, kind string) GroupVersionKind { + if gv, err := ParseGroupVersion(apiVersion); err == nil { + return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} + } + return GroupVersionKind{Kind: kind} +} diff --git a/pkg/runtime/schema/group_version_test.go b/pkg/runtime/schema/group_version_test.go new file mode 100644 index 00000000000..51f26df7fef --- /dev/null +++ b/pkg/runtime/schema/group_version_test.go @@ -0,0 +1,136 @@ +/* +Copyright 2015 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package schema + +import ( + "testing" +) + +func TestGroupVersionParse(t *testing.T) { + tests := []struct { + input string + out GroupVersion + err func(error) bool + }{ + {input: "v1", out: GroupVersion{Version: "v1"}}, + {input: "v2", out: GroupVersion{Version: "v2"}}, + {input: "/v1", out: GroupVersion{Version: "v1"}}, + {input: "v1/", out: GroupVersion{Group: "v1"}}, + {input: "/v1/", err: func(err error) bool { return err.Error() == "unexpected GroupVersion string: /v1/" }}, + {input: "v1/a", out: GroupVersion{Group: "v1", Version: "a"}}, + } + for i, test := range tests { + out, err := ParseGroupVersion(test.input) + if test.err == nil && err != nil || err == nil && test.err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if test.err != nil && !test.err(err) { + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if out != test.out { + t.Errorf("%d: unexpected output: %#v", i, out) + } + } +} + +func TestGroupResourceParse(t *testing.T) { + tests := []struct { + input string + out GroupResource + }{ + {input: "v1", out: GroupResource{Resource: "v1"}}, + {input: ".v1", out: GroupResource{Group: "v1"}}, + {input: "v1.", out: GroupResource{Resource: "v1"}}, + {input: "v1.a", out: GroupResource{Group: "a", Resource: "v1"}}, + {input: "b.v1.a", out: GroupResource{Group: "v1.a", Resource: "b"}}, + } + for i, test := range tests { + out := ParseGroupResource(test.input) + if out != test.out { + t.Errorf("%d: unexpected output: %#v", i, out) + } + } +} + +func TestParseResourceArg(t *testing.T) { + tests := []struct { + input string + gvr *GroupVersionResource + gr GroupResource + }{ + {input: "v1", gr: GroupResource{Resource: "v1"}}, + {input: ".v1", gr: GroupResource{Group: "v1"}}, + {input: "v1.", gr: GroupResource{Resource: "v1"}}, + {input: "v1.a", gr: GroupResource{Group: "a", Resource: "v1"}}, + {input: "b.v1.a", gvr: &GroupVersionResource{Group: "a", Version: "v1", Resource: "b"}, gr: GroupResource{Group: "v1.a", Resource: "b"}}, + } + for i, test := range tests { + gvr, gr := ParseResourceArg(test.input) + if (gvr != nil && test.gvr == nil) || (gvr == nil && test.gvr != nil) || (test.gvr != nil && *gvr != *test.gvr) { + t.Errorf("%d: unexpected output: %#v", i, gvr) + } + if gr != test.gr { + t.Errorf("%d: unexpected output: %#v", i, gr) + } + } +} + +func TestKindForGroupVersionKinds(t *testing.T) { + gvks := GroupVersions{ + GroupVersion{Group: "batch", Version: "v1"}, + GroupVersion{Group: "batch", Version: "v2alpha1"}, + GroupVersion{Group: "policy", Version: "v1beta1"}, + } + cases := []struct { + input []GroupVersionKind + target GroupVersionKind + ok bool + }{ + { + input: []GroupVersionKind{{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}}, + target: GroupVersionKind{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}, + ok: true, + }, + { + input: []GroupVersionKind{{Group: "batch", Version: "v3alpha1", Kind: "CronJob"}}, + target: GroupVersionKind{Group: "batch", Version: "v1", Kind: "CronJob"}, + ok: true, + }, + { + input: []GroupVersionKind{{Group: "policy", Version: "v1beta1", Kind: "PodDisruptionBudget"}}, + target: GroupVersionKind{Group: "policy", Version: "v1beta1", Kind: "PodDisruptionBudget"}, + ok: true, + }, + { + input: []GroupVersionKind{{Group: "apps", Version: "v1alpha1", Kind: "StatefulSet"}}, + target: GroupVersionKind{}, + ok: false, + }, + } + + for i, c := range cases { + target, ok := gvks.KindForGroupVersionKinds(c.input) + if c.target != target { + t.Errorf("%d: unexpected target: %v, expected %v", i, target, c.target) + } + if c.ok != ok { + t.Errorf("%d: unexpected ok: %v, expected %v", i, ok, c.ok) + } + } +} diff --git a/pkg/runtime/schema/interfaces.go b/pkg/runtime/schema/interfaces.go new file mode 100644 index 00000000000..b5706684587 --- /dev/null +++ b/pkg/runtime/schema/interfaces.go @@ -0,0 +1,40 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package schema + +// All objects that are serialized from a Scheme encode their type information. This interface is used +// by serialization to set type information from the Scheme onto the serialized version of an object. +// For objects that cannot be serialized or have unique requirements, this interface may be a no-op. +type ObjectKind interface { + // SetGroupVersionKind sets or clears the intended serialized kind of an object. Passing kind nil + // should clear the current setting. + SetGroupVersionKind(kind GroupVersionKind) + // GroupVersionKind returns the stored group, version, and kind of an object, or nil if the object does + // not expose or provide these fields. + GroupVersionKind() GroupVersionKind +} + +// EmptyObjectKind implements the ObjectKind interface as a noop +var EmptyObjectKind = emptyObjectKind{} + +type emptyObjectKind struct{} + +// SetGroupVersionKind implements the ObjectKind interface +func (emptyObjectKind) SetGroupVersionKind(gvk GroupVersionKind) {} + +// GroupVersionKind implements the ObjectKind interface +func (emptyObjectKind) GroupVersionKind() GroupVersionKind { return GroupVersionKind{} } diff --git a/test/e2e_node/apparmor_test.go b/test/e2e_node/apparmor_test.go index eab18a64010..85c2d648cc8 100644 --- a/test/e2e_node/apparmor_test.go +++ b/test/e2e_node/apparmor_test.go @@ -26,9 +26,9 @@ import ( "strconv" "strings" - "k8s.io/client-go/pkg/api/errors" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" @@ -151,7 +151,7 @@ func runAppArmorTest(f *framework.Framework, shouldRun bool, profile string) v1. _, err = watch.Until(framework.PodStartTimeout, w, func(e watch.Event) (bool, error) { switch e.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, pod.Name) + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, pod.Name) } switch t := e.Object.(type) { case *v1.Pod: From 35a6bfbceed9d8bc779fbfe00963b7674ea68b77 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 20 Nov 2016 21:55:31 -0500 Subject: [PATCH 2/3] generated: refactor --- cmd/kube-apiserver/app/BUILD | 2 +- cmd/kube-apiserver/app/server.go | 6 +- cmd/kube-controller-manager/app/BUILD | 1 + .../app/controllermanager.go | 9 +- cmd/kube-dns/app/BUILD | 2 +- cmd/kube-dns/app/server.go | 4 +- cmd/kubeadm/app/apis/kubeadm/BUILD | 1 + cmd/kubeadm/app/apis/kubeadm/register.go | 14 +- cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD | 1 + .../app/apis/kubeadm/v1alpha1/register.go | 14 +- .../client-gen/test_apis/testgroup/BUILD | 1 + .../test_apis/testgroup/install/BUILD | 2 +- .../test_apis/testgroup/install/install.go | 12 +- .../test_apis/testgroup/register.go | 8 +- .../client-gen/test_apis/testgroup/v1/BUILD | 1 + .../test_apis/testgroup/v1/register.go | 7 +- .../testgroup/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_testtype.go | 4 +- federation/apis/core/BUILD | 1 + federation/apis/core/install/BUILD | 2 +- federation/apis/core/install/install.go | 14 +- federation/apis/core/register.go | 9 +- federation/apis/core/v1/BUILD | 1 + federation/apis/core/v1/register.go | 3 +- federation/apis/federation/BUILD | 1 + federation/apis/federation/install/BUILD | 2 +- federation/apis/federation/install/install.go | 14 +- federation/apis/federation/register.go | 12 +- federation/apis/federation/v1beta1/BUILD | 1 + .../apis/federation/v1beta1/generated.pb.go | 102 +- .../apis/federation/v1beta1/generated.proto | 1 + .../apis/federation/v1beta1/register.go | 8 +- .../typed/core/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_configmap.go | 4 +- .../core/internalversion/fake/fake_event.go | 4 +- .../internalversion/fake/fake_namespace.go | 4 +- .../core/internalversion/fake/fake_secret.go | 4 +- .../core/internalversion/fake/fake_service.go | 4 +- .../extensions/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_daemonset.go | 4 +- .../internalversion/fake/fake_deployment.go | 4 +- .../internalversion/fake/fake_ingress.go | 4 +- .../internalversion/fake/fake_replicaset.go | 4 +- .../federation/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_cluster.go | 4 +- .../typed/core/v1/BUILD | 2 +- .../typed/core/v1/core_client.go | 4 +- .../typed/core/v1/fake/BUILD | 2 +- .../typed/core/v1/fake/fake_configmap.go | 4 +- .../typed/core/v1/fake/fake_event.go | 4 +- .../typed/core/v1/fake/fake_namespace.go | 4 +- .../typed/core/v1/fake/fake_secret.go | 4 +- .../typed/core/v1/fake/fake_service.go | 4 +- .../typed/extensions/v1beta1/BUILD | 2 +- .../extensions/v1beta1/extensions_client.go | 4 +- .../typed/extensions/v1beta1/fake/BUILD | 2 +- .../extensions/v1beta1/fake/fake_daemonset.go | 4 +- .../v1beta1/fake/fake_deployment.go | 4 +- .../extensions/v1beta1/fake/fake_ingress.go | 4 +- .../v1beta1/fake/fake_replicaset.go | 4 +- .../typed/federation/v1beta1/BUILD | 2 +- .../typed/federation/v1beta1/fake/BUILD | 2 +- .../federation/v1beta1/fake/fake_cluster.go | 4 +- .../federation/v1beta1/federation_client.go | 4 +- federation/cmd/federation-apiserver/app/BUILD | 2 +- .../cmd/federation-apiserver/app/server.go | 8 +- .../dnsprovider/providers/aws/route53/zone.go | 3 +- .../providers/google/clouddns/zone.go | 3 +- federation/pkg/kubefed/BUILD | 2 +- federation/pkg/kubefed/unjoin.go | 4 +- hack/update-codegen.sh | 2 +- pkg/admission/BUILD | 4 +- pkg/admission/attributes.go | 12 +- pkg/admission/chain_test.go | 4 +- pkg/admission/errors.go | 6 +- pkg/admission/interfaces.go | 6 +- pkg/api/BUILD | 3 + pkg/api/copy_test.go | 8 +- pkg/api/defaulting_test.go | 7 +- pkg/api/errors/BUILD | 2 + pkg/api/errors/errors.go | 21 +- pkg/api/errors/errors_test.go | 3 +- pkg/api/errors/storage/BUILD | 2 +- pkg/api/errors/storage/storage.go | 16 +- pkg/api/install/BUILD | 3 +- pkg/api/install/install.go | 14 +- pkg/api/install/install_test.go | 3 +- pkg/api/mapper.go | 6 +- pkg/api/meta/BUILD | 4 +- pkg/api/meta/errors.go | 18 +- pkg/api/meta/firsthit_restmapper.go | 12 +- pkg/api/meta/help_test.go | 10 +- pkg/api/meta/interfaces.go | 15 +- pkg/api/meta/meta.go | 5 +- pkg/api/meta/meta_test.go | 13 +- pkg/api/meta/multirestmapper.go | 28 +- pkg/api/meta/multirestmapper_test.go | 156 +-- pkg/api/meta/priority.go | 44 +- pkg/api/meta/priority_test.go | 110 +- pkg/api/meta/restmapper.go | 78 +- pkg/api/meta/restmapper_test.go | 216 +-- pkg/api/meta/unstructured.go | 4 +- pkg/api/meta_test.go | 5 +- pkg/api/ref.go | 10 +- pkg/api/ref_test.go | 5 +- pkg/api/register.go | 9 +- pkg/api/rest/BUILD | 1 + pkg/api/rest/create.go | 8 +- pkg/api/rest/delete.go | 3 +- pkg/api/rest/rest.go | 3 +- pkg/api/serialization_proto_test.go | 6 +- pkg/api/serialization_test.go | 11 +- pkg/api/testapi/BUILD | 2 +- pkg/api/testapi/testapi.go | 54 +- pkg/api/testing/BUILD | 1 + pkg/api/testing/compat/BUILD | 2 +- .../testing/compat/compatibility_tester.go | 4 +- pkg/api/testing/fuzzer.go | 5 +- pkg/api/unversioned/BUILD | 1 + pkg/api/unversioned/generated.pb.go | 177 +-- pkg/api/unversioned/generated.proto | 1 + pkg/api/unversioned/zz_generated.deepcopy.go | 3 +- pkg/api/v1/BUILD | 1 + pkg/api/v1/generated.pb.go | 1229 +++++++++-------- pkg/api/v1/generated.proto | 1 + pkg/api/v1/helpers.go | 6 +- pkg/api/v1/ref.go | 13 +- pkg/api/v1/register.go | 3 +- pkg/api/validation/BUILD | 2 +- pkg/api/validation/events.go | 4 +- pkg/api/validation/validation.go | 6 +- pkg/apimachinery/BUILD | 4 +- pkg/apimachinery/announced/BUILD | 2 +- pkg/apimachinery/announced/group_factory.go | 18 +- pkg/apimachinery/registered/BUILD | 4 +- pkg/apimachinery/registered/registered.go | 80 +- .../registered/registered_test.go | 16 +- pkg/apimachinery/types.go | 16 +- pkg/apimachinery/types_test.go | 8 +- pkg/apis/abac/BUILD | 1 + pkg/apis/abac/register.go | 6 +- pkg/apis/abac/v0/BUILD | 1 + pkg/apis/abac/v0/register.go | 6 +- pkg/apis/abac/v1beta1/BUILD | 1 + pkg/apis/abac/v1beta1/register.go | 6 +- pkg/apis/apps/BUILD | 1 + pkg/apis/apps/register.go | 8 +- pkg/apis/apps/v1beta1/BUILD | 1 + pkg/apis/apps/v1beta1/generated.pb.go | 82 +- pkg/apis/apps/v1beta1/generated.proto | 1 + pkg/apis/apps/v1beta1/register.go | 8 +- pkg/apis/authentication/BUILD | 1 + pkg/apis/authentication/register.go | 8 +- pkg/apis/authentication/v1beta1/BUILD | 1 + .../authentication/v1beta1/generated.pb.go | 84 +- .../authentication/v1beta1/generated.proto | 1 + pkg/apis/authentication/v1beta1/register.go | 4 +- pkg/apis/authorization/BUILD | 1 + pkg/apis/authorization/register.go | 8 +- pkg/apis/authorization/v1beta1/BUILD | 1 + .../authorization/v1beta1/generated.pb.go | 109 +- .../authorization/v1beta1/generated.proto | 1 + pkg/apis/authorization/v1beta1/register.go | 10 +- pkg/apis/autoscaling/BUILD | 1 + pkg/apis/autoscaling/register.go | 8 +- pkg/apis/autoscaling/v1/BUILD | 1 + pkg/apis/autoscaling/v1/generated.pb.go | 108 +- pkg/apis/autoscaling/v1/generated.proto | 1 + pkg/apis/autoscaling/v1/register.go | 4 +- pkg/apis/batch/BUILD | 1 + pkg/apis/batch/register.go | 8 +- pkg/apis/batch/v1/BUILD | 1 + pkg/apis/batch/v1/generated.pb.go | 107 +- pkg/apis/batch/v1/generated.proto | 1 + pkg/apis/batch/v1/register.go | 4 +- pkg/apis/batch/v2alpha1/BUILD | 1 + pkg/apis/batch/v2alpha1/generated.pb.go | 146 +- pkg/apis/batch/v2alpha1/generated.proto | 1 + pkg/apis/batch/v2alpha1/register.go | 4 +- pkg/apis/certificates/BUILD | 1 + pkg/apis/certificates/register.go | 12 +- pkg/apis/certificates/v1alpha1/BUILD | 1 + .../certificates/v1alpha1/generated.pb.go | 90 +- .../certificates/v1alpha1/generated.proto | 1 + pkg/apis/certificates/v1alpha1/register.go | 12 +- pkg/apis/componentconfig/BUILD | 1 + pkg/apis/componentconfig/register.go | 14 +- pkg/apis/componentconfig/v1alpha1/BUILD | 1 + pkg/apis/componentconfig/v1alpha1/register.go | 10 +- .../v1alpha1/zz_generated.deepcopy.go | 3 +- pkg/apis/extensions/BUILD | 1 + pkg/apis/extensions/register.go | 8 +- pkg/apis/extensions/v1beta1/BUILD | 1 + pkg/apis/extensions/v1beta1/generated.pb.go | 460 +++--- pkg/apis/extensions/v1beta1/generated.proto | 1 + pkg/apis/extensions/v1beta1/register.go | 4 +- pkg/apis/imagepolicy/BUILD | 1 + pkg/apis/imagepolicy/register.go | 8 +- pkg/apis/imagepolicy/v1alpha1/BUILD | 1 + pkg/apis/imagepolicy/v1alpha1/generated.pb.go | 75 +- pkg/apis/imagepolicy/v1alpha1/generated.proto | 1 + pkg/apis/imagepolicy/v1alpha1/register.go | 4 +- pkg/apis/policy/BUILD | 1 + pkg/apis/policy/register.go | 8 +- pkg/apis/policy/v1alpha1/BUILD | 1 + pkg/apis/policy/v1alpha1/register.go | 4 +- pkg/apis/policy/v1beta1/BUILD | 1 + pkg/apis/policy/v1beta1/generated.pb.go | 98 +- pkg/apis/policy/v1beta1/generated.proto | 1 + pkg/apis/policy/v1beta1/register.go | 4 +- pkg/apis/rbac/BUILD | 1 + pkg/apis/rbac/helpers.go | 6 +- pkg/apis/rbac/register.go | 8 +- pkg/apis/rbac/v1alpha1/BUILD | 1 + pkg/apis/rbac/v1alpha1/generated.pb.go | 113 +- pkg/apis/rbac/v1alpha1/generated.proto | 1 + pkg/apis/rbac/v1alpha1/helpers.go | 4 +- pkg/apis/rbac/v1alpha1/register.go | 4 +- pkg/apis/rbac/zz_generated.deepcopy.go | 3 +- pkg/apis/storage/BUILD | 1 + pkg/apis/storage/register.go | 8 +- pkg/apis/storage/v1beta1/BUILD | 1 + pkg/apis/storage/v1beta1/generated.pb.go | 61 +- pkg/apis/storage/v1beta1/generated.proto | 1 + pkg/apis/storage/v1beta1/register.go | 4 +- pkg/apiserver/BUILD | 2 + pkg/apiserver/api_installer.go | 13 +- pkg/apiserver/apiserver.go | 27 +- pkg/apiserver/apiserver_test.go | 43 +- pkg/apiserver/errors_test.go | 3 +- pkg/apiserver/negotiate.go | 18 +- pkg/apiserver/proxy.go | 6 +- pkg/apiserver/resthandler.go | 15 +- pkg/apiserver/resthandler_test.go | 5 +- pkg/apiserver/serviceerror.go | 4 +- pkg/apiserver/testing/BUILD | 1 + pkg/apiserver/testing/types.go | 9 +- pkg/client/cache/BUILD | 1 + pkg/client/cache/listers.go | 7 +- .../typed/apps/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_statefulset.go | 4 +- .../autoscaling/internalversion/fake/BUILD | 2 +- .../fake/fake_horizontalpodautoscaler.go | 4 +- .../typed/batch/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_cronjob.go | 4 +- .../batch/internalversion/fake/fake_job.go | 4 +- .../certificates/internalversion/fake/BUILD | 2 +- .../fake/fake_certificatesigningrequest.go | 4 +- .../typed/core/internalversion/fake/BUILD | 2 +- .../fake/fake_componentstatus.go | 4 +- .../internalversion/fake/fake_configmap.go | 4 +- .../internalversion/fake/fake_endpoints.go | 4 +- .../core/internalversion/fake/fake_event.go | 4 +- .../internalversion/fake/fake_limitrange.go | 4 +- .../internalversion/fake/fake_namespace.go | 4 +- .../core/internalversion/fake/fake_node.go | 4 +- .../fake/fake_persistentvolume.go | 4 +- .../fake/fake_persistentvolumeclaim.go | 4 +- .../core/internalversion/fake/fake_pod.go | 4 +- .../internalversion/fake/fake_podtemplate.go | 4 +- .../fake/fake_replicationcontroller.go | 4 +- .../fake/fake_resourcequota.go | 4 +- .../core/internalversion/fake/fake_secret.go | 4 +- .../core/internalversion/fake/fake_service.go | 4 +- .../fake/fake_serviceaccount.go | 4 +- .../typed/extensions/internalversion/BUILD | 2 +- .../extensions/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_daemonset.go | 4 +- .../internalversion/fake/fake_deployment.go | 4 +- .../internalversion/fake/fake_ingress.go | 4 +- .../fake/fake_networkpolicy.go | 4 +- .../fake/fake_podsecuritypolicy.go | 4 +- .../internalversion/fake/fake_replicaset.go | 4 +- .../fake/fake_scale_expansion.go | 6 +- .../fake/fake_thirdpartyresource.go | 4 +- .../internalversion/scale_expansion.go | 6 +- .../typed/policy/internalversion/fake/BUILD | 2 +- .../fake/fake_eviction_expansion.go | 4 +- .../fake/fake_poddisruptionbudget.go | 4 +- .../typed/rbac/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_clusterrole.go | 4 +- .../fake/fake_clusterrolebinding.go | 4 +- .../rbac/internalversion/fake/fake_role.go | 4 +- .../internalversion/fake/fake_rolebinding.go | 4 +- .../typed/storage/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_storageclass.go | 4 +- .../release_1_5/typed/apps/v1beta1/BUILD | 2 +- .../typed/apps/v1beta1/apps_client.go | 4 +- .../release_1_5/typed/apps/v1beta1/fake/BUILD | 2 +- .../apps/v1beta1/fake/fake_statefulset.go | 4 +- .../typed/authentication/v1beta1/BUILD | 2 +- .../v1beta1/authentication_client.go | 4 +- .../typed/authorization/v1beta1/BUILD | 2 +- .../v1beta1/authorization_client.go | 4 +- .../release_1_5/typed/autoscaling/v1/BUILD | 2 +- .../autoscaling/v1/autoscaling_client.go | 4 +- .../typed/autoscaling/v1/fake/BUILD | 2 +- .../v1/fake/fake_horizontalpodautoscaler.go | 4 +- .../release_1_5/typed/batch/v1/BUILD | 2 +- .../typed/batch/v1/batch_client.go | 4 +- .../release_1_5/typed/batch/v1/fake/BUILD | 2 +- .../typed/batch/v1/fake/fake_job.go | 4 +- .../release_1_5/typed/batch/v2alpha1/BUILD | 2 +- .../typed/batch/v2alpha1/batch_client.go | 4 +- .../typed/batch/v2alpha1/fake/BUILD | 2 +- .../typed/batch/v2alpha1/fake/fake_cronjob.go | 4 +- .../typed/batch/v2alpha1/fake/fake_job.go | 4 +- .../typed/certificates/v1alpha1/BUILD | 2 +- .../v1alpha1/certificates_client.go | 4 +- .../typed/certificates/v1alpha1/fake/BUILD | 2 +- .../fake/fake_certificatesigningrequest.go | 4 +- .../release_1_5/typed/core/v1/BUILD | 2 +- .../release_1_5/typed/core/v1/core_client.go | 4 +- .../release_1_5/typed/core/v1/fake/BUILD | 2 +- .../core/v1/fake/fake_componentstatus.go | 4 +- .../typed/core/v1/fake/fake_configmap.go | 4 +- .../typed/core/v1/fake/fake_endpoints.go | 4 +- .../typed/core/v1/fake/fake_event.go | 4 +- .../typed/core/v1/fake/fake_limitrange.go | 4 +- .../typed/core/v1/fake/fake_namespace.go | 4 +- .../typed/core/v1/fake/fake_node.go | 4 +- .../core/v1/fake/fake_persistentvolume.go | 4 +- .../v1/fake/fake_persistentvolumeclaim.go | 4 +- .../typed/core/v1/fake/fake_pod.go | 4 +- .../typed/core/v1/fake/fake_podtemplate.go | 4 +- .../v1/fake/fake_replicationcontroller.go | 4 +- .../typed/core/v1/fake/fake_resourcequota.go | 4 +- .../typed/core/v1/fake/fake_secret.go | 4 +- .../typed/core/v1/fake/fake_service.go | 4 +- .../typed/core/v1/fake/fake_serviceaccount.go | 4 +- .../typed/extensions/v1beta1/BUILD | 2 +- .../extensions/v1beta1/extensions_client.go | 4 +- .../typed/extensions/v1beta1/fake/BUILD | 2 +- .../extensions/v1beta1/fake/fake_daemonset.go | 4 +- .../v1beta1/fake/fake_deployment.go | 4 +- .../extensions/v1beta1/fake/fake_ingress.go | 4 +- .../typed/extensions/v1beta1/fake/fake_job.go | 4 +- .../v1beta1/fake/fake_podsecuritypolicy.go | 4 +- .../v1beta1/fake/fake_replicaset.go | 4 +- .../v1beta1/fake/fake_scale_expansion.go | 6 +- .../v1beta1/fake/fake_thirdpartyresource.go | 4 +- .../extensions/v1beta1/scale_expansion.go | 6 +- .../release_1_5/typed/policy/v1alpha1/BUILD | 2 +- .../typed/policy/v1alpha1/fake/BUILD | 2 +- .../v1alpha1/fake/fake_poddisruptionbudget.go | 4 +- .../typed/policy/v1alpha1/policy_client.go | 5 +- .../release_1_5/typed/policy/v1beta1/BUILD | 2 +- .../typed/policy/v1beta1/fake/BUILD | 2 +- .../v1beta1/fake/fake_poddisruptionbudget.go | 4 +- .../typed/policy/v1beta1/policy_client.go | 4 +- .../release_1_5/typed/rbac/v1alpha1/BUILD | 2 +- .../typed/rbac/v1alpha1/fake/BUILD | 2 +- .../rbac/v1alpha1/fake/fake_clusterrole.go | 4 +- .../v1alpha1/fake/fake_clusterrolebinding.go | 4 +- .../typed/rbac/v1alpha1/fake/fake_role.go | 4 +- .../rbac/v1alpha1/fake/fake_rolebinding.go | 4 +- .../typed/rbac/v1alpha1/rbac_client.go | 4 +- .../release_1_5/typed/storage/v1beta1/BUILD | 2 +- .../typed/storage/v1beta1/fake/BUILD | 2 +- .../storage/v1beta1/fake/fake_storageclass.go | 4 +- .../typed/storage/v1beta1/storage_client.go | 4 +- pkg/client/conditions/BUILD | 2 +- pkg/client/conditions/conditions.go | 14 +- pkg/client/restclient/BUILD | 2 + pkg/client/restclient/client.go | 10 +- pkg/client/restclient/client_test.go | 3 +- pkg/client/restclient/config.go | 3 +- pkg/client/restclient/config_test.go | 4 +- pkg/client/restclient/fake/BUILD | 2 +- pkg/client/restclient/fake/fake.go | 6 +- pkg/client/restclient/request.go | 9 +- pkg/client/restclient/request_test.go | 11 +- pkg/client/restclient/url_utils.go | 6 +- pkg/client/retry/BUILD | 2 +- pkg/client/retry/util_test.go | 6 +- pkg/client/testing/core/BUILD | 1 + pkg/client/testing/core/actions.go | 50 +- pkg/client/testing/core/fake.go | 7 +- pkg/client/testing/core/fixture.go | 25 +- pkg/client/typed/discovery/BUILD | 3 + .../typed/discovery/discovery_client.go | 31 +- .../typed/discovery/discovery_client_test.go | 11 +- pkg/client/typed/discovery/fake/BUILD | 1 + pkg/client/typed/discovery/fake/discovery.go | 17 +- pkg/client/typed/discovery/helper.go | 3 +- .../typed/discovery/helper_blackbox_test.go | 41 +- pkg/client/typed/discovery/restmapper.go | 33 +- pkg/client/typed/discovery/restmapper_test.go | 63 +- pkg/client/typed/discovery/unstructured.go | 18 +- pkg/client/typed/dynamic/BUILD | 2 + pkg/client/typed/dynamic/client.go | 11 +- pkg/client/typed/dynamic/client_pool.go | 20 +- pkg/client/typed/dynamic/client_test.go | 19 +- pkg/client/typed/dynamic/dynamic_util.go | 17 +- pkg/client/typed/dynamic/dynamic_util_test.go | 5 +- pkg/client/unversioned/BUILD | 3 +- pkg/client/unversioned/clientcmd/BUILD | 2 +- pkg/client/unversioned/clientcmd/api/BUILD | 2 +- .../unversioned/clientcmd/api/latest/BUILD | 2 +- .../clientcmd/api/latest/latest.go | 6 +- .../unversioned/clientcmd/api/register.go | 12 +- pkg/client/unversioned/clientcmd/api/v1/BUILD | 2 +- .../unversioned/clientcmd/api/v1/register.go | 12 +- pkg/client/unversioned/clientcmd/loader.go | 4 +- pkg/client/unversioned/conditions.go | 14 +- pkg/client/unversioned/helper_test.go | 7 +- pkg/client/unversioned/remotecommand/BUILD | 2 +- .../remotecommand/remotecommand_test.go | 4 +- pkg/controller/BUILD | 1 + pkg/controller/controller_ref_manager.go | 6 +- pkg/controller/controller_utils.go | 3 +- pkg/controller/cronjob/BUILD | 1 + pkg/controller/cronjob/utils.go | 4 +- pkg/controller/deployment/BUILD | 1 + .../deployment/deployment_controller_test.go | 7 +- pkg/controller/garbagecollector/BUILD | 2 + .../garbagecollector/garbagecollector.go | 37 +- .../garbagecollector/garbagecollector_test.go | 7 +- .../garbagecollector/metaonly/BUILD | 2 + .../garbagecollector/metaonly/metaonly.go | 7 +- .../metaonly/metaonly_test.go | 5 +- .../garbagecollector/rate_limiter_helper.go | 10 +- pkg/controller/informers/BUILD | 2 +- pkg/controller/informers/factory.go | 4 +- pkg/controller/informers/generic.go | 6 +- pkg/controller/namespace/BUILD | 2 + .../namespace/namespace_controller.go | 8 +- .../namespace/namespace_controller_test.go | 17 +- .../namespace/namespace_controller_utils.go | 21 +- pkg/controller/replicaset/BUILD | 1 + pkg/controller/replicaset/replica_set.go | 3 +- pkg/controller/replication/BUILD | 1 + .../replication/replication_controller.go | 4 +- pkg/controller/resourcequota/BUILD | 4 +- .../resourcequota/replenishment_controller.go | 12 +- .../replenishment_controller_test.go | 6 +- .../resource_quota_controller.go | 6 +- .../resource_quota_controller_test.go | 12 +- pkg/controller/serviceaccount/BUILD | 2 +- .../serviceaccount/tokens_controller_test.go | 116 +- pkg/conversion/queryparams/BUILD | 1 + pkg/conversion/queryparams/convert_test.go | 9 +- pkg/generated/openapi/zz_generated.openapi.go | 8 - pkg/genericapiserver/BUILD | 2 + .../default_storage_factory_builder.go | 16 +- .../default_storage_factory_builder_test.go | 4 +- pkg/genericapiserver/genericapiserver.go | 9 +- pkg/genericapiserver/options/BUILD | 2 +- .../options/server_run_options.go | 12 +- pkg/genericapiserver/resource_config.go | 30 +- pkg/genericapiserver/resource_config_test.go | 28 +- .../resource_encoding_config.go | 34 +- .../reststorage_interfaces.go | 4 +- .../server_run_options_test.go | 12 +- pkg/genericapiserver/storage_factory.go | 60 +- pkg/genericapiserver/storage_factory_test.go | 12 +- pkg/kubectl/BUILD | 2 + pkg/kubectl/cmd/BUILD | 2 + pkg/kubectl/cmd/apply.go | 4 +- pkg/kubectl/cmd/apply_test.go | 4 +- pkg/kubectl/cmd/attach_test.go | 6 +- pkg/kubectl/cmd/cmd_test.go | 3 +- pkg/kubectl/cmd/convert.go | 4 +- pkg/kubectl/cmd/create.go | 4 +- pkg/kubectl/cmd/drain_test.go | 5 +- pkg/kubectl/cmd/edit.go | 19 +- pkg/kubectl/cmd/explain.go | 10 +- pkg/kubectl/cmd/get_test.go | 5 +- pkg/kubectl/cmd/logs_test.go | 4 +- pkg/kubectl/cmd/run.go | 3 +- pkg/kubectl/cmd/run_test.go | 4 +- pkg/kubectl/cmd/testing/BUILD | 1 + pkg/kubectl/cmd/testing/fake.go | 57 +- pkg/kubectl/cmd/top_node_test.go | 3 +- pkg/kubectl/cmd/top_pod_test.go | 3 +- pkg/kubectl/cmd/util/BUILD | 2 + pkg/kubectl/cmd/util/cached_discovery.go | 7 +- pkg/kubectl/cmd/util/cached_discovery_test.go | 13 +- pkg/kubectl/cmd/util/clientcache.go | 22 +- pkg/kubectl/cmd/util/factory.go | 31 +- pkg/kubectl/cmd/util/factory_test.go | 3 +- pkg/kubectl/cmd/util/helpers.go | 5 +- pkg/kubectl/cmd/util/helpers_test.go | 13 +- pkg/kubectl/cmd/util/printing.go | 8 +- pkg/kubectl/cmd/util/shortcut_restmapper.go | 34 +- pkg/kubectl/describe.go | 7 +- pkg/kubectl/history.go | 4 +- pkg/kubectl/kubectl.go | 6 +- pkg/kubectl/metricsutil/BUILD | 2 +- pkg/kubectl/metricsutil/metrics_client.go | 4 +- pkg/kubectl/resource/BUILD | 1 + pkg/kubectl/resource/builder.go | 6 +- pkg/kubectl/resource/mapper.go | 6 +- pkg/kubectl/resource/result.go | 7 +- pkg/kubectl/resource/visitor.go | 4 +- pkg/kubectl/resource_printer.go | 9 +- pkg/kubectl/resource_printer_test.go | 5 +- pkg/kubectl/rollback.go | 4 +- pkg/kubectl/rolling_updater_test.go | 3 +- pkg/kubectl/rollout_status.go | 4 +- pkg/kubectl/scale.go | 4 +- pkg/kubectl/stop.go | 5 +- pkg/kubectl/stop_test.go | 3 +- pkg/kubectl/testing/BUILD | 1 + pkg/kubectl/testing/types.go | 3 +- pkg/kubelet/dockertools/BUILD | 1 + pkg/kubelet/dockertools/docker_manager.go | 3 +- pkg/kubelet/server/BUILD | 1 + pkg/kubelet/server/server.go | 3 +- pkg/kubelet/status/BUILD | 1 + pkg/kubelet/status/status_manager_test.go | 41 +- pkg/master/BUILD | 3 +- pkg/master/master.go | 4 +- pkg/master/master_test.go | 15 +- pkg/master/thirdparty/BUILD | 1 + pkg/master/thirdparty/thirdparty.go | 9 +- pkg/quota/BUILD | 2 +- pkg/quota/evaluator/core/BUILD | 2 +- .../core/persistent_volume_claims.go | 4 +- pkg/quota/evaluator/core/pods.go | 4 +- pkg/quota/evaluator/core/registry.go | 4 +- pkg/quota/generic/BUILD | 2 +- pkg/quota/generic/evaluator.go | 8 +- pkg/quota/generic/registry.go | 6 +- pkg/quota/interfaces.go | 10 +- pkg/registry/batch/rest/BUILD | 2 +- pkg/registry/batch/rest/storage_batch.go | 4 +- pkg/registry/core/rest/BUILD | 4 +- pkg/registry/core/rest/storage_core.go | 12 +- pkg/registry/core/rest/storage_core_test.go | 6 +- .../core/service/allocator/etcd/BUILD | 2 +- .../core/service/allocator/etcd/etcd.go | 6 +- .../extensions/thirdpartyresourcedata/BUILD | 2 + .../thirdpartyresourcedata/codec.go | 67 +- .../thirdpartyresourcedata/codec_test.go | 21 +- .../extensions/thirdpartyresourcedata/util.go | 12 +- pkg/registry/generic/registry/BUILD | 1 + pkg/registry/generic/registry/store.go | 5 +- pkg/registry/generic/rest/BUILD | 2 +- pkg/registry/generic/rest/response_checker.go | 6 +- pkg/registry/generic/rest/streamer.go | 6 +- pkg/runtime/BUILD | 2 + pkg/runtime/codec.go | 44 +- pkg/runtime/codec_check.go | 4 +- pkg/runtime/conversion_test.go | 10 +- pkg/runtime/embedded.go | 10 +- pkg/runtime/embedded_test.go | 26 +- pkg/runtime/error.go | 6 +- pkg/runtime/helper.go | 6 +- pkg/runtime/interfaces.go | 18 +- pkg/runtime/register.go | 20 +- pkg/runtime/schema/BUILD | 30 + pkg/runtime/scheme.go | 48 +- pkg/runtime/scheme_test.go | 120 +- pkg/runtime/serializer/BUILD | 3 +- pkg/runtime/serializer/codec_factory.go | 10 +- pkg/runtime/serializer/codec_test.go | 59 +- pkg/runtime/serializer/json/BUILD | 4 +- pkg/runtime/serializer/json/json.go | 4 +- pkg/runtime/serializer/json/json_test.go | 76 +- pkg/runtime/serializer/json/meta.go | 10 +- pkg/runtime/serializer/protobuf/BUILD | 4 +- pkg/runtime/serializer/protobuf/protobuf.go | 12 +- .../serializer/protobuf/protobuf_test.go | 12 +- pkg/runtime/serializer/recognizer/BUILD | 2 +- .../serializer/recognizer/recognizer.go | 4 +- .../recognizer/testing/recognizer_test.go | 6 +- pkg/runtime/serializer/streaming/BUILD | 4 +- pkg/runtime/serializer/streaming/streaming.go | 6 +- .../serializer/streaming/streaming_test.go | 4 +- pkg/runtime/serializer/versioning/BUILD | 4 +- .../serializer/versioning/versioning.go | 8 +- .../serializer/versioning/versioning_test.go | 80 +- pkg/runtime/serializer/yaml/BUILD | 2 +- pkg/runtime/serializer/yaml/yaml.go | 4 +- pkg/runtime/unstructured.go | 21 +- pkg/storage/BUILD | 1 + pkg/storage/etcd3/BUILD | 1 + pkg/storage/etcd3/watcher_test.go | 3 +- pkg/storage/selection_predicate_test.go | 6 +- pkg/storage/testing/BUILD | 1 + pkg/storage/testing/types.go | 3 +- pkg/util/config/namedcertkey_flag_test.go | 3 +- pkg/util/ebtables/ebtables.go | 3 +- pkg/util/ebtables/ebtables_test.go | 3 +- pkg/util/sysctl/testing/fake.go | 3 +- pkg/watch/BUILD | 4 +- pkg/watch/mux.go | 6 +- pkg/watch/mux_test.go | 4 +- pkg/watch/versioned/BUILD | 2 +- pkg/watch/versioned/register.go | 10 +- pkg/watch/watch_test.go | 4 +- plugin/pkg/admission/gc/BUILD | 2 +- plugin/pkg/admission/gc/gc_admission_test.go | 6 +- plugin/pkg/admission/imagepolicy/BUILD | 2 +- plugin/pkg/admission/imagepolicy/admission.go | 6 +- plugin/pkg/admission/resourcequota/BUILD | 2 +- .../admission/resourcequota/admission_test.go | 4 +- plugin/pkg/admission/serviceaccount/BUILD | 2 +- .../pkg/admission/serviceaccount/admission.go | 4 +- .../auth/authenticator/token/webhook/BUILD | 2 +- .../authenticator/token/webhook/webhook.go | 4 +- plugin/pkg/auth/authorizer/webhook/BUILD | 2 +- plugin/pkg/auth/authorizer/webhook/webhook.go | 4 +- plugin/pkg/scheduler/api/BUILD | 1 + plugin/pkg/scheduler/api/latest/BUILD | 2 +- plugin/pkg/scheduler/api/latest/latest.go | 4 +- plugin/pkg/scheduler/api/register.go | 5 +- plugin/pkg/scheduler/api/v1/BUILD | 1 + plugin/pkg/scheduler/api/v1/register.go | 6 +- plugin/pkg/webhook/BUILD | 2 +- plugin/pkg/webhook/webhook.go | 4 +- test/e2e/BUILD | 1 + test/e2e/cronjob.go | 8 +- test/e2e/framework/BUILD | 1 + test/e2e/framework/framework.go | 6 +- test/e2e/framework/util.go | 5 +- test/e2e/petset.go | 3 +- test/e2e_node/BUILD | 3 +- test/integration/client/client_test.go | 3 +- test/integration/federation/server_test.go | 3 +- test/integration/framework/BUILD | 2 +- test/integration/framework/master_utils.go | 22 +- test/integration/quota/quota_test.go | 4 +- .../integration/thirdparty/thirdparty_test.go | 5 +- vendor/BUILD | 165 ++- 626 files changed, 4220 insertions(+), 3890 deletions(-) create mode 100644 pkg/runtime/schema/BUILD diff --git a/cmd/kube-apiserver/app/BUILD b/cmd/kube-apiserver/app/BUILD index 28f744b3823..2faa23f89dd 100644 --- a/cmd/kube-apiserver/app/BUILD +++ b/cmd/kube-apiserver/app/BUILD @@ -21,7 +21,6 @@ go_library( "//cmd/kube-apiserver/app/options:go_default_library", "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", @@ -40,6 +39,7 @@ go_library( "//pkg/genericapiserver/validation:go_default_library", "//pkg/master:go_default_library", "//pkg/registry/cachesize:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/net:go_default_library", "//pkg/util/wait:go_default_library", diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index c12a5506edb..703a3632391 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -36,7 +36,6 @@ import ( "k8s.io/kubernetes/cmd/kube-apiserver/app/options" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" @@ -54,6 +53,7 @@ import ( genericvalidation "k8s.io/kubernetes/pkg/genericapiserver/validation" "k8s.io/kubernetes/pkg/master" "k8s.io/kubernetes/pkg/registry/cachesize" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/wait" @@ -172,7 +172,7 @@ func Run(s *options.ServerRunOptions) error { s.GenericServerRunOptions.StorageConfig, s.GenericServerRunOptions.DefaultStorageMediaType, api.Codecs, genericapiserver.NewDefaultResourceEncodingConfig(), storageGroupsToEncodingVersion, // FIXME: this GroupVersionResource override should be configurable - []unversioned.GroupVersionResource{batch.Resource("cronjobs").WithVersion("v2alpha1")}, + []schema.GroupVersionResource{batch.Resource("cronjobs").WithVersion("v2alpha1")}, master.DefaultAPIResourceConfigSource(), s.GenericServerRunOptions.RuntimeConfig) if err != nil { glog.Fatalf("error in initializing storage factory: %s", err) @@ -193,7 +193,7 @@ func Run(s *options.ServerRunOptions) error { } group := apiresource[0] resource := apiresource[1] - groupResource := unversioned.GroupResource{Group: group, Resource: resource} + groupResource := schema.GroupResource{Group: group, Resource: resource} servers := strings.Split(tokens[1], ";") storageFactory.SetEtcdLocation(groupResource, servers) diff --git a/cmd/kube-controller-manager/app/BUILD b/cmd/kube-controller-manager/app/BUILD index 719537f92f0..1dc8f977b1d 100644 --- a/cmd/kube-controller-manager/app/BUILD +++ b/cmd/kube-controller-manager/app/BUILD @@ -68,6 +68,7 @@ go_library( "//pkg/controller/volume/persistentvolume:go_default_library", "//pkg/healthz:go_default_library", "//pkg/quota/install:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/cert:go_default_library", diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index 1e021edbafb..bf0cec64611 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -73,6 +73,7 @@ import ( persistentvolumecontroller "k8s.io/kubernetes/pkg/controller/volume/persistentvolume" "k8s.io/kubernetes/pkg/healthz" quotainstall "k8s.io/kubernetes/pkg/quota/install" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/serviceaccount" certutil "k8s.io/kubernetes/pkg/util/cert" @@ -325,7 +326,7 @@ func StartControllers(s *options.CMServer, kubeconfig *restclient.Config, rootCl resourceQuotaControllerClient := client("resourcequota-controller") resourceQuotaRegistry := quotainstall.NewRegistry(resourceQuotaControllerClient, sharedInformers) - groupKindsToReplenish := []unversioned.GroupKind{ + groupKindsToReplenish := []schema.GroupKind{ api.Kind("Pod"), api.Kind("Service"), api.Kind("ReplicationController"), @@ -371,7 +372,7 @@ func StartControllers(s *options.CMServer, kubeconfig *restclient.Config, rootCl namespaceKubeClient := client("namespace-controller") namespaceClientPool := dynamic.NewClientPool(restclient.AddUserAgent(kubeconfig, "namespace-controller"), restMapper, dynamic.LegacyAPIPathResolverFunc) // TODO: consider using a list-watch + cache here rather than polling - var gvrFn func() ([]unversioned.GroupVersionResource, error) + var gvrFn func() ([]schema.GroupVersionResource, error) rsrcs, err := namespaceKubeClient.Discovery().ServerResources() if err != nil { glog.Fatalf("Failed to get group version resources: %v", err) @@ -389,7 +390,7 @@ func StartControllers(s *options.CMServer, kubeconfig *restclient.Config, rootCl if err != nil { glog.Fatalf("Failed to get resources: %v", err) } - gvrFn = func() ([]unversioned.GroupVersionResource, error) { + gvrFn = func() ([]schema.GroupVersionResource, error) { return gvr, nil } } @@ -490,7 +491,7 @@ func StartControllers(s *options.CMServer, kubeconfig *restclient.Config, rootCl if containsResource(resources, "cronjobs") { glog.Infof("Starting cronjob controller") // // TODO: this is a temp fix for allowing kubeClient list v2alpha1 sj, should switch to using clientset - kubeconfig.ContentConfig.GroupVersion = &unversioned.GroupVersion{Group: batch.GroupName, Version: "v2alpha1"} + kubeconfig.ContentConfig.GroupVersion = &schema.GroupVersion{Group: batch.GroupName, Version: "v2alpha1"} go cronjob.NewCronJobController(client("cronjob-controller")). Run(wait.NeverStop) time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter)) diff --git a/cmd/kube-dns/app/BUILD b/cmd/kube-dns/app/BUILD index a3fd5992bf7..cec7e67d5f6 100644 --- a/cmd/kube-dns/app/BUILD +++ b/cmd/kube-dns/app/BUILD @@ -16,12 +16,12 @@ go_library( tags = ["automanaged"], deps = [ "//cmd/kube-dns/app/options:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/clientset_generated/release_1_5:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/dns:go_default_library", "//pkg/dns/config:go_default_library", + "//pkg/runtime/schema:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/skynetservices/skydns/metrics", "//vendor:github.com/skynetservices/skydns/server", diff --git a/cmd/kube-dns/app/server.go b/cmd/kube-dns/app/server.go index fab3bb0b698..b81783e686d 100644 --- a/cmd/kube-dns/app/server.go +++ b/cmd/kube-dns/app/server.go @@ -29,12 +29,12 @@ import ( "github.com/spf13/pflag" "k8s.io/kubernetes/cmd/kube-dns/app/options" - "k8s.io/kubernetes/pkg/api/unversioned" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/client/restclient" kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" kdns "k8s.io/kubernetes/pkg/dns" dnsConfig "k8s.io/kubernetes/pkg/dns/config" + "k8s.io/kubernetes/pkg/runtime/schema" ) type KubeDNSServer struct { @@ -86,7 +86,7 @@ func newKubeClient(dnsConfig *options.KubeDNSConfig) (clientset.Interface, error // Only --kube-master-url was provided. config = &restclient.Config{ Host: dnsConfig.KubeMasterURL, - ContentConfig: restclient.ContentConfig{GroupVersion: &unversioned.GroupVersion{Version: "v1"}}, + ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Version: "v1"}}, } } else { // We either have: diff --git a/cmd/kubeadm/app/apis/kubeadm/BUILD b/cmd/kubeadm/app/apis/kubeadm/BUILD index 52e63444b4a..3eb1c182d66 100644 --- a/cmd/kubeadm/app/apis/kubeadm/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/BUILD @@ -23,5 +23,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/cmd/kubeadm/app/apis/kubeadm/register.go b/cmd/kubeadm/app/apis/kubeadm/register.go index 77211e9c0e1..f014a229604 100644 --- a/cmd/kubeadm/app/apis/kubeadm/register.go +++ b/cmd/kubeadm/app/apis/kubeadm/register.go @@ -18,15 +18,15 @@ package kubeadm import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "kubeadm.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -34,12 +34,12 @@ var ( ) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -55,6 +55,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *MasterConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *NodeConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterInfo) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *MasterConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *NodeConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterInfo) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD index 0ce0637bf50..84e2f414613 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD @@ -24,5 +24,6 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go index 72af07e9380..7b2e8f7f6a9 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "kubeadm.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) @@ -34,12 +34,12 @@ var ( ) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -55,6 +55,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *MasterConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *NodeConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterInfo) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *MasterConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *NodeConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterInfo) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD b/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD index 38260a4a03e..1d1d0e66d23 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD @@ -23,6 +23,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD index 64e23b2de3c..01fe5c3e495 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD @@ -19,10 +19,10 @@ go_library( "//cmd/libs/go2idl/client-gen/test_apis/testgroup/v1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", ], diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go index 03a02423ad6..5bb1c4ece00 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go @@ -27,10 +27,10 @@ import ( "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -41,7 +41,7 @@ var accessor = meta.NewAccessor() const groupName = "testgroup.k8s.io" // availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []unversioned.GroupVersion{{Group: groupName, Version: "v1"}} +var availableVersions = []schema.GroupVersion{{Group: groupName, Version: "v1"}} func init() { externalVersions := availableVersions @@ -61,7 +61,7 @@ func init() { // group. // We can combine registered.RegisterVersions, registered.EnableVersions and // registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []unversioned.GroupVersion) error { +func enableVersions(externalVersions []schema.GroupVersion) error { addVersionsToScheme(externalVersions...) preferredExternalVersion := externalVersions[0] @@ -79,7 +79,7 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error { return nil } -func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper { +func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString() @@ -91,7 +91,7 @@ func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper // InterfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case v1.SchemeGroupVersion: return &meta.VersionInterfaces{ @@ -104,7 +104,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } } -func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) { +func addVersionsToScheme(externalVersions ...schema.GroupVersion) { // add the internal version to Scheme if err := testgroup.AddToScheme(api.Scheme); err != nil { // Programmer error, detect immediately diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go index 4dcf320b97e..cda8acff25c 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go @@ -18,11 +18,11 @@ package testgroup import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) -var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup.k8s.io", Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: "testgroup.k8s.io", Version: runtime.APIVersionInternal} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -42,5 +42,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *TestType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *TestTypeList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *TestType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *TestTypeList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD index 3239284090e..d629e09d0ea 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD @@ -24,6 +24,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go index 8cc6b0accb8..eeb9ca7e619 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go @@ -20,10 +20,11 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) -var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup.k8s.io", Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: "testgroup.k8s.io", Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -47,5 +48,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *TestType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *TestTypeList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *TestType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *TestTypeList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD index 30bb9aed755..78fa9d852aa 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD @@ -22,10 +22,10 @@ go_library( "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go index c4ded1eb013..a4086f58109 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go @@ -19,9 +19,9 @@ package fake import ( testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeTestTypes struct { ns string } -var testtypesResource = unversioned.GroupVersionResource{Group: "testgroup.k8s.io", Version: "", Resource: "testtypes"} +var testtypesResource = schema.GroupVersionResource{Group: "testgroup.k8s.io", Version: "", Resource: "testtypes"} func (c *FakeTestTypes) Create(testType *testgroup.TestType) (result *testgroup.TestType, err error) { obj, err := c.Fake. diff --git a/federation/apis/core/BUILD b/federation/apis/core/BUILD index ede3db808ae..6e392668121 100644 --- a/federation/apis/core/BUILD +++ b/federation/apis/core/BUILD @@ -24,6 +24,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", ], ) diff --git a/federation/apis/core/install/BUILD b/federation/apis/core/install/BUILD index a60e44ebf66..87df3d49c97 100644 --- a/federation/apis/core/install/BUILD +++ b/federation/apis/core/install/BUILD @@ -19,10 +19,10 @@ go_library( "//federation/apis/core/v1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", ], diff --git a/federation/apis/core/install/install.go b/federation/apis/core/install/install.go index 961ceb545e0..307f66a6808 100644 --- a/federation/apis/core/install/install.go +++ b/federation/apis/core/install/install.go @@ -25,10 +25,10 @@ import ( core_v1 "k8s.io/kubernetes/federation/apis/core/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -37,11 +37,11 @@ const importPrefix = "k8s.io/kubernetes/pkg/api" var accessor = meta.NewAccessor() // availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []unversioned.GroupVersion{core_v1.SchemeGroupVersion} +var availableVersions = []schema.GroupVersion{core_v1.SchemeGroupVersion} func init() { registered.RegisterVersions(availableVersions) - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range availableVersions { if registered.IsAllowedVersion(v) { externalVersions = append(externalVersions, v) @@ -66,7 +66,7 @@ func init() { // group. // We can combine registered.RegisterVersions, registered.EnableVersions and // registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []unversioned.GroupVersion) error { +func enableVersions(externalVersions []schema.GroupVersion) error { addVersionsToScheme(externalVersions...) preferredExternalVersion := externalVersions[0] @@ -87,7 +87,7 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error { // userResources is a group of resources mostly used by a kubectl user var userResources = []string{"svc"} -func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper { +func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString( @@ -109,7 +109,7 @@ func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper // InterfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case core_v1.SchemeGroupVersion: return &meta.VersionInterfaces{ @@ -122,7 +122,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } } -func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) { +func addVersionsToScheme(externalVersions ...schema.GroupVersion) { // add the internal version to Scheme if err := core.AddToScheme(core.Scheme); err != nil { // Programmer error, detect immediately diff --git a/federation/apis/core/register.go b/federation/apis/core/register.go index 49300dce857..b33a9f512e0 100644 --- a/federation/apis/core/register.go +++ b/federation/apis/core/register.go @@ -20,6 +20,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -33,22 +34,22 @@ var Codecs = serializer.NewCodecFactory(Scheme) const GroupName = "" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Unversioned is group version for unversioned API objects // TODO: this should be v1 probably -var Unversioned = unversioned.GroupVersion{Group: "", Version: "v1"} +var Unversioned = schema.GroupVersion{Group: "", Version: "v1"} // ParameterCodec handles versioning of objects that are converted to query parameters. var ParameterCodec = runtime.NewParameterCodec(Scheme) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/federation/apis/core/v1/BUILD b/federation/apis/core/v1/BUILD index ca571fafb8a..b524176657a 100644 --- a/federation/apis/core/v1/BUILD +++ b/federation/apis/core/v1/BUILD @@ -24,6 +24,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch/versioned:go_default_library", ], ) diff --git a/federation/apis/core/v1/register.go b/federation/apis/core/v1/register.go index ad2aa8df1f3..202991e0905 100644 --- a/federation/apis/core/v1/register.go +++ b/federation/apis/core/v1/register.go @@ -20,6 +20,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +28,7 @@ import ( const GroupName = "" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addConversionFuncs, addDefaultingFuncs) diff --git a/federation/apis/federation/BUILD b/federation/apis/federation/BUILD index d12e144d53b..b52cd12b941 100644 --- a/federation/apis/federation/BUILD +++ b/federation/apis/federation/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/federation/apis/federation/install/BUILD b/federation/apis/federation/install/BUILD index 75c93828ae1..dd6f6b4e826 100644 --- a/federation/apis/federation/install/BUILD +++ b/federation/apis/federation/install/BUILD @@ -19,10 +19,10 @@ go_library( "//federation/apis/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", ], diff --git a/federation/apis/federation/install/install.go b/federation/apis/federation/install/install.go index e55897e79f2..7e82f690491 100644 --- a/federation/apis/federation/install/install.go +++ b/federation/apis/federation/install/install.go @@ -25,10 +25,10 @@ import ( "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -37,11 +37,11 @@ const importPrefix = "k8s.io/kubernetes/federation/apis/federation" var accessor = meta.NewAccessor() // availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []unversioned.GroupVersion{v1beta1.SchemeGroupVersion} +var availableVersions = []schema.GroupVersion{v1beta1.SchemeGroupVersion} func init() { registered.RegisterVersions(availableVersions) - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range availableVersions { if registered.IsAllowedVersion(v) { externalVersions = append(externalVersions, v) @@ -66,7 +66,7 @@ func init() { // group. // We can combine registered.RegisterVersions, registered.EnableVersions and // registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []unversioned.GroupVersion) error { +func enableVersions(externalVersions []schema.GroupVersion) error { addVersionsToScheme(externalVersions...) preferredExternalVersion := externalVersions[0] @@ -84,7 +84,7 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error { return nil } -func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper { +func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString( @@ -98,7 +98,7 @@ func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper // interfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case v1beta1.SchemeGroupVersion: return &meta.VersionInterfaces{ @@ -111,7 +111,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } } -func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) { +func addVersionsToScheme(externalVersions ...schema.GroupVersion) { // add the internal version to Scheme if err := federation.AddToScheme(api.Scheme); err != nil { // Programmer error, detect immediately diff --git a/federation/apis/federation/register.go b/federation/apis/federation/register.go index b8542792500..a0733fcbd8d 100644 --- a/federation/apis/federation/register.go +++ b/federation/apis/federation/register.go @@ -18,23 +18,23 @@ package federation import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "federation" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -53,5 +53,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Cluster) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Cluster) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/federation/apis/federation/v1beta1/BUILD b/federation/apis/federation/v1beta1/BUILD index 81d64b75af6..635055e300f 100644 --- a/federation/apis/federation/v1beta1/BUILD +++ b/federation/apis/federation/v1beta1/BUILD @@ -32,6 +32,7 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/federation/apis/federation/v1beta1/generated.pb.go b/federation/apis/federation/v1beta1/generated.pb.go index 0c275262ca4..d4039fff179 100644 --- a/federation/apis/federation/v1beta1/generated.pb.go +++ b/federation/apis/federation/v1beta1/generated.pb.go @@ -1487,55 +1487,55 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 787 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xdd, 0x6a, 0xe3, 0x46, - 0x14, 0xb6, 0xfc, 0x1b, 0x4f, 0xea, 0x36, 0x0c, 0x2d, 0xb8, 0xbe, 0x90, 0x83, 0x29, 0xc5, 0xa1, - 0x8d, 0x84, 0x4d, 0x0b, 0x81, 0xd2, 0x42, 0xe4, 0x50, 0x08, 0x38, 0xa4, 0x4c, 0x42, 0x29, 0x81, - 0x52, 0x64, 0xf9, 0x58, 0x51, 0x6d, 0x4b, 0x62, 0x66, 0xe4, 0x92, 0x5c, 0xf5, 0x01, 0x7a, 0xd1, - 0x87, 0xd8, 0x37, 0x58, 0xf6, 0x1d, 0x72, 0x99, 0x8b, 0xbd, 0x58, 0xf6, 0xc2, 0x6c, 0xbc, 0x6f, - 0x91, 0xab, 0x65, 0x46, 0x63, 0xd9, 0x8a, 0x63, 0xb3, 0x9b, 0xdc, 0xe9, 0x1c, 0x9d, 0xf3, 0x7d, - 0xdf, 0x9c, 0x3f, 0x74, 0x34, 0x3c, 0x60, 0x86, 0x17, 0x98, 0xc3, 0xa8, 0x07, 0xd4, 0x07, 0x0e, - 0xcc, 0x1c, 0x40, 0x1f, 0xa8, 0xcd, 0xbd, 0xc0, 0x37, 0xed, 0xd0, 0x4b, 0xd9, 0x93, 0x56, 0x0f, - 0xb8, 0xdd, 0x32, 0x5d, 0xf0, 0x85, 0x0b, 0xfa, 0x46, 0x48, 0x03, 0x1e, 0xe0, 0x1f, 0x62, 0x14, - 0x63, 0x81, 0x62, 0x2c, 0xb2, 0x0c, 0x81, 0xb2, 0x6c, 0x2b, 0x94, 0xda, 0xbe, 0xeb, 0xf1, 0xcb, - 0xa8, 0x67, 0x38, 0xc1, 0xd8, 0x74, 0x03, 0x37, 0x30, 0x25, 0x58, 0x2f, 0x1a, 0x48, 0x4b, 0x1a, - 0xf2, 0x2b, 0x26, 0xa9, 0xb5, 0x57, 0xa5, 0x86, 0x43, 0x57, 0x68, 0x34, 0x29, 0xb0, 0x20, 0xa2, - 0x0e, 0x3c, 0x14, 0x56, 0xfb, 0x71, 0x7d, 0x4e, 0xe4, 0x4f, 0x80, 0x32, 0x2f, 0xf0, 0xa1, 0xbf, - 0x92, 0xf6, 0xfd, 0xfa, 0xb4, 0xc9, 0xca, 0xeb, 0x6b, 0xfb, 0x8f, 0x47, 0xd3, 0xc8, 0xe7, 0xde, - 0x78, 0x55, 0x53, 0xeb, 0xf1, 0xf0, 0x88, 0x7b, 0x23, 0xd3, 0xf3, 0x39, 0xe3, 0xf4, 0x61, 0x4a, - 0xe3, 0x55, 0x16, 0x95, 0x3a, 0xa3, 0x88, 0x71, 0xa0, 0xf8, 0x0f, 0xb4, 0x35, 0x06, 0x6e, 0xf7, - 0x6d, 0x6e, 0x57, 0xb5, 0x5d, 0xad, 0xb9, 0xdd, 0x6e, 0x1a, 0xab, 0xe5, 0x0f, 0x87, 0xae, 0xa8, - 0xbb, 0x31, 0x69, 0x19, 0xa7, 0xbd, 0xbf, 0xc1, 0xe1, 0x27, 0xc0, 0x6d, 0x0b, 0xdf, 0x4c, 0xeb, - 0x99, 0xd9, 0xb4, 0x8e, 0x16, 0x3e, 0x92, 0xa0, 0x61, 0x07, 0xe5, 0x59, 0x08, 0x4e, 0x35, 0x2b, - 0x51, 0x0f, 0x8d, 0xa7, 0x34, 0xd5, 0x50, 0x32, 0xcf, 0x42, 0x70, 0xac, 0xcf, 0x14, 0x5d, 0x5e, - 0x58, 0x44, 0x82, 0xe3, 0x21, 0x2a, 0x32, 0x6e, 0xf3, 0x88, 0x55, 0x73, 0x92, 0xa6, 0xf3, 0x3c, - 0x1a, 0x09, 0x65, 0x7d, 0xae, 0x88, 0x8a, 0xb1, 0x4d, 0x14, 0x45, 0xe3, 0x6d, 0x0e, 0xed, 0xa8, - 0xc8, 0x4e, 0xe0, 0xf7, 0x3d, 0x01, 0x81, 0x0f, 0x50, 0x9e, 0x5f, 0x85, 0x20, 0x8b, 0x57, 0xb6, - 0xbe, 0x99, 0x6b, 0x3c, 0xbf, 0x0a, 0xe1, 0x7e, 0x5a, 0xff, 0xf2, 0x61, 0xbc, 0xf0, 0x13, 0x99, - 0x81, 0x7f, 0x4f, 0xb4, 0x67, 0x65, 0xee, 0x2f, 0x69, 0xda, 0xfb, 0x69, 0x7d, 0xe3, 0xe0, 0x18, - 0x09, 0x66, 0x5a, 0x26, 0xbe, 0x44, 0x95, 0x91, 0xcd, 0xf8, 0x6f, 0x34, 0xe8, 0xc1, 0xb9, 0x37, - 0x06, 0x55, 0x9a, 0xef, 0x36, 0xf4, 0x75, 0x69, 0x7a, 0x0d, 0x91, 0x62, 0x7d, 0xa5, 0xb4, 0x54, - 0xba, 0xcb, 0x48, 0x24, 0x0d, 0x8c, 0xff, 0x41, 0x58, 0x38, 0xce, 0xa9, 0xed, 0xb3, 0xf8, 0x75, - 0x82, 0x2e, 0xff, 0xe9, 0x74, 0x35, 0x45, 0x87, 0xbb, 0x2b, 0x70, 0xe4, 0x11, 0x0a, 0xfc, 0x2d, - 0x2a, 0x52, 0xb0, 0x59, 0xe0, 0x57, 0x0b, 0xb2, 0x74, 0x49, 0xc7, 0x88, 0xf4, 0x12, 0xf5, 0x17, - 0xef, 0xa1, 0xd2, 0x18, 0x18, 0xb3, 0x5d, 0xa8, 0x16, 0x65, 0xe0, 0x17, 0x2a, 0xb0, 0x74, 0x12, - 0xbb, 0xc9, 0xfc, 0x7f, 0xe3, 0x56, 0x43, 0xdb, 0xaa, 0x59, 0x5d, 0x8f, 0x71, 0xfc, 0xe7, 0xca, - 0x62, 0x98, 0x1f, 0xf9, 0x22, 0x91, 0x2e, 0xf7, 0x63, 0x47, 0x91, 0x6d, 0xcd, 0x3d, 0x4b, 0xdb, - 0xd1, 0x43, 0x05, 0x8f, 0xc3, 0x58, 0xf4, 0x3e, 0xd7, 0xdc, 0x6e, 0xff, 0xfc, 0xac, 0xb9, 0xb5, - 0x2a, 0x8a, 0xa9, 0x70, 0x2c, 0x30, 0x49, 0x0c, 0xdd, 0x78, 0x91, 0x4d, 0x9e, 0x24, 0x56, 0x06, - 0xbf, 0xd4, 0x50, 0x8d, 0x01, 0x9d, 0x00, 0x3d, 0xec, 0xf7, 0x29, 0x30, 0x66, 0x5d, 0x75, 0x46, - 0x1e, 0xf8, 0xbc, 0x73, 0x7c, 0x44, 0x58, 0x55, 0x93, 0x4a, 0x4e, 0x9f, 0xa6, 0xe4, 0x6c, 0x1d, - 0xae, 0xd5, 0x50, 0xda, 0x6a, 0x6b, 0x43, 0x18, 0xd9, 0x20, 0x0b, 0xff, 0x85, 0xca, 0x0c, 0x1c, - 0x0a, 0x9c, 0xc0, 0x40, 0x1d, 0x93, 0xf6, 0xe6, 0x13, 0xd5, 0x0d, 0x1c, 0x7b, 0x14, 0xdf, 0x24, - 0x02, 0x03, 0xa0, 0xe0, 0x3b, 0x60, 0x55, 0x66, 0xd3, 0x7a, 0xf9, 0x6c, 0x0e, 0x44, 0x16, 0x98, - 0x8d, 0xd7, 0x1a, 0xaa, 0xa4, 0x0e, 0x00, 0xbe, 0x46, 0xc8, 0x99, 0x2f, 0xd7, 0xbc, 0x2e, 0xbf, - 0x3e, 0xab, 0x43, 0xc9, 0xae, 0x2e, 0x8e, 0x66, 0xe2, 0x62, 0x64, 0x89, 0x0d, 0xd7, 0x51, 0xe1, - 0x3a, 0xf0, 0x81, 0x55, 0x0b, 0xbb, 0xb9, 0x66, 0xd9, 0x2a, 0x8b, 0xae, 0x5e, 0x08, 0x07, 0x89, - 0xfd, 0xf1, 0xec, 0xbb, 0x5e, 0xe0, 0xab, 0x91, 0x5e, 0x9a, 0x7d, 0xe1, 0x25, 0xea, 0x6f, 0xe3, - 0x3f, 0x0d, 0x7d, 0xbd, 0xb6, 0xe4, 0xb8, 0x8d, 0x90, 0x93, 0x58, 0xea, 0x78, 0x2d, 0xa4, 0x25, - 0x7f, 0xc8, 0x52, 0x14, 0xfe, 0x09, 0x55, 0x52, 0x7d, 0x52, 0x77, 0x2b, 0xb9, 0x15, 0x29, 0x36, - 0x92, 0x8e, 0xb5, 0xf6, 0x6e, 0xee, 0xf4, 0xcc, 0xed, 0x9d, 0x9e, 0x79, 0x73, 0xa7, 0x67, 0xfe, - 0x9d, 0xe9, 0xda, 0xcd, 0x4c, 0xd7, 0x6e, 0x67, 0xba, 0xf6, 0x6e, 0xa6, 0x6b, 0xff, 0xbf, 0xd7, - 0x33, 0x17, 0x25, 0x55, 0xb3, 0x0f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x48, 0x5d, 0x6b, 0x0c, 0x46, - 0x08, 0x00, 0x00, + // 793 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xdd, 0x6a, 0x03, 0x45, + 0x14, 0xce, 0xe6, 0xb7, 0x99, 0x1a, 0x2d, 0x83, 0x42, 0xcc, 0xc5, 0xa6, 0x04, 0x91, 0x14, 0xed, + 0x2e, 0x09, 0x15, 0x0a, 0xa2, 0xd0, 0x4d, 0x11, 0x0a, 0x29, 0x95, 0x69, 0x11, 0x29, 0x88, 0x6c, + 0x36, 0x27, 0xdb, 0x35, 0xc9, 0xee, 0x32, 0x33, 0x1b, 0x69, 0xaf, 0x7c, 0x00, 0x2f, 0x7c, 0x08, + 0xdf, 0x40, 0x7c, 0x87, 0x5e, 0xf6, 0xc2, 0x0b, 0xf1, 0x22, 0xd8, 0xf8, 0x16, 0xbd, 0x92, 0x99, + 0x9d, 0x6c, 0xb2, 0xdd, 0x26, 0x68, 0x7b, 0xb7, 0xe7, 0xec, 0x39, 0xdf, 0xf7, 0xcd, 0xf9, 0x43, + 0xa7, 0xe3, 0x63, 0x66, 0x78, 0x81, 0x39, 0x8e, 0x06, 0x40, 0x7d, 0xe0, 0xc0, 0xcc, 0x11, 0x0c, + 0x81, 0xda, 0xdc, 0x0b, 0x7c, 0xd3, 0x0e, 0xbd, 0x94, 0x3d, 0xeb, 0x0c, 0x80, 0xdb, 0x1d, 0xd3, + 0x05, 0x5f, 0xb8, 0x60, 0x68, 0x84, 0x34, 0xe0, 0x01, 0x3e, 0x8a, 0x51, 0x8c, 0x15, 0x8a, 0xb1, + 0xca, 0x32, 0x04, 0xca, 0xba, 0xad, 0x50, 0x1a, 0x87, 0xae, 0xc7, 0x6f, 0xa2, 0x81, 0xe1, 0x04, + 0x53, 0xd3, 0x0d, 0xdc, 0xc0, 0x94, 0x60, 0x83, 0x68, 0x24, 0x2d, 0x69, 0xc8, 0xaf, 0x98, 0xa4, + 0xd1, 0xcd, 0x4a, 0x0d, 0xc7, 0xae, 0xd0, 0x68, 0x52, 0x60, 0x41, 0x44, 0x1d, 0x78, 0x2e, 0xac, + 0xf1, 0xd9, 0xe6, 0x9c, 0xc8, 0x9f, 0x01, 0x65, 0x5e, 0xe0, 0xc3, 0x30, 0x93, 0xf6, 0xe9, 0xe6, + 0xb4, 0x59, 0xe6, 0xf5, 0x8d, 0xc3, 0x97, 0xa3, 0x69, 0xe4, 0x73, 0x6f, 0x9a, 0xd5, 0x74, 0xb4, + 0x3d, 0x9c, 0x39, 0x37, 0x30, 0xb5, 0x33, 0x59, 0x9d, 0x97, 0xb3, 0x22, 0xee, 0x4d, 0x4c, 0xcf, + 0xe7, 0x8c, 0xd3, 0xe7, 0x29, 0xad, 0xdf, 0xf3, 0xa8, 0xd2, 0x9b, 0x44, 0x8c, 0x03, 0xc5, 0xdf, + 0xa2, 0x9d, 0x29, 0x70, 0x7b, 0x68, 0x73, 0xbb, 0xae, 0xed, 0x6b, 0xed, 0xdd, 0x6e, 0xdb, 0xc8, + 0x36, 0x2d, 0x1c, 0xbb, 0xa2, 0x5b, 0xc6, 0xac, 0x63, 0x5c, 0x0c, 0x7e, 0x00, 0x87, 0x9f, 0x03, + 0xb7, 0x2d, 0x7c, 0x3f, 0x6f, 0xe6, 0x16, 0xf3, 0x26, 0x5a, 0xf9, 0x48, 0x82, 0x86, 0x1d, 0x54, + 0x64, 0x21, 0x38, 0xf5, 0xbc, 0x44, 0x3d, 0x31, 0x5e, 0x33, 0x0a, 0x86, 0x92, 0x79, 0x19, 0x82, + 0x63, 0xbd, 0xa3, 0xe8, 0x8a, 0xc2, 0x22, 0x12, 0x1c, 0x8f, 0x51, 0x99, 0x71, 0x9b, 0x47, 0xac, + 0x5e, 0x90, 0x34, 0xbd, 0xb7, 0xd1, 0x48, 0x28, 0xeb, 0x5d, 0x45, 0x54, 0x8e, 0x6d, 0xa2, 0x28, + 0x5a, 0x7f, 0x15, 0xd0, 0x9e, 0x8a, 0xec, 0x05, 0xfe, 0xd0, 0x13, 0x10, 0xf8, 0x18, 0x15, 0xf9, + 0x6d, 0x08, 0xb2, 0x78, 0x55, 0xeb, 0xa3, 0xa5, 0xc6, 0xab, 0xdb, 0x10, 0x9e, 0xe6, 0xcd, 0xf7, + 0x9f, 0xc7, 0x0b, 0x3f, 0x91, 0x19, 0xf8, 0x9b, 0x44, 0x7b, 0x5e, 0xe6, 0x7e, 0x99, 0xa6, 0x7d, + 0x9a, 0x37, 0xb7, 0x8e, 0x9b, 0x91, 0x60, 0xa6, 0x65, 0xe2, 0x1b, 0x54, 0x9b, 0xd8, 0x8c, 0x7f, + 0x4d, 0x83, 0x01, 0x5c, 0x79, 0x53, 0x50, 0xa5, 0xf9, 0x64, 0x4b, 0x5f, 0xd7, 0x66, 0xde, 0x10, + 0x29, 0xd6, 0x07, 0x4a, 0x4b, 0xad, 0xbf, 0x8e, 0x44, 0xd2, 0xc0, 0xf8, 0x47, 0x84, 0x85, 0xe3, + 0x8a, 0xda, 0x3e, 0x8b, 0x5f, 0x27, 0xe8, 0x8a, 0xff, 0x9f, 0xae, 0xa1, 0xe8, 0x70, 0x3f, 0x03, + 0x47, 0x5e, 0xa0, 0xc0, 0x1f, 0xa3, 0x32, 0x05, 0x9b, 0x05, 0x7e, 0xbd, 0x24, 0x4b, 0x97, 0x74, + 0x8c, 0x48, 0x2f, 0x51, 0x7f, 0xf1, 0x01, 0xaa, 0x4c, 0x81, 0x31, 0xdb, 0x85, 0x7a, 0x59, 0x06, + 0xbe, 0xa7, 0x02, 0x2b, 0xe7, 0xb1, 0x9b, 0x2c, 0xff, 0xb7, 0x1e, 0x34, 0xb4, 0xab, 0x9a, 0xd5, + 0xf7, 0x18, 0xc7, 0xdf, 0x65, 0x16, 0xc3, 0xfc, 0x8f, 0x2f, 0x12, 0xe9, 0x72, 0x3f, 0xf6, 0x14, + 0xd9, 0xce, 0xd2, 0xb3, 0xb6, 0x1d, 0x03, 0x54, 0xf2, 0x38, 0x4c, 0x45, 0xef, 0x0b, 0xed, 0xdd, + 0xee, 0x17, 0x6f, 0x9a, 0x5b, 0xab, 0xa6, 0x98, 0x4a, 0x67, 0x02, 0x93, 0xc4, 0xd0, 0xad, 0x5f, + 0xf3, 0xc9, 0x93, 0xc4, 0xca, 0xe0, 0xdf, 0x34, 0xd4, 0x60, 0x40, 0x67, 0x40, 0x4f, 0x86, 0x43, + 0x0a, 0x8c, 0x59, 0xb7, 0xbd, 0x89, 0x07, 0x3e, 0xef, 0x9d, 0x9d, 0x12, 0x56, 0xd7, 0xa4, 0x92, + 0x8b, 0xd7, 0x29, 0xb9, 0xdc, 0x84, 0x6b, 0xb5, 0x94, 0xb6, 0xc6, 0xc6, 0x10, 0x46, 0xb6, 0xc8, + 0xc2, 0xdf, 0xa3, 0x2a, 0x03, 0x87, 0x02, 0x27, 0x30, 0x52, 0xc7, 0xa4, 0xbb, 0xfd, 0x44, 0xf5, + 0x03, 0xc7, 0x9e, 0xc4, 0x37, 0x89, 0xc0, 0x08, 0x28, 0xf8, 0x0e, 0x58, 0xb5, 0xc5, 0xbc, 0x59, + 0xbd, 0x5c, 0x02, 0x91, 0x15, 0x66, 0xeb, 0x0f, 0x0d, 0xd5, 0x52, 0x07, 0x00, 0xdf, 0x21, 0xe4, + 0x2c, 0x97, 0x6b, 0x59, 0x97, 0xaf, 0xde, 0xd4, 0xa1, 0x64, 0x57, 0x57, 0x47, 0x33, 0x71, 0x31, + 0xb2, 0xc6, 0x86, 0x9b, 0xa8, 0x74, 0x17, 0xf8, 0xc0, 0xea, 0xa5, 0xfd, 0x42, 0xbb, 0x6a, 0x55, + 0x45, 0x57, 0xaf, 0x85, 0x83, 0xc4, 0xfe, 0x78, 0xf6, 0x5d, 0x2f, 0xf0, 0xd5, 0x48, 0xaf, 0xcd, + 0xbe, 0xf0, 0x12, 0xf5, 0xb7, 0xf5, 0xb3, 0x86, 0x3e, 0xdc, 0x58, 0x72, 0xdc, 0x45, 0xc8, 0x49, + 0x2c, 0x75, 0xbc, 0x56, 0xd2, 0x92, 0x3f, 0x64, 0x2d, 0x0a, 0x7f, 0x8e, 0x6a, 0xa9, 0x3e, 0xa9, + 0xbb, 0x95, 0xdc, 0x8a, 0x14, 0x1b, 0x49, 0xc7, 0x5a, 0x07, 0xf7, 0x8f, 0x7a, 0xee, 0xe1, 0x51, + 0xcf, 0xfd, 0xf9, 0xa8, 0xe7, 0x7e, 0x5a, 0xe8, 0xda, 0xfd, 0x42, 0xd7, 0x1e, 0x16, 0xba, 0xf6, + 0xf7, 0x42, 0xd7, 0x7e, 0xf9, 0x47, 0xcf, 0x5d, 0x57, 0x54, 0xcd, 0xfe, 0x0d, 0x00, 0x00, 0xff, + 0xff, 0x4b, 0x32, 0xe4, 0xec, 0x7c, 0x08, 0x00, 0x00, } diff --git a/federation/apis/federation/v1beta1/generated.proto b/federation/apis/federation/v1beta1/generated.proto index 9ad46d690f2..db890906c5f 100644 --- a/federation/apis/federation/v1beta1/generated.proto +++ b/federation/apis/federation/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/federation/apis/federation/v1beta1/register.go b/federation/apis/federation/v1beta1/register.go index 1e8405ae679..5ef3032e235 100644 --- a/federation/apis/federation/v1beta1/register.go +++ b/federation/apis/federation/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "federation" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) @@ -46,5 +46,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Cluster) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Cluster) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD index 8c43a6f50e7..d8ab7466e91 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD @@ -26,10 +26,10 @@ go_library( deps = [ "//federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go index 2e00fabb5bd..2bd1e8fb5e5 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeConfigMaps struct { ns string } -var configmapsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "configmaps"} +var configmapsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "configmaps"} func (c *FakeConfigMaps) Create(configMap *api.ConfigMap) (result *api.ConfigMap, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go index 21980a7a7d3..159af35aa70 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeEvents struct { ns string } -var eventsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "events"} +var eventsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "events"} func (c *FakeEvents) Create(event *api.Event) (result *api.Event, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go index e5c4ceca054..876dc88ec50 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -29,7 +29,7 @@ type FakeNamespaces struct { Fake *FakeCore } -var namespacesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "namespaces"} +var namespacesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "namespaces"} func (c *FakeNamespaces) Create(namespace *api.Namespace) (result *api.Namespace, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go index b0c339ce56d..e8b914d72bc 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeSecrets struct { ns string } -var secretsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "secrets"} +var secretsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "secrets"} func (c *FakeSecrets) Create(secret *api.Secret) (result *api.Secret, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go index 20d81829f79..c690a44b98d 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeServices struct { ns string } -var servicesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "services"} +var servicesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "services"} func (c *FakeServices) Create(service *api.Service) (result *api.Service, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD index 6a651e3b869..fea8da862c8 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD @@ -24,11 +24,11 @@ go_library( deps = [ "//federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go index 6b193b5f2a4..b38db49421e 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeDaemonSets struct { ns string } -var daemonsetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "daemonsets"} +var daemonsetsResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "daemonsets"} func (c *FakeDaemonSets) Create(daemonSet *extensions.DaemonSet) (result *extensions.DaemonSet, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go index d001e6048ac..00095b5ff73 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeDeployments struct { ns string } -var deploymentsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "deployments"} +var deploymentsResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "deployments"} func (c *FakeDeployments) Create(deployment *extensions.Deployment) (result *extensions.Deployment, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go index 12d6b27db94..43fe13e3330 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeIngresses struct { ns string } -var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "ingresses"} +var ingressesResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "ingresses"} func (c *FakeIngresses) Create(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go index 52779dd09c6..a3f7a68e69a 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeReplicaSets struct { ns string } -var replicasetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "replicasets"} +var replicasetsResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "replicasets"} func (c *FakeReplicaSets) Create(replicaSet *extensions.ReplicaSet) (result *extensions.ReplicaSet, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD index 216f70ca6b8..f23b01d8b92 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD @@ -22,10 +22,10 @@ go_library( "//federation/apis/federation:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go index bfff8c0d14a..53b54b6d27d 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go @@ -19,9 +19,9 @@ package fake import ( federation "k8s.io/kubernetes/federation/apis/federation" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeClusters struct { Fake *FakeFederation } -var clustersResource = unversioned.GroupVersionResource{Group: "federation", Version: "", Resource: "clusters"} +var clustersResource = schema.GroupVersionResource{Group: "federation", Version: "", Resource: "clusters"} func (c *FakeClusters) Create(cluster *federation.Cluster) (result *federation.Cluster, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/BUILD b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/BUILD index 84cbe620efd..35db99f1221 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/BUILD +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/BUILD @@ -26,10 +26,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/core_client.go b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/core_client.go index 97e18e77a73..bd6c4f3b01a 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/core_client.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/core_client.go @@ -19,9 +19,9 @@ package v1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -88,7 +88,7 @@ func New(c restclient.Interface) *CoreV1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("/v1") + gv, err := schema.ParseGroupVersion("/v1") if err != nil { return err } diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/BUILD b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/BUILD index 5287f21a574..d77f2dbe1e2 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/BUILD +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/BUILD @@ -26,11 +26,11 @@ go_library( deps = [ "//federation/client/clientset_generated/federation_release_1_5/typed/core/v1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_configmap.go b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_configmap.go index d9ea0c3e5e2..a694eb920b0 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_configmap.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_configmap.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeConfigMaps struct { ns string } -var configmapsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "configmaps"} +var configmapsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "configmaps"} func (c *FakeConfigMaps) Create(configMap *v1.ConfigMap) (result *v1.ConfigMap, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_event.go b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_event.go index 6f53ab4a949..b6f4ca04ebd 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_event.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_event.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeEvents struct { ns string } -var eventsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "events"} +var eventsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "events"} func (c *FakeEvents) Create(event *v1.Event) (result *v1.Event, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_namespace.go b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_namespace.go index 1b552c340c5..fb4fe64a090 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_namespace.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_namespace.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeNamespaces struct { Fake *FakeCoreV1 } -var namespacesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"} +var namespacesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"} func (c *FakeNamespaces) Create(namespace *v1.Namespace) (result *v1.Namespace, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_secret.go b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_secret.go index d70ff878396..7c4c230c6bb 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_secret.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_secret.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeSecrets struct { ns string } -var secretsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "secrets"} +var secretsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "secrets"} func (c *FakeSecrets) Create(secret *v1.Secret) (result *v1.Secret, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_service.go b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_service.go index 6893267c835..5fe1576c893 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_service.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/core/v1/fake/fake_service.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeServices struct { ns string } -var servicesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "services"} +var servicesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "services"} func (c *FakeServices) Create(service *v1.Service) (result *v1.Service, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/BUILD b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/BUILD index 6fbd1007ac9..c3eaa7a6b98 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/BUILD +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/BUILD @@ -25,11 +25,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/extensions_client.go b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/extensions_client.go index cfeca4429b9..99bd39c3ca1 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/extensions_client.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/extensions_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -83,7 +83,7 @@ func New(c restclient.Interface) *ExtensionsV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("extensions/v1beta1") + gv, err := schema.ParseGroupVersion("extensions/v1beta1") if err != nil { return err } diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/BUILD b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/BUILD index 04a39b8bb31..866f48f4a08 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/BUILD +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/BUILD @@ -25,12 +25,12 @@ go_library( deps = [ "//federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go index 372081663c5..71315779062 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeDaemonSets struct { ns string } -var daemonsetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "daemonsets"} +var daemonsetsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "daemonsets"} func (c *FakeDaemonSets) Create(daemonSet *v1beta1.DaemonSet) (result *v1beta1.DaemonSet, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go index 7df64acb30c..6ef929e0d09 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeDeployments struct { ns string } -var deploymentsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"} +var deploymentsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"} func (c *FakeDeployments) Create(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go index a82e393cfdd..30187536464 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeIngresses struct { ns string } -var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} +var ingressesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} func (c *FakeIngresses) Create(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go index 75a4c2cd8b1..798e8c54a29 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeReplicaSets struct { ns string } -var replicasetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicasets"} +var replicasetsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicasets"} func (c *FakeReplicaSets) Create(replicaSet *v1beta1.ReplicaSet) (result *v1beta1.ReplicaSet, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/BUILD b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/BUILD index b806c291913..f28eb8c1ea9 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/BUILD +++ b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/BUILD @@ -22,10 +22,10 @@ go_library( deps = [ "//federation/apis/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/BUILD b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/BUILD index b5717c0e610..ba6b301777d 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/BUILD +++ b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/BUILD @@ -22,11 +22,11 @@ go_library( "//federation/apis/federation/v1beta1:go_default_library", "//federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/fake_cluster.go b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/fake_cluster.go index 38e2443b288..8daf4cbe91c 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/fake_cluster.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/fake/fake_cluster.go @@ -19,10 +19,10 @@ package fake import ( v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeClusters struct { Fake *FakeFederationV1beta1 } -var clustersResource = unversioned.GroupVersionResource{Group: "federation", Version: "v1beta1", Resource: "clusters"} +var clustersResource = schema.GroupVersionResource{Group: "federation", Version: "v1beta1", Resource: "clusters"} func (c *FakeClusters) Create(cluster *v1beta1.Cluster) (result *v1beta1.Cluster, err error) { obj, err := c.Fake. diff --git a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/federation_client.go b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/federation_client.go index 2a00656db1b..ea6ec023fd0 100644 --- a/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/federation_client.go +++ b/federation/client/clientset_generated/federation_release_1_5/typed/federation/v1beta1/federation_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *FederationV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("federation/v1beta1") + gv, err := schema.ParseGroupVersion("federation/v1beta1") if err != nil { return err } diff --git a/federation/cmd/federation-apiserver/app/BUILD b/federation/cmd/federation-apiserver/app/BUILD index bcb8ba1ada8..4e5a16af2ca 100644 --- a/federation/cmd/federation-apiserver/app/BUILD +++ b/federation/cmd/federation-apiserver/app/BUILD @@ -32,7 +32,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/install:go_default_library", @@ -58,6 +57,7 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/routes:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//plugin/pkg/admission/admit:go_default_library", diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index 0345b2964a0..a6f8a1ad569 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -31,7 +31,6 @@ import ( "k8s.io/kubernetes/federation/cmd/federation-apiserver/app/options" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apiserver/authenticator" authorizerunion "k8s.io/kubernetes/pkg/auth/authorizer/union" "k8s.io/kubernetes/pkg/auth/user" @@ -44,6 +43,7 @@ import ( "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/routes" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" authenticatorunion "k8s.io/kubernetes/plugin/pkg/auth/authenticator/request/union" @@ -91,7 +91,7 @@ func Run(s *options.ServerRunOptions) error { storageFactory, err := genericapiserver.BuildDefaultStorageFactory( s.GenericServerRunOptions.StorageConfig, s.GenericServerRunOptions.DefaultStorageMediaType, api.Codecs, genericapiserver.NewDefaultResourceEncodingConfig(), storageGroupsToEncodingVersion, - []unversioned.GroupVersionResource{}, resourceConfig, s.GenericServerRunOptions.RuntimeConfig) + []schema.GroupVersionResource{}, resourceConfig, s.GenericServerRunOptions.RuntimeConfig) if err != nil { glog.Fatalf("error in initializing storage factory: %s", err) } @@ -110,7 +110,7 @@ func Run(s *options.ServerRunOptions) error { } group := apiresource[0] resource := apiresource[1] - groupResource := unversioned.GroupResource{Group: group, Resource: resource} + groupResource := schema.GroupResource{Group: group, Resource: resource} servers := strings.Split(tokens[1], ";") storageFactory.SetEtcdLocation(groupResource, servers) @@ -238,7 +238,7 @@ type restOptionsFactory struct { enableGarbageCollection bool } -func (f restOptionsFactory) NewFor(resource unversioned.GroupResource) generic.RESTOptions { +func (f restOptionsFactory) NewFor(resource schema.GroupResource) generic.RESTOptions { config, err := f.storageFactory.NewConfig(resource) if err != nil { glog.Fatalf("Unable to find storage config for %v, due to %v", resource, err.Error()) diff --git a/federation/pkg/dnsprovider/providers/aws/route53/zone.go b/federation/pkg/dnsprovider/providers/aws/route53/zone.go index cc7e1c5861e..18420075b20 100644 --- a/federation/pkg/dnsprovider/providers/aws/route53/zone.go +++ b/federation/pkg/dnsprovider/providers/aws/route53/zone.go @@ -17,10 +17,11 @@ limitations under the License. package route53 import ( + "strings" + "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/route53" "k8s.io/kubernetes/federation/pkg/dnsprovider" - "strings" ) // Compile time check for interface adeherence diff --git a/federation/pkg/dnsprovider/providers/google/clouddns/zone.go b/federation/pkg/dnsprovider/providers/google/clouddns/zone.go index 7720080ab70..88adbe495d4 100644 --- a/federation/pkg/dnsprovider/providers/google/clouddns/zone.go +++ b/federation/pkg/dnsprovider/providers/google/clouddns/zone.go @@ -17,9 +17,10 @@ limitations under the License. package clouddns import ( + "strconv" + "k8s.io/kubernetes/federation/pkg/dnsprovider" "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces" - "strconv" ) // Compile time check for interface adeherence diff --git a/federation/pkg/kubefed/BUILD b/federation/pkg/kubefed/BUILD index e2b351dc6d6..8a9ecccf6f5 100644 --- a/federation/pkg/kubefed/BUILD +++ b/federation/pkg/kubefed/BUILD @@ -24,7 +24,6 @@ go_library( "//federation/pkg/kubefed/util:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/kubectl:go_default_library", @@ -33,6 +32,7 @@ go_library( "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/flag:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/cobra", diff --git a/federation/pkg/kubefed/unjoin.go b/federation/pkg/kubefed/unjoin.go index a91d83deee7..8a51f0a1a0f 100644 --- a/federation/pkg/kubefed/unjoin.go +++ b/federation/pkg/kubefed/unjoin.go @@ -25,10 +25,10 @@ import ( "k8s.io/kubernetes/federation/pkg/kubefed/util" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" + "k8s.io/kubernetes/pkg/runtime/schema" "github.com/spf13/cobra" ) @@ -104,7 +104,7 @@ func popCluster(f cmdutil.Factory, name string) (*federationapi.Cluster, error) return nil, err } gvk := gvks[0] - mapping, err := mapper.RESTMapping(unversioned.GroupKind{Group: gvk.Group, Kind: gvk.Kind}, gvk.Version) + mapping, err := mapper.RESTMapping(schema.GroupKind{Group: gvk.Group, Kind: gvk.Kind}, gvk.Version) if err != nil { return nil, err } diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index 45c821a575f..59845cc161a 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -70,7 +70,7 @@ pkg/api pkg/api/v1 $( cd ${KUBE_ROOT} - find pkg/apis -name types.go | xargs dirname | sort + find pkg/apis -name types.go | xargs -n1 dirname | sort ) ) diff --git a/pkg/admission/BUILD b/pkg/admission/BUILD index 919cae5b0b1..58a3499c451 100644 --- a/pkg/admission/BUILD +++ b/pkg/admission/BUILD @@ -26,12 +26,12 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/auth/authorizer:go_default_library", "//pkg/auth/user:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", @@ -47,7 +47,7 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/auth/authorizer:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/admission/attributes.go b/pkg/admission/attributes.go index 4075cf9007f..66e5be333d9 100644 --- a/pkg/admission/attributes.go +++ b/pkg/admission/attributes.go @@ -17,16 +17,16 @@ limitations under the License. package admission import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/auth/user" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type attributesRecord struct { - kind unversioned.GroupVersionKind + kind schema.GroupVersionKind namespace string name string - resource unversioned.GroupVersionResource + resource schema.GroupVersionResource subresource string operation Operation object runtime.Object @@ -34,7 +34,7 @@ type attributesRecord struct { userInfo user.Info } -func NewAttributesRecord(object runtime.Object, oldObject runtime.Object, kind unversioned.GroupVersionKind, namespace, name string, resource unversioned.GroupVersionResource, subresource string, operation Operation, userInfo user.Info) Attributes { +func NewAttributesRecord(object runtime.Object, oldObject runtime.Object, kind schema.GroupVersionKind, namespace, name string, resource schema.GroupVersionResource, subresource string, operation Operation, userInfo user.Info) Attributes { return &attributesRecord{ kind: kind, namespace: namespace, @@ -48,7 +48,7 @@ func NewAttributesRecord(object runtime.Object, oldObject runtime.Object, kind u } } -func (record *attributesRecord) GetKind() unversioned.GroupVersionKind { +func (record *attributesRecord) GetKind() schema.GroupVersionKind { return record.kind } @@ -60,7 +60,7 @@ func (record *attributesRecord) GetName() string { return record.name } -func (record *attributesRecord) GetResource() unversioned.GroupVersionResource { +func (record *attributesRecord) GetResource() schema.GroupVersionResource { return record.resource } diff --git a/pkg/admission/chain_test.go b/pkg/admission/chain_test.go index 5d63a5a2d45..8b68558ec18 100644 --- a/pkg/admission/chain_test.go +++ b/pkg/admission/chain_test.go @@ -20,7 +20,7 @@ import ( "fmt" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) type FakeHandler struct { @@ -100,7 +100,7 @@ func TestAdmit(t *testing.T) { }, } for _, test := range tests { - err := test.chain.Admit(NewAttributesRecord(nil, nil, unversioned.GroupVersionKind{}, "", "", unversioned.GroupVersionResource{}, "", test.operation, nil)) + err := test.chain.Admit(NewAttributesRecord(nil, nil, schema.GroupVersionKind{}, "", "", schema.GroupVersionResource{}, "", test.operation, nil)) accepted := (err == nil) if accepted != test.accept { t.Errorf("%s: unexpected result of admit call: %v\n", test.name, accepted) diff --git a/pkg/admission/errors.go b/pkg/admission/errors.go index b6878849b8b..407a323a088 100644 --- a/pkg/admission/errors.go +++ b/pkg/admission/errors.go @@ -19,18 +19,18 @@ package admission import ( apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" ) -func extractResourceName(a Attributes) (name string, resource unversioned.GroupResource, err error) { +func extractResourceName(a Attributes) (name string, resource schema.GroupResource, err error) { name = "Unknown" resource = a.GetResource().GroupResource() obj := a.GetObject() if obj != nil { accessor, err := meta.Accessor(obj) if err != nil { - return "", unversioned.GroupResource{}, err + return "", schema.GroupResource{}, err } // this is necessary because name object name generation has not occurred yet diff --git a/pkg/admission/interfaces.go b/pkg/admission/interfaces.go index a5fa7ef65ac..dcc2c027674 100644 --- a/pkg/admission/interfaces.go +++ b/pkg/admission/interfaces.go @@ -17,9 +17,9 @@ limitations under the License. package admission import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/auth/user" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Attributes is an interface used by AdmissionController to get information about a request @@ -32,7 +32,7 @@ type Attributes interface { // GetNamespace is the namespace associated with the request (if any) GetNamespace() string // GetResource is the name of the resource being requested. This is not the kind. For example: pods - GetResource() unversioned.GroupVersionResource + GetResource() schema.GroupVersionResource // GetSubresource is the name of the subresource being requested. This is a different resource, scoped to the parent resource, but it may have a different kind. // For instance, /pods has the resource "pods" and the kind "Pod", while /pods/foo/status has the resource "pods", the sub resource "status", and the kind "Pod" // (because status operates on pods). The binding resource for a pod though may be /pods/foo/binding, which has resource "pods", subresource "binding", and kind "Binding". @@ -44,7 +44,7 @@ type Attributes interface { // GetOldObject is the existing object. Only populated for UPDATE requests. GetOldObject() runtime.Object // GetKind is the type of object being manipulated. For example: Pod - GetKind() unversioned.GroupVersionKind + GetKind() schema.GroupVersionKind // GetUserInfo is information about the requesting user GetUserInfo() user.Info } diff --git a/pkg/api/BUILD b/pkg/api/BUILD index 208845a9814..723ff0b52b1 100644 --- a/pkg/api/BUILD +++ b/pkg/api/BUILD @@ -41,6 +41,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/selection:go_default_library", "//pkg/types:go_default_library", @@ -72,6 +73,7 @@ go_test( "//pkg/api/unversioned:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) @@ -102,6 +104,7 @@ go_test( "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/protobuf:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/types:go_default_library", diff --git a/pkg/api/copy_test.go b/pkg/api/copy_test.go index b5c61548ddc..7e9744e0601 100644 --- a/pkg/api/copy_test.go +++ b/pkg/api/copy_test.go @@ -25,8 +25,8 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" "github.com/google/gofuzz" @@ -34,7 +34,7 @@ import ( func TestDeepCopyApiObjects(t *testing.T) { for i := 0; i < *fuzzIters; i++ { - for _, version := range []unversioned.GroupVersion{testapi.Default.InternalGroupVersion(), registered.GroupOrDie(api.GroupName).GroupVersion} { + for _, version := range []schema.GroupVersion{testapi.Default.InternalGroupVersion(), registered.GroupOrDie(api.GroupName).GroupVersion} { f := apitesting.FuzzerFor(t, version, rand.NewSource(rand.Int63())) for kind := range api.Scheme.KnownTypes(version) { doDeepCopyTest(t, version.WithKind(kind), f) @@ -43,7 +43,7 @@ func TestDeepCopyApiObjects(t *testing.T) { } } -func doDeepCopyTest(t *testing.T, kind unversioned.GroupVersionKind, f *fuzz.Fuzzer) { +func doDeepCopyTest(t *testing.T, kind schema.GroupVersionKind, f *fuzz.Fuzzer) { item, err := api.Scheme.New(kind) if err != nil { t.Fatalf("Could not create a %v: %s", kind, err) @@ -83,7 +83,7 @@ func doDeepCopyTest(t *testing.T, kind unversioned.GroupVersionKind, f *fuzz.Fuz func TestDeepCopySingleType(t *testing.T) { for i := 0; i < *fuzzIters; i++ { - for _, version := range []unversioned.GroupVersion{testapi.Default.InternalGroupVersion(), registered.GroupOrDie(api.GroupName).GroupVersion} { + for _, version := range []schema.GroupVersion{testapi.Default.InternalGroupVersion(), registered.GroupOrDie(api.GroupName).GroupVersion} { f := apitesting.FuzzerFor(t, version, rand.NewSource(rand.Int63())) doDeepCopyTest(t, version.WithKind("Pod"), f) } diff --git a/pkg/api/defaulting_test.go b/pkg/api/defaulting_test.go index 8b372902bc9..782a95ff548 100644 --- a/pkg/api/defaulting_test.go +++ b/pkg/api/defaulting_test.go @@ -30,10 +30,11 @@ import ( batchv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" ) -type orderedGroupVersionKinds []unversioned.GroupVersionKind +type orderedGroupVersionKinds []schema.GroupVersionKind func (o orderedGroupVersionKinds) Len() int { return len(o) } func (o orderedGroupVersionKinds) Swap(i, j int) { o[i], o[j] = o[j], o[i] } @@ -52,7 +53,7 @@ func TestVerifyDefaulting(t *testing.T) { // TODO: add a reflexive test that verifies that all SetDefaults functions are registered func TestDefaulting(t *testing.T) { // these are the known types with defaulters - you must add to this list if you add a top level defaulter - typesWithDefaulting := map[unversioned.GroupVersionKind]struct{}{ + typesWithDefaulting := map[schema.GroupVersionKind]struct{}{ {Group: "", Version: "v1", Kind: "ConfigMap"}: {}, {Group: "", Version: "v1", Kind: "ConfigMapList"}: {}, {Group: "", Version: "v1", Kind: "Endpoints"}: {}, @@ -165,7 +166,7 @@ func TestDefaulting(t *testing.T) { } f.Fuzz(src) - src.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + src.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) original, err := scheme.DeepCopy(src) if err != nil { diff --git a/pkg/api/errors/BUILD b/pkg/api/errors/BUILD index 60a7717b76b..37c00a0d8e8 100644 --- a/pkg/api/errors/BUILD +++ b/pkg/api/errors/BUILD @@ -20,6 +20,7 @@ go_library( deps = [ "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/validation/field:go_default_library", ], ) @@ -33,6 +34,7 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/validation/field:go_default_library", ], ) diff --git a/pkg/api/errors/errors.go b/pkg/api/errors/errors.go index f54823ffcc4..08760b90550 100644 --- a/pkg/api/errors/errors.go +++ b/pkg/api/errors/errors.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -91,7 +92,7 @@ func FromObject(obj runtime.Object) error { } // NewNotFound returns a new error which indicates that the resource of the kind and the name was not found. -func NewNotFound(qualifiedResource unversioned.GroupResource, name string) *StatusError { +func NewNotFound(qualifiedResource schema.GroupResource, name string) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusNotFound, @@ -106,7 +107,7 @@ func NewNotFound(qualifiedResource unversioned.GroupResource, name string) *Stat } // NewAlreadyExists returns an error indicating the item requested exists by that identifier. -func NewAlreadyExists(qualifiedResource unversioned.GroupResource, name string) *StatusError { +func NewAlreadyExists(qualifiedResource schema.GroupResource, name string) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusConflict, @@ -136,7 +137,7 @@ func NewUnauthorized(reason string) *StatusError { } // NewForbidden returns an error indicating the requested action was forbidden -func NewForbidden(qualifiedResource unversioned.GroupResource, name string, err error) *StatusError { +func NewForbidden(qualifiedResource schema.GroupResource, name string, err error) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusForbidden, @@ -151,7 +152,7 @@ func NewForbidden(qualifiedResource unversioned.GroupResource, name string, err } // NewConflict returns an error indicating the item can't be updated as provided. -func NewConflict(qualifiedResource unversioned.GroupResource, name string, err error) *StatusError { +func NewConflict(qualifiedResource schema.GroupResource, name string, err error) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusConflict, @@ -176,7 +177,7 @@ func NewGone(message string) *StatusError { } // NewInvalid returns an error indicating the item is invalid and cannot be processed. -func NewInvalid(qualifiedKind unversioned.GroupKind, name string, errs field.ErrorList) *StatusError { +func NewInvalid(qualifiedKind schema.GroupKind, name string, errs field.ErrorList) *StatusError { causes := make([]unversioned.StatusCause, 0, len(errs)) for i := range errs { err := errs[i] @@ -221,7 +222,7 @@ func NewServiceUnavailable(reason string) *StatusError { } // NewMethodNotSupported returns an error indicating the requested action is not supported on this kind. -func NewMethodNotSupported(qualifiedResource unversioned.GroupResource, action string) *StatusError { +func NewMethodNotSupported(qualifiedResource schema.GroupResource, action string) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusMethodNotAllowed, @@ -236,7 +237,7 @@ func NewMethodNotSupported(qualifiedResource unversioned.GroupResource, action s // NewServerTimeout returns an error indicating the requested action could not be completed due to a // transient error, and the client should try again. -func NewServerTimeout(qualifiedResource unversioned.GroupResource, operation string, retryAfterSeconds int) *StatusError { +func NewServerTimeout(qualifiedResource schema.GroupResource, operation string, retryAfterSeconds int) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusInternalServerError, @@ -253,8 +254,8 @@ func NewServerTimeout(qualifiedResource unversioned.GroupResource, operation str // NewServerTimeoutForKind should not exist. Server timeouts happen when accessing resources, the Kind is just what we // happened to be looking at when the request failed. This delegates to keep code sane, but we should work towards removing this. -func NewServerTimeoutForKind(qualifiedKind unversioned.GroupKind, operation string, retryAfterSeconds int) *StatusError { - return NewServerTimeout(unversioned.GroupResource{Group: qualifiedKind.Group, Resource: qualifiedKind.Kind}, operation, retryAfterSeconds) +func NewServerTimeoutForKind(qualifiedKind schema.GroupKind, operation string, retryAfterSeconds int) *StatusError { + return NewServerTimeout(schema.GroupResource{Group: qualifiedKind.Group, Resource: qualifiedKind.Kind}, operation, retryAfterSeconds) } // NewInternalError returns an error indicating the item is invalid and cannot be processed. @@ -285,7 +286,7 @@ func NewTimeoutError(message string, retryAfterSeconds int) *StatusError { } // NewGenericServerResponse returns a new error for server responses that are not in a recognizable form. -func NewGenericServerResponse(code int, verb string, qualifiedResource unversioned.GroupResource, name, serverMessage string, retryAfterSeconds int, isUnexpectedResponse bool) *StatusError { +func NewGenericServerResponse(code int, verb string, qualifiedResource schema.GroupResource, name, serverMessage string, retryAfterSeconds int, isUnexpectedResponse bool) *StatusError { reason := unversioned.StatusReasonUnknown message := fmt.Sprintf("the server responded with the status code %d but did not return more information", code) switch code { diff --git a/pkg/api/errors/errors_test.go b/pkg/api/errors/errors_test.go index c2922138676..d602da1bdc8 100644 --- a/pkg/api/errors/errors_test.go +++ b/pkg/api/errors/errors_test.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -170,7 +171,7 @@ func Test_reasonForError(t *testing.T) { type TestType struct{} -func (obj *TestType) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *TestType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func TestFromObject(t *testing.T) { table := []struct { diff --git a/pkg/api/errors/storage/BUILD b/pkg/api/errors/storage/BUILD index 117bfc85a78..1fa8dff7fd7 100644 --- a/pkg/api/errors/storage/BUILD +++ b/pkg/api/errors/storage/BUILD @@ -19,7 +19,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", ], ) diff --git a/pkg/api/errors/storage/storage.go b/pkg/api/errors/storage/storage.go index 8cff7995dc2..d9beeb032cf 100644 --- a/pkg/api/errors/storage/storage.go +++ b/pkg/api/errors/storage/storage.go @@ -18,13 +18,13 @@ package storage import ( "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" ) // InterpretListError converts a generic error on a retrieval // operation into the appropriate API error. -func InterpretListError(err error, qualifiedResource unversioned.GroupResource) error { +func InterpretListError(err error, qualifiedResource schema.GroupResource) error { switch { case storage.IsNotFound(err): return errors.NewNotFound(qualifiedResource, "") @@ -37,7 +37,7 @@ func InterpretListError(err error, qualifiedResource unversioned.GroupResource) // InterpretGetError converts a generic error on a retrieval // operation into the appropriate API error. -func InterpretGetError(err error, qualifiedResource unversioned.GroupResource, name string) error { +func InterpretGetError(err error, qualifiedResource schema.GroupResource, name string) error { switch { case storage.IsNotFound(err): return errors.NewNotFound(qualifiedResource, name) @@ -50,7 +50,7 @@ func InterpretGetError(err error, qualifiedResource unversioned.GroupResource, n // InterpretCreateError converts a generic error on a create // operation into the appropriate API error. -func InterpretCreateError(err error, qualifiedResource unversioned.GroupResource, name string) error { +func InterpretCreateError(err error, qualifiedResource schema.GroupResource, name string) error { switch { case storage.IsNodeExist(err): return errors.NewAlreadyExists(qualifiedResource, name) @@ -63,7 +63,7 @@ func InterpretCreateError(err error, qualifiedResource unversioned.GroupResource // InterpretUpdateError converts a generic error on an update // operation into the appropriate API error. -func InterpretUpdateError(err error, qualifiedResource unversioned.GroupResource, name string) error { +func InterpretUpdateError(err error, qualifiedResource schema.GroupResource, name string) error { switch { case storage.IsTestFailed(err), storage.IsNodeExist(err), storage.IsInvalidObj(err): return errors.NewConflict(qualifiedResource, name, err) @@ -80,7 +80,7 @@ func InterpretUpdateError(err error, qualifiedResource unversioned.GroupResource // InterpretDeleteError converts a generic error on a delete // operation into the appropriate API error. -func InterpretDeleteError(err error, qualifiedResource unversioned.GroupResource, name string) error { +func InterpretDeleteError(err error, qualifiedResource schema.GroupResource, name string) error { switch { case storage.IsNotFound(err): return errors.NewNotFound(qualifiedResource, name) @@ -97,11 +97,11 @@ func InterpretDeleteError(err error, qualifiedResource unversioned.GroupResource // InterpretWatchError converts a generic error on a watch // operation into the appropriate API error. -func InterpretWatchError(err error, resource unversioned.GroupResource, name string) error { +func InterpretWatchError(err error, resource schema.GroupResource, name string) error { switch { case storage.IsInvalidError(err): invalidError, _ := err.(storage.InvalidError) - return errors.NewInvalid(unversioned.GroupKind{Group: resource.Group, Kind: resource.Resource}, name, invalidError.Errs) + return errors.NewInvalid(schema.GroupKind{Group: resource.Group, Kind: resource.Resource}, name, invalidError.Errs) default: return err } diff --git a/pkg/api/install/BUILD b/pkg/api/install/BUILD index e832894608e..44ffc1f8377 100644 --- a/pkg/api/install/BUILD +++ b/pkg/api/install/BUILD @@ -17,11 +17,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", ], @@ -37,5 +37,6 @@ go_test( "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/api/install/install.go b/pkg/api/install/install.go index 644daad2ba2..b1ac35c2355 100644 --- a/pkg/api/install/install.go +++ b/pkg/api/install/install.go @@ -25,11 +25,11 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apimachinery" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -38,11 +38,11 @@ const importPrefix = "k8s.io/kubernetes/pkg/api" var accessor = meta.NewAccessor() // availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []unversioned.GroupVersion{v1.SchemeGroupVersion} +var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} func init() { registered.RegisterVersions(availableVersions) - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range availableVersions { if registered.IsAllowedVersion(v) { externalVersions = append(externalVersions, v) @@ -67,7 +67,7 @@ func init() { // group. // We can combine registered.RegisterVersions, registered.EnableVersions and // registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []unversioned.GroupVersion) error { +func enableVersions(externalVersions []schema.GroupVersion) error { addVersionsToScheme(externalVersions...) preferredExternalVersion := externalVersions[0] @@ -85,7 +85,7 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error { return nil } -func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper { +func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString( @@ -117,7 +117,7 @@ func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper // InterfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case v1.SchemeGroupVersion: return &meta.VersionInterfaces{ @@ -130,7 +130,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } } -func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) { +func addVersionsToScheme(externalVersions ...schema.GroupVersion) { // add the internal version to Scheme if err := api.AddToScheme(api.Scheme); err != nil { // Programmer error, detect immediately diff --git a/pkg/api/install/install_test.go b/pkg/api/install/install_test.go index 20d579a8c97..1ff49c80ff3 100644 --- a/pkg/api/install/install_test.go +++ b/pkg/api/install/install_test.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestResourceVersioner(t *testing.T) { @@ -76,7 +77,7 @@ func TestInterfacesFor(t *testing.T) { } func TestRESTMapper(t *testing.T) { - gv := unversioned.GroupVersion{Group: "", Version: "v1"} + gv := schema.GroupVersion{Group: "", Version: "v1"} rcGVK := gv.WithKind("ReplicationController") podTemplateGVK := gv.WithKind("PodTemplate") diff --git a/pkg/api/mapper.go b/pkg/api/mapper.go index c5743c4b580..347b5a46f94 100644 --- a/pkg/api/mapper.go +++ b/pkg/api/mapper.go @@ -20,19 +20,19 @@ import ( "strings" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) // Instantiates a DefaultRESTMapper based on types registered in api.Scheme -func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, +func NewDefaultRESTMapper(defaultGroupVersions []schema.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, importPathPrefix string, ignoredKinds, rootScoped sets.String) *meta.DefaultRESTMapper { return NewDefaultRESTMapperFromScheme(defaultGroupVersions, interfacesFunc, importPathPrefix, ignoredKinds, rootScoped, Scheme) } // Instantiates a DefaultRESTMapper based on types registered in the given scheme. -func NewDefaultRESTMapperFromScheme(defaultGroupVersions []unversioned.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, +func NewDefaultRESTMapperFromScheme(defaultGroupVersions []schema.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, importPathPrefix string, ignoredKinds, rootScoped sets.String, scheme *runtime.Scheme) *meta.DefaultRESTMapper { mapper := meta.NewDefaultRESTMapper(defaultGroupVersions, interfacesFunc) diff --git a/pkg/api/meta/BUILD b/pkg/api/meta/BUILD index 0ce289bfc07..04a099b1457 100644 --- a/pkg/api/meta/BUILD +++ b/pkg/api/meta/BUILD @@ -30,6 +30,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/sets:go_default_library", @@ -47,8 +48,8 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) @@ -68,6 +69,7 @@ go_test( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/diff:go_default_library", "//pkg/util/sets:go_default_library", diff --git a/pkg/api/meta/errors.go b/pkg/api/meta/errors.go index 70452965e58..0e5c6db6c1c 100644 --- a/pkg/api/meta/errors.go +++ b/pkg/api/meta/errors.go @@ -19,15 +19,15 @@ package meta import ( "fmt" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) // AmbiguousResourceError is returned if the RESTMapper finds multiple matches for a resource type AmbiguousResourceError struct { - PartialResource unversioned.GroupVersionResource + PartialResource schema.GroupVersionResource - MatchingResources []unversioned.GroupVersionResource - MatchingKinds []unversioned.GroupVersionKind + MatchingResources []schema.GroupVersionResource + MatchingKinds []schema.GroupVersionKind } func (e *AmbiguousResourceError) Error() string { @@ -44,10 +44,10 @@ func (e *AmbiguousResourceError) Error() string { // AmbiguousKindError is returned if the RESTMapper finds multiple matches for a kind type AmbiguousKindError struct { - PartialKind unversioned.GroupVersionKind + PartialKind schema.GroupVersionKind - MatchingResources []unversioned.GroupVersionResource - MatchingKinds []unversioned.GroupVersionKind + MatchingResources []schema.GroupVersionResource + MatchingKinds []schema.GroupVersionKind } func (e *AmbiguousKindError) Error() string { @@ -76,7 +76,7 @@ func IsAmbiguousError(err error) bool { // NoResourceMatchError is returned if the RESTMapper can't find any match for a resource type NoResourceMatchError struct { - PartialResource unversioned.GroupVersionResource + PartialResource schema.GroupVersionResource } func (e *NoResourceMatchError) Error() string { @@ -85,7 +85,7 @@ func (e *NoResourceMatchError) Error() string { // NoKindMatchError is returned if the RESTMapper can't find any match for a kind type NoKindMatchError struct { - PartialKind unversioned.GroupVersionKind + PartialKind schema.GroupVersionKind } func (e *NoKindMatchError) Error() string { diff --git a/pkg/api/meta/firsthit_restmapper.go b/pkg/api/meta/firsthit_restmapper.go index 8a21b54aabb..23b9fc4d924 100644 --- a/pkg/api/meta/firsthit_restmapper.go +++ b/pkg/api/meta/firsthit_restmapper.go @@ -19,7 +19,7 @@ package meta import ( "fmt" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" ) @@ -33,7 +33,7 @@ func (m FirstHitRESTMapper) String() string { return fmt.Sprintf("FirstHitRESTMapper{\n\t%v\n}", m.MultiRESTMapper) } -func (m FirstHitRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m FirstHitRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { errors := []error{} for _, t := range m.MultiRESTMapper { ret, err := t.ResourceFor(resource) @@ -43,10 +43,10 @@ func (m FirstHitRESTMapper) ResourceFor(resource unversioned.GroupVersionResourc errors = append(errors, err) } - return unversioned.GroupVersionResource{}, collapseAggregateErrors(errors) + return schema.GroupVersionResource{}, collapseAggregateErrors(errors) } -func (m FirstHitRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m FirstHitRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { errors := []error{} for _, t := range m.MultiRESTMapper { ret, err := t.KindFor(resource) @@ -56,13 +56,13 @@ func (m FirstHitRESTMapper) KindFor(resource unversioned.GroupVersionResource) ( errors = append(errors, err) } - return unversioned.GroupVersionKind{}, collapseAggregateErrors(errors) + return schema.GroupVersionKind{}, collapseAggregateErrors(errors) } // RESTMapping provides the REST mapping for the resource based on the // kind and version. This implementation supports multiple REST schemas and // return the first match. -func (m FirstHitRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) { +func (m FirstHitRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { errors := []error{} for _, t := range m.MultiRESTMapper { ret, err := t.RESTMapping(gk, versions...) diff --git a/pkg/api/meta/help_test.go b/pkg/api/meta/help_test.go index ac38541711d..4bc42aafde4 100644 --- a/pkg/api/meta/help_test.go +++ b/pkg/api/meta/help_test.go @@ -22,9 +22,9 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" "github.com/google/gofuzz" @@ -232,8 +232,8 @@ type fakePtrInterfaceList struct { Items *[]runtime.Object } -func (obj fakePtrInterfaceList) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj fakePtrInterfaceList) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } func TestExtractListOfInterfacePtrs(t *testing.T) { @@ -253,8 +253,8 @@ type fakePtrValueList struct { Items []*api.Pod } -func (obj fakePtrValueList) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj fakePtrValueList) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } func TestSetList(t *testing.T) { diff --git a/pkg/api/meta/interfaces.go b/pkg/api/meta/interfaces.go index 488f78d3720..0ba53cbb247 100644 --- a/pkg/api/meta/interfaces.go +++ b/pkg/api/meta/interfaces.go @@ -20,6 +20,7 @@ import ( "k8s.io/kubernetes/pkg/api/meta/metatypes" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" ) @@ -143,7 +144,7 @@ type RESTMapping struct { // Resource is a string representing the name of this resource as a REST client would see it Resource string - GroupVersionKind unversioned.GroupVersionKind + GroupVersionKind schema.GroupVersionKind // Scope contains the information needed to deal with REST Resources that are in a resource hierarchy Scope RESTScope @@ -163,21 +164,21 @@ type RESTMapping struct { // TODO: split into sub-interfaces type RESTMapper interface { // KindFor takes a partial resource and returns the single match. Returns an error if there are multiple matches - KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) + KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) // KindsFor takes a partial resource and returns the list of potential kinds in priority order - KindsFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionKind, error) + KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) // ResourceFor takes a partial resource and returns the single match. Returns an error if there are multiple matches - ResourceFor(input unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) + ResourceFor(input schema.GroupVersionResource) (schema.GroupVersionResource, error) // ResourcesFor takes a partial resource and returns the list of potential resource in priority order - ResourcesFor(input unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) + ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) // RESTMapping identifies a preferred resource mapping for the provided group kind. - RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) + RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) // RESTMappings returns all resource mappings for the provided group kind. - RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) + RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) AliasesForResource(resource string) ([]string, bool) ResourceSingularizer(resource string) (singular string, err error) diff --git a/pkg/api/meta/meta.go b/pkg/api/meta/meta.go index 876aa4faafb..462fbb4123b 100644 --- a/pkg/api/meta/meta.go +++ b/pkg/api/meta/meta.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "github.com/golang/glog" @@ -140,9 +141,9 @@ func (obj objectAccessor) GetAPIVersion() string { func (obj objectAccessor) SetAPIVersion(version string) { gvk := obj.GetObjectKind().GroupVersionKind() - gv, err := unversioned.ParseGroupVersion(version) + gv, err := schema.ParseGroupVersion(version) if err != nil { - gv = unversioned.GroupVersion{Version: version} + gv = schema.GroupVersion{Version: version} } gvk.Group, gvk.Version = gv.Group, gv.Version obj.GetObjectKind().SetGroupVersionKind(gvk) diff --git a/pkg/api/meta/meta_test.go b/pkg/api/meta/meta_test.go index ecd2a007797..129c5179910 100644 --- a/pkg/api/meta/meta_test.go +++ b/pkg/api/meta/meta_test.go @@ -28,6 +28,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" ) @@ -218,18 +219,18 @@ type MyAPIObject struct { func (obj *MyAPIObject) GetListMeta() unversioned.List { return &obj.TypeMeta } -func (obj *MyAPIObject) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *MyAPIObject) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *MyAPIObject) GetObjectKind() schema.ObjectKind { return obj } +func (obj *MyAPIObject) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.TypeMeta.APIVersion, obj.TypeMeta.Kind = gvk.ToAPIVersionAndKind() } -func (obj *MyAPIObject) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.TypeMeta.APIVersion, obj.TypeMeta.Kind) +func (obj *MyAPIObject) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.TypeMeta.APIVersion, obj.TypeMeta.Kind) } type MyIncorrectlyMarkedAsAPIObject struct{} -func (obj *MyIncorrectlyMarkedAsAPIObject) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj *MyIncorrectlyMarkedAsAPIObject) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } func TestResourceVersionerOfAPI(t *testing.T) { diff --git a/pkg/api/meta/multirestmapper.go b/pkg/api/meta/multirestmapper.go index 7b239e0340f..b47a58cc239 100644 --- a/pkg/api/meta/multirestmapper.go +++ b/pkg/api/meta/multirestmapper.go @@ -20,7 +20,7 @@ import ( "fmt" "strings" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/sets" ) @@ -51,8 +51,8 @@ func (m MultiRESTMapper) ResourceSingularizer(resource string) (singular string, return } -func (m MultiRESTMapper) ResourcesFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { - allGVRs := []unversioned.GroupVersionResource{} +func (m MultiRESTMapper) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { + allGVRs := []schema.GroupVersionResource{} for _, t := range m { gvrs, err := t.ResourcesFor(resource) // ignore "no match" errors, but any other error percolates back up @@ -86,8 +86,8 @@ func (m MultiRESTMapper) ResourcesFor(resource unversioned.GroupVersionResource) return allGVRs, nil } -func (m MultiRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gvk []unversioned.GroupVersionKind, err error) { - allGVKs := []unversioned.GroupVersionKind{} +func (m MultiRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { + allGVKs := []schema.GroupVersionKind{} for _, t := range m { gvks, err := t.KindsFor(resource) // ignore "no match" errors, but any other error percolates back up @@ -121,34 +121,34 @@ func (m MultiRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gv return allGVKs, nil } -func (m MultiRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m MultiRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { resources, err := m.ResourcesFor(resource) if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } if len(resources) == 1 { return resources[0], nil } - return unversioned.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} } -func (m MultiRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m MultiRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { kinds, err := m.KindsFor(resource) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } if len(kinds) == 1 { return kinds[0], nil } - return unversioned.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} } // RESTMapping provides the REST mapping for the resource based on the // kind and version. This implementation supports multiple REST schemas and // return the first match. -func (m MultiRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) { +func (m MultiRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { allMappings := []*RESTMapping{} errors := []error{} @@ -171,7 +171,7 @@ func (m MultiRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...strin return allMappings[0], nil } if len(allMappings) > 1 { - var kinds []unversioned.GroupVersionKind + var kinds []schema.GroupVersionKind for _, m := range allMappings { kinds = append(kinds, m.GroupVersionKind) } @@ -185,7 +185,7 @@ func (m MultiRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...strin // RESTMappings returns all possible RESTMappings for the provided group kind, or an error // if the type is not recognized. -func (m MultiRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) { +func (m MultiRESTMapper) RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) { var allMappings []*RESTMapping var errors []error diff --git a/pkg/api/meta/multirestmapper_test.go b/pkg/api/meta/multirestmapper_test.go index c0a77f0cf4e..a6cfb1507b0 100644 --- a/pkg/api/meta/multirestmapper_test.go +++ b/pkg/api/meta/multirestmapper_test.go @@ -21,7 +21,7 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestMultiRESTMapperResourceFor(t *testing.T) { @@ -29,29 +29,29 @@ func TestMultiRESTMapperResourceFor(t *testing.T) { name string mapper MultiRESTMapper - input unversioned.GroupVersionResource - result unversioned.GroupVersionResource + input schema.GroupVersionResource + result schema.GroupVersionResource err error }{ { name: "empty", mapper: MultiRESTMapper{}, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: unversioned.GroupVersionResource{}, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionResource{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "ignore not found", - mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: unversioned.GroupVersionResource{}, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionResource{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "accept first failure", - mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{{Resource: "unused"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: unversioned.GroupVersionResource{}, + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionResource{}, err: errors.New("fail on this"), }, } @@ -78,48 +78,48 @@ func TestMultiRESTMapperResourcesFor(t *testing.T) { name string mapper MultiRESTMapper - input unversioned.GroupVersionResource - result []unversioned.GroupVersionResource + input schema.GroupVersionResource + result []schema.GroupVersionResource err error }{ { name: "empty", mapper: MultiRESTMapper{}, - input: unversioned.GroupVersionResource{Resource: "foo"}, + input: schema.GroupVersionResource{Resource: "foo"}, result: nil, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "ignore not found", - mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, result: nil, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "accept first failure", - mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{{Resource: "unused"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, result: nil, err: errors.New("fail on this"), }, { name: "union and dedup", mapper: MultiRESTMapper{ - fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{{Resource: "dupe"}, {Resource: "first"}}}, - fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{{Resource: "dupe"}, {Resource: "second"}}}, + fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "dupe"}, {Resource: "first"}}}, + fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "dupe"}, {Resource: "second"}}}, }, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: []unversioned.GroupVersionResource{{Resource: "dupe"}, {Resource: "first"}, {Resource: "second"}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionResource{{Resource: "dupe"}, {Resource: "first"}, {Resource: "second"}}, }, { name: "skip not and continue", mapper: MultiRESTMapper{ - fixedRESTMapper{err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "IGNORE_THIS"}}}, - fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{{Resource: "first"}, {Resource: "second"}}}, + fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}, + fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "first"}, {Resource: "second"}}}, }, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: []unversioned.GroupVersionResource{{Resource: "first"}, {Resource: "second"}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionResource{{Resource: "first"}, {Resource: "second"}}, }, } @@ -145,48 +145,48 @@ func TestMultiRESTMapperKindsFor(t *testing.T) { name string mapper MultiRESTMapper - input unversioned.GroupVersionResource - result []unversioned.GroupVersionKind + input schema.GroupVersionResource + result []schema.GroupVersionKind err error }{ { name: "empty", mapper: MultiRESTMapper{}, - input: unversioned.GroupVersionResource{Resource: "foo"}, + input: schema.GroupVersionResource{Resource: "foo"}, result: nil, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "ignore not found", - mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, result: nil, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "accept first failure", - mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{{Kind: "unused"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, result: nil, err: errors.New("fail on this"), }, { name: "union and dedup", mapper: MultiRESTMapper{ - fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{{Kind: "dupe"}, {Kind: "first"}}}, - fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{{Kind: "dupe"}, {Kind: "second"}}}, + fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "dupe"}, {Kind: "first"}}}, + fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "dupe"}, {Kind: "second"}}}, }, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: []unversioned.GroupVersionKind{{Kind: "dupe"}, {Kind: "first"}, {Kind: "second"}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionKind{{Kind: "dupe"}, {Kind: "first"}, {Kind: "second"}}, }, { name: "skip not and continue", mapper: MultiRESTMapper{ - fixedRESTMapper{err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "IGNORE_THIS"}}}, - fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{{Kind: "first"}, {Kind: "second"}}}, + fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}, + fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "first"}, {Kind: "second"}}}, }, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: []unversioned.GroupVersionKind{{Kind: "first"}, {Kind: "second"}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionKind{{Kind: "first"}, {Kind: "second"}}, }, } @@ -212,29 +212,29 @@ func TestMultiRESTMapperKindFor(t *testing.T) { name string mapper MultiRESTMapper - input unversioned.GroupVersionResource - result unversioned.GroupVersionKind + input schema.GroupVersionResource + result schema.GroupVersionKind err error }{ { name: "empty", mapper: MultiRESTMapper{}, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: unversioned.GroupVersionKind{}, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionKind{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "ignore not found", - mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: unversioned.GroupVersionKind{}, - err: &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionKind{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, }, { name: "accept first failure", - mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{{Kind: "unused"}}}}, - input: unversioned.GroupVersionResource{Resource: "foo"}, - result: unversioned.GroupVersionKind{}, + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionKind{}, err: errors.New("fail on this"), }, } @@ -262,35 +262,35 @@ func TestMultiRESTMapperRESTMappings(t *testing.T) { name string mapper MultiRESTMapper - input unversioned.GroupKind + input schema.GroupKind result []*RESTMapping err error }{ { name: "empty", mapper: MultiRESTMapper{}, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, result: nil, - err: &NoKindMatchError{PartialKind: unversioned.GroupVersionKind{Kind: "Foo"}}, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, }, { name: "ignore not found", - mapper: MultiRESTMapper{fixedRESTMapper{err: &NoKindMatchError{PartialKind: unversioned.GroupVersionKind{Kind: "IGNORE_THIS"}}}}, - input: unversioned.GroupKind{Kind: "Foo"}, + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "IGNORE_THIS"}}}}, + input: schema.GroupKind{Kind: "Foo"}, result: nil, - err: &NoKindMatchError{PartialKind: unversioned.GroupVersionKind{Kind: "Foo"}}, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, }, { name: "accept first failure", mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{mappings: []*RESTMapping{mapping1}}}, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, result: nil, err: errors.New("fail on this"), }, { name: "return both", mapper: MultiRESTMapper{fixedRESTMapper{mappings: []*RESTMapping{mapping1}}, fixedRESTMapper{mappings: []*RESTMapping{mapping2}}}, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, result: []*RESTMapping{mapping1, mapping2}, }, } @@ -313,10 +313,10 @@ func TestMultiRESTMapperRESTMappings(t *testing.T) { } type fixedRESTMapper struct { - resourcesFor []unversioned.GroupVersionResource - kindsFor []unversioned.GroupVersionKind - resourceFor unversioned.GroupVersionResource - kindFor unversioned.GroupVersionKind + resourcesFor []schema.GroupVersionResource + kindsFor []schema.GroupVersionKind + resourceFor schema.GroupVersionResource + kindFor schema.GroupVersionKind mappings []*RESTMapping err error @@ -326,27 +326,27 @@ func (m fixedRESTMapper) ResourceSingularizer(resource string) (singular string, return "", m.err } -func (m fixedRESTMapper) ResourcesFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (m fixedRESTMapper) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { return m.resourcesFor, m.err } -func (m fixedRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gvk []unversioned.GroupVersionKind, err error) { +func (m fixedRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { return m.kindsFor, m.err } -func (m fixedRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m fixedRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { return m.resourceFor, m.err } -func (m fixedRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m fixedRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { return m.kindFor, m.err } -func (m fixedRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (mapping *RESTMapping, err error) { +func (m fixedRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (mapping *RESTMapping, err error) { return nil, m.err } -func (m fixedRESTMapper) RESTMappings(gk unversioned.GroupKind) (mappings []*RESTMapping, err error) { +func (m fixedRESTMapper) RESTMappings(gk schema.GroupKind) (mappings []*RESTMapping, err error) { return m.mappings, m.err } @@ -354,6 +354,6 @@ func (m fixedRESTMapper) AliasesForResource(alias string) (aliases []string, ok return nil, false } -func (m fixedRESTMapper) ResourceIsValid(resource unversioned.GroupVersionResource) bool { +func (m fixedRESTMapper) ResourceIsValid(resource schema.GroupVersionResource) bool { return false } diff --git a/pkg/api/meta/priority.go b/pkg/api/meta/priority.go index 2e460609d10..9dc603a1a1c 100644 --- a/pkg/api/meta/priority.go +++ b/pkg/api/meta/priority.go @@ -19,7 +19,7 @@ package meta import ( "fmt" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) const ( @@ -39,13 +39,13 @@ type PriorityRESTMapper struct { // The list of all matching resources is narrowed based on the patterns until only one remains. // A pattern with no matches is skipped. A pattern with more than one match uses its // matches as the list to continue matching against. - ResourcePriority []unversioned.GroupVersionResource + ResourcePriority []schema.GroupVersionResource // KindPriority is a list of priority patterns to apply to matching kinds. // The list of all matching kinds is narrowed based on the patterns until only one remains. // A pattern with no matches is skipped. A pattern with more than one match uses its // matches as the list to continue matching against. - KindPriority []unversioned.GroupVersionKind + KindPriority []schema.GroupVersionKind } func (m PriorityRESTMapper) String() string { @@ -53,18 +53,18 @@ func (m PriorityRESTMapper) String() string { } // ResourceFor finds all resources, then passes them through the ResourcePriority patterns to find a single matching hit. -func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource schema.GroupVersionResource) (schema.GroupVersionResource, error) { originalGVRs, err := m.Delegate.ResourcesFor(partiallySpecifiedResource) if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } if len(originalGVRs) == 1 { return originalGVRs[0], nil } - remainingGVRs := append([]unversioned.GroupVersionResource{}, originalGVRs...) + remainingGVRs := append([]schema.GroupVersionResource{}, originalGVRs...) for _, pattern := range m.ResourcePriority { - matchedGVRs := []unversioned.GroupVersionResource{} + matchedGVRs := []schema.GroupVersionResource{} for _, gvr := range remainingGVRs { if resourceMatches(pattern, gvr) { matchedGVRs = append(matchedGVRs, gvr) @@ -85,22 +85,22 @@ func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource unversioned.G } } - return unversioned.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingResources: originalGVRs} + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingResources: originalGVRs} } // KindFor finds all kinds, then passes them through the KindPriority patterns to find a single matching hit. -func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource schema.GroupVersionResource) (schema.GroupVersionKind, error) { originalGVKs, err := m.Delegate.KindsFor(partiallySpecifiedResource) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } if len(originalGVKs) == 1 { return originalGVKs[0], nil } - remainingGVKs := append([]unversioned.GroupVersionKind{}, originalGVKs...) + remainingGVKs := append([]schema.GroupVersionKind{}, originalGVKs...) for _, pattern := range m.KindPriority { - matchedGVKs := []unversioned.GroupVersionKind{} + matchedGVKs := []schema.GroupVersionKind{} for _, gvr := range remainingGVKs { if kindMatches(pattern, gvr) { matchedGVKs = append(matchedGVKs, gvr) @@ -121,10 +121,10 @@ func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource unversioned.Group } } - return unversioned.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingKinds: originalGVKs} + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingKinds: originalGVKs} } -func resourceMatches(pattern unversioned.GroupVersionResource, resource unversioned.GroupVersionResource) bool { +func resourceMatches(pattern schema.GroupVersionResource, resource schema.GroupVersionResource) bool { if pattern.Group != AnyGroup && pattern.Group != resource.Group { return false } @@ -138,7 +138,7 @@ func resourceMatches(pattern unversioned.GroupVersionResource, resource unversio return true } -func kindMatches(pattern unversioned.GroupVersionKind, kind unversioned.GroupVersionKind) bool { +func kindMatches(pattern schema.GroupVersionKind, kind schema.GroupVersionKind) bool { if pattern.Group != AnyGroup && pattern.Group != kind.Group { return false } @@ -152,7 +152,7 @@ func kindMatches(pattern unversioned.GroupVersionKind, kind unversioned.GroupVer return true } -func (m PriorityRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (mapping *RESTMapping, err error) { +func (m PriorityRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (mapping *RESTMapping, err error) { mappings, err := m.Delegate.RESTMappings(gk) if err != nil { return nil, err @@ -161,9 +161,9 @@ func (m PriorityRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st // any versions the user provides take priority priorities := m.KindPriority if len(versions) > 0 { - priorities = make([]unversioned.GroupVersionKind, 0, len(m.KindPriority)+len(versions)) + priorities = make([]schema.GroupVersionKind, 0, len(m.KindPriority)+len(versions)) for _, version := range versions { - gv, err := unversioned.ParseGroupVersion(version) + gv, err := schema.ParseGroupVersion(version) if err != nil { return nil, err } @@ -198,14 +198,14 @@ func (m PriorityRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st return remaining[0], nil } - var kinds []unversioned.GroupVersionKind + var kinds []schema.GroupVersionKind for _, m := range mappings { kinds = append(kinds, m.GroupVersionKind) } return nil, &AmbiguousKindError{PartialKind: gk.WithVersion(""), MatchingKinds: kinds} } -func (m PriorityRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) { +func (m PriorityRESTMapper) RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) { return m.Delegate.RESTMappings(gk) } @@ -217,10 +217,10 @@ func (m PriorityRESTMapper) ResourceSingularizer(resource string) (singular stri return m.Delegate.ResourceSingularizer(resource) } -func (m PriorityRESTMapper) ResourcesFor(partiallySpecifiedResource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (m PriorityRESTMapper) ResourcesFor(partiallySpecifiedResource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { return m.Delegate.ResourcesFor(partiallySpecifiedResource) } -func (m PriorityRESTMapper) KindsFor(partiallySpecifiedResource unversioned.GroupVersionResource) (gvk []unversioned.GroupVersionKind, err error) { +func (m PriorityRESTMapper) KindsFor(partiallySpecifiedResource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { return m.Delegate.KindsFor(partiallySpecifiedResource) } diff --git a/pkg/api/meta/priority_test.go b/pkg/api/meta/priority_test.go index 0aa7be52431..70b93042489 100644 --- a/pkg/api/meta/priority_test.go +++ b/pkg/api/meta/priority_test.go @@ -22,7 +22,7 @@ import ( "strings" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestPriorityRESTMapperResourceForErrorHandling(t *testing.T) { @@ -30,18 +30,18 @@ func TestPriorityRESTMapperResourceForErrorHandling(t *testing.T) { name string delegate RESTMapper - resourcePatterns []unversioned.GroupVersionResource - result unversioned.GroupVersionResource + resourcePatterns []schema.GroupVersionResource + result schema.GroupVersionResource err string }{ { name: "single hit", - delegate: fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{{Resource: "single-hit"}}}, - result: unversioned.GroupVersionResource{Resource: "single-hit"}, + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "single-hit"}}}, + result: schema.GroupVersionResource{Resource: "single-hit"}, }, { name: "ambiguous match", - delegate: fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{ + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ {Group: "one", Version: "a", Resource: "first"}, {Group: "two", Version: "b", Resource: "second"}, }}, @@ -49,57 +49,57 @@ func TestPriorityRESTMapperResourceForErrorHandling(t *testing.T) { }, { name: "group selection", - delegate: fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{ + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ {Group: "one", Version: "a", Resource: "first"}, {Group: "two", Version: "b", Resource: "second"}, }}, - resourcePatterns: []unversioned.GroupVersionResource{ + resourcePatterns: []schema.GroupVersionResource{ {Group: "one", Version: AnyVersion, Resource: AnyResource}, }, - result: unversioned.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, }, { name: "empty match continues", - delegate: fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{ + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ {Group: "one", Version: "a", Resource: "first"}, {Group: "two", Version: "b", Resource: "second"}, }}, - resourcePatterns: []unversioned.GroupVersionResource{ + resourcePatterns: []schema.GroupVersionResource{ {Group: "fail", Version: AnyVersion, Resource: AnyResource}, {Group: "one", Version: AnyVersion, Resource: AnyResource}, }, - result: unversioned.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, }, { name: "group followed by version selection", - delegate: fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{ + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ {Group: "one", Version: "a", Resource: "first"}, {Group: "two", Version: "b", Resource: "second"}, {Group: "one", Version: "c", Resource: "third"}, }}, - resourcePatterns: []unversioned.GroupVersionResource{ + resourcePatterns: []schema.GroupVersionResource{ {Group: "one", Version: AnyVersion, Resource: AnyResource}, {Group: AnyGroup, Version: "a", Resource: AnyResource}, }, - result: unversioned.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, }, { name: "resource selection", - delegate: fixedRESTMapper{resourcesFor: []unversioned.GroupVersionResource{ + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ {Group: "one", Version: "a", Resource: "first"}, {Group: "one", Version: "a", Resource: "second"}, }}, - resourcePatterns: []unversioned.GroupVersionResource{ + resourcePatterns: []schema.GroupVersionResource{ {Group: AnyGroup, Version: AnyVersion, Resource: "second"}, }, - result: unversioned.GroupVersionResource{Group: "one", Version: "a", Resource: "second"}, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "second"}, }, } for _, tc := range tcs { mapper := PriorityRESTMapper{Delegate: tc.delegate, ResourcePriority: tc.resourcePatterns} - actualResult, actualErr := mapper.ResourceFor(unversioned.GroupVersionResource{}) + actualResult, actualErr := mapper.ResourceFor(schema.GroupVersionResource{}) if e, a := tc.result, actualResult; e != a { t.Errorf("%s: expected %v, got %v", tc.name, e, a) } @@ -121,18 +121,18 @@ func TestPriorityRESTMapperKindForErrorHandling(t *testing.T) { name string delegate RESTMapper - kindPatterns []unversioned.GroupVersionKind - result unversioned.GroupVersionKind + kindPatterns []schema.GroupVersionKind + result schema.GroupVersionKind err string }{ { name: "single hit", - delegate: fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{{Kind: "single-hit"}}}, - result: unversioned.GroupVersionKind{Kind: "single-hit"}, + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "single-hit"}}}, + result: schema.GroupVersionKind{Kind: "single-hit"}, }, { name: "ambiguous match", - delegate: fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{ + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ {Group: "one", Version: "a", Kind: "first"}, {Group: "two", Version: "b", Kind: "second"}, }}, @@ -140,57 +140,57 @@ func TestPriorityRESTMapperKindForErrorHandling(t *testing.T) { }, { name: "group selection", - delegate: fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{ + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ {Group: "one", Version: "a", Kind: "first"}, {Group: "two", Version: "b", Kind: "second"}, }}, - kindPatterns: []unversioned.GroupVersionKind{ + kindPatterns: []schema.GroupVersionKind{ {Group: "one", Version: AnyVersion, Kind: AnyKind}, }, - result: unversioned.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, }, { name: "empty match continues", - delegate: fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{ + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ {Group: "one", Version: "a", Kind: "first"}, {Group: "two", Version: "b", Kind: "second"}, }}, - kindPatterns: []unversioned.GroupVersionKind{ + kindPatterns: []schema.GroupVersionKind{ {Group: "fail", Version: AnyVersion, Kind: AnyKind}, {Group: "one", Version: AnyVersion, Kind: AnyKind}, }, - result: unversioned.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, }, { name: "group followed by version selection", - delegate: fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{ + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ {Group: "one", Version: "a", Kind: "first"}, {Group: "two", Version: "b", Kind: "second"}, {Group: "one", Version: "c", Kind: "third"}, }}, - kindPatterns: []unversioned.GroupVersionKind{ + kindPatterns: []schema.GroupVersionKind{ {Group: "one", Version: AnyVersion, Kind: AnyKind}, {Group: AnyGroup, Version: "a", Kind: AnyKind}, }, - result: unversioned.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, }, { name: "kind selection", - delegate: fixedRESTMapper{kindsFor: []unversioned.GroupVersionKind{ + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ {Group: "one", Version: "a", Kind: "first"}, {Group: "one", Version: "a", Kind: "second"}, }}, - kindPatterns: []unversioned.GroupVersionKind{ + kindPatterns: []schema.GroupVersionKind{ {Group: AnyGroup, Version: AnyVersion, Kind: "second"}, }, - result: unversioned.GroupVersionKind{Group: "one", Version: "a", Kind: "second"}, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "second"}, }, } for _, tc := range tcs { mapper := PriorityRESTMapper{Delegate: tc.delegate, KindPriority: tc.kindPatterns} - actualResult, actualErr := mapper.KindFor(unversioned.GroupVersionResource{}) + actualResult, actualErr := mapper.KindFor(schema.GroupVersionResource{}) if e, a := tc.result, actualResult; e != a { t.Errorf("%s: expected %v, got %v", tc.name, e, a) } @@ -209,13 +209,13 @@ func TestPriorityRESTMapperKindForErrorHandling(t *testing.T) { func TestPriorityRESTMapperRESTMapping(t *testing.T) { mapping1 := &RESTMapping{ - GroupVersionKind: unversioned.GroupVersionKind{Kind: "Foo", Version: "v1alpha1"}, + GroupVersionKind: schema.GroupVersionKind{Kind: "Foo", Version: "v1alpha1"}, } mapping2 := &RESTMapping{ - GroupVersionKind: unversioned.GroupVersionKind{Kind: "Foo", Version: "v1"}, + GroupVersionKind: schema.GroupVersionKind{Kind: "Foo", Version: "v1"}, } mapping3 := &RESTMapping{ - GroupVersionKind: unversioned.GroupVersionKind{Group: "other", Kind: "Foo", Version: "v1"}, + GroupVersionKind: schema.GroupVersionKind{Group: "other", Kind: "Foo", Version: "v1"}, } allMappers := MultiRESTMapper{ fixedRESTMapper{mappings: []*RESTMapping{mapping1}}, @@ -226,26 +226,26 @@ func TestPriorityRESTMapperRESTMapping(t *testing.T) { name string mapper PriorityRESTMapper - input unversioned.GroupKind + input schema.GroupKind result *RESTMapping err error }{ { name: "empty", mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{}}, - input: unversioned.GroupKind{Kind: "Foo"}, - err: &NoKindMatchError{PartialKind: unversioned.GroupVersionKind{Kind: "Foo"}}, + input: schema.GroupKind{Kind: "Foo"}, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, }, { name: "ignore not found", - mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{fixedRESTMapper{err: &NoKindMatchError{PartialKind: unversioned.GroupVersionKind{Kind: "IGNORE_THIS"}}}}}, - input: unversioned.GroupKind{Kind: "Foo"}, - err: &NoKindMatchError{PartialKind: unversioned.GroupVersionKind{Kind: "Foo"}}, + mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{fixedRESTMapper{err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "IGNORE_THIS"}}}}}, + input: schema.GroupKind{Kind: "Foo"}, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, }, { name: "accept first failure", mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{mappings: []*RESTMapping{mapping1}}}}, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, err: errors.New("fail on this"), }, { @@ -253,10 +253,10 @@ func TestPriorityRESTMapperRESTMapping(t *testing.T) { mapper: PriorityRESTMapper{ Delegate: allMappers, }, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, err: &AmbiguousKindError{ - PartialKind: unversioned.GroupVersionKind{Kind: "Foo"}, - MatchingKinds: []unversioned.GroupVersionKind{ + PartialKind: schema.GroupVersionKind{Kind: "Foo"}, + MatchingKinds: []schema.GroupVersionKind{ {Kind: "Foo", Version: "v1alpha1"}, {Kind: "Foo", Version: "v1"}, {Group: "other", Kind: "Foo", Version: "v1"}, @@ -268,25 +268,25 @@ func TestPriorityRESTMapperRESTMapping(t *testing.T) { mapper: PriorityRESTMapper{ Delegate: fixedRESTMapper{mappings: []*RESTMapping{mapping1}}, }, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, result: mapping1, }, { name: "return single priority", mapper: PriorityRESTMapper{ Delegate: allMappers, - KindPriority: []unversioned.GroupVersionKind{{Version: "v1", Kind: AnyKind}, {Version: "v1alpha1", Kind: AnyKind}}, + KindPriority: []schema.GroupVersionKind{{Version: "v1", Kind: AnyKind}, {Version: "v1alpha1", Kind: AnyKind}}, }, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, result: mapping2, }, { name: "return out of group match", mapper: PriorityRESTMapper{ Delegate: allMappers, - KindPriority: []unversioned.GroupVersionKind{{Group: AnyGroup, Version: "v1", Kind: AnyKind}, {Group: "other", Version: AnyVersion, Kind: AnyKind}}, + KindPriority: []schema.GroupVersionKind{{Group: AnyGroup, Version: "v1", Kind: AnyKind}, {Group: "other", Version: AnyVersion, Kind: AnyKind}}, }, - input: unversioned.GroupKind{Kind: "Foo"}, + input: schema.GroupKind{Kind: "Foo"}, result: mapping3, }, } diff --git a/pkg/api/meta/restmapper.go b/pkg/api/meta/restmapper.go index 19d0b252071..c31224afa67 100644 --- a/pkg/api/meta/restmapper.go +++ b/pkg/api/meta/restmapper.go @@ -22,8 +22,8 @@ import ( "sort" "strings" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Implements RESTScope interface @@ -70,13 +70,13 @@ var RESTScopeRoot = &restScope{ // TODO: Only accept plural for some operations for increased control? // (`get pod bar` vs `get pods bar`) type DefaultRESTMapper struct { - defaultGroupVersions []unversioned.GroupVersion + defaultGroupVersions []schema.GroupVersion - resourceToKind map[unversioned.GroupVersionResource]unversioned.GroupVersionKind - kindToPluralResource map[unversioned.GroupVersionKind]unversioned.GroupVersionResource - kindToScope map[unversioned.GroupVersionKind]RESTScope - singularToPlural map[unversioned.GroupVersionResource]unversioned.GroupVersionResource - pluralToSingular map[unversioned.GroupVersionResource]unversioned.GroupVersionResource + resourceToKind map[schema.GroupVersionResource]schema.GroupVersionKind + kindToPluralResource map[schema.GroupVersionKind]schema.GroupVersionResource + kindToScope map[schema.GroupVersionKind]RESTScope + singularToPlural map[schema.GroupVersionResource]schema.GroupVersionResource + pluralToSingular map[schema.GroupVersionResource]schema.GroupVersionResource interfacesFunc VersionInterfacesFunc @@ -92,19 +92,19 @@ var _ RESTMapper = &DefaultRESTMapper{} // VersionInterfacesFunc returns the appropriate typer, and metadata accessor for a // given api version, or an error if no such api version exists. -type VersionInterfacesFunc func(version unversioned.GroupVersion) (*VersionInterfaces, error) +type VersionInterfacesFunc func(version schema.GroupVersion) (*VersionInterfaces, error) // NewDefaultRESTMapper initializes a mapping between Kind and APIVersion // to a resource name and back based on the objects in a runtime.Scheme // and the Kubernetes API conventions. Takes a group name, a priority list of the versions // to search when an object has no default version (set empty to return an error), // and a function that retrieves the correct metadata for a given version. -func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, f VersionInterfacesFunc) *DefaultRESTMapper { - resourceToKind := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionKind) - kindToPluralResource := make(map[unversioned.GroupVersionKind]unversioned.GroupVersionResource) - kindToScope := make(map[unversioned.GroupVersionKind]RESTScope) - singularToPlural := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource) - pluralToSingular := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource) +func NewDefaultRESTMapper(defaultGroupVersions []schema.GroupVersion, f VersionInterfacesFunc) *DefaultRESTMapper { + resourceToKind := make(map[schema.GroupVersionResource]schema.GroupVersionKind) + kindToPluralResource := make(map[schema.GroupVersionKind]schema.GroupVersionResource) + kindToScope := make(map[schema.GroupVersionKind]RESTScope) + singularToPlural := make(map[schema.GroupVersionResource]schema.GroupVersionResource) + pluralToSingular := make(map[schema.GroupVersionResource]schema.GroupVersionResource) aliasToResource := make(map[string][]string) // TODO: verify name mappings work correctly when versions differ @@ -120,7 +120,7 @@ func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, f Ver } } -func (m *DefaultRESTMapper) Add(kind unversioned.GroupVersionKind, scope RESTScope) { +func (m *DefaultRESTMapper) Add(kind schema.GroupVersionKind, scope RESTScope) { plural, singular := KindToResource(kind) m.singularToPlural[singular] = plural @@ -144,10 +144,10 @@ var unpluralizedSuffixes = []string{ // KindToResource converts Kind to a resource name. // Broken. This method only "sort of" works when used outside of this package. It assumes that Kinds and Resources match // and they aren't guaranteed to do so. -func KindToResource(kind unversioned.GroupVersionKind) ( /*plural*/ unversioned.GroupVersionResource /*singular*/, unversioned.GroupVersionResource) { +func KindToResource(kind schema.GroupVersionKind) ( /*plural*/ schema.GroupVersionResource /*singular*/, schema.GroupVersionResource) { kindName := kind.Kind if len(kindName) == 0 { - return unversioned.GroupVersionResource{}, unversioned.GroupVersionResource{} + return schema.GroupVersionResource{}, schema.GroupVersionResource{} } singularName := strings.ToLower(kindName) singular := kind.GroupVersion().WithResource(singularName) @@ -171,13 +171,13 @@ func KindToResource(kind unversioned.GroupVersionKind) ( /*plural*/ unversioned. // ResourceSingularizer implements RESTMapper // It converts a resource name from plural to singular (e.g., from pods to pod) func (m *DefaultRESTMapper) ResourceSingularizer(resourceType string) (string, error) { - partialResource := unversioned.GroupVersionResource{Resource: resourceType} + partialResource := schema.GroupVersionResource{Resource: resourceType} resources, err := m.ResourcesFor(partialResource) if err != nil { return resourceType, err } - singular := unversioned.GroupVersionResource{} + singular := schema.GroupVersionResource{} for _, curr := range resources { currSingular, ok := m.pluralToSingular[curr] if !ok { @@ -201,7 +201,7 @@ func (m *DefaultRESTMapper) ResourceSingularizer(resourceType string) (string, e } // coerceResourceForMatching makes the resource lower case and converts internal versions to unspecified (legacy behavior) -func coerceResourceForMatching(resource unversioned.GroupVersionResource) unversioned.GroupVersionResource { +func coerceResourceForMatching(resource schema.GroupVersionResource) schema.GroupVersionResource { resource.Resource = strings.ToLower(resource.Resource) if resource.Version == runtime.APIVersionInternal { resource.Version = "" @@ -210,7 +210,7 @@ func coerceResourceForMatching(resource unversioned.GroupVersionResource) unvers return resource } -func (m *DefaultRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (m *DefaultRESTMapper) ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { resource := coerceResourceForMatching(input) hasResource := len(resource.Resource) > 0 @@ -221,7 +221,7 @@ func (m *DefaultRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) return nil, fmt.Errorf("a resource must be present, got: %v", resource) } - ret := []unversioned.GroupVersionResource{} + ret := []schema.GroupVersionResource{} switch { case hasGroup && hasVersion: // fully qualified. Find the exact match @@ -297,19 +297,19 @@ func (m *DefaultRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) return ret, nil } -func (m *DefaultRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m *DefaultRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { resources, err := m.ResourcesFor(resource) if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } if len(resources) == 1 { return resources[0], nil } - return unversioned.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} } -func (m *DefaultRESTMapper) KindsFor(input unversioned.GroupVersionResource) ([]unversioned.GroupVersionKind, error) { +func (m *DefaultRESTMapper) KindsFor(input schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { resource := coerceResourceForMatching(input) hasResource := len(resource.Resource) > 0 @@ -320,7 +320,7 @@ func (m *DefaultRESTMapper) KindsFor(input unversioned.GroupVersionResource) ([] return nil, fmt.Errorf("a resource must be present, got: %v", resource) } - ret := []unversioned.GroupVersionKind{} + ret := []schema.GroupVersionKind{} switch { // fully qualified. Find the exact match case hasGroup && hasVersion: @@ -376,21 +376,21 @@ func (m *DefaultRESTMapper) KindsFor(input unversioned.GroupVersionResource) ([] return ret, nil } -func (m *DefaultRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m *DefaultRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { kinds, err := m.KindsFor(resource) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } if len(kinds) == 1 { return kinds[0], nil } - return unversioned.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} } type kindByPreferredGroupVersion struct { - list []unversioned.GroupVersionKind - sortOrder []unversioned.GroupVersion + list []schema.GroupVersionKind + sortOrder []schema.GroupVersion } func (o kindByPreferredGroupVersion) Len() int { return len(o.list) } @@ -427,8 +427,8 @@ func (o kindByPreferredGroupVersion) Less(i, j int) bool { } type resourceByPreferredGroupVersion struct { - list []unversioned.GroupVersionResource - sortOrder []unversioned.GroupVersion + list []schema.GroupVersionResource + sortOrder []schema.GroupVersion } func (o resourceByPreferredGroupVersion) Len() int { return len(o.list) } @@ -469,9 +469,9 @@ func (o resourceByPreferredGroupVersion) Less(i, j int) bool { // order is not provided, the search order provided to DefaultRESTMapper will be used to resolve which // version should be used to access the named group/kind. // TODO: consider refactoring to use RESTMappings in a way that preserves version ordering and preference -func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) { +func (m *DefaultRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { // Pick an appropriate version - var gvk *unversioned.GroupVersionKind + var gvk *schema.GroupVersionKind hadVersion := false for _, version := range versions { if len(version) == 0 || version == runtime.APIVersionInternal { @@ -506,7 +506,7 @@ func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st // Ensure we have a REST mapping resource, ok := m.kindToPluralResource[*gvk] if !ok { - found := []unversioned.GroupVersion{} + found := []schema.GroupVersion{} for _, gv := range m.defaultGroupVersions { if _, ok := m.kindToPluralResource[*gvk]; ok { found = append(found, gv) @@ -543,7 +543,7 @@ func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st // RESTMappings returns the RESTMappings for the provided group kind in a rough internal preferred order. If no // kind is found it will return a NoResourceMatchError. -func (m *DefaultRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) { +func (m *DefaultRESTMapper) RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) { // Use the default preferred versions var mappings []*RESTMapping for _, gv := range m.defaultGroupVersions { @@ -579,7 +579,7 @@ func (m *DefaultRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMappi } if len(mappings) == 0 { - return nil, &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Group: gk.Group, Resource: gk.Kind}} + return nil, &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Group: gk.Group, Resource: gk.Kind}} } return mappings, nil } diff --git a/pkg/api/meta/restmapper_test.go b/pkg/api/meta/restmapper_test.go index a8bff203375..c278c7eec72 100644 --- a/pkg/api/meta/restmapper_test.go +++ b/pkg/api/meta/restmapper_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type fakeConvertor struct{} @@ -43,35 +43,35 @@ func (fakeConvertor) ConvertFieldLabel(version, kind, label, value string) (stri var validAccessor = resourceAccessor{} var validConvertor = fakeConvertor{} -func fakeInterfaces(version unversioned.GroupVersion) (*VersionInterfaces, error) { +func fakeInterfaces(version schema.GroupVersion) (*VersionInterfaces, error) { return &VersionInterfaces{ObjectConvertor: validConvertor, MetadataAccessor: validAccessor}, nil } var unmatchedErr = errors.New("no version") -func unmatchedVersionInterfaces(version unversioned.GroupVersion) (*VersionInterfaces, error) { +func unmatchedVersionInterfaces(version schema.GroupVersion) (*VersionInterfaces, error) { return nil, unmatchedErr } func TestRESTMapperVersionAndKindForResource(t *testing.T) { testGroup := "test.group" testVersion := "test" - testGroupVersion := unversioned.GroupVersion{Group: testGroup, Version: testVersion} + testGroupVersion := schema.GroupVersion{Group: testGroup, Version: testVersion} testCases := []struct { - Resource unversioned.GroupVersionResource - GroupVersionToRegister unversioned.GroupVersion - ExpectedGVK unversioned.GroupVersionKind + Resource schema.GroupVersionResource + GroupVersionToRegister schema.GroupVersion + ExpectedGVK schema.GroupVersionKind Err bool }{ - {Resource: unversioned.GroupVersionResource{Resource: "internalobjec"}, Err: true}, - {Resource: unversioned.GroupVersionResource{Resource: "internalObjec"}, Err: true}, + {Resource: schema.GroupVersionResource{Resource: "internalobjec"}, Err: true}, + {Resource: schema.GroupVersionResource{Resource: "internalObjec"}, Err: true}, - {Resource: unversioned.GroupVersionResource{Resource: "internalobject"}, ExpectedGVK: testGroupVersion.WithKind("InternalObject")}, - {Resource: unversioned.GroupVersionResource{Resource: "internalobjects"}, ExpectedGVK: testGroupVersion.WithKind("InternalObject")}, + {Resource: schema.GroupVersionResource{Resource: "internalobject"}, ExpectedGVK: testGroupVersion.WithKind("InternalObject")}, + {Resource: schema.GroupVersionResource{Resource: "internalobjects"}, ExpectedGVK: testGroupVersion.WithKind("InternalObject")}, } for i, testCase := range testCases { - mapper := NewDefaultRESTMapper([]unversioned.GroupVersion{testGroupVersion}, fakeInterfaces) + mapper := NewDefaultRESTMapper([]schema.GroupVersion{testGroupVersion}, fakeInterfaces) if len(testCase.ExpectedGVK.Kind) != 0 { mapper.Add(testCase.ExpectedGVK, RESTScopeNamespace) } @@ -94,17 +94,17 @@ func TestRESTMapperVersionAndKindForResource(t *testing.T) { func TestRESTMapperGroupForResource(t *testing.T) { testCases := []struct { - Resource unversioned.GroupVersionResource - GroupVersionKind unversioned.GroupVersionKind + Resource schema.GroupVersionResource + GroupVersionKind schema.GroupVersionKind Err bool }{ - {Resource: unversioned.GroupVersionResource{Resource: "myObject"}, GroupVersionKind: unversioned.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, - {Resource: unversioned.GroupVersionResource{Resource: "myobject"}, GroupVersionKind: unversioned.GroupVersionKind{Group: "testapi2", Version: "test", Kind: "MyObject"}}, - {Resource: unversioned.GroupVersionResource{Resource: "myObje"}, Err: true, GroupVersionKind: unversioned.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, - {Resource: unversioned.GroupVersionResource{Resource: "myobje"}, Err: true, GroupVersionKind: unversioned.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myObject"}, GroupVersionKind: schema.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myobject"}, GroupVersionKind: schema.GroupVersionKind{Group: "testapi2", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myObje"}, Err: true, GroupVersionKind: schema.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myobje"}, Err: true, GroupVersionKind: schema.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, } for i, testCase := range testCases { - mapper := NewDefaultRESTMapper([]unversioned.GroupVersion{testCase.GroupVersionKind.GroupVersion()}, fakeInterfaces) + mapper := NewDefaultRESTMapper([]schema.GroupVersion{testCase.GroupVersionKind.GroupVersion()}, fakeInterfaces) mapper.Add(testCase.GroupVersionKind, RESTScopeNamespace) actualGVK, err := mapper.KindFor(testCase.Resource) @@ -123,27 +123,27 @@ func TestRESTMapperGroupForResource(t *testing.T) { func TestRESTMapperKindsFor(t *testing.T) { testCases := []struct { Name string - PreferredOrder []unversioned.GroupVersion - KindsToRegister []unversioned.GroupVersionKind - PartialResourceToRequest unversioned.GroupVersionResource + PreferredOrder []schema.GroupVersion + KindsToRegister []schema.GroupVersionKind + PartialResourceToRequest schema.GroupVersionResource - ExpectedKinds []unversioned.GroupVersionKind + ExpectedKinds []schema.GroupVersionKind ExpectedKindErr string }{ { // exact matches are prefered Name: "groups, with group exact", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "first-group-1", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, - PartialResourceToRequest: unversioned.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, - ExpectedKinds: []unversioned.GroupVersionKind{ + ExpectedKinds: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, }, @@ -151,17 +151,17 @@ func TestRESTMapperKindsFor(t *testing.T) { { // group prefixes work Name: "groups, with group prefix", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "second-group", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, }, - PartialResourceToRequest: unversioned.GroupVersionResource{Group: "first", Resource: "my-kind"}, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, - ExpectedKinds: []unversioned.GroupVersionKind{ + ExpectedKinds: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, }, @@ -169,17 +169,17 @@ func TestRESTMapperKindsFor(t *testing.T) { { // group prefixes can be ambiguous Name: "groups, with ambiguous group prefix", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "first-group-1", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, - PartialResourceToRequest: unversioned.GroupVersionResource{Group: "first", Resource: "my-kind"}, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, - ExpectedKinds: []unversioned.GroupVersionKind{ + ExpectedKinds: []schema.GroupVersionKind{ {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, @@ -188,19 +188,19 @@ func TestRESTMapperKindsFor(t *testing.T) { { Name: "ambiguous groups, with preference order", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "second-group", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "your-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "your-kind"}, }, - PartialResourceToRequest: unversioned.GroupVersionResource{Resource: "my-kinds"}, + PartialResourceToRequest: schema.GroupVersionResource{Resource: "my-kinds"}, - ExpectedKinds: []unversioned.GroupVersionKind{ + ExpectedKinds: []schema.GroupVersionKind{ {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, @@ -209,38 +209,38 @@ func TestRESTMapperKindsFor(t *testing.T) { { Name: "ambiguous groups, with explicit group match", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "second-group", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "your-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "your-kind"}, }, - PartialResourceToRequest: unversioned.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, - ExpectedKinds: []unversioned.GroupVersionKind{ + ExpectedKinds: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, }, { Name: "ambiguous groups, with ambiguous version match", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "first-group", Version: "first-version"}, {Group: "second-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "your-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "your-kind"}, }, - PartialResourceToRequest: unversioned.GroupVersionResource{Version: "first-version", Resource: "my-kinds"}, + PartialResourceToRequest: schema.GroupVersionResource{Version: "first-version", Resource: "my-kinds"}, - ExpectedKinds: []unversioned.GroupVersionKind{ + ExpectedKinds: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, }, @@ -291,29 +291,29 @@ func TestRESTMapperKindsFor(t *testing.T) { func TestRESTMapperResourcesFor(t *testing.T) { testCases := []struct { Name string - PreferredOrder []unversioned.GroupVersion - KindsToRegister []unversioned.GroupVersionKind - PluralPartialResourceToRequest unversioned.GroupVersionResource - SingularPartialResourceToRequest unversioned.GroupVersionResource + PreferredOrder []schema.GroupVersion + KindsToRegister []schema.GroupVersionKind + PluralPartialResourceToRequest schema.GroupVersionResource + SingularPartialResourceToRequest schema.GroupVersionResource - ExpectedResources []unversioned.GroupVersionResource + ExpectedResources []schema.GroupVersionResource ExpectedResourceErr string }{ { // exact matches are prefered Name: "groups, with group exact", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "first-group-1", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, - PluralPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, - SingularPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, - ExpectedResources: []unversioned.GroupVersionResource{ + ExpectedResources: []schema.GroupVersionResource{ {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, }, }, @@ -321,18 +321,18 @@ func TestRESTMapperResourcesFor(t *testing.T) { { // group prefixes work Name: "groups, with group prefix", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "second-group", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, }, - PluralPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first", Resource: "my-kinds"}, - SingularPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first", Resource: "my-kind"}, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, - ExpectedResources: []unversioned.GroupVersionResource{ + ExpectedResources: []schema.GroupVersionResource{ {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, }, }, @@ -340,18 +340,18 @@ func TestRESTMapperResourcesFor(t *testing.T) { { // group prefixes can be ambiguous Name: "groups, with ambiguous group prefix", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "first-group-1", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "my-kind"}, }, - PluralPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first", Resource: "my-kinds"}, - SingularPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first", Resource: "my-kind"}, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, - ExpectedResources: []unversioned.GroupVersionResource{ + ExpectedResources: []schema.GroupVersionResource{ {Group: "first-group-1", Version: "first-version", Resource: "my-kinds"}, {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, }, @@ -360,20 +360,20 @@ func TestRESTMapperResourcesFor(t *testing.T) { { Name: "ambiguous groups, with preference order", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "second-group", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "your-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "your-kind"}, }, - PluralPartialResourceToRequest: unversioned.GroupVersionResource{Resource: "my-kinds"}, - SingularPartialResourceToRequest: unversioned.GroupVersionResource{Resource: "my-kind"}, + PluralPartialResourceToRequest: schema.GroupVersionResource{Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Resource: "my-kind"}, - ExpectedResources: []unversioned.GroupVersionResource{ + ExpectedResources: []schema.GroupVersionResource{ {Group: "second-group", Version: "first-version", Resource: "my-kinds"}, {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, }, @@ -382,40 +382,40 @@ func TestRESTMapperResourcesFor(t *testing.T) { { Name: "ambiguous groups, with explicit group match", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "second-group", Version: "first-version"}, {Group: "first-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "your-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "your-kind"}, }, - PluralPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, - SingularPartialResourceToRequest: unversioned.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, - ExpectedResources: []unversioned.GroupVersionResource{ + ExpectedResources: []schema.GroupVersionResource{ {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, }, }, { Name: "ambiguous groups, with ambiguous version match", - PreferredOrder: []unversioned.GroupVersion{ + PreferredOrder: []schema.GroupVersion{ {Group: "first-group", Version: "first-version"}, {Group: "second-group", Version: "first-version"}, }, - KindsToRegister: []unversioned.GroupVersionKind{ + KindsToRegister: []schema.GroupVersionKind{ {Group: "first-group", Version: "first-version", Kind: "my-kind"}, {Group: "first-group", Version: "first-version", Kind: "your-kind"}, {Group: "second-group", Version: "first-version", Kind: "my-kind"}, {Group: "second-group", Version: "first-version", Kind: "your-kind"}, }, - PluralPartialResourceToRequest: unversioned.GroupVersionResource{Version: "first-version", Resource: "my-kinds"}, - SingularPartialResourceToRequest: unversioned.GroupVersionResource{Version: "first-version", Resource: "my-kind"}, + PluralPartialResourceToRequest: schema.GroupVersionResource{Version: "first-version", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Version: "first-version", Resource: "my-kind"}, - ExpectedResources: []unversioned.GroupVersionResource{ + ExpectedResources: []schema.GroupVersionResource{ {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, {Group: "second-group", Version: "first-version", Resource: "my-kinds"}, }, @@ -425,7 +425,7 @@ func TestRESTMapperResourcesFor(t *testing.T) { for _, testCase := range testCases { tcName := testCase.Name - for _, partialResource := range []unversioned.GroupVersionResource{testCase.PluralPartialResourceToRequest, testCase.SingularPartialResourceToRequest} { + for _, partialResource := range []schema.GroupVersionResource{testCase.PluralPartialResourceToRequest, testCase.SingularPartialResourceToRequest} { mapper := NewDefaultRESTMapper(testCase.PreferredOrder, fakeInterfaces) for _, kind := range testCase.KindsToRegister { mapper.Add(kind, RESTScopeNamespace) @@ -483,7 +483,7 @@ func TestKindToResource(t *testing.T) { {Kind: "lowercase", Plural: "lowercases", Singular: "lowercase"}, } for i, testCase := range testCases { - version := unversioned.GroupVersion{} + version := schema.GroupVersion{} plural, singular := KindToResource(version.WithKind(testCase.Kind)) if singular != version.WithResource(testCase.Singular) || plural != version.WithResource(testCase.Plural) { @@ -493,7 +493,7 @@ func TestKindToResource(t *testing.T) { } func TestRESTMapperResourceSingularizer(t *testing.T) { - testGroupVersion := unversioned.GroupVersion{Group: "tgroup", Version: "test"} + testGroupVersion := schema.GroupVersion{Group: "tgroup", Version: "test"} testCases := []struct { Kind string @@ -511,7 +511,7 @@ func TestRESTMapperResourceSingularizer(t *testing.T) { {Kind: "lowercases", Plural: "lowercaseses", Singular: "lowercases"}, } for i, testCase := range testCases { - mapper := NewDefaultRESTMapper([]unversioned.GroupVersion{testGroupVersion}, fakeInterfaces) + mapper := NewDefaultRESTMapper([]schema.GroupVersion{testGroupVersion}, fakeInterfaces) // create singular/plural mapping mapper.Add(testGroupVersion.WithKind(testCase.Kind), RESTScopeNamespace) @@ -527,31 +527,31 @@ func TestRESTMapperResourceSingularizer(t *testing.T) { func TestRESTMapperRESTMapping(t *testing.T) { testGroup := "tgroup" - testGroupVersion := unversioned.GroupVersion{Group: testGroup, Version: "test"} - internalGroupVersion := unversioned.GroupVersion{Group: testGroup, Version: "test"} + testGroupVersion := schema.GroupVersion{Group: testGroup, Version: "test"} + internalGroupVersion := schema.GroupVersion{Group: testGroup, Version: "test"} testCases := []struct { Kind string - APIGroupVersions []unversioned.GroupVersion - DefaultVersions []unversioned.GroupVersion + APIGroupVersions []schema.GroupVersion + DefaultVersions []schema.GroupVersion Resource string - ExpectedGroupVersion *unversioned.GroupVersion + ExpectedGroupVersion *schema.GroupVersion Err bool }{ {Kind: "Unknown", Err: true}, {Kind: "InternalObject", Err: true}, - {DefaultVersions: []unversioned.GroupVersion{testGroupVersion}, Kind: "Unknown", Err: true}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "Unknown", Err: true}, - {DefaultVersions: []unversioned.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []unversioned.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, - {DefaultVersions: []unversioned.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []unversioned.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, - {DefaultVersions: []unversioned.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []unversioned.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, - {DefaultVersions: []unversioned.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []unversioned.GroupVersion{}, Resource: "internalobjects", ExpectedGroupVersion: &unversioned.GroupVersion{Group: testGroup, Version: "test"}}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{}, Resource: "internalobjects", ExpectedGroupVersion: &schema.GroupVersion{Group: testGroup, Version: "test"}}, - {DefaultVersions: []unversioned.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []unversioned.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, // TODO: add test for a resource that exists in one version but not another } @@ -563,7 +563,7 @@ func TestRESTMapperRESTMapping(t *testing.T) { for _, gv := range testCase.APIGroupVersions { preferredVersions = append(preferredVersions, gv.Version) } - gk := unversioned.GroupKind{Group: testGroup, Kind: testCase.Kind} + gk := schema.GroupKind{Group: testGroup, Kind: testCase.Kind} mapping, err := mapper.RESTMapping(gk, preferredVersions...) hasErr := err != nil @@ -593,13 +593,13 @@ func TestRESTMapperRESTMapping(t *testing.T) { } func TestRESTMapperRESTMappingSelectsVersion(t *testing.T) { - expectedGroupVersion1 := unversioned.GroupVersion{Group: "tgroup", Version: "test1"} - expectedGroupVersion2 := unversioned.GroupVersion{Group: "tgroup", Version: "test2"} - expectedGroupVersion3 := unversioned.GroupVersion{Group: "tgroup", Version: "test3"} - internalObjectGK := unversioned.GroupKind{Group: "tgroup", Kind: "InternalObject"} - otherObjectGK := unversioned.GroupKind{Group: "tgroup", Kind: "OtherObject"} + expectedGroupVersion1 := schema.GroupVersion{Group: "tgroup", Version: "test1"} + expectedGroupVersion2 := schema.GroupVersion{Group: "tgroup", Version: "test2"} + expectedGroupVersion3 := schema.GroupVersion{Group: "tgroup", Version: "test3"} + internalObjectGK := schema.GroupKind{Group: "tgroup", Kind: "InternalObject"} + otherObjectGK := schema.GroupKind{Group: "tgroup", Kind: "OtherObject"} - mapper := NewDefaultRESTMapper([]unversioned.GroupVersion{expectedGroupVersion1, expectedGroupVersion2}, fakeInterfaces) + mapper := NewDefaultRESTMapper([]schema.GroupVersion{expectedGroupVersion1, expectedGroupVersion2}, fakeInterfaces) mapper.Add(expectedGroupVersion1.WithKind("InternalObject"), RESTScopeNamespace) mapper.Add(expectedGroupVersion2.WithKind("OtherObject"), RESTScopeNamespace) @@ -652,11 +652,11 @@ func TestRESTMapperRESTMappingSelectsVersion(t *testing.T) { } func TestRESTMapperReportsErrorOnBadVersion(t *testing.T) { - expectedGroupVersion1 := unversioned.GroupVersion{Group: "tgroup", Version: "test1"} - expectedGroupVersion2 := unversioned.GroupVersion{Group: "tgroup", Version: "test2"} - internalObjectGK := unversioned.GroupKind{Group: "tgroup", Kind: "InternalObject"} + expectedGroupVersion1 := schema.GroupVersion{Group: "tgroup", Version: "test1"} + expectedGroupVersion2 := schema.GroupVersion{Group: "tgroup", Version: "test2"} + internalObjectGK := schema.GroupKind{Group: "tgroup", Kind: "InternalObject"} - mapper := NewDefaultRESTMapper([]unversioned.GroupVersion{expectedGroupVersion1, expectedGroupVersion2}, unmatchedVersionInterfaces) + mapper := NewDefaultRESTMapper([]schema.GroupVersion{expectedGroupVersion1, expectedGroupVersion2}, unmatchedVersionInterfaces) mapper.Add(expectedGroupVersion1.WithKind("InternalObject"), RESTScopeNamespace) _, err := mapper.RESTMapping(internalObjectGK, expectedGroupVersion1.Version) if err == nil { diff --git a/pkg/api/meta/unstructured.go b/pkg/api/meta/unstructured.go index 784cbf05c30..e03e1c69387 100644 --- a/pkg/api/meta/unstructured.go +++ b/pkg/api/meta/unstructured.go @@ -17,13 +17,13 @@ limitations under the License. package meta import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // InterfacesForUnstructured returns VersionInterfaces suitable for // dealing with runtime.Unstructured objects. -func InterfacesForUnstructured(unversioned.GroupVersion) (*VersionInterfaces, error) { +func InterfacesForUnstructured(schema.GroupVersion) (*VersionInterfaces, error) { return &VersionInterfaces{ ObjectConvertor: &runtime.UnstructuredObjectConverter{}, MetadataAccessor: NewAccessor(), diff --git a/pkg/api/meta_test.go b/pkg/api/meta_test.go index aed895e9422..d36b86e2c8e 100644 --- a/pkg/api/meta_test.go +++ b/pkg/api/meta_test.go @@ -28,6 +28,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/uuid" ) @@ -112,8 +113,8 @@ func TestAccessOwnerReferences(t *testing.T) { func TestAccessorImplementations(t *testing.T) { for _, gv := range registered.EnabledVersions() { - internalGV := unversioned.GroupVersion{Group: gv.Group, Version: runtime.APIVersionInternal} - for _, gv := range []unversioned.GroupVersion{gv, internalGV} { + internalGV := schema.GroupVersion{Group: gv.Group, Version: runtime.APIVersionInternal} + for _, gv := range []schema.GroupVersion{gv, internalGV} { for kind, knownType := range api.Scheme.KnownTypes(gv) { value := reflect.New(knownType) obj := value.Interface() diff --git a/pkg/api/ref.go b/pkg/api/ref.go index 443343a97c2..4c0698bde4a 100644 --- a/pkg/api/ref.go +++ b/pkg/api/ref.go @@ -23,8 +23,8 @@ import ( "strings" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) var ( @@ -122,11 +122,11 @@ func GetPartialReference(obj runtime.Object, fieldPath string) (*ObjectReference // IsAnAPIObject allows clients to preemptively get a reference to an API object and pass it to places that // intend only to get a reference to that object. This simplifies the event recording interface. -func (obj *ObjectReference) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *ObjectReference) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *ObjectReference) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *ObjectReference) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *ObjectReference) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *ObjectReference) GetObjectKind() schema.ObjectKind { return obj } diff --git a/pkg/api/ref_test.go b/pkg/api/ref_test.go index 8860fd5ac15..7b33ef61ded 100644 --- a/pkg/api/ref_test.go +++ b/pkg/api/ref_test.go @@ -22,18 +22,19 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type FakeAPIObject struct{} -func (obj *FakeAPIObject) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *FakeAPIObject) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } type ExtensionAPIObject struct { unversioned.TypeMeta ObjectMeta } -func (obj *ExtensionAPIObject) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *ExtensionAPIObject) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } func TestGetReference(t *testing.T) { diff --git a/pkg/api/register.go b/pkg/api/register.go index 26cb658ff4a..a8e819ede49 100644 --- a/pkg/api/register.go +++ b/pkg/api/register.go @@ -19,6 +19,7 @@ package api import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -36,22 +37,22 @@ var Codecs = serializer.NewCodecFactory(Scheme) const GroupName = "" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Unversioned is group version for unversioned API objects // TODO: this should be v1 probably -var Unversioned = unversioned.GroupVersion{Group: "", Version: "v1"} +var Unversioned = schema.GroupVersion{Group: "", Version: "v1"} // ParameterCodec handles versioning of objects that are converted to query parameters. var ParameterCodec = runtime.NewParameterCodec(Scheme) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/api/rest/BUILD b/pkg/api/rest/BUILD index 7183fb7e980..ec12d4dbc92 100644 --- a/pkg/api/rest/BUILD +++ b/pkg/api/rest/BUILD @@ -30,6 +30,7 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/api/validation/path:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/validation/field:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/api/rest/create.go b/pkg/api/rest/create.go index 4519032d366..3cab29aedf7 100644 --- a/pkg/api/rest/create.go +++ b/pkg/api/rest/create.go @@ -19,10 +19,10 @@ package rest import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/validation" path "k8s.io/kubernetes/pkg/api/validation/path" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -111,14 +111,14 @@ func CheckGeneratedNameError(strategy RESTCreateStrategy, err error, obj runtime } // objectMetaAndKind retrieves kind and ObjectMeta from a runtime object, or returns an error. -func objectMetaAndKind(typer runtime.ObjectTyper, obj runtime.Object) (*api.ObjectMeta, unversioned.GroupVersionKind, error) { +func objectMetaAndKind(typer runtime.ObjectTyper, obj runtime.Object) (*api.ObjectMeta, schema.GroupVersionKind, error) { objectMeta, err := api.ObjectMetaFor(obj) if err != nil { - return nil, unversioned.GroupVersionKind{}, errors.NewInternalError(err) + return nil, schema.GroupVersionKind{}, errors.NewInternalError(err) } kinds, _, err := typer.ObjectKinds(obj) if err != nil { - return nil, unversioned.GroupVersionKind{}, errors.NewInternalError(err) + return nil, schema.GroupVersionKind{}, errors.NewInternalError(err) } return objectMeta, kinds[0], nil } diff --git a/pkg/api/rest/delete.go b/pkg/api/rest/delete.go index 5a76f214a62..d03a86c6b0d 100644 --- a/pkg/api/rest/delete.go +++ b/pkg/api/rest/delete.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // RESTDeleteStrategy defines deletion behavior on an object that follows Kubernetes @@ -67,7 +68,7 @@ func BeforeDelete(strategy RESTDeleteStrategy, ctx api.Context, obj runtime.Obje } // Checking the Preconditions here to fail early. They'll be enforced later on when we actually do the deletion, too. if options.Preconditions != nil && options.Preconditions.UID != nil && *options.Preconditions.UID != objectMeta.UID { - return false, false, errors.NewConflict(unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, objectMeta.Name, fmt.Errorf("the UID in the precondition (%s) does not match the UID in record (%s). The object might have been deleted and then recreated", *options.Preconditions.UID, objectMeta.UID)) + return false, false, errors.NewConflict(schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, objectMeta.Name, fmt.Errorf("the UID in the precondition (%s) does not match the UID in record (%s). The object might have been deleted and then recreated", *options.Preconditions.UID, objectMeta.UID)) } gracefulStrategy, ok := strategy.(RESTGracefulDeleteStrategy) if !ok { diff --git a/pkg/api/rest/rest.go b/pkg/api/rest/rest.go index c4dd06e079b..cff22c477f7 100644 --- a/pkg/api/rest/rest.go +++ b/pkg/api/rest/rest.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch" ) @@ -303,4 +304,4 @@ type ConnectRequest struct { ResourcePath string } -func (obj *ConnectRequest) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *ConnectRequest) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } diff --git a/pkg/api/serialization_proto_test.go b/pkg/api/serialization_proto_test.go index 5400f37ec44..bf98f7a7e7a 100644 --- a/pkg/api/serialization_proto_test.go +++ b/pkg/api/serialization_proto_test.go @@ -26,11 +26,11 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/extensions" _ "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/protobuf" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/sets" @@ -41,7 +41,7 @@ var nonProtobaleAPIGroups = sets.NewString( ) func init() { - codecsToTest = append(codecsToTest, func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, bool, error) { + codecsToTest = append(codecsToTest, func(version schema.GroupVersion, item runtime.Object) (runtime.Codec, bool, error) { if nonProtobaleAPIGroups.Has(version.Group) { return nil, false, nil } @@ -62,7 +62,7 @@ func TestUniversalDeserializer(t *testing.T) { if err := info.Serializer.Encode(expected, buf); err != nil { t.Fatalf("%s: %v", mediaType, err) } - obj, _, err := d.Decode(buf.Bytes(), &unversioned.GroupVersionKind{Kind: "Pod", Version: "v1"}, nil) + obj, _, err := d.Decode(buf.Bytes(), &schema.GroupVersionKind{Kind: "Pod", Version: "v1"}, nil) if err != nil { t.Fatalf("%s: %v", mediaType, err) } diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index ad101efb05b..467e8f14aa6 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -42,6 +42,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/sets" @@ -51,14 +52,14 @@ import ( var fuzzIters = flag.Int("fuzz-iters", 20, "How many fuzzing iterations to do.") -var codecsToTest = []func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, bool, error){ - func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, bool, error) { +var codecsToTest = []func(version schema.GroupVersion, item runtime.Object) (runtime.Codec, bool, error){ + func(version schema.GroupVersion, item runtime.Object) (runtime.Codec, bool, error) { c, err := testapi.GetCodecForObject(item) return c, true, err }, } -func fuzzInternalObject(t *testing.T, forVersion unversioned.GroupVersion, item runtime.Object, seed int64) runtime.Object { +func fuzzInternalObject(t *testing.T, forVersion schema.GroupVersion, item runtime.Object, seed int64) runtime.Object { apitesting.FuzzerFor(t, forVersion, rand.NewSource(seed)).Fuzz(item) j, err := meta.TypeAccessor(item) @@ -192,8 +193,8 @@ func TestSetControllerConversion(t *testing.T) { api.Codecs.UniversalDeserializer(), runtime.NewMultiGroupVersioner( *defaultGroup.GroupVersion(), - unversioned.GroupKind{Group: defaultGroup.GroupVersion().Group}, - unversioned.GroupKind{Group: extGroup.GroupVersion().Group}, + schema.GroupKind{Group: defaultGroup.GroupVersion().Group}, + schema.GroupKind{Group: extGroup.GroupVersion().Group}, ), ) diff --git a/pkg/api/testapi/BUILD b/pkg/api/testapi/BUILD index 410d65a5f5d..d39f540ddf3 100644 --- a/pkg/api/testapi/BUILD +++ b/pkg/api/testapi/BUILD @@ -22,7 +22,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/install:go_default_library", @@ -47,6 +46,7 @@ go_library( "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/install:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/recognizer:go_default_library", ], ) diff --git a/pkg/api/testapi/testapi.go b/pkg/api/testapi/testapi.go index 50a18e34edd..b03b1dff210 100644 --- a/pkg/api/testapi/testapi.go +++ b/pkg/api/testapi/testapi.go @@ -34,7 +34,6 @@ import ( "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/authorization" @@ -47,6 +46,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" @@ -86,8 +86,8 @@ var ( ) type TestGroup struct { - externalGroupVersion unversioned.GroupVersion - internalGroupVersion unversioned.GroupVersion + externalGroupVersion schema.GroupVersion + internalGroupVersion schema.GroupVersion internalTypes map[string]reflect.Type externalTypes map[string]reflect.Type } @@ -123,12 +123,12 @@ func init() { testGroupVersions := strings.Split(kubeTestAPI, ",") for i := len(testGroupVersions) - 1; i >= 0; i-- { gvString := testGroupVersions[i] - groupVersion, err := unversioned.ParseGroupVersion(gvString) + groupVersion, err := schema.ParseGroupVersion(gvString) if err != nil { panic(fmt.Sprintf("Error parsing groupversion %v: %v", gvString, err)) } - internalGroupVersion := unversioned.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal} + internalGroupVersion := schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal} Groups[groupVersion.Group] = TestGroup{ externalGroupVersion: groupVersion, internalGroupVersion: internalGroupVersion, @@ -139,7 +139,7 @@ func init() { } if _, ok := Groups[api.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: api.GroupName, Version: registered.GroupOrDie(api.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: api.GroupName, Version: registered.GroupOrDie(api.GroupName).GroupVersion.Version} Groups[api.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: api.SchemeGroupVersion, @@ -148,7 +148,7 @@ func init() { } } if _, ok := Groups[extensions.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: extensions.GroupName, Version: registered.GroupOrDie(extensions.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: extensions.GroupName, Version: registered.GroupOrDie(extensions.GroupName).GroupVersion.Version} Groups[extensions.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: extensions.SchemeGroupVersion, @@ -164,7 +164,7 @@ func init() { } internalTypes[k] = t } - externalGroupVersion := unversioned.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} Groups[autoscaling.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: extensions.SchemeGroupVersion, @@ -180,7 +180,7 @@ func init() { break } } - externalGroupVersion := unversioned.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} Groups[autoscaling.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: autoscaling.SchemeGroupVersion, @@ -189,7 +189,7 @@ func init() { } } if _, ok := Groups[batch.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: batch.GroupName, Version: registered.GroupOrDie(batch.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: batch.GroupName, Version: registered.GroupOrDie(batch.GroupName).GroupVersion.Version} Groups[batch.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: batch.SchemeGroupVersion, @@ -198,7 +198,7 @@ func init() { } } if _, ok := Groups[apps.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: apps.GroupName, Version: registered.GroupOrDie(apps.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: apps.GroupName, Version: registered.GroupOrDie(apps.GroupName).GroupVersion.Version} Groups[apps.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: extensions.SchemeGroupVersion, @@ -207,7 +207,7 @@ func init() { } } if _, ok := Groups[policy.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: policy.GroupName, Version: registered.GroupOrDie(policy.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: policy.GroupName, Version: registered.GroupOrDie(policy.GroupName).GroupVersion.Version} Groups[policy.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: policy.SchemeGroupVersion, @@ -216,7 +216,7 @@ func init() { } } if _, ok := Groups[federation.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: federation.GroupName, Version: registered.GroupOrDie(federation.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: federation.GroupName, Version: registered.GroupOrDie(federation.GroupName).GroupVersion.Version} Groups[federation.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: federation.SchemeGroupVersion, @@ -225,7 +225,7 @@ func init() { } } if _, ok := Groups[rbac.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: rbac.GroupName, Version: registered.GroupOrDie(rbac.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: rbac.GroupName, Version: registered.GroupOrDie(rbac.GroupName).GroupVersion.Version} Groups[rbac.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: rbac.SchemeGroupVersion, @@ -234,7 +234,7 @@ func init() { } } if _, ok := Groups[storage.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: storage.GroupName, Version: registered.GroupOrDie(storage.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: storage.GroupName, Version: registered.GroupOrDie(storage.GroupName).GroupVersion.Version} Groups[storage.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: storage.SchemeGroupVersion, @@ -243,7 +243,7 @@ func init() { } } if _, ok := Groups[certificates.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: certificates.GroupName, Version: registered.GroupOrDie(certificates.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: certificates.GroupName, Version: registered.GroupOrDie(certificates.GroupName).GroupVersion.Version} Groups[certificates.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: certificates.SchemeGroupVersion, @@ -252,7 +252,7 @@ func init() { } } if _, ok := Groups[imagepolicy.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: imagepolicy.GroupName, Version: registered.GroupOrDie(imagepolicy.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: imagepolicy.GroupName, Version: registered.GroupOrDie(imagepolicy.GroupName).GroupVersion.Version} Groups[imagepolicy.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: imagepolicy.SchemeGroupVersion, @@ -261,7 +261,7 @@ func init() { } } if _, ok := Groups[authorization.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: authorization.GroupName, Version: registered.GroupOrDie(authorization.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: authorization.GroupName, Version: registered.GroupOrDie(authorization.GroupName).GroupVersion.Version} Groups[authorization.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: authorization.SchemeGroupVersion, @@ -270,7 +270,7 @@ func init() { } } if _, ok := Groups[kubeadm.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: kubeadm.GroupName, Version: registered.GroupOrDie(kubeadm.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: kubeadm.GroupName, Version: registered.GroupOrDie(kubeadm.GroupName).GroupVersion.Version} Groups[kubeadm.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: kubeadm.SchemeGroupVersion, @@ -293,18 +293,18 @@ func init() { Authorization = Groups[authorization.GroupName] } -func (g TestGroup) ContentConfig() (string, *unversioned.GroupVersion, runtime.Codec) { +func (g TestGroup) ContentConfig() (string, *schema.GroupVersion, runtime.Codec) { return "application/json", g.GroupVersion(), g.Codec() } -func (g TestGroup) GroupVersion() *unversioned.GroupVersion { +func (g TestGroup) GroupVersion() *schema.GroupVersion { copyOfGroupVersion := g.externalGroupVersion return ©OfGroupVersion } // InternalGroupVersion returns the group,version used to identify the internal // types for this API -func (g TestGroup) InternalGroupVersion() unversioned.GroupVersion { +func (g TestGroup) InternalGroupVersion() schema.GroupVersion { return g.internalGroupVersion } @@ -324,7 +324,7 @@ func (g TestGroup) Codec() runtime.Codec { if serializer.Serializer == nil { return api.Codecs.LegacyCodec(g.externalGroupVersion) } - return api.Codecs.CodecForVersions(serializer.Serializer, api.Codecs.UniversalDeserializer(), unversioned.GroupVersions{g.externalGroupVersion}, nil) + return api.Codecs.CodecForVersions(serializer.Serializer, api.Codecs.UniversalDeserializer(), schema.GroupVersions{g.externalGroupVersion}, nil) } // NegotiatedSerializer returns the negotiated serializer for the server. @@ -352,7 +352,7 @@ func (g TestGroup) StorageCodec() runtime.Codec { } ds := recognizer.NewDecoder(s, api.Codecs.UniversalDeserializer()) - return api.Codecs.CodecForVersions(s, ds, unversioned.GroupVersions{g.externalGroupVersion}, nil) + return api.Codecs.CodecForVersions(s, ds, schema.GroupVersions{g.externalGroupVersion}, nil) } // Converter returns the api.Scheme for the API version to test against, as set by the @@ -436,8 +436,8 @@ func (g TestGroup) RESTMapper() meta.RESTMapper { } // ExternalGroupVersions returns all external group versions allowed for the server. -func ExternalGroupVersions() unversioned.GroupVersions { - versions := []unversioned.GroupVersion{} +func ExternalGroupVersions() schema.GroupVersions { + versions := []schema.GroupVersion{} for _, g := range Groups { gv := g.GroupVersion() versions = append(versions, *gv) @@ -473,6 +473,6 @@ func GetCodecForObject(obj runtime.Object) (runtime.Codec, error) { return nil, fmt.Errorf("unexpected kind: %v", kind) } -func NewTestGroup(external, internal unversioned.GroupVersion, internalTypes map[string]reflect.Type, externalTypes map[string]reflect.Type) TestGroup { +func NewTestGroup(external, internal schema.GroupVersion, internalTypes map[string]reflect.Type, externalTypes map[string]reflect.Type) TestGroup { return TestGroup{external, internal, internalTypes, externalTypes} } diff --git a/pkg/api/testing/BUILD b/pkg/api/testing/BUILD index 7e9c6052d89..5db73ad5fe6 100644 --- a/pkg/api/testing/BUILD +++ b/pkg/api/testing/BUILD @@ -33,6 +33,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/google/gofuzz", diff --git a/pkg/api/testing/compat/BUILD b/pkg/api/testing/compat/BUILD index 62468c349b0..57b0001fe47 100644 --- a/pkg/api/testing/compat/BUILD +++ b/pkg/api/testing/compat/BUILD @@ -16,9 +16,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/validation/field:go_default_library", ], ) diff --git a/pkg/api/testing/compat/compatibility_tester.go b/pkg/api/testing/compat/compatibility_tester.go index 72b4bf15a67..f145f389dfb 100644 --- a/pkg/api/testing/compat/compatibility_tester.go +++ b/pkg/api/testing/compat/compatibility_tester.go @@ -27,9 +27,9 @@ import ( "testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -40,7 +40,7 @@ import ( // keys in the resulting JSON. func TestCompatibility( t *testing.T, - version unversioned.GroupVersion, + version schema.GroupVersion, input []byte, validator func(obj runtime.Object) field.ErrorList, expectedKeys map[string]string, diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index bc004c796c8..3c96e18ed22 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" @@ -43,7 +44,7 @@ import ( ) // FuzzerFor can randomly populate api objects that are destined for version. -func FuzzerFor(t *testing.T, version unversioned.GroupVersion, src rand.Source) *fuzz.Fuzzer { +func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz.Fuzzer { f := fuzz.New().NilChance(.5).NumElements(1, 1) if src != nil { f.RandSource(src) @@ -363,7 +364,7 @@ func FuzzerFor(t *testing.T, version unversioned.GroupVersion, src rand.Source) ev.ValueFrom = &api.EnvVarSource{} ev.ValueFrom.FieldRef = &api.ObjectFieldSelector{} - var versions []unversioned.GroupVersion + var versions []schema.GroupVersion for _, testGroup := range testapi.Groups { versions = append(versions, *testGroup.GroupVersion()) } diff --git a/pkg/api/unversioned/BUILD b/pkg/api/unversioned/BUILD index a41681a864e..a0489cb46ca 100644 --- a/pkg/api/unversioned/BUILD +++ b/pkg/api/unversioned/BUILD @@ -32,6 +32,7 @@ go_library( "//pkg/conversion:go_default_library", "//pkg/genericapiserver/openapi/common:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/selection:go_default_library", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/api/unversioned/generated.pb.go b/pkg/api/unversioned/generated.pb.go index a93366bbdf9..085de58f79c 100644 --- a/pkg/api/unversioned/generated.pb.go +++ b/pkg/api/unversioned/generated.pb.go @@ -4446,92 +4446,93 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1390 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xda, 0xb1, 0xbb, 0x7e, 0x8e, 0x49, 0xba, 0xa4, 0x62, 0x1b, 0x09, 0xdb, 0x6c, 0x05, - 0x4a, 0xa5, 0xd6, 0x56, 0x23, 0x40, 0x55, 0x11, 0x7f, 0xe2, 0x24, 0xad, 0xa2, 0x36, 0x6d, 0x34, - 0xa9, 0x8a, 0xd4, 0x16, 0x89, 0x8d, 0x77, 0xe2, 0xac, 0x6c, 0xef, 0x2e, 0x33, 0xb3, 0x51, 0x2d, - 0x90, 0xe8, 0xa5, 0x12, 0x07, 0x84, 0x7a, 0xe4, 0x02, 0x6a, 0xa5, 0x7e, 0x03, 0xbe, 0x44, 0xc5, - 0xa9, 0x17, 0x24, 0x0e, 0xc8, 0xa2, 0xe1, 0xc2, 0x95, 0x6b, 0x4e, 0x68, 0x66, 0x67, 0xd6, 0xbb, - 0x6e, 0x4d, 0x36, 0xd0, 0x03, 0x27, 0xef, 0xfb, 0xff, 0xe6, 0xbd, 0xdf, 0xbc, 0x37, 0x86, 0xf7, - 0x7a, 0x17, 0x69, 0xd3, 0xf5, 0x5b, 0xbd, 0x70, 0x07, 0x13, 0x0f, 0x33, 0x4c, 0x5b, 0x41, 0xaf, - 0xdb, 0xb2, 0x03, 0xb7, 0x15, 0x7a, 0xfb, 0x98, 0x50, 0xd7, 0xf7, 0xb0, 0xd3, 0xea, 0x62, 0x0f, - 0x13, 0x9b, 0x61, 0xa7, 0x19, 0x10, 0x9f, 0xf9, 0xc6, 0xdb, 0x91, 0x59, 0x73, 0x6c, 0xd6, 0x0c, - 0x7a, 0xdd, 0xa6, 0x1d, 0xb8, 0xcd, 0x84, 0xd9, 0xe2, 0xf9, 0xae, 0xcb, 0xf6, 0xc2, 0x9d, 0x66, - 0xc7, 0x1f, 0xb4, 0xba, 0x7e, 0xd7, 0x6f, 0x09, 0xeb, 0x9d, 0x70, 0x57, 0x50, 0x82, 0x10, 0x5f, - 0x91, 0xd7, 0xc5, 0xf3, 0x2f, 0x4f, 0x86, 0x84, 0x1e, 0x73, 0x07, 0x78, 0x32, 0x89, 0xc5, 0x0b, - 0x2f, 0x57, 0x0f, 0x99, 0xdb, 0x6f, 0xb9, 0x1e, 0xa3, 0x8c, 0x4c, 0x9a, 0x58, 0x3f, 0x17, 0x40, - 0x5f, 0xd9, 0xda, 0xb8, 0x42, 0xfc, 0x30, 0x30, 0x1a, 0x30, 0xe3, 0xd9, 0x03, 0x6c, 0x6a, 0x0d, - 0x6d, 0xa9, 0xdc, 0x9e, 0x7d, 0x3a, 0xaa, 0xe7, 0x0e, 0x46, 0xf5, 0x99, 0xeb, 0xf6, 0x00, 0x23, - 0x21, 0x31, 0x06, 0xa0, 0xcb, 0xc3, 0x50, 0x33, 0xdf, 0x28, 0x2c, 0x55, 0x96, 0x3f, 0x6e, 0x66, - 0x3a, 0x79, 0x53, 0x44, 0xb8, 0x15, 0x91, 0x97, 0x7d, 0xb2, 0xe6, 0xd2, 0x8e, 0xbf, 0x8f, 0xc9, - 0xb0, 0x3d, 0x2f, 0xc3, 0xe8, 0x52, 0x48, 0x51, 0x1c, 0xc2, 0x78, 0xa0, 0xc1, 0x7c, 0x40, 0xf0, - 0x2e, 0x26, 0x04, 0x3b, 0x52, 0x6e, 0x16, 0x1a, 0xda, 0xab, 0x88, 0x6b, 0xca, 0xb8, 0xf3, 0x5b, - 0x13, 0x01, 0xd0, 0x0b, 0x21, 0x8d, 0x27, 0x1a, 0x2c, 0x52, 0x4c, 0xf6, 0x31, 0x59, 0x71, 0x1c, - 0x82, 0x29, 0x6d, 0x0f, 0x57, 0xfb, 0x2e, 0xf6, 0xd8, 0xea, 0xc6, 0x1a, 0xa2, 0xe6, 0x8c, 0xa8, - 0xc4, 0x27, 0x19, 0x33, 0xda, 0x9e, 0xe6, 0xa8, 0x6d, 0xc9, 0x94, 0x16, 0xa7, 0xaa, 0x50, 0xf4, - 0x0f, 0x79, 0x58, 0x5d, 0x98, 0x55, 0xbd, 0xbc, 0xe6, 0x52, 0x66, 0x7c, 0x0a, 0xa5, 0x2e, 0x27, - 0xa8, 0xa9, 0x89, 0x0c, 0x5b, 0x19, 0x33, 0x54, 0x4e, 0xda, 0xaf, 0xc9, 0x84, 0x4a, 0x82, 0xa4, - 0x48, 0xba, 0xb3, 0x1e, 0x68, 0x50, 0x59, 0xd9, 0xda, 0x40, 0x98, 0xfa, 0x21, 0xe9, 0xe0, 0x0c, - 0xc0, 0x59, 0x06, 0xe0, 0xbf, 0x34, 0xb0, 0x3b, 0xd8, 0x31, 0xf3, 0x0d, 0x6d, 0x49, 0x6f, 0x1b, - 0x52, 0x0f, 0xae, 0xc7, 0x12, 0x94, 0xd0, 0xe2, 0x5e, 0x7b, 0xae, 0xe7, 0x88, 0x86, 0x27, 0xbc, - 0x5e, 0x75, 0x3d, 0x07, 0x09, 0x89, 0xf5, 0x93, 0x06, 0x73, 0x89, 0x3c, 0xc4, 0xa1, 0x2f, 0xc2, - 0x6c, 0x37, 0xd1, 0x73, 0x99, 0xd3, 0x82, 0xb4, 0x9e, 0x4d, 0xe2, 0x01, 0xa5, 0x34, 0x8d, 0x5d, - 0x28, 0x13, 0xe9, 0x49, 0xa1, 0x7b, 0x39, 0x7b, 0xc5, 0x54, 0x12, 0xe3, 0x50, 0x09, 0x26, 0x45, - 0x63, 0xd7, 0xd6, 0x9f, 0x51, 0xf5, 0x14, 0xde, 0x8d, 0xa5, 0xc4, 0xa5, 0xe2, 0x8d, 0x2a, 0xb7, - 0x67, 0xa7, 0xdc, 0x87, 0x23, 0x70, 0x98, 0xff, 0x7f, 0xe0, 0xf0, 0x92, 0xfe, 0xfd, 0xa3, 0x7a, - 0xee, 0xfe, 0x6f, 0x8d, 0x9c, 0xb5, 0x01, 0xfa, 0x5a, 0x48, 0x6c, 0xc6, 0xcb, 0xfb, 0x21, 0xe8, - 0x8e, 0xfc, 0x16, 0x4d, 0x29, 0xb4, 0xdf, 0x52, 0x57, 0x5f, 0xe9, 0x1c, 0x8e, 0xea, 0x55, 0x3e, - 0xd9, 0x9a, 0x8a, 0x81, 0x62, 0x13, 0xeb, 0x2e, 0x54, 0xd7, 0xef, 0x05, 0x3e, 0x61, 0x37, 0x02, - 0x26, 0x8a, 0xf1, 0x0e, 0x94, 0xb0, 0x60, 0x08, 0x6f, 0xfa, 0x18, 0xac, 0x91, 0x1a, 0x92, 0x52, - 0xe3, 0x0c, 0x14, 0xf1, 0x3d, 0xbb, 0xc3, 0x24, 0xea, 0xaa, 0x52, 0xad, 0xb8, 0xce, 0x99, 0x28, - 0x92, 0x59, 0x77, 0xa1, 0x2c, 0x90, 0xc1, 0xc1, 0xc5, 0x2d, 0x04, 0x30, 0x24, 0x76, 0x62, 0x0b, - 0xa1, 0x81, 0x22, 0x59, 0x8c, 0xce, 0xfc, 0x34, 0x74, 0x26, 0xca, 0xd0, 0x87, 0x6a, 0x64, 0xab, - 0x2e, 0x4c, 0xa6, 0x08, 0xe7, 0x40, 0x57, 0xa0, 0x91, 0x51, 0xe2, 0x59, 0xa9, 0x1c, 0xa1, 0x58, - 0x23, 0x11, 0x6d, 0x0f, 0x52, 0x28, 0xcf, 0x16, 0xec, 0x2c, 0x9c, 0x90, 0xd0, 0x90, 0xb1, 0xe6, - 0xa4, 0xda, 0x09, 0x75, 0x59, 0x94, 0x3c, 0x11, 0xe9, 0x6b, 0x30, 0xa7, 0xcd, 0xd7, 0xff, 0x70, - 0x0f, 0xb3, 0xa7, 0x62, 0x7d, 0xa7, 0xc1, 0x7c, 0xd2, 0x53, 0xf6, 0xf6, 0x65, 0x0f, 0x72, 0xf4, - 0x1c, 0x4a, 0x54, 0xe4, 0x47, 0x0d, 0x16, 0x52, 0x47, 0x3b, 0x56, 0xc7, 0x8f, 0x91, 0x54, 0x12, - 0x1c, 0x85, 0x63, 0x80, 0xe3, 0x97, 0x3c, 0x54, 0xaf, 0xd9, 0x3b, 0xb8, 0xbf, 0x8d, 0xfb, 0xb8, - 0xc3, 0x7c, 0x62, 0x7c, 0x05, 0x95, 0x81, 0xcd, 0x3a, 0x7b, 0x82, 0xab, 0x56, 0xc5, 0x7a, 0xc6, - 0x21, 0x92, 0x72, 0xd5, 0xdc, 0x1c, 0xfb, 0x59, 0xf7, 0x18, 0x19, 0xb6, 0x5f, 0x97, 0x39, 0x55, - 0x12, 0x12, 0x94, 0x0c, 0x27, 0x56, 0xbc, 0xa0, 0xd7, 0xef, 0x05, 0x7c, 0x92, 0xfc, 0x8b, 0xa7, - 0x45, 0x2a, 0x07, 0x84, 0xbf, 0x08, 0x5d, 0x82, 0x07, 0xd8, 0x63, 0xe3, 0x15, 0xbf, 0x39, 0x11, - 0x00, 0xbd, 0x10, 0x72, 0xf1, 0x23, 0x98, 0x9f, 0xcc, 0xde, 0x98, 0x87, 0x42, 0x0f, 0x0f, 0xa3, - 0x8e, 0x21, 0xfe, 0x69, 0x2c, 0x40, 0x71, 0xdf, 0xee, 0x87, 0xf2, 0x3e, 0xa2, 0x88, 0xb8, 0x94, - 0xbf, 0xa8, 0x59, 0x4f, 0x34, 0x30, 0xa7, 0x25, 0x62, 0xbc, 0x99, 0x70, 0xd4, 0xae, 0xc8, 0xac, - 0x0a, 0x57, 0xf1, 0x30, 0xf2, 0xba, 0x0e, 0xba, 0x1f, 0xf0, 0x67, 0x99, 0x4f, 0x64, 0xdf, 0xcf, - 0xaa, 0x5e, 0xde, 0x90, 0xfc, 0xc3, 0x51, 0xfd, 0x54, 0xca, 0xbd, 0x12, 0xa0, 0xd8, 0xd4, 0xb0, - 0xa0, 0x24, 0xf2, 0xa1, 0x66, 0x41, 0x6c, 0x11, 0xe0, 0xc3, 0xf0, 0x96, 0xe0, 0x20, 0x29, 0xb1, - 0xbe, 0x04, 0x9d, 0x6f, 0xc9, 0x4d, 0xcc, 0x6c, 0x0e, 0x21, 0x8a, 0xfb, 0xbb, 0xd7, 0x5c, 0xaf, - 0x27, 0x53, 0x8b, 0x21, 0xb4, 0x2d, 0xf9, 0x28, 0xd6, 0x30, 0x56, 0x60, 0x4e, 0xc1, 0xe9, 0x56, - 0x0a, 0xa3, 0x6f, 0x48, 0xa3, 0x39, 0x94, 0x16, 0xa3, 0x49, 0x7d, 0xeb, 0x1c, 0x94, 0x91, 0xef, - 0xb3, 0x2d, 0x9b, 0xed, 0x51, 0xa3, 0x0e, 0xc5, 0x80, 0x7f, 0xc8, 0x95, 0x57, 0xe6, 0x97, 0x41, - 0x48, 0x50, 0xc4, 0xb7, 0xbe, 0xd5, 0xe0, 0xf4, 0xd4, 0x05, 0xc4, 0x1f, 0x14, 0x9d, 0x98, 0x92, - 0xe9, 0xc7, 0x0f, 0x8a, 0xb1, 0x1e, 0x4a, 0x68, 0x19, 0x1f, 0x40, 0x35, 0xb5, 0xb5, 0xe4, 0x01, - 0x4e, 0x49, 0xb3, 0x6a, 0x2a, 0x1a, 0x4a, 0xeb, 0x5a, 0x7f, 0xe5, 0xa1, 0xb4, 0xcd, 0x6c, 0x16, - 0x52, 0xe3, 0x33, 0xd0, 0x07, 0x98, 0xd9, 0x8e, 0xcd, 0x6c, 0x11, 0x39, 0xfb, 0xcb, 0x4a, 0xd5, - 0x7e, 0x5c, 0x69, 0xc5, 0x41, 0xb1, 0x4b, 0xbe, 0xd8, 0xa8, 0x08, 0x24, 0xf3, 0x8b, 0x17, 0x5b, - 0x14, 0x1e, 0x49, 0x29, 0x9f, 0x16, 0x03, 0x4c, 0xa9, 0xdd, 0x55, 0x13, 0x20, 0x9e, 0x16, 0x9b, - 0x11, 0x1b, 0x29, 0xb9, 0xf1, 0x3e, 0x94, 0x08, 0xb6, 0xa9, 0xef, 0x99, 0x33, 0x42, 0xb3, 0xa6, - 0x5c, 0x22, 0xc1, 0x3d, 0x1c, 0xd5, 0x67, 0xa5, 0x73, 0x41, 0x23, 0xa9, 0x6d, 0xdc, 0x81, 0x13, - 0x0e, 0x66, 0xb6, 0xdb, 0xa7, 0x66, 0x51, 0x1c, 0xf4, 0xdd, 0xac, 0x8f, 0x0b, 0xe1, 0x6d, 0x2d, - 0xb2, 0x6d, 0x57, 0x78, 0x52, 0x92, 0x40, 0xca, 0x23, 0x9f, 0xab, 0x1d, 0xdf, 0xc1, 0x66, 0xa9, - 0xa1, 0x2d, 0x15, 0xc7, 0x73, 0x75, 0xd5, 0x77, 0x30, 0x12, 0x12, 0xeb, 0xa1, 0x06, 0x95, 0xc8, - 0xd3, 0xaa, 0x1d, 0x52, 0x6c, 0x5c, 0x88, 0x8f, 0x11, 0x35, 0xfc, 0xb4, 0xb2, 0xb9, 0x39, 0x0c, - 0xf0, 0xe1, 0xa8, 0x5e, 0x16, 0x6a, 0x9c, 0x88, 0x4f, 0x90, 0x28, 0x52, 0xfe, 0x88, 0x22, 0x9d, - 0x81, 0xe2, 0xae, 0x8b, 0xfb, 0x6a, 0xd0, 0xc7, 0x23, 0xfa, 0x32, 0x67, 0xa2, 0x48, 0x66, 0xfd, - 0x90, 0x87, 0x6a, 0xea, 0x70, 0x19, 0x1e, 0xbf, 0xf1, 0xec, 0xcf, 0x67, 0x78, 0x4f, 0x4c, 0xdd, - 0x32, 0xc6, 0x6d, 0x28, 0x75, 0xf8, 0xf9, 0xd4, 0x1f, 0x8e, 0xe5, 0x63, 0xf5, 0x42, 0x94, 0x66, - 0x8c, 0x25, 0x41, 0x52, 0x24, 0x3d, 0x1a, 0x57, 0xe0, 0x24, 0xc1, 0x8c, 0x0c, 0x57, 0x76, 0x19, - 0x26, 0xdb, 0xb8, 0xe3, 0x7b, 0x4e, 0xd4, 0xf2, 0x62, 0x5c, 0xe4, 0x93, 0x68, 0x52, 0x01, 0xbd, - 0x68, 0x63, 0xf5, 0x61, 0xe6, 0xa6, 0x3b, 0xc0, 0xbc, 0xee, 0x54, 0xba, 0x89, 0x1e, 0x7b, 0x71, - 0xdd, 0x95, 0xb1, 0x92, 0xf3, 0xf2, 0x78, 0xb6, 0xe7, 0x47, 0x70, 0x2f, 0x8e, 0xcb, 0x73, 0x9d, - 0x33, 0x51, 0x24, 0xbb, 0xb4, 0xc0, 0x37, 0xd8, 0x37, 0x8f, 0xeb, 0xb9, 0x87, 0x8f, 0xeb, 0xb9, - 0x47, 0x8f, 0xe5, 0x36, 0xbb, 0x03, 0x65, 0x1e, 0x8d, 0x32, 0x7b, 0x10, 0xbc, 0xea, 0x90, 0xd6, - 0xe7, 0xa0, 0x73, 0x28, 0x89, 0x59, 0xa9, 0xba, 0xa3, 0x4d, 0xed, 0xce, 0x32, 0x80, 0x1d, 0xb8, - 0xe9, 0xd1, 0x18, 0x0f, 0xa4, 0xf1, 0x73, 0x1f, 0x25, 0xb4, 0xda, 0xe7, 0x9f, 0x3e, 0xaf, 0xe5, - 0x9e, 0x3d, 0xaf, 0xe5, 0x7e, 0x7d, 0x5e, 0xcb, 0xdd, 0x3f, 0xa8, 0x69, 0x4f, 0x0f, 0x6a, 0xda, - 0xb3, 0x83, 0x9a, 0xf6, 0xfb, 0x41, 0x4d, 0x7b, 0xf8, 0x47, 0x2d, 0x77, 0xbb, 0x92, 0x68, 0xe4, - 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x22, 0x00, 0xde, 0x9c, 0x10, 0x00, 0x00, + // 1400 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6b, 0x1b, 0x47, + 0x14, 0xd7, 0x4a, 0x96, 0xb2, 0x7a, 0xb2, 0x6a, 0x67, 0xeb, 0xd0, 0x8d, 0xa1, 0x92, 0xba, 0xa1, + 0xc5, 0x81, 0x44, 0x22, 0x26, 0x2d, 0x21, 0xa5, 0x7f, 0x2c, 0xdb, 0x09, 0x26, 0x71, 0x62, 0xc6, + 0x21, 0x85, 0x24, 0x85, 0xae, 0xb5, 0x63, 0x79, 0x91, 0xb4, 0xbb, 0x9d, 0x99, 0x35, 0x11, 0x2d, + 0x34, 0x97, 0x40, 0x0f, 0xa5, 0xe4, 0xd8, 0x4b, 0x4b, 0x02, 0xf9, 0x06, 0xfd, 0x12, 0xa1, 0xa7, + 0x5c, 0x0a, 0x3d, 0x14, 0xd3, 0xb8, 0x97, 0x5e, 0x7b, 0xf5, 0xa9, 0xcc, 0xec, 0xcc, 0x6a, 0x57, + 0x8e, 0xe2, 0x75, 0x9b, 0x43, 0x4f, 0xda, 0xf7, 0xff, 0xcd, 0x7b, 0xbf, 0x79, 0x6f, 0x04, 0xef, + 0xf7, 0x2e, 0xd1, 0xa6, 0xeb, 0xb7, 0x7a, 0xe1, 0x16, 0x26, 0x1e, 0x66, 0x98, 0xb6, 0x82, 0x5e, + 0xb7, 0x65, 0x07, 0x6e, 0x2b, 0xf4, 0x76, 0x31, 0xa1, 0xae, 0xef, 0x61, 0xa7, 0xd5, 0xc5, 0x1e, + 0x26, 0x36, 0xc3, 0x4e, 0x33, 0x20, 0x3e, 0xf3, 0x8d, 0x77, 0x23, 0xb3, 0xe6, 0xc8, 0xac, 0x19, + 0xf4, 0xba, 0x4d, 0x3b, 0x70, 0x9b, 0x09, 0xb3, 0xf9, 0xf3, 0x5d, 0x97, 0xed, 0x84, 0x5b, 0xcd, + 0x8e, 0x3f, 0x68, 0x75, 0xfd, 0xae, 0xdf, 0x12, 0xd6, 0x5b, 0xe1, 0xb6, 0xa0, 0x04, 0x21, 0xbe, + 0x22, 0xaf, 0xf3, 0xe7, 0x5f, 0x9e, 0x0c, 0x09, 0x3d, 0xe6, 0x0e, 0xf0, 0x78, 0x12, 0xf3, 0x17, + 0x5f, 0xad, 0x4e, 0x3b, 0x3b, 0x78, 0x60, 0x1f, 0xb2, 0xba, 0xf0, 0x72, 0xab, 0x90, 0xb9, 0xfd, + 0x96, 0xeb, 0x31, 0xca, 0xc8, 0xb8, 0x89, 0xf5, 0x4b, 0x01, 0xf4, 0xa5, 0x8d, 0xb5, 0xab, 0xc4, + 0x0f, 0x03, 0xa3, 0x01, 0x53, 0x9e, 0x3d, 0xc0, 0xa6, 0xd6, 0xd0, 0x16, 0xca, 0xed, 0xe9, 0x67, + 0x7b, 0xf5, 0xdc, 0xfe, 0x5e, 0x7d, 0xea, 0x86, 0x3d, 0xc0, 0x48, 0x48, 0x8c, 0x01, 0xe8, 0xb2, + 0x04, 0xd4, 0xcc, 0x37, 0x0a, 0x0b, 0x95, 0xc5, 0x4f, 0x9a, 0x99, 0xea, 0xd5, 0x14, 0x11, 0x6e, + 0x47, 0xe4, 0x15, 0x9f, 0xac, 0xb8, 0xb4, 0xe3, 0xef, 0x62, 0x32, 0x6c, 0xcf, 0xca, 0x30, 0xba, + 0x14, 0x52, 0x14, 0x87, 0x30, 0x1e, 0x6a, 0x30, 0x1b, 0x10, 0xbc, 0x8d, 0x09, 0xc1, 0x8e, 0x94, + 0x9b, 0x85, 0x86, 0xf6, 0x3a, 0xe2, 0x9a, 0x32, 0xee, 0xec, 0xc6, 0x58, 0x00, 0x74, 0x28, 0xa4, + 0xf1, 0x54, 0x83, 0x79, 0x8a, 0xc9, 0x2e, 0x26, 0x4b, 0x8e, 0x43, 0x30, 0xa5, 0xed, 0xe1, 0x72, + 0xdf, 0xc5, 0x1e, 0x5b, 0x5e, 0x5b, 0x41, 0xd4, 0x9c, 0x12, 0x95, 0xf8, 0x34, 0x63, 0x46, 0x9b, + 0x93, 0x1c, 0xb5, 0x2d, 0x99, 0xd2, 0xfc, 0x44, 0x15, 0x8a, 0x5e, 0x91, 0x87, 0xd5, 0x85, 0x69, + 0xd5, 0xcb, 0xeb, 0x2e, 0x65, 0xc6, 0x67, 0x50, 0xea, 0x72, 0x82, 0x9a, 0x9a, 0xc8, 0xb0, 0x95, + 0x31, 0x43, 0xe5, 0xa4, 0xfd, 0x86, 0x4c, 0xa8, 0x24, 0x48, 0x8a, 0xa4, 0x3b, 0xeb, 0xa1, 0x06, + 0x95, 0xa5, 0x8d, 0x35, 0x84, 0xa9, 0x1f, 0x92, 0x0e, 0xce, 0x00, 0x9c, 0x45, 0x00, 0xfe, 0x4b, + 0x03, 0xbb, 0x83, 0x1d, 0x33, 0xdf, 0xd0, 0x16, 0xf4, 0xb6, 0x21, 0xf5, 0xe0, 0x46, 0x2c, 0x41, + 0x09, 0x2d, 0xee, 0xb5, 0xe7, 0x7a, 0x8e, 0x68, 0x78, 0xc2, 0xeb, 0x35, 0xd7, 0x73, 0x90, 0x90, + 0x58, 0x3f, 0x6b, 0x30, 0x93, 0xc8, 0x43, 0x1c, 0xfa, 0x12, 0x4c, 0x77, 0x13, 0x3d, 0x97, 0x39, + 0xcd, 0x49, 0xeb, 0xe9, 0x24, 0x1e, 0x50, 0x4a, 0xd3, 0xd8, 0x86, 0x32, 0x91, 0x9e, 0x14, 0xba, + 0x17, 0xb3, 0x57, 0x4c, 0x25, 0x31, 0x0a, 0x95, 0x60, 0x52, 0x34, 0x72, 0x6d, 0xfd, 0x15, 0x55, + 0x4f, 0xe1, 0xdd, 0x58, 0x48, 0x5c, 0x2a, 0xde, 0xa8, 0x72, 0x7b, 0x7a, 0xc2, 0x7d, 0x38, 0x02, + 0x87, 0xf9, 0xff, 0x07, 0x0e, 0x2f, 0xeb, 0x3f, 0x3c, 0xae, 0xe7, 0x1e, 0xfc, 0xde, 0xc8, 0x59, + 0x6b, 0xa0, 0xaf, 0x84, 0xc4, 0x66, 0xbc, 0xbc, 0x1f, 0x81, 0xee, 0xc8, 0x6f, 0xd1, 0x94, 0x42, + 0xfb, 0x1d, 0x75, 0xf5, 0x95, 0xce, 0xc1, 0x5e, 0xbd, 0xca, 0x07, 0x5c, 0x53, 0x31, 0x50, 0x6c, + 0x62, 0xdd, 0x83, 0xea, 0xea, 0xfd, 0xc0, 0x27, 0xec, 0x66, 0xc0, 0x44, 0x31, 0xde, 0x83, 0x12, + 0x16, 0x0c, 0xe1, 0x4d, 0x1f, 0x81, 0x35, 0x52, 0x43, 0x52, 0x6a, 0x9c, 0x81, 0x22, 0xbe, 0x6f, + 0x77, 0x98, 0x44, 0x5d, 0x55, 0xaa, 0x15, 0x57, 0x39, 0x13, 0x45, 0x32, 0xeb, 0x1e, 0x94, 0x05, + 0x32, 0x38, 0xb8, 0xb8, 0x85, 0x00, 0x86, 0xc4, 0x4e, 0x6c, 0x21, 0x34, 0x50, 0x24, 0x8b, 0xd1, + 0x99, 0x9f, 0x84, 0xce, 0x44, 0x19, 0xfa, 0x50, 0x8d, 0x6c, 0xd5, 0x85, 0xc9, 0x14, 0xe1, 0x1c, + 0xe8, 0x0a, 0x34, 0x32, 0x4a, 0x3c, 0x2b, 0x95, 0x23, 0x14, 0x6b, 0x24, 0xa2, 0xed, 0x40, 0x0a, + 0xe5, 0xd9, 0x82, 0x9d, 0x85, 0x13, 0x12, 0x1a, 0x32, 0xd6, 0x8c, 0x54, 0x3b, 0xa1, 0x2e, 0x8b, + 0x92, 0x27, 0x22, 0x7d, 0x03, 0xe6, 0xa4, 0xf9, 0xfa, 0x1f, 0xee, 0x61, 0xf6, 0x54, 0xac, 0xef, + 0x35, 0x98, 0x4d, 0x7a, 0xca, 0xde, 0xbe, 0xec, 0x41, 0x8e, 0x9e, 0x43, 0x89, 0x8a, 0xfc, 0xa4, + 0xc1, 0x5c, 0xea, 0x68, 0xc7, 0xea, 0xf8, 0x31, 0x92, 0x4a, 0x82, 0xa3, 0x70, 0x0c, 0x70, 0xfc, + 0x9a, 0x87, 0xea, 0x75, 0x7b, 0x0b, 0xf7, 0x37, 0x71, 0x1f, 0x77, 0x98, 0x4f, 0x8c, 0xaf, 0xa1, + 0x32, 0xb0, 0x59, 0x67, 0x47, 0x70, 0xd5, 0xaa, 0x58, 0xcd, 0x38, 0x44, 0x52, 0xae, 0x9a, 0xeb, + 0x23, 0x3f, 0xab, 0x1e, 0x23, 0xc3, 0xf6, 0x9b, 0x32, 0xa7, 0x4a, 0x42, 0x82, 0x92, 0xe1, 0xc4, + 0x8a, 0x17, 0xf4, 0xea, 0xfd, 0x80, 0x4f, 0x92, 0x7f, 0xf1, 0xb4, 0x48, 0xe5, 0x80, 0xf0, 0x97, + 0xa1, 0x4b, 0xf0, 0x00, 0x7b, 0x6c, 0xb4, 0xe2, 0xd7, 0xc7, 0x02, 0xa0, 0x43, 0x21, 0xe7, 0x3f, + 0x86, 0xd9, 0xf1, 0xec, 0x8d, 0x59, 0x28, 0xf4, 0xf0, 0x30, 0xea, 0x18, 0xe2, 0x9f, 0xc6, 0x1c, + 0x14, 0x77, 0xed, 0x7e, 0x28, 0xef, 0x23, 0x8a, 0x88, 0xcb, 0xf9, 0x4b, 0x9a, 0xf5, 0x54, 0x03, + 0x73, 0x52, 0x22, 0xc6, 0xdb, 0x09, 0x47, 0xed, 0x8a, 0xcc, 0xaa, 0x70, 0x0d, 0x0f, 0x23, 0xaf, + 0xab, 0xa0, 0xfb, 0x01, 0x7f, 0x96, 0xf9, 0x44, 0xf6, 0xfd, 0xac, 0xea, 0xe5, 0x4d, 0xc9, 0x3f, + 0xd8, 0xab, 0x9f, 0x4a, 0xb9, 0x57, 0x02, 0x14, 0x9b, 0x1a, 0x16, 0x94, 0x44, 0x3e, 0xd4, 0x2c, + 0x88, 0x2d, 0x02, 0x7c, 0x18, 0xde, 0x16, 0x1c, 0x24, 0x25, 0xd6, 0x57, 0xa0, 0xf3, 0x2d, 0xb9, + 0x8e, 0x99, 0xcd, 0x21, 0x44, 0x71, 0x7f, 0xfb, 0xba, 0xeb, 0xf5, 0x64, 0x6a, 0x31, 0x84, 0x36, + 0x25, 0x1f, 0xc5, 0x1a, 0xc6, 0x12, 0xcc, 0x28, 0x38, 0xdd, 0x4e, 0x61, 0xf4, 0x2d, 0x69, 0x34, + 0x83, 0xd2, 0x62, 0x34, 0xae, 0x6f, 0x9d, 0x83, 0x32, 0xf2, 0x7d, 0xb6, 0x61, 0xb3, 0x1d, 0x6a, + 0xd4, 0xa1, 0x18, 0xf0, 0x0f, 0xb9, 0xf2, 0xca, 0xfc, 0x32, 0x08, 0x09, 0x8a, 0xf8, 0xd6, 0x77, + 0x1a, 0x9c, 0x9e, 0xb8, 0x80, 0xf8, 0x83, 0xa2, 0x13, 0x53, 0x32, 0xfd, 0xf8, 0x41, 0x31, 0xd2, + 0x43, 0x09, 0x2d, 0xe3, 0x43, 0xa8, 0xa6, 0xb6, 0x96, 0x3c, 0xc0, 0x29, 0x69, 0x56, 0x4d, 0x45, + 0x43, 0x69, 0x5d, 0xeb, 0xef, 0x3c, 0x94, 0x36, 0x99, 0xcd, 0x42, 0x6a, 0x7c, 0x0e, 0xfa, 0x00, + 0x33, 0xdb, 0xb1, 0x99, 0x2d, 0x22, 0x67, 0x7f, 0x59, 0xa9, 0xda, 0x8f, 0x2a, 0xad, 0x38, 0x28, + 0x76, 0xc9, 0x17, 0x1b, 0x15, 0x81, 0x64, 0x7e, 0xf1, 0x62, 0x8b, 0xc2, 0x23, 0x29, 0xe5, 0xd3, + 0x62, 0x80, 0x29, 0xb5, 0xbb, 0x6a, 0x02, 0xc4, 0xd3, 0x62, 0x3d, 0x62, 0x23, 0x25, 0x37, 0x3e, + 0x80, 0x12, 0xc1, 0x36, 0xf5, 0x3d, 0x73, 0x4a, 0x68, 0xd6, 0x94, 0x4b, 0x24, 0xb8, 0x07, 0x7b, + 0xf5, 0x69, 0xe9, 0x5c, 0xd0, 0x48, 0x6a, 0x1b, 0x77, 0xe1, 0x84, 0x83, 0x99, 0xed, 0xf6, 0xa9, + 0x59, 0x14, 0x07, 0xbd, 0x98, 0xf5, 0x71, 0x21, 0xbc, 0xad, 0x44, 0xb6, 0xed, 0x0a, 0x4f, 0x4a, + 0x12, 0x48, 0x79, 0xe4, 0x73, 0xb5, 0xe3, 0x3b, 0xd8, 0x2c, 0x35, 0xb4, 0x85, 0xe2, 0x68, 0xae, + 0x2e, 0xfb, 0x0e, 0x46, 0x42, 0x62, 0x3d, 0xd2, 0xa0, 0x12, 0x79, 0x5a, 0xb6, 0x43, 0x8a, 0x8d, + 0x0b, 0xf1, 0x31, 0xa2, 0x86, 0x9f, 0x56, 0x36, 0xb7, 0x86, 0x01, 0x3e, 0xd8, 0xab, 0x97, 0x85, + 0x1a, 0x27, 0xe2, 0x13, 0x24, 0x8a, 0x94, 0x3f, 0xa2, 0x48, 0x67, 0xa0, 0xb8, 0xed, 0xe2, 0xbe, + 0x1a, 0xf4, 0xf1, 0x88, 0xbe, 0xc2, 0x99, 0x28, 0x92, 0x59, 0x3f, 0xe6, 0xa1, 0x9a, 0x3a, 0x5c, + 0x86, 0xc7, 0x6f, 0x3c, 0xfb, 0xf3, 0x19, 0xde, 0x13, 0x13, 0xb7, 0x8c, 0x71, 0x07, 0x4a, 0x1d, + 0x7e, 0x3e, 0xf5, 0x87, 0x63, 0xf1, 0x58, 0xbd, 0x10, 0xa5, 0x19, 0x61, 0x49, 0x90, 0x14, 0x49, + 0x8f, 0xc6, 0x55, 0x38, 0x49, 0x30, 0x23, 0xc3, 0xa5, 0x6d, 0x86, 0xc9, 0x26, 0xee, 0xf8, 0x9e, + 0x13, 0xb5, 0xbc, 0x18, 0x17, 0xf9, 0x24, 0x1a, 0x57, 0x40, 0x87, 0x6d, 0xac, 0x3e, 0x4c, 0xdd, + 0x72, 0x07, 0x98, 0xd7, 0x9d, 0x4a, 0x37, 0xd1, 0x63, 0x2f, 0xae, 0xbb, 0x32, 0x56, 0x72, 0x5e, + 0x1e, 0xcf, 0xf6, 0xfc, 0x08, 0xee, 0xc5, 0x51, 0x79, 0x6e, 0x70, 0x26, 0x8a, 0x64, 0x97, 0xe7, + 0xf8, 0x06, 0xfb, 0xf6, 0x49, 0x3d, 0xf7, 0xe8, 0x49, 0x3d, 0xf7, 0xf8, 0x89, 0xdc, 0x66, 0x77, + 0xa1, 0xcc, 0xa3, 0x51, 0x66, 0x0f, 0x82, 0xd7, 0x1d, 0xd2, 0xfa, 0x02, 0x74, 0x0e, 0x25, 0x31, + 0x2b, 0x55, 0x77, 0xb4, 0x89, 0xdd, 0x59, 0x04, 0xb0, 0x03, 0x37, 0x3d, 0x1a, 0xe3, 0x81, 0x34, + 0x7a, 0xee, 0xa3, 0x84, 0x56, 0xfb, 0xfc, 0xb3, 0x17, 0xb5, 0xdc, 0xf3, 0x17, 0xb5, 0xdc, 0x6f, + 0x2f, 0x6a, 0xb9, 0x07, 0xfb, 0x35, 0xed, 0xd9, 0x7e, 0x4d, 0x7b, 0xbe, 0x5f, 0xd3, 0xfe, 0xd8, + 0xaf, 0x69, 0x8f, 0xfe, 0xac, 0xe5, 0xee, 0x54, 0x12, 0x8d, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, + 0xac, 0x17, 0x87, 0x87, 0xd2, 0x10, 0x00, 0x00, } diff --git a/pkg/api/unversioned/generated.proto b/pkg/api/unversioned/generated.proto index 91d3fbf6512..a10e2ddb0a3 100644 --- a/pkg/api/unversioned/generated.proto +++ b/pkg/api/unversioned/generated.proto @@ -22,6 +22,7 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.api.unversioned; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/api/unversioned/zz_generated.deepcopy.go b/pkg/api/unversioned/zz_generated.deepcopy.go index d6b1cff7c43..627bb817ecb 100644 --- a/pkg/api/unversioned/zz_generated.deepcopy.go +++ b/pkg/api/unversioned/zz_generated.deepcopy.go @@ -21,9 +21,8 @@ limitations under the License. package unversioned import ( - time "time" - conversion "k8s.io/kubernetes/pkg/conversion" + time "time" ) func DeepCopy_unversioned_APIGroup(in interface{}, out interface{}, c *conversion.Cloner) error { diff --git a/pkg/api/v1/BUILD b/pkg/api/v1/BUILD index 3e46586fdfe..b7a391e11c5 100644 --- a/pkg/api/v1/BUILD +++ b/pkg/api/v1/BUILD @@ -42,6 +42,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/selection:go_default_library", "//pkg/types:go_default_library", "//pkg/util:go_default_library", diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index 401f2aa85a8..98821f5b821 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -39561,7 +39561,7 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10058 bytes of a gzipped FileDescriptorProto + // 10068 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x8c, 0x24, 0xc7, 0x75, 0x98, 0x7a, 0x66, 0xbf, 0xe6, 0xed, 0xe7, 0xd5, 0x7d, 0x70, 0xb9, 0x22, 0x6f, 0x4f, 0x4d, 0xf1, 0x74, 0x24, 0x8f, 0x7b, 0xba, 0x23, 0x29, 0x52, 0x22, 0x43, 0x69, 0x77, 0x67, 0xf7, 0x6e, @@ -39578,617 +39578,618 @@ var fileDescriptorGenerated = []byte{ 0x56, 0x67, 0x7d, 0xae, 0x15, 0x6e, 0x5f, 0xda, 0x0c, 0x37, 0xc3, 0x4b, 0xac, 0xd0, 0x7a, 0x67, 0x83, 0xfd, 0x63, 0x7f, 0xd8, 0x2f, 0xce, 0x6c, 0xe6, 0x4a, 0xef, 0xaa, 0x23, 0x12, 0x87, 0x9d, 0xa8, 0x45, 0xb2, 0x0d, 0x98, 0x79, 0xa9, 0x77, 0x99, 0x4e, 0xb0, 0x43, 0xa2, 0xd8, 0x0b, 0x03, - 0xe2, 0x76, 0x15, 0x7b, 0x3e, 0xbf, 0x58, 0xd4, 0x09, 0x12, 0x6f, 0xbb, 0xbb, 0x96, 0xcb, 0xf9, - 0xe4, 0x9d, 0xc4, 0xf3, 0x2f, 0x79, 0x41, 0x12, 0x27, 0x51, 0xb6, 0x88, 0xfd, 0x7b, 0x16, 0x9c, - 0x9b, 0xbf, 0xd3, 0x5c, 0xf2, 0x9d, 0x38, 0xf1, 0x5a, 0x0b, 0x7e, 0xd8, 0xba, 0xdb, 0x4c, 0xc2, - 0x88, 0xbc, 0x19, 0xfa, 0x9d, 0x6d, 0xd2, 0x64, 0xbd, 0x41, 0x17, 0x61, 0x64, 0x87, 0xfd, 0x5f, - 0xa9, 0x4f, 0x5b, 0xe7, 0xac, 0x0b, 0xb5, 0x85, 0xa9, 0x1f, 0xef, 0xcd, 0x7e, 0x64, 0x7f, 0x6f, - 0x76, 0xe4, 0x4d, 0x01, 0xc7, 0x8a, 0x02, 0x9d, 0x87, 0xa1, 0x8d, 0x78, 0x6d, 0xb7, 0x4d, 0xa6, - 0x2b, 0x8c, 0x76, 0x42, 0xd0, 0x0e, 0x2d, 0x37, 0x29, 0x14, 0x0b, 0x2c, 0xba, 0x04, 0xb5, 0xb6, - 0x13, 0x25, 0x5e, 0xe2, 0x85, 0xc1, 0x74, 0xf5, 0x9c, 0x75, 0x61, 0x70, 0xe1, 0x84, 0x20, 0xad, - 0x35, 0x24, 0x02, 0xa7, 0x34, 0xb4, 0x19, 0x11, 0x71, 0xdc, 0x5b, 0x81, 0xbf, 0x3b, 0x3d, 0x70, - 0xce, 0xba, 0x30, 0x92, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, 0xf6, 0xf7, 0x2a, 0x30, 0x32, 0xbf, - 0xb1, 0xe1, 0x05, 0x5e, 0xb2, 0x8b, 0xbe, 0x0c, 0x63, 0x41, 0xe8, 0x12, 0xf9, 0x9f, 0xf5, 0x62, - 0xf4, 0xca, 0xb3, 0x73, 0x07, 0xc9, 0xc5, 0xdc, 0x4d, 0xad, 0xc4, 0xc2, 0xd4, 0xfe, 0xde, 0xec, - 0x98, 0x0e, 0xc1, 0x06, 0x47, 0xf4, 0x36, 0x8c, 0xb6, 0x43, 0x57, 0x55, 0x50, 0x61, 0x15, 0x3c, - 0x73, 0x70, 0x05, 0x8d, 0xb4, 0xc0, 0xc2, 0xe4, 0xfe, 0xde, 0xec, 0xa8, 0x06, 0xc0, 0x3a, 0x3b, - 0xe4, 0xc3, 0x24, 0xfd, 0x1b, 0x24, 0x9e, 0xaa, 0xa1, 0xca, 0x6a, 0x78, 0xbe, 0xb8, 0x06, 0xad, - 0xd0, 0xc2, 0xc9, 0xfd, 0xbd, 0xd9, 0xc9, 0x0c, 0x10, 0x67, 0x59, 0xdb, 0x5f, 0x85, 0x89, 0xf9, - 0x24, 0x71, 0x5a, 0x5b, 0xc4, 0xe5, 0xdf, 0x17, 0xbd, 0x08, 0x03, 0x81, 0xb3, 0x4d, 0xc4, 0xd7, - 0x3f, 0x27, 0x86, 0x7d, 0xe0, 0xa6, 0xb3, 0x4d, 0x1e, 0xec, 0xcd, 0x4e, 0xdd, 0x0e, 0xbc, 0xf7, - 0x3a, 0x42, 0x66, 0x28, 0x0c, 0x33, 0x6a, 0x74, 0x05, 0xc0, 0x25, 0x3b, 0x5e, 0x8b, 0x34, 0x9c, - 0x64, 0x4b, 0x48, 0x03, 0x12, 0x65, 0xa1, 0xae, 0x30, 0x58, 0xa3, 0xb2, 0xbf, 0x6e, 0x41, 0x6d, - 0x7e, 0x27, 0xf4, 0xdc, 0x46, 0xe8, 0xc6, 0xa8, 0x03, 0x93, 0xed, 0x88, 0x6c, 0x90, 0x48, 0x81, - 0xa6, 0xad, 0x73, 0xd5, 0x0b, 0xa3, 0x57, 0xae, 0x14, 0xf4, 0xdb, 0x2c, 0xb4, 0x14, 0x24, 0xd1, - 0xee, 0xc2, 0x63, 0xa2, 0xea, 0xc9, 0x0c, 0x16, 0x67, 0xeb, 0xb0, 0xff, 0x7a, 0x05, 0x4e, 0xcf, - 0x7f, 0xb5, 0x13, 0x91, 0xba, 0x17, 0xdf, 0xcd, 0x4e, 0x05, 0xd7, 0x8b, 0xef, 0xde, 0x4c, 0x07, - 0x43, 0xc9, 0x60, 0x5d, 0xc0, 0xb1, 0xa2, 0x40, 0xcf, 0xc3, 0x30, 0xfd, 0x7d, 0x1b, 0xaf, 0x88, - 0xde, 0x9f, 0x14, 0xc4, 0xa3, 0x75, 0x27, 0x71, 0xea, 0x1c, 0x85, 0x25, 0x0d, 0x5a, 0x85, 0xd1, - 0x96, 0xd3, 0xda, 0xf2, 0x82, 0xcd, 0xd5, 0xd0, 0x25, 0xec, 0x0b, 0xd7, 0x16, 0x9e, 0xa3, 0xe4, - 0x8b, 0x29, 0xf8, 0xc1, 0xde, 0xec, 0x34, 0x6f, 0x9b, 0x60, 0xa1, 0xe1, 0xb0, 0x5e, 0x1e, 0xd9, - 0x6a, 0x22, 0x0e, 0x30, 0x4e, 0x90, 0x33, 0x09, 0x2f, 0x68, 0x73, 0x6a, 0x90, 0xcd, 0xa9, 0xb1, - 0x1e, 0xf3, 0xe9, 0x9f, 0x5a, 0x62, 0x4c, 0x96, 0x3d, 0xdf, 0x54, 0x0f, 0x57, 0x00, 0x62, 0xd2, - 0x8a, 0x48, 0xa2, 0x8d, 0x8a, 0xfa, 0xcc, 0x4d, 0x85, 0xc1, 0x1a, 0x15, 0x9d, 0xfc, 0xf1, 0x96, - 0x13, 0x31, 0x69, 0x11, 0x63, 0xa3, 0x26, 0x7f, 0x53, 0x22, 0x70, 0x4a, 0x63, 0x4c, 0xfe, 0x6a, - 0xe1, 0xe4, 0xff, 0x57, 0x16, 0x0c, 0x2f, 0x78, 0x81, 0xeb, 0x05, 0x9b, 0xe8, 0x2d, 0x18, 0xd9, - 0x26, 0x89, 0xe3, 0x3a, 0x89, 0x23, 0xe6, 0xfd, 0x85, 0x83, 0x85, 0xe7, 0xd6, 0xfa, 0x57, 0x48, - 0x2b, 0x59, 0x25, 0x89, 0x93, 0x76, 0x23, 0x85, 0x61, 0xc5, 0x0d, 0xdd, 0x86, 0xa1, 0xc4, 0x89, - 0x36, 0x49, 0x22, 0xa6, 0xfb, 0xf3, 0x65, 0xf8, 0x62, 0x2a, 0x6a, 0x24, 0x68, 0x91, 0x54, 0x31, - 0xae, 0x31, 0x26, 0x58, 0x30, 0xb3, 0x5b, 0x30, 0xb6, 0xe8, 0xb4, 0x9d, 0x75, 0xcf, 0xf7, 0x12, - 0x8f, 0xc4, 0xe8, 0x13, 0x50, 0x75, 0x5c, 0x97, 0x09, 0x7e, 0x6d, 0xe1, 0xf4, 0xfe, 0xde, 0x6c, - 0x75, 0xde, 0x75, 0x1f, 0xec, 0xcd, 0x82, 0xa2, 0xda, 0xc5, 0x94, 0x02, 0x3d, 0x0b, 0x03, 0x6e, - 0x14, 0xb6, 0xa7, 0x2b, 0x8c, 0xf2, 0x0c, 0x9d, 0xa1, 0xf5, 0x28, 0x6c, 0x67, 0x48, 0x19, 0x8d, - 0xfd, 0xef, 0x2a, 0x80, 0x16, 0x49, 0x7b, 0x6b, 0xb9, 0x69, 0x7c, 0xcb, 0x0b, 0x30, 0xb2, 0x1d, - 0x06, 0x5e, 0x12, 0x46, 0xb1, 0xa8, 0x90, 0xc9, 0xc3, 0xaa, 0x80, 0x61, 0x85, 0x45, 0xe7, 0x60, - 0xa0, 0x9d, 0x4e, 0xeb, 0x31, 0xa9, 0x12, 0xd8, 0x84, 0x66, 0x18, 0x4a, 0xd1, 0x89, 0x49, 0x24, - 0xe4, 0x58, 0x51, 0xdc, 0x8e, 0x49, 0x84, 0x19, 0x26, 0x95, 0x1c, 0x2a, 0x53, 0x42, 0x4a, 0x33, - 0x92, 0x43, 0x31, 0x58, 0xa3, 0x42, 0xef, 0x42, 0x8d, 0xff, 0xc3, 0x64, 0x83, 0x89, 0x6c, 0xa1, - 0x32, 0xb8, 0x11, 0xb6, 0x1c, 0x3f, 0x3b, 0xf8, 0xe3, 0x4c, 0xd2, 0x24, 0x23, 0x9c, 0xf2, 0x34, - 0x24, 0x6d, 0xa8, 0x50, 0xd2, 0xfe, 0xb6, 0x05, 0x68, 0xd1, 0x0b, 0x5c, 0x12, 0x1d, 0xc3, 0x92, - 0xd9, 0xdf, 0x24, 0xf8, 0x43, 0xda, 0xb4, 0x70, 0xbb, 0x1d, 0x06, 0x24, 0x48, 0x16, 0xc3, 0xc0, - 0xe5, 0xcb, 0xe8, 0x67, 0x60, 0x20, 0xa1, 0x55, 0xf1, 0x66, 0x9d, 0x97, 0x9f, 0x85, 0x56, 0xf0, - 0x60, 0x6f, 0xf6, 0x4c, 0x77, 0x09, 0xd6, 0x04, 0x56, 0x06, 0x7d, 0x1a, 0x86, 0xe2, 0xc4, 0x49, - 0x3a, 0xb1, 0x68, 0xe8, 0xc7, 0x64, 0x43, 0x9b, 0x0c, 0xfa, 0x60, 0x6f, 0x76, 0x52, 0x15, 0xe3, - 0x20, 0x2c, 0x0a, 0xa0, 0x67, 0x60, 0x78, 0x9b, 0xc4, 0xb1, 0xb3, 0x29, 0x15, 0xdb, 0xa4, 0x28, - 0x3b, 0xbc, 0xca, 0xc1, 0x58, 0xe2, 0xd1, 0x53, 0x30, 0x48, 0xa2, 0x28, 0x8c, 0x84, 0x44, 0x8c, - 0x0b, 0xc2, 0xc1, 0x25, 0x0a, 0xc4, 0x1c, 0x67, 0xff, 0x8e, 0x05, 0x93, 0xaa, 0xad, 0xbc, 0xae, - 0x23, 0x9c, 0xea, 0x2e, 0x40, 0x4b, 0x76, 0x2c, 0x66, 0x13, 0x6c, 0xf4, 0xca, 0x27, 0x0f, 0xe6, - 0xdd, 0x3d, 0x90, 0x69, 0x1d, 0x0a, 0x14, 0x63, 0x8d, 0xaf, 0xfd, 0x63, 0x0b, 0x4e, 0x66, 0xfa, - 0x74, 0xc3, 0x8b, 0x13, 0xf4, 0x17, 0xbb, 0xfa, 0x75, 0xe9, 0x80, 0xba, 0x35, 0x8b, 0x72, 0x8e, - 0x16, 0x67, 0xdd, 0x53, 0x82, 0x22, 0x21, 0x5a, 0xe7, 0x30, 0x0c, 0x7a, 0x09, 0xd9, 0x96, 0xfd, - 0x7a, 0xbe, 0x64, 0xbf, 0x78, 0x03, 0xd3, 0xcf, 0xb3, 0x42, 0x79, 0x60, 0xce, 0xca, 0xfe, 0xdf, - 0x16, 0xd4, 0x16, 0xc3, 0x60, 0xc3, 0xdb, 0x5c, 0x75, 0xda, 0x47, 0xf8, 0x61, 0x9a, 0x30, 0xc0, - 0xb8, 0xf2, 0xa6, 0x5f, 0x2e, 0x6a, 0xba, 0x68, 0xd0, 0x1c, 0x5d, 0x3c, 0xb9, 0x55, 0xa0, 0xf4, - 0x12, 0x05, 0x61, 0xc6, 0x6c, 0xe6, 0x65, 0xa8, 0x29, 0x02, 0x34, 0x05, 0xd5, 0xbb, 0x84, 0x9b, - 0x8c, 0x35, 0x4c, 0x7f, 0xa2, 0x53, 0x30, 0xb8, 0xe3, 0xf8, 0x1d, 0x31, 0x5b, 0x31, 0xff, 0xf3, - 0x99, 0xca, 0x2b, 0x96, 0xfd, 0x03, 0x0b, 0x4e, 0xa9, 0x4a, 0xae, 0x93, 0xdd, 0x26, 0xf1, 0x49, - 0x2b, 0x09, 0x23, 0xf4, 0xbe, 0x05, 0xa7, 0xfc, 0x1c, 0x3d, 0x24, 0x46, 0xe3, 0x30, 0x1a, 0xec, - 0x09, 0xd1, 0xf0, 0x53, 0x79, 0x58, 0x9c, 0x5b, 0x1b, 0x7a, 0x92, 0xf7, 0x85, 0x4f, 0xde, 0x51, - 0xc1, 0xa0, 0x7a, 0x9d, 0xec, 0xb2, 0x8e, 0xd1, 0xe6, 0x8f, 0xab, 0xe6, 0x1f, 0x87, 0xe4, 0xdd, - 0x30, 0x25, 0xef, 0x13, 0x25, 0x3f, 0x5f, 0x0f, 0x99, 0xfb, 0xfb, 0x15, 0x38, 0xad, 0x68, 0x0c, - 0x75, 0xfc, 0x88, 0x0c, 0x7f, 0x7f, 0xdd, 0xbd, 0x4e, 0x76, 0xd7, 0x42, 0xba, 0x9e, 0xe6, 0x77, - 0x17, 0x5d, 0x86, 0x51, 0x97, 0x6c, 0x38, 0x1d, 0x3f, 0x51, 0xe6, 0xe2, 0x20, 0xdf, 0x47, 0xd4, - 0x53, 0x30, 0xd6, 0x69, 0xec, 0xdf, 0xae, 0xb1, 0x59, 0x99, 0x38, 0x5e, 0x40, 0x22, 0xba, 0x40, - 0x6b, 0x56, 0xfd, 0x98, 0x6e, 0xd5, 0x0b, 0x0b, 0xfe, 0x29, 0x18, 0xf4, 0xb6, 0xa9, 0xca, 0xae, - 0x98, 0x9a, 0x78, 0x85, 0x02, 0x31, 0xc7, 0xa1, 0xa7, 0x61, 0xb8, 0x15, 0x6e, 0x6f, 0x3b, 0x81, - 0x3b, 0x5d, 0x65, 0x26, 0xc3, 0x28, 0xd5, 0xea, 0x8b, 0x1c, 0x84, 0x25, 0x0e, 0x3d, 0x01, 0x03, - 0x4e, 0xb4, 0x19, 0x4f, 0x0f, 0x30, 0x9a, 0x11, 0x5a, 0xd3, 0x7c, 0xb4, 0x19, 0x63, 0x06, 0xa5, - 0xa6, 0xc0, 0xbd, 0x30, 0xba, 0xeb, 0x05, 0x9b, 0x75, 0x2f, 0x62, 0xeb, 0xba, 0x66, 0x0a, 0xdc, - 0x51, 0x18, 0xac, 0x51, 0xa1, 0x06, 0x0c, 0xb6, 0xc3, 0x28, 0x89, 0xa7, 0x87, 0xd8, 0x70, 0x3e, - 0x57, 0x28, 0x3d, 0xbc, 0xdf, 0x8d, 0x30, 0x4a, 0xd2, 0xae, 0xd0, 0x7f, 0x31, 0xe6, 0x8c, 0xd0, - 0x22, 0x54, 0x49, 0xb0, 0x33, 0x3d, 0xcc, 0xf8, 0x7d, 0xfc, 0x60, 0x7e, 0x4b, 0xc1, 0xce, 0x9b, - 0x4e, 0x94, 0xce, 0xa2, 0xa5, 0x60, 0x07, 0xd3, 0xd2, 0xa8, 0x05, 0x35, 0xe9, 0x08, 0x88, 0xa7, - 0x47, 0xca, 0x08, 0x18, 0x16, 0xe4, 0x98, 0xbc, 0xd7, 0xf1, 0x22, 0xb2, 0x4d, 0x82, 0x24, 0x4e, - 0xed, 0x61, 0x89, 0x8d, 0x71, 0xca, 0x17, 0xb5, 0x60, 0x8c, 0x9b, 0x0f, 0xab, 0x61, 0x27, 0x48, - 0xe2, 0xe9, 0x1a, 0x6b, 0x72, 0xc1, 0x86, 0xf3, 0xcd, 0xb4, 0xc4, 0xc2, 0x29, 0xc1, 0x7e, 0x4c, - 0x03, 0xc6, 0xd8, 0x60, 0x8a, 0xde, 0x86, 0x71, 0xdf, 0xdb, 0x21, 0x01, 0x89, 0xe3, 0x46, 0x14, - 0xae, 0x93, 0x69, 0x60, 0xbd, 0x79, 0xaa, 0x68, 0xf3, 0x15, 0xae, 0x93, 0x85, 0x13, 0xfb, 0x7b, - 0xb3, 0xe3, 0x37, 0xf4, 0xd2, 0xd8, 0x64, 0x86, 0xde, 0x85, 0x09, 0x6a, 0xab, 0x78, 0x29, 0xfb, - 0xd1, 0xf2, 0xec, 0xd1, 0xfe, 0xde, 0xec, 0x04, 0x36, 0x8a, 0xe3, 0x0c, 0x3b, 0xb4, 0x06, 0x35, - 0xdf, 0xdb, 0x20, 0xad, 0xdd, 0x96, 0x4f, 0xa6, 0xc7, 0x18, 0xef, 0x82, 0x29, 0x77, 0x43, 0x92, - 0x73, 0xfb, 0x50, 0xfd, 0xc5, 0x29, 0x23, 0xf4, 0x26, 0x9c, 0x49, 0x48, 0xb4, 0xed, 0x05, 0x0e, - 0x5d, 0xb4, 0x85, 0xf1, 0xc2, 0x76, 0xb8, 0xe3, 0x4c, 0x6a, 0xcf, 0x8a, 0x81, 0x3d, 0xb3, 0x96, - 0x4b, 0x85, 0x7b, 0x94, 0x46, 0xb7, 0x60, 0x92, 0xcd, 0xa7, 0x46, 0xc7, 0xf7, 0x1b, 0xa1, 0xef, - 0xb5, 0x76, 0xa7, 0x27, 0x18, 0xc3, 0xa7, 0xe5, 0xbe, 0x75, 0xc5, 0x44, 0x53, 0xbb, 0x3e, 0xfd, - 0x87, 0xb3, 0xa5, 0x91, 0x0f, 0x93, 0x31, 0x69, 0x75, 0x22, 0x2f, 0xd9, 0xa5, 0xb2, 0x4f, 0xee, - 0x27, 0xd3, 0x93, 0x65, 0xf6, 0x29, 0x4d, 0xb3, 0x10, 0x77, 0x1a, 0x64, 0x80, 0x38, 0xcb, 0x9a, - 0xaa, 0x8a, 0x38, 0x71, 0xbd, 0x60, 0x7a, 0x8a, 0x19, 0xa6, 0x6a, 0x7e, 0x35, 0x29, 0x10, 0x73, - 0x1c, 0xdb, 0xf6, 0xd1, 0x1f, 0xb7, 0xa8, 0xee, 0x3d, 0xc1, 0x08, 0xd3, 0x6d, 0x9f, 0x44, 0xe0, - 0x94, 0x86, 0x2e, 0x58, 0x49, 0xb2, 0x3b, 0x8d, 0x18, 0xa9, 0x9a, 0x6a, 0x6b, 0x6b, 0x5f, 0xc0, - 0x14, 0x6e, 0xaf, 0xc3, 0x84, 0x9a, 0xd6, 0x6c, 0x74, 0xd0, 0x2c, 0x0c, 0x52, 0xcd, 0x25, 0x77, - 0x2f, 0x35, 0xda, 0x04, 0xaa, 0xd0, 0x62, 0xcc, 0xe1, 0xac, 0x09, 0xde, 0x57, 0xc9, 0xc2, 0x6e, - 0x42, 0xb8, 0x15, 0x5b, 0xd5, 0x9a, 0x20, 0x11, 0x38, 0xa5, 0xb1, 0xff, 0x2f, 0x5f, 0x14, 0x53, - 0xdd, 0x51, 0x42, 0x6f, 0x5e, 0x84, 0x91, 0xad, 0x30, 0x4e, 0x28, 0x35, 0xab, 0x63, 0x30, 0x5d, - 0x05, 0xaf, 0x09, 0x38, 0x56, 0x14, 0xe8, 0x55, 0x18, 0x6f, 0xe9, 0x15, 0x08, 0x55, 0x7e, 0x5a, - 0x14, 0x31, 0x6b, 0xc7, 0x26, 0x2d, 0x7a, 0x05, 0x46, 0x98, 0x2b, 0xaf, 0x15, 0xfa, 0xc2, 0x5e, - 0x96, 0x2b, 0xd3, 0x48, 0x43, 0xc0, 0x1f, 0x68, 0xbf, 0xb1, 0xa2, 0xa6, 0xbb, 0x0e, 0xda, 0x84, - 0x95, 0x86, 0x50, 0xb7, 0x6a, 0xd7, 0x71, 0x8d, 0x41, 0xb1, 0xc0, 0xda, 0xbf, 0x56, 0xd1, 0x46, - 0x99, 0x1a, 0x7d, 0x04, 0x7d, 0x11, 0x86, 0xef, 0x39, 0x5e, 0xe2, 0x05, 0x9b, 0x62, 0x05, 0x7d, - 0xa1, 0xa4, 0xee, 0x65, 0xc5, 0xef, 0xf0, 0xa2, 0x7c, 0x9d, 0x10, 0x7f, 0xb0, 0x64, 0x48, 0x79, - 0x47, 0x9d, 0x20, 0xa0, 0xbc, 0x2b, 0xfd, 0xf3, 0xc6, 0xbc, 0x28, 0xe7, 0x2d, 0xfe, 0x60, 0xc9, - 0x10, 0x6d, 0x00, 0xc8, 0xd9, 0x47, 0x5c, 0xe1, 0x42, 0xfb, 0x54, 0x3f, 0xec, 0xd7, 0x54, 0xe9, - 0x85, 0x09, 0xba, 0x32, 0xa5, 0xff, 0xb1, 0xc6, 0xd9, 0xee, 0x30, 0x43, 0xa4, 0xbb, 0x59, 0xe8, - 0x6d, 0x3a, 0x01, 0x9c, 0x28, 0x21, 0xee, 0x7c, 0x22, 0x86, 0xee, 0xb9, 0x92, 0x06, 0xd5, 0x9a, - 0xb7, 0x4d, 0xf4, 0xd9, 0x22, 0xb8, 0xe0, 0x94, 0xa1, 0xfd, 0xfd, 0x2a, 0x4c, 0xf7, 0x6a, 0x2f, - 0x95, 0x49, 0x72, 0xdf, 0x4b, 0x16, 0xa9, 0xad, 0x60, 0x99, 0x32, 0xb9, 0x24, 0xe0, 0x58, 0x51, - 0x50, 0xe1, 0x88, 0xbd, 0xcd, 0xc0, 0xf1, 0x85, 0xfc, 0x2a, 0xe1, 0x68, 0x32, 0x28, 0x16, 0x58, - 0x4a, 0x17, 0x11, 0x27, 0x16, 0x2e, 0x5c, 0x4d, 0x88, 0x30, 0x83, 0x62, 0x81, 0xd5, 0xb7, 0x7f, - 0x03, 0x05, 0xdb, 0x3f, 0x63, 0x8c, 0x06, 0x1f, 0xf2, 0x18, 0xa1, 0x77, 0x01, 0x36, 0xbc, 0xc0, - 0x8b, 0xb7, 0x18, 0xfb, 0xa1, 0xfe, 0xd9, 0x2b, 0xab, 0x64, 0x59, 0xb1, 0xc1, 0x1a, 0x4b, 0xf4, - 0x12, 0x8c, 0xaa, 0x19, 0xba, 0x52, 0x9f, 0x1e, 0x36, 0x1d, 0x7f, 0xa9, 0xba, 0xaa, 0x63, 0x9d, - 0xce, 0xfe, 0x4a, 0x56, 0x64, 0xc4, 0xc4, 0xd0, 0x46, 0xd8, 0x2a, 0x3b, 0xc2, 0x95, 0x83, 0x47, - 0xd8, 0xfe, 0x2f, 0x55, 0xba, 0x77, 0xd6, 0x2a, 0xeb, 0xc4, 0x25, 0x94, 0xda, 0x1b, 0x54, 0xc3, - 0x3b, 0x09, 0x11, 0xd3, 0xf2, 0x62, 0x3f, 0xf3, 0x46, 0x5f, 0x0f, 0xe8, 0x74, 0xe0, 0x9c, 0xd0, - 0x16, 0xd4, 0x7c, 0x27, 0x66, 0x3b, 0x49, 0x22, 0xa6, 0x63, 0x7f, 0x6c, 0x53, 0x2b, 0xdc, 0x89, - 0x13, 0x6d, 0xc1, 0xe5, 0xb5, 0xa4, 0xcc, 0xe9, 0xf2, 0x44, 0xad, 0x03, 0x79, 0x72, 0xa0, 0x9a, - 0x43, 0x4d, 0x88, 0x5d, 0xcc, 0x71, 0xe8, 0x15, 0x18, 0x8b, 0x08, 0x13, 0x95, 0x45, 0x6a, 0x00, - 0x31, 0xe1, 0x1b, 0x4c, 0x2d, 0x25, 0xac, 0xe1, 0xb0, 0x41, 0x99, 0x1a, 0xca, 0x43, 0x07, 0x18, - 0xca, 0xcf, 0xc0, 0x30, 0xfb, 0xa1, 0xa4, 0x42, 0x7d, 0xa1, 0x15, 0x0e, 0xc6, 0x12, 0x9f, 0x15, - 0xa2, 0x91, 0x92, 0x42, 0xf4, 0x2c, 0x4c, 0xd4, 0x1d, 0xb2, 0x1d, 0x06, 0x4b, 0x81, 0xdb, 0x0e, - 0xbd, 0x20, 0x41, 0xd3, 0x30, 0xc0, 0x96, 0x14, 0x3e, 0xe3, 0x07, 0x28, 0x07, 0x3c, 0x40, 0x8d, - 0x5d, 0xfb, 0xff, 0x59, 0x30, 0x5e, 0x27, 0x3e, 0x49, 0xc8, 0xad, 0x36, 0x73, 0x3f, 0xa0, 0x65, - 0x40, 0x9b, 0x91, 0xd3, 0x22, 0x0d, 0x12, 0x79, 0xa1, 0xdb, 0x24, 0xad, 0x30, 0x60, 0x0e, 0x77, - 0xba, 0x46, 0x9e, 0xd9, 0xdf, 0x9b, 0x45, 0x57, 0xbb, 0xb0, 0x38, 0xa7, 0x04, 0x72, 0x61, 0xbc, - 0x1d, 0x11, 0xc3, 0x5f, 0x62, 0x15, 0xdb, 0xe7, 0x0d, 0xbd, 0x08, 0x37, 0x1f, 0x0d, 0x10, 0x36, - 0x99, 0xa2, 0xcf, 0xc1, 0x54, 0x18, 0xb5, 0xb7, 0x9c, 0xa0, 0x4e, 0xda, 0x24, 0x70, 0xa9, 0xcd, - 0x2c, 0x9c, 0x62, 0xa7, 0xf6, 0xf7, 0x66, 0xa7, 0x6e, 0x65, 0x70, 0xb8, 0x8b, 0xda, 0xfe, 0x95, - 0x0a, 0x9c, 0xae, 0x87, 0xf7, 0x82, 0x7b, 0x4e, 0xe4, 0xce, 0x37, 0x56, 0xb8, 0x21, 0xcc, 0x9c, - 0x8c, 0xd2, 0xb9, 0x69, 0xf5, 0x74, 0x6e, 0x7e, 0x09, 0x46, 0x36, 0x3c, 0xe2, 0xbb, 0x98, 0x6c, - 0x88, 0xee, 0x5d, 0x2e, 0xe3, 0xd1, 0x58, 0xa6, 0x65, 0xa4, 0x57, 0x80, 0xfb, 0x56, 0x97, 0x05, - 0x1b, 0xac, 0x18, 0xa2, 0x0e, 0x4c, 0x49, 0x4b, 0x5f, 0x62, 0xc5, 0xec, 0x78, 0xa1, 0xdc, 0x46, - 0xc2, 0xac, 0x86, 0x8d, 0x07, 0xce, 0x30, 0xc4, 0x5d, 0x55, 0xd0, 0x1d, 0xda, 0x36, 0x5d, 0x1d, - 0x06, 0x98, 0xac, 0xb0, 0x1d, 0x1a, 0xdb, 0x42, 0x32, 0xa8, 0xfd, 0x8f, 0x2d, 0x78, 0xac, 0x6b, - 0xb4, 0xc4, 0xfe, 0xfa, 0x2d, 0xb9, 0xb1, 0xe5, 0xa7, 0x33, 0x05, 0xad, 0xcc, 0x1d, 0xf3, 0x72, - 0x9b, 0xdc, 0x4a, 0x89, 0x4d, 0xee, 0x2d, 0x38, 0xb5, 0xb4, 0xdd, 0x4e, 0x76, 0xeb, 0x9e, 0xe9, - 0x93, 0x7d, 0x19, 0x86, 0xb6, 0x89, 0xeb, 0x75, 0xb6, 0xc5, 0x67, 0x9d, 0x95, 0x8a, 0x74, 0x95, - 0x41, 0x1f, 0xec, 0xcd, 0x8e, 0x37, 0x93, 0x30, 0x72, 0x36, 0x09, 0x07, 0x60, 0x41, 0x6e, 0x7f, - 0x60, 0xc1, 0xa4, 0x9c, 0x50, 0xf3, 0xae, 0x1b, 0x91, 0x38, 0x46, 0x33, 0x50, 0xf1, 0xda, 0x82, - 0x11, 0x08, 0x46, 0x95, 0x95, 0x06, 0xae, 0x78, 0x6d, 0xf4, 0x45, 0xa8, 0x71, 0x57, 0x7e, 0x2a, - 0x1c, 0x7d, 0x1e, 0x0d, 0xb0, 0xdd, 0xc7, 0x9a, 0xe4, 0x81, 0x53, 0x76, 0xd2, 0xb2, 0x64, 0xaa, - 0xba, 0x6a, 0x3a, 0x96, 0xaf, 0x09, 0x38, 0x56, 0x14, 0xe8, 0x02, 0x8c, 0x04, 0xa1, 0xcb, 0x4f, - 0x59, 0xf8, 0xb2, 0xcb, 0x44, 0xee, 0xa6, 0x80, 0x61, 0x85, 0xb5, 0xbf, 0x61, 0xc1, 0x98, 0xec, - 0x63, 0x49, 0x23, 0x97, 0x4e, 0x92, 0xd4, 0xc0, 0x4d, 0x27, 0x09, 0x35, 0x52, 0x19, 0xc6, 0xb0, - 0x4d, 0xab, 0xfd, 0xd8, 0xa6, 0xf6, 0xf7, 0x2b, 0x30, 0x21, 0x9b, 0xd3, 0xec, 0xac, 0xc7, 0x24, - 0x41, 0xef, 0x40, 0xcd, 0xe1, 0x83, 0x4f, 0xa4, 0x9c, 0x3d, 0x5f, 0xb4, 0x43, 0x37, 0xbe, 0x59, - 0x6a, 0x18, 0xcc, 0x4b, 0x3e, 0x38, 0x65, 0x89, 0x76, 0xe0, 0x44, 0x10, 0x26, 0x6c, 0x3d, 0x50, - 0xf8, 0x72, 0x1e, 0xd1, 0x6c, 0x3d, 0x8f, 0x8b, 0x7a, 0x4e, 0xdc, 0xcc, 0xf2, 0xc3, 0xdd, 0x55, - 0xa0, 0x5b, 0xd2, 0x8b, 0x51, 0x65, 0x75, 0x3d, 0x5b, 0xae, 0xae, 0xde, 0x4e, 0x0c, 0xfb, 0x87, - 0x16, 0xd4, 0x24, 0xd9, 0x51, 0xfa, 0xc4, 0xef, 0xc0, 0x70, 0xcc, 0x3e, 0x8d, 0x1c, 0xa6, 0x8b, - 0xe5, 0x9a, 0xce, 0xbf, 0x67, 0xba, 0xf8, 0xf1, 0xff, 0x31, 0x96, 0xdc, 0x98, 0x1b, 0x52, 0x75, - 0xe0, 0xd1, 0x73, 0x43, 0xaa, 0xa6, 0xf5, 0x70, 0x43, 0xfe, 0xb2, 0x05, 0x43, 0xdc, 0x39, 0x54, - 0xce, 0xc3, 0xa6, 0xf9, 0x92, 0x53, 0x8e, 0x6f, 0x52, 0xa0, 0x70, 0x2d, 0xa3, 0x3b, 0x50, 0x63, - 0x3f, 0x96, 0xa3, 0x70, 0x5b, 0x2c, 0x04, 0xcf, 0x96, 0x71, 0x4e, 0x71, 0xc5, 0xc7, 0xb5, 0xc9, - 0x9b, 0x92, 0x01, 0x4e, 0x79, 0xd9, 0x3f, 0xa8, 0xd2, 0x59, 0x9f, 0x92, 0x1a, 0xcb, 0x9a, 0x75, - 0x1c, 0xcb, 0x5a, 0xe5, 0xe8, 0x97, 0xb5, 0xf7, 0x60, 0xb2, 0xa5, 0xf9, 0xe4, 0xd3, 0xc5, 0xf4, - 0x4a, 0x49, 0x77, 0xb3, 0xe6, 0xc8, 0xe7, 0xce, 0x90, 0x45, 0x93, 0x1d, 0xce, 0xf2, 0x47, 0x04, - 0xc6, 0xf8, 0x81, 0xa2, 0xa8, 0x6f, 0xa0, 0x50, 0x66, 0xb9, 0xdf, 0x85, 0x97, 0x50, 0x95, 0xb1, - 0xa0, 0x93, 0xa6, 0xc6, 0x08, 0x1b, 0x6c, 0xed, 0xbf, 0x39, 0x08, 0x83, 0x4b, 0x3b, 0x24, 0x48, - 0x8e, 0x70, 0x96, 0x6f, 0xc3, 0x84, 0x17, 0xec, 0x84, 0xfe, 0x0e, 0x71, 0x39, 0xfe, 0x70, 0x2b, - 0xda, 0x19, 0x51, 0xc9, 0xc4, 0x8a, 0xc1, 0x0c, 0x67, 0x98, 0x1f, 0xc5, 0x7e, 0xf2, 0x0d, 0x18, - 0xe2, 0x12, 0x21, 0x36, 0x93, 0x05, 0x4e, 0x52, 0x36, 0xa0, 0x62, 0xe6, 0xa4, 0xbb, 0x5e, 0xee, - 0x9f, 0x15, 0x8c, 0xd0, 0x5d, 0x98, 0xd8, 0xf0, 0xa2, 0x38, 0xa1, 0x1b, 0xc2, 0x38, 0x71, 0xb6, - 0xdb, 0x87, 0xd9, 0x48, 0xaa, 0x21, 0x59, 0x36, 0x58, 0xe1, 0x0c, 0x6b, 0xb4, 0x05, 0xe3, 0x74, - 0x1f, 0x93, 0xd6, 0x35, 0xdc, 0x7f, 0x5d, 0xca, 0x97, 0x74, 0x43, 0xe7, 0x84, 0x4d, 0xc6, 0x54, - 0x19, 0xb5, 0xd8, 0xc6, 0x67, 0x84, 0x2d, 0xe9, 0x4a, 0x19, 0xf1, 0x1d, 0x0f, 0xc7, 0x51, 0x9d, - 0xc6, 0xce, 0x8f, 0x6b, 0xa6, 0x4e, 0x4b, 0x4f, 0x89, 0xed, 0xef, 0xd2, 0x05, 0x88, 0x8e, 0xe2, - 0x71, 0xe8, 0xee, 0x6b, 0xa6, 0xee, 0x7e, 0xaa, 0xc4, 0xc7, 0xed, 0xa1, 0xb7, 0xbf, 0x0c, 0xa3, - 0xda, 0xb7, 0x47, 0x97, 0xa0, 0xd6, 0x92, 0x47, 0x9d, 0x42, 0x81, 0x2b, 0x03, 0x42, 0x9d, 0x81, - 0xe2, 0x94, 0x86, 0x0e, 0x0c, 0x35, 0xbc, 0xb2, 0x11, 0x11, 0xd4, 0x2c, 0xc3, 0x0c, 0x63, 0xbf, - 0x00, 0xb0, 0x74, 0x9f, 0xb4, 0xe6, 0x5b, 0xec, 0x20, 0x5e, 0x3b, 0x37, 0xb1, 0x7a, 0x9f, 0x9b, - 0xd8, 0x6f, 0xc3, 0xf8, 0xd2, 0x7d, 0xba, 0xb2, 0xcb, 0x6d, 0xda, 0x79, 0x18, 0x22, 0x0c, 0xc0, - 0x5a, 0x35, 0x92, 0x0a, 0x29, 0x27, 0xc3, 0x02, 0xcb, 0x8e, 0xd1, 0xef, 0x3b, 0x62, 0xc2, 0x6a, - 0x5b, 0xde, 0x25, 0x0a, 0xc4, 0x1c, 0x67, 0x7f, 0xc7, 0x82, 0x89, 0xe5, 0x45, 0xc3, 0x4e, 0x9e, - 0x03, 0xe0, 0xf6, 0xe6, 0x9d, 0x3b, 0x37, 0xa5, 0x1f, 0x95, 0x3b, 0xbb, 0x14, 0x14, 0x6b, 0x14, - 0xe8, 0x71, 0xa8, 0xfa, 0x9d, 0x40, 0x98, 0x81, 0xc3, 0xfb, 0x7b, 0xb3, 0xd5, 0x1b, 0x9d, 0x00, - 0x53, 0x98, 0x16, 0xd8, 0x50, 0x2d, 0x1d, 0xd8, 0x50, 0x1c, 0xda, 0xf7, 0xad, 0x2a, 0x4c, 0x2d, - 0xfb, 0xe4, 0xbe, 0xd1, 0xea, 0xf3, 0x30, 0xe4, 0x46, 0xde, 0x0e, 0x89, 0xb2, 0x6e, 0x92, 0x3a, - 0x83, 0x62, 0x81, 0x2d, 0x1d, 0x6b, 0x61, 0xc4, 0x99, 0x54, 0x8f, 0x38, 0xce, 0xa4, 0xb0, 0xcf, - 0x68, 0x03, 0x86, 0x43, 0xfe, 0xfd, 0xa7, 0x07, 0x99, 0xa0, 0xbf, 0x7a, 0x70, 0x63, 0xb2, 0xe3, - 0x33, 0x27, 0xa4, 0x87, 0x1f, 0x7a, 0x2b, 0x65, 0x29, 0xa0, 0x58, 0x32, 0x9f, 0xf9, 0x0c, 0x8c, - 0xe9, 0x94, 0x7d, 0x9d, 0x7e, 0xff, 0x9c, 0x05, 0x27, 0x97, 0xfd, 0xb0, 0x75, 0x37, 0x13, 0x0c, - 0xf3, 0x12, 0x8c, 0xd2, 0xa9, 0x1a, 0x1b, 0x11, 0x62, 0x46, 0x28, 0x9c, 0x40, 0x61, 0x9d, 0x4e, - 0x2b, 0x76, 0xfb, 0xf6, 0x4a, 0x3d, 0x2f, 0x82, 0x4e, 0xa0, 0xb0, 0x4e, 0x67, 0xff, 0x67, 0x0b, - 0x9e, 0xbc, 0xba, 0xb8, 0xd4, 0xa0, 0x6a, 0x24, 0x4e, 0x48, 0x90, 0x74, 0x05, 0xf1, 0x9d, 0x87, - 0xa1, 0xb6, 0xab, 0x35, 0x45, 0x89, 0x40, 0xa3, 0xce, 0x5a, 0x21, 0xb0, 0x8f, 0x4a, 0x24, 0xeb, - 0x2f, 0x5b, 0x70, 0xf2, 0xaa, 0x97, 0x60, 0xd2, 0x0e, 0xb3, 0x71, 0x77, 0x11, 0x69, 0x87, 0xb1, - 0x97, 0x84, 0xd1, 0x6e, 0x36, 0xee, 0x0e, 0x2b, 0x0c, 0xd6, 0xa8, 0x78, 0xcd, 0x3b, 0x1e, 0x55, - 0xb0, 0xa2, 0x53, 0x5a, 0xcd, 0x1c, 0x8e, 0x15, 0x05, 0xed, 0x98, 0xeb, 0x45, 0xcc, 0x16, 0xd9, - 0x15, 0x33, 0x58, 0x75, 0xac, 0x2e, 0x11, 0x38, 0xa5, 0xb1, 0xff, 0xae, 0x05, 0xa7, 0xaf, 0xfa, - 0x9d, 0x38, 0x21, 0xd1, 0x46, 0x6c, 0x34, 0xf6, 0x05, 0xa8, 0x11, 0x69, 0x37, 0x8b, 0xb6, 0xaa, - 0x35, 0x49, 0x19, 0xd4, 0x3c, 0xe8, 0x4f, 0xd1, 0x95, 0x88, 0x31, 0xeb, 0x2f, 0x22, 0xea, 0x5f, - 0x57, 0x60, 0xfc, 0xda, 0xda, 0x5a, 0xe3, 0x2a, 0x49, 0x84, 0x0e, 0x2e, 0x76, 0xf4, 0x34, 0xb4, - 0x5d, 0xee, 0xe8, 0x95, 0xb9, 0x1e, 0xb3, 0xae, 0x93, 0x78, 0xfe, 0x1c, 0x8f, 0xb1, 0x9e, 0x5b, - 0x09, 0x92, 0x5b, 0x51, 0x33, 0x89, 0xbc, 0x60, 0x33, 0x77, 0x57, 0x2c, 0xd7, 0x89, 0x6a, 0xaf, - 0x75, 0x02, 0xbd, 0x00, 0x43, 0x71, 0x6b, 0x8b, 0xa8, 0x4d, 0xfb, 0x47, 0x95, 0x19, 0xc2, 0xa0, - 0x0f, 0xf6, 0x66, 0x6b, 0xb7, 0xf1, 0x0a, 0xff, 0x83, 0x05, 0x29, 0x7a, 0x17, 0x46, 0xb7, 0x92, - 0xa4, 0x7d, 0x8d, 0x38, 0x2e, 0x89, 0xa4, 0x96, 0x28, 0xb0, 0x02, 0xe9, 0x60, 0xf0, 0x02, 0xe9, - 0xc4, 0x4a, 0x61, 0x31, 0xd6, 0x39, 0xda, 0x4d, 0x80, 0x14, 0xf7, 0x90, 0xb6, 0x36, 0xf6, 0x5f, - 0xae, 0xc0, 0xf0, 0x35, 0x27, 0x70, 0x7d, 0x12, 0xa1, 0x65, 0x18, 0x20, 0xf7, 0x49, 0xab, 0x9c, - 0x01, 0x9b, 0x2e, 0xa4, 0xdc, 0x53, 0x45, 0xff, 0x63, 0x56, 0x1e, 0x61, 0x18, 0xa6, 0xed, 0xbe, - 0xaa, 0x02, 0x33, 0x9f, 0x2b, 0x1e, 0x05, 0x25, 0x12, 0x7c, 0x15, 0x16, 0x20, 0x2c, 0x19, 0x31, - 0x9f, 0x4e, 0xab, 0xdd, 0xa4, 0xca, 0x2d, 0x29, 0x17, 0x7b, 0xbd, 0xb6, 0xd8, 0xe0, 0xe4, 0x82, - 0x2f, 0xf7, 0xe9, 0x48, 0x20, 0x4e, 0xd9, 0xd9, 0xaf, 0xc0, 0x29, 0x76, 0x2a, 0xe8, 0x24, 0x5b, - 0xc6, 0x9c, 0x29, 0x14, 0x4e, 0xfb, 0x1f, 0x54, 0xe0, 0xc4, 0x4a, 0x73, 0xb1, 0x69, 0x7a, 0xe3, - 0x5e, 0x81, 0x31, 0xbe, 0x3c, 0x53, 0xa1, 0x73, 0x7c, 0x51, 0x5e, 0xb9, 0xb1, 0xd7, 0x34, 0x1c, - 0x36, 0x28, 0xd1, 0x93, 0x50, 0xf5, 0xde, 0x0b, 0xb2, 0xf1, 0x41, 0x2b, 0x6f, 0xdc, 0xc4, 0x14, - 0x4e, 0xd1, 0x74, 0xa5, 0xe7, 0x2a, 0x4e, 0xa1, 0xd5, 0x6a, 0xff, 0x3a, 0x4c, 0x78, 0x71, 0x2b, - 0xf6, 0x56, 0x02, 0x3a, 0xff, 0x9d, 0x96, 0x14, 0xdf, 0xd4, 0xf6, 0xa7, 0x4d, 0x55, 0x58, 0x9c, - 0xa1, 0xd6, 0xf4, 0xed, 0x60, 0x69, 0x6b, 0xa1, 0x38, 0x42, 0xf3, 0x2b, 0x50, 0x53, 0x91, 0x34, - 0x32, 0x00, 0xca, 0xca, 0x0f, 0x80, 0x2a, 0xa1, 0x70, 0xa4, 0x8f, 0xb4, 0x9a, 0xeb, 0x23, 0xfd, - 0x67, 0x16, 0xa4, 0x41, 0x03, 0x08, 0x43, 0xad, 0x1d, 0xb2, 0x03, 0x88, 0x48, 0x1e, 0xf6, 0x3d, - 0x5d, 0x20, 0x89, 0x7c, 0x26, 0x70, 0x59, 0x69, 0xc8, 0xb2, 0x38, 0x65, 0x83, 0x6e, 0xc0, 0x70, - 0x3b, 0x22, 0xcd, 0x84, 0x85, 0xf9, 0xf6, 0xc1, 0x91, 0x49, 0x75, 0x83, 0x97, 0xc4, 0x92, 0x85, - 0xfd, 0x1b, 0x16, 0xc0, 0x0d, 0x6f, 0xdb, 0x4b, 0xb0, 0x13, 0x6c, 0x92, 0x23, 0xdc, 0x45, 0xde, - 0x84, 0x81, 0xb8, 0x4d, 0x5a, 0xe5, 0x8e, 0x8e, 0xd2, 0x16, 0x35, 0xdb, 0xa4, 0x95, 0x7e, 0x06, - 0xfa, 0x0f, 0x33, 0x3e, 0xf6, 0xaf, 0x02, 0x4c, 0xa4, 0x64, 0xd4, 0x8c, 0x47, 0xcf, 0x1b, 0x71, - 0xad, 0x8f, 0x67, 0xe2, 0x5a, 0x6b, 0x8c, 0x5a, 0x0b, 0x65, 0x4d, 0xa0, 0xba, 0xed, 0xdc, 0x17, - 0xbb, 0x86, 0x97, 0xca, 0x36, 0x88, 0xd6, 0x34, 0xb7, 0xea, 0xdc, 0xe7, 0x66, 0xd4, 0x73, 0x52, - 0x80, 0x56, 0x9d, 0xfb, 0x0f, 0xf8, 0x01, 0x11, 0x9b, 0x81, 0x74, 0x9b, 0xf2, 0xf5, 0xff, 0x9a, - 0xfe, 0x67, 0x4a, 0x91, 0x56, 0xc7, 0x6a, 0xf5, 0x02, 0xe1, 0xea, 0xeb, 0xb3, 0x56, 0x2f, 0xc8, - 0xd6, 0xea, 0x05, 0x25, 0x6a, 0xf5, 0x02, 0xf4, 0xbe, 0x05, 0xc3, 0xc2, 0x43, 0xce, 0xc2, 0xaf, - 0x46, 0xaf, 0x7c, 0xba, 0xaf, 0xaa, 0x85, 0xab, 0x9d, 0x57, 0x7f, 0x49, 0xda, 0x8e, 0x02, 0x5a, - 0xd8, 0x04, 0x59, 0x35, 0xfa, 0xb6, 0x05, 0x13, 0xe2, 0x37, 0x26, 0xef, 0x75, 0x48, 0x9c, 0x88, - 0x55, 0xea, 0x73, 0x87, 0x69, 0x8d, 0x60, 0xc1, 0x1b, 0xf5, 0x29, 0xa9, 0x62, 0x4c, 0x64, 0x61, - 0xdb, 0x32, 0xed, 0x41, 0xdf, 0xb3, 0xe0, 0xd4, 0xb6, 0x73, 0x9f, 0xd7, 0xc8, 0x61, 0xd8, 0x49, - 0xbc, 0x50, 0x84, 0x98, 0x2d, 0xf7, 0x2b, 0x27, 0x5d, 0x8c, 0x78, 0x73, 0x5f, 0x93, 0xc7, 0x96, - 0x79, 0x24, 0x85, 0x8d, 0xce, 0x6d, 0xe1, 0x8c, 0x0b, 0x23, 0x52, 0x30, 0x73, 0xac, 0xf6, 0x05, - 0x7d, 0x31, 0x3e, 0x78, 0x06, 0x4a, 0x07, 0xda, 0xdc, 0x1b, 0x1d, 0x27, 0x48, 0xbc, 0x64, 0x57, - 0xb3, 0xf1, 0x59, 0x2d, 0x42, 0x10, 0x8f, 0xb0, 0x96, 0x2d, 0x18, 0xd3, 0x65, 0xee, 0x08, 0x6b, - 0x0a, 0xe1, 0x64, 0x8e, 0x3c, 0x1d, 0x61, 0x85, 0x1d, 0x78, 0xbc, 0xa7, 0x5c, 0x1c, 0x5d, 0xb5, - 0xf6, 0x0f, 0x2d, 0x5d, 0x61, 0x1e, 0x87, 0x63, 0x66, 0xd5, 0x74, 0xcc, 0x5c, 0x28, 0x3b, 0x75, - 0x7a, 0x78, 0x67, 0x36, 0xf4, 0xf6, 0xd3, 0x95, 0x00, 0xad, 0xc1, 0x90, 0x4f, 0x21, 0xf2, 0x34, - 0xe8, 0x62, 0x3f, 0x93, 0x33, 0x35, 0x2e, 0x18, 0x3c, 0xc6, 0x82, 0x97, 0xfd, 0x9b, 0x16, 0x0c, - 0x1c, 0xc7, 0xf0, 0x34, 0xcc, 0xe1, 0xe9, 0x65, 0xa2, 0x8a, 0xbb, 0x9e, 0x73, 0xd8, 0xb9, 0xb7, - 0x74, 0x3f, 0x21, 0x41, 0xcc, 0x4c, 0xc9, 0xdc, 0x11, 0xfa, 0x95, 0x0a, 0x8c, 0xd2, 0x8a, 0xa4, - 0x9f, 0xe8, 0x55, 0x18, 0xf7, 0x9d, 0x75, 0xe2, 0x4b, 0x77, 0x72, 0x76, 0xdb, 0x75, 0x43, 0x47, - 0x62, 0x93, 0x96, 0x16, 0xde, 0xd0, 0xbd, 0xed, 0xc2, 0x24, 0x52, 0x85, 0x0d, 0x57, 0x3c, 0x36, - 0x69, 0xa9, 0xe5, 0x7f, 0xcf, 0x49, 0x5a, 0x5b, 0x62, 0x4b, 0xa6, 0x9a, 0x7b, 0x87, 0x02, 0x31, - 0xc7, 0xa1, 0x79, 0x98, 0x94, 0x12, 0xfb, 0x26, 0x1f, 0x3a, 0x61, 0x2e, 0xaa, 0x7b, 0x7a, 0xd8, - 0x44, 0xe3, 0x2c, 0x3d, 0xfa, 0x0c, 0x4c, 0xd0, 0xc1, 0x09, 0x3b, 0x89, 0x0c, 0x56, 0x18, 0x64, - 0xc1, 0x0a, 0x2c, 0x38, 0x74, 0xcd, 0xc0, 0xe0, 0x0c, 0xa5, 0xfd, 0x2e, 0x9c, 0xbc, 0x11, 0x3a, - 0xee, 0x82, 0xe3, 0x3b, 0x41, 0x8b, 0x44, 0x2b, 0xc1, 0x66, 0xe1, 0xb9, 0xae, 0x7e, 0xf6, 0x5a, - 0x29, 0x3a, 0x7b, 0xb5, 0x23, 0x40, 0x7a, 0x05, 0x22, 0xcc, 0xe6, 0x6d, 0x18, 0xf6, 0x78, 0x55, - 0x42, 0x6a, 0x2f, 0x17, 0x39, 0x95, 0xba, 0xda, 0xa8, 0x85, 0x8d, 0x70, 0x00, 0x96, 0x2c, 0xe9, - 0x4e, 0x22, 0xcf, 0x0b, 0x55, 0xbc, 0x59, 0xb3, 0xff, 0xaa, 0x05, 0x93, 0x37, 0x33, 0x97, 0xc1, - 0xce, 0xc3, 0x50, 0x4c, 0xa2, 0x1c, 0x97, 0x5a, 0x93, 0x41, 0xb1, 0xc0, 0x3e, 0xf4, 0x6d, 0xfa, - 0x2f, 0x56, 0xa0, 0xc6, 0x62, 0x36, 0xdb, 0x4e, 0xeb, 0x28, 0x8d, 0xd2, 0x55, 0xc3, 0x28, 0x2d, - 0xd8, 0x24, 0xaa, 0x06, 0xf5, 0xb2, 0x49, 0xd1, 0x6d, 0x75, 0x39, 0xaa, 0xd4, 0xfe, 0x30, 0x65, - 0xc8, 0xef, 0xd1, 0x4c, 0x98, 0x77, 0xa9, 0xe4, 0xc5, 0x29, 0x76, 0x1a, 0xaa, 0x68, 0x1f, 0xbd, - 0xd3, 0x50, 0xd5, 0xb4, 0x1e, 0x5a, 0xa9, 0xa1, 0xb5, 0x9e, 0xa9, 0xed, 0xcf, 0xb2, 0x00, 0x3c, - 0xc7, 0xf7, 0xbe, 0x4a, 0xd4, 0x25, 0xc3, 0x59, 0x11, 0x4f, 0x27, 0xa0, 0x0f, 0x98, 0x82, 0x11, - 0xff, 0xf8, 0xdd, 0xd1, 0xb4, 0x88, 0x7d, 0x0d, 0x26, 0x33, 0x63, 0x87, 0x5e, 0x82, 0xc1, 0xf6, - 0x96, 0x13, 0x93, 0x4c, 0x64, 0xc7, 0x60, 0x83, 0x02, 0x1f, 0xec, 0xcd, 0x4e, 0xa8, 0x02, 0x0c, - 0x82, 0x39, 0xb5, 0xfd, 0x27, 0x16, 0x0c, 0xdc, 0x0c, 0xdd, 0xa3, 0x94, 0xb1, 0x6b, 0x86, 0x8c, - 0x9d, 0x2f, 0xbe, 0x71, 0xde, 0x53, 0xbc, 0x1a, 0x19, 0xf1, 0xba, 0x50, 0x82, 0xd7, 0xc1, 0x92, - 0xb5, 0x0d, 0xa3, 0xec, 0x46, 0xbb, 0x08, 0x69, 0x79, 0xc1, 0xd8, 0x40, 0xcd, 0x66, 0x36, 0x50, - 0x93, 0x1a, 0xa9, 0xb6, 0x8d, 0x7a, 0x06, 0x86, 0x45, 0x08, 0x45, 0x36, 0xea, 0x50, 0xd0, 0x62, - 0x89, 0xb7, 0x7f, 0xbd, 0x0a, 0xc6, 0x0d, 0x7a, 0xf4, 0x23, 0x0b, 0xe6, 0x22, 0x7e, 0xe5, 0xc1, - 0xad, 0x77, 0x22, 0x2f, 0xd8, 0x6c, 0xb6, 0xb6, 0x88, 0xdb, 0xf1, 0xbd, 0x60, 0x73, 0x65, 0x33, - 0x08, 0x15, 0x78, 0xe9, 0x3e, 0x69, 0x75, 0x98, 0x77, 0xb5, 0xf4, 0xc5, 0x7d, 0x75, 0x86, 0x7a, - 0x65, 0x7f, 0x6f, 0x76, 0x0e, 0xf7, 0x55, 0x0b, 0xee, 0xb3, 0x55, 0xe8, 0xf7, 0x2d, 0xb8, 0xc4, - 0xef, 0x90, 0x97, 0xef, 0x49, 0xa9, 0x8d, 0x67, 0x43, 0x32, 0x4d, 0xd9, 0xad, 0x91, 0x68, 0x7b, - 0xe1, 0x65, 0x31, 0xc8, 0x97, 0x1a, 0xfd, 0xd5, 0x8a, 0xfb, 0x6d, 0xa6, 0xfd, 0x6f, 0xab, 0x30, - 0x4e, 0xc7, 0x33, 0xbd, 0x3f, 0xfa, 0x92, 0x21, 0x26, 0x1f, 0xcb, 0x88, 0xc9, 0x09, 0x83, 0xf8, - 0xe1, 0x5c, 0x1d, 0x4d, 0xe0, 0x84, 0xef, 0xc4, 0xc9, 0x35, 0xe2, 0x44, 0xc9, 0x3a, 0x71, 0xd8, - 0x81, 0xa5, 0x98, 0x04, 0x7d, 0x1d, 0x82, 0xaa, 0xb8, 0x9c, 0x1b, 0x59, 0x6e, 0xb8, 0xbb, 0x02, - 0x74, 0x0f, 0x10, 0x3b, 0x1d, 0x8d, 0x9c, 0x20, 0xe6, 0x9d, 0xf1, 0x84, 0x43, 0xb6, 0xcf, 0x6a, - 0x67, 0x44, 0xb5, 0xe8, 0x46, 0x17, 0x3b, 0x9c, 0x53, 0x85, 0x76, 0x04, 0x3e, 0x58, 0xf6, 0x08, - 0x7c, 0xa8, 0x20, 0xe0, 0xf7, 0xe7, 0x2d, 0x38, 0x49, 0x3f, 0x8c, 0x19, 0x1c, 0x1a, 0xa3, 0x10, - 0x26, 0x69, 0x0f, 0x7c, 0x92, 0x48, 0x98, 0x98, 0x61, 0x05, 0xb6, 0xb4, 0xc9, 0x27, 0xb5, 0xd8, - 0xae, 0x9b, 0xcc, 0x70, 0x96, 0xbb, 0xfd, 0xeb, 0x16, 0xb0, 0xe8, 0xb3, 0xe3, 0x58, 0xc7, 0xae, - 0x9a, 0xeb, 0x98, 0x5d, 0xac, 0x34, 0x7a, 0x2c, 0x61, 0x2f, 0xc2, 0x14, 0xc5, 0x36, 0xa2, 0xf0, - 0xfe, 0xae, 0x34, 0xae, 0x8b, 0x7d, 0xb3, 0xef, 0x57, 0xf8, 0xcc, 0x51, 0xd7, 0xb7, 0xd0, 0x2f, - 0x58, 0x30, 0xd2, 0x72, 0xda, 0x4e, 0x8b, 0xa7, 0x20, 0x29, 0xe1, 0x87, 0x31, 0xca, 0xcf, 0x2d, - 0x8a, 0xb2, 0xdc, 0x87, 0xf0, 0x49, 0xd9, 0x75, 0x09, 0x2e, 0xf4, 0x1b, 0xa8, 0xca, 0x67, 0x3c, - 0x18, 0x37, 0x98, 0x1d, 0xe1, 0xc6, 0xf3, 0x17, 0x2c, 0xae, 0xf5, 0xd5, 0xe6, 0xe0, 0x1e, 0x9c, - 0x08, 0xb4, 0xff, 0x54, 0x9f, 0x49, 0x5b, 0x78, 0xae, 0xbc, 0x5e, 0x67, 0x6a, 0x50, 0x0b, 0xb4, - 0xcb, 0x30, 0xc4, 0xdd, 0x75, 0xd8, 0xff, 0xd0, 0x82, 0xc7, 0x74, 0x42, 0xed, 0xb6, 0x5d, 0x91, - 0x5f, 0xb8, 0x0e, 0x23, 0x61, 0x9b, 0x44, 0x4e, 0xba, 0x11, 0xba, 0x20, 0x47, 0xff, 0x96, 0x80, - 0x3f, 0xd8, 0x9b, 0x3d, 0xa5, 0x73, 0x97, 0x70, 0xac, 0x4a, 0x22, 0x1b, 0x86, 0xd8, 0xb8, 0xc4, - 0xe2, 0x9e, 0x24, 0x4b, 0xc8, 0xc1, 0x4e, 0x43, 0x62, 0x2c, 0x30, 0xf6, 0x5f, 0xb3, 0xb8, 0xb0, - 0xe9, 0x4d, 0x47, 0x5f, 0x83, 0xa9, 0x6d, 0xba, 0x67, 0x5a, 0xba, 0xdf, 0xa6, 0x2b, 0x29, 0x3b, - 0x05, 0xb6, 0xca, 0xac, 0x1f, 0x3d, 0xba, 0xbb, 0x30, 0x2d, 0x5a, 0x3f, 0xb5, 0x9a, 0x61, 0x8b, - 0xbb, 0x2a, 0xb2, 0xff, 0x40, 0x4c, 0x59, 0x66, 0xbc, 0x3d, 0x03, 0xc3, 0xed, 0xd0, 0x5d, 0x5c, - 0xa9, 0x63, 0x31, 0x56, 0x4a, 0xe7, 0x34, 0x38, 0x18, 0x4b, 0x3c, 0xba, 0x02, 0x40, 0xee, 0x27, - 0x24, 0x0a, 0x1c, 0x5f, 0x9d, 0xde, 0x2a, 0x5b, 0x69, 0x49, 0x61, 0xb0, 0x46, 0x45, 0xcb, 0xb4, - 0xa3, 0x70, 0xc7, 0x73, 0x59, 0xd4, 0x7b, 0xd5, 0x2c, 0xd3, 0x50, 0x18, 0xac, 0x51, 0xd1, 0x9d, - 0x6a, 0x27, 0x88, 0xf9, 0x3a, 0xe6, 0xac, 0x8b, 0x3c, 0x12, 0x23, 0xe9, 0x4e, 0xf5, 0xb6, 0x8e, - 0xc4, 0x26, 0xad, 0xfd, 0x3b, 0x35, 0x80, 0xd4, 0x52, 0x42, 0xef, 0x77, 0xcf, 0xd0, 0x4f, 0x95, - 0x35, 0xb3, 0x1e, 0xde, 0xf4, 0x44, 0xdf, 0xb4, 0x60, 0xd4, 0xf1, 0xfd, 0xb0, 0xe5, 0x24, 0xac, - 0x47, 0x95, 0xb2, 0xba, 0x42, 0xb4, 0x64, 0x3e, 0x2d, 0xcb, 0x1b, 0xf3, 0x82, 0x3c, 0xdc, 0xd3, - 0x30, 0x85, 0xed, 0xd1, 0x9b, 0x80, 0x3e, 0x29, 0x2d, 0x6c, 0xfe, 0x51, 0x66, 0xb2, 0x16, 0x76, - 0x8d, 0x69, 0x48, 0xcd, 0xb8, 0x46, 0xef, 0x1a, 0x29, 0x13, 0x06, 0xca, 0x5c, 0xd1, 0x35, 0x6c, - 0x87, 0xa2, 0x6c, 0x09, 0xe8, 0x8b, 0x7a, 0x40, 0xf0, 0x60, 0x99, 0xfb, 0xaf, 0x9a, 0x09, 0x5b, - 0x10, 0x0c, 0x9c, 0xc0, 0xa4, 0x6b, 0xae, 0x95, 0x22, 0xc2, 0xeb, 0x72, 0x71, 0x0d, 0x99, 0x45, - 0x36, 0x5d, 0x1d, 0x33, 0x08, 0x9c, 0xad, 0x02, 0x7d, 0x91, 0x87, 0x6b, 0xaf, 0x04, 0x1b, 0xa1, - 0x08, 0xf2, 0xba, 0x58, 0xe2, 0x9b, 0xef, 0xc6, 0x09, 0xd9, 0xa6, 0x65, 0xd2, 0xd5, 0xf0, 0xa6, - 0xe0, 0x82, 0x15, 0x3f, 0xb4, 0x06, 0x43, 0xec, 0x72, 0x49, 0x3c, 0x3d, 0x52, 0xc6, 0x5b, 0x66, - 0x5e, 0xab, 0x4c, 0x6d, 0x10, 0xf6, 0x37, 0xc6, 0x82, 0x17, 0xba, 0x26, 0xaf, 0x21, 0xc7, 0x2b, - 0xc1, 0xed, 0x98, 0xb0, 0x6b, 0xc8, 0xb5, 0x85, 0x8f, 0xa7, 0xf7, 0x8a, 0x39, 0x3c, 0x37, 0x49, - 0x94, 0x51, 0x92, 0x9a, 0x22, 0xe2, 0xbf, 0xcc, 0x3d, 0x35, 0x0d, 0x65, 0x1a, 0x6a, 0x66, 0xaa, - 0x4a, 0x07, 0xfb, 0x4d, 0x93, 0x19, 0xce, 0x72, 0x3f, 0xc6, 0x35, 0x70, 0xc6, 0x87, 0xa9, 0xec, - 0x94, 0x3c, 0xc2, 0x15, 0xf7, 0x8f, 0x07, 0x60, 0xc2, 0x14, 0x0c, 0x74, 0x09, 0x6a, 0xdb, 0x2c, - 0x33, 0x54, 0x9a, 0x8f, 0x46, 0xc9, 0xff, 0xaa, 0x44, 0xe0, 0x94, 0x86, 0x65, 0xe6, 0x61, 0xc5, - 0xb5, 0xd0, 0x9b, 0x34, 0x33, 0x8f, 0xc2, 0x60, 0x8d, 0x8a, 0xda, 0xad, 0xeb, 0x61, 0x98, 0x28, - 0xc5, 0xad, 0x64, 0x66, 0x81, 0x41, 0xb1, 0xc0, 0x52, 0x85, 0x7d, 0x97, 0x76, 0xc8, 0x37, 0xdd, - 0x7e, 0x4a, 0x61, 0x5f, 0xd7, 0x91, 0xd8, 0xa4, 0xa5, 0x0b, 0x50, 0x18, 0x33, 0x21, 0x14, 0xd6, - 0x71, 0x1a, 0xca, 0xd4, 0xe4, 0x97, 0xad, 0x24, 0x1e, 0x7d, 0x01, 0x1e, 0x53, 0x77, 0xa3, 0x30, - 0x77, 0xa3, 0xca, 0x1a, 0x87, 0x8c, 0x2d, 0xee, 0x63, 0x8b, 0xf9, 0x64, 0xb8, 0x57, 0x79, 0xf4, - 0x3a, 0x4c, 0x08, 0xcb, 0x56, 0x72, 0x1c, 0x36, 0x4f, 0xba, 0xaf, 0x1b, 0x58, 0x9c, 0xa1, 0x46, - 0x75, 0x98, 0xa2, 0x10, 0x66, 0x51, 0x4a, 0x0e, 0xfc, 0x8e, 0x97, 0x5a, 0x99, 0xaf, 0x67, 0xf0, - 0xb8, 0xab, 0x04, 0x9a, 0x87, 0x49, 0x6e, 0x5b, 0xd0, 0x8d, 0x1c, 0xfb, 0x0e, 0x22, 0x28, 0x53, - 0x4d, 0x82, 0x5b, 0x26, 0x1a, 0x67, 0xe9, 0xd1, 0x2b, 0x30, 0xe6, 0x44, 0xad, 0x2d, 0x2f, 0x21, - 0xad, 0xa4, 0x13, 0xf1, 0x0b, 0xfe, 0x5a, 0xa8, 0xc0, 0xbc, 0x86, 0xc3, 0x06, 0xa5, 0xfd, 0x55, - 0x38, 0x99, 0x13, 0xfb, 0x4d, 0x05, 0xc7, 0x69, 0x7b, 0xb2, 0x4f, 0x99, 0xa0, 0xa4, 0xf9, 0xc6, - 0x8a, 0xec, 0x8d, 0x46, 0x45, 0xa5, 0x93, 0xf9, 0x8f, 0xb5, 0x34, 0x71, 0x4a, 0x3a, 0x97, 0x25, - 0x02, 0xa7, 0x34, 0xf6, 0xff, 0xa8, 0x81, 0xe6, 0x6d, 0x29, 0x11, 0x8a, 0xf2, 0x0a, 0x8c, 0xc9, - 0xcc, 0x87, 0x5a, 0xc6, 0x31, 0xd5, 0xcd, 0xab, 0x1a, 0x0e, 0x1b, 0x94, 0xb4, 0x6d, 0x81, 0xf4, - 0x1d, 0x65, 0x43, 0xa0, 0x94, 0x53, 0x09, 0xa7, 0x34, 0xe8, 0x22, 0x8c, 0xc4, 0xc4, 0xdf, 0xb8, - 0xe1, 0x05, 0x77, 0x85, 0x60, 0x2b, 0xad, 0xdc, 0x14, 0x70, 0xac, 0x28, 0xd0, 0xe7, 0xa0, 0xda, - 0xf1, 0x5c, 0x21, 0xca, 0x73, 0xd2, 0xee, 0xbc, 0xbd, 0x52, 0x7f, 0xb0, 0x37, 0x3b, 0x9b, 0x9f, - 0xce, 0x91, 0xee, 0xa6, 0xe3, 0x39, 0x3a, 0xf9, 0x68, 0xd1, 0x3c, 0x37, 0xfa, 0x50, 0x9f, 0x6e, - 0xf4, 0x2b, 0x00, 0xa2, 0xcf, 0x52, 0x92, 0xab, 0xe9, 0x37, 0xbb, 0xaa, 0x30, 0x58, 0xa3, 0xa2, - 0x7b, 0xf2, 0x56, 0x44, 0x1c, 0xb9, 0x69, 0xe5, 0x81, 0xc9, 0x23, 0x1f, 0x62, 0x4f, 0xbe, 0x98, - 0xe5, 0x86, 0xbb, 0x2b, 0x40, 0x6d, 0x38, 0xe1, 0xd2, 0x79, 0x64, 0xd4, 0x5a, 0x3b, 0x44, 0x38, - 0x34, 0xad, 0xb1, 0x9e, 0xe5, 0x84, 0xbb, 0x99, 0xa3, 0x77, 0x60, 0x46, 0x02, 0xbb, 0x6f, 0x3f, - 0xb2, 0xe9, 0x52, 0x5d, 0x38, 0xbb, 0xbf, 0x37, 0x3b, 0x53, 0xef, 0x49, 0x85, 0x0f, 0xe0, 0x80, - 0xde, 0x86, 0x21, 0x76, 0xf0, 0x12, 0x4f, 0x8f, 0xb2, 0xd5, 0xee, 0xc5, 0xb2, 0x7e, 0xc7, 0x39, - 0x76, 0x7c, 0x23, 0xe2, 0x39, 0xd3, 0xc3, 0x2c, 0x06, 0xc4, 0x82, 0x27, 0x6a, 0xc3, 0xa8, 0x13, - 0x04, 0x61, 0xe2, 0x70, 0x23, 0x6c, 0xac, 0x8c, 0x1d, 0xa9, 0x55, 0x31, 0x9f, 0x96, 0xe5, 0xf5, - 0xa8, 0x20, 0x31, 0x0d, 0x83, 0xf5, 0x2a, 0xe8, 0x32, 0x1e, 0xde, 0xa3, 0x0a, 0x53, 0x9e, 0x3d, - 0xc4, 0xd3, 0xe3, 0x65, 0x96, 0xf1, 0x5b, 0x46, 0x21, 0x4d, 0x83, 0x99, 0xcc, 0x70, 0x96, 0x3b, - 0x9a, 0x33, 0xdc, 0xc9, 0x13, 0x69, 0xb4, 0x72, 0xea, 0x4e, 0xd6, 0xbd, 0xc7, 0xec, 0x66, 0x2d, - 0x8f, 0x50, 0x64, 0x9a, 0x60, 0x32, 0x73, 0xb3, 0x36, 0x45, 0x61, 0x9d, 0x6e, 0xe6, 0xd3, 0x30, - 0xaa, 0x0d, 0x78, 0x3f, 0x61, 0xb1, 0x33, 0xaf, 0xc3, 0x54, 0x76, 0x20, 0xfb, 0x0a, 0xab, 0xfd, - 0x5f, 0x15, 0x98, 0xcc, 0x39, 0xd0, 0xb9, 0xeb, 0xb1, 0xc0, 0x71, 0x43, 0xe5, 0x5d, 0xf7, 0x02, - 0x17, 0x33, 0x8c, 0xa9, 0xb8, 0x2a, 0x25, 0x14, 0x97, 0xd4, 0xa2, 0xd5, 0x9e, 0x5a, 0x54, 0x28, - 0xab, 0x81, 0xc3, 0x2b, 0x2b, 0x73, 0x75, 0x18, 0x2c, 0xb5, 0x3a, 0x3c, 0x04, 0x05, 0x67, 0x2c, - 0x30, 0xc3, 0x25, 0x16, 0x98, 0x07, 0x16, 0x4c, 0x98, 0x92, 0x57, 0x62, 0xc4, 0x1f, 0xd5, 0x01, - 0x9c, 0x63, 0x1b, 0xb1, 0x24, 0x0a, 0x7d, 0x9f, 0x44, 0x22, 0x60, 0x6e, 0x42, 0xec, 0xab, 0x04, - 0x14, 0x6b, 0x14, 0xf6, 0xb7, 0x2b, 0x30, 0x95, 0x46, 0x4f, 0x8b, 0x0c, 0xb0, 0x47, 0x77, 0x42, - 0xb2, 0x66, 0x9c, 0x90, 0x14, 0x25, 0x76, 0xcd, 0xb4, 0xab, 0xe7, 0x69, 0xc9, 0xdb, 0x99, 0xd3, - 0x92, 0x17, 0xfb, 0xe4, 0x7b, 0xf0, 0xc9, 0xc9, 0x3f, 0xaf, 0xc0, 0xe9, 0x6c, 0x91, 0x45, 0xdf, - 0xf1, 0xb6, 0x8f, 0x70, 0x9c, 0xbe, 0x60, 0x8c, 0xd3, 0xcb, 0xfd, 0xf5, 0x87, 0x35, 0xae, 0xe7, - 0x60, 0x39, 0x99, 0xc1, 0xfa, 0xf4, 0x61, 0x98, 0x1f, 0x3c, 0x62, 0xbf, 0x6b, 0xc1, 0xe3, 0xb9, - 0xe5, 0x8e, 0xc3, 0x13, 0xfc, 0x96, 0xe9, 0x09, 0x7e, 0xe1, 0x10, 0xdd, 0xeb, 0xe1, 0x1a, 0xfe, - 0x6f, 0x95, 0x1e, 0xdd, 0x62, 0xde, 0xb2, 0x5b, 0x30, 0xea, 0xb4, 0x5a, 0x24, 0x8e, 0x57, 0x43, - 0x57, 0xa5, 0x24, 0x7a, 0x9e, 0xad, 0x9f, 0x29, 0xf8, 0xc1, 0xde, 0xec, 0x4c, 0x96, 0x45, 0x8a, - 0xc6, 0x3a, 0x07, 0x33, 0xb5, 0x58, 0xe5, 0x88, 0x52, 0x8b, 0x5d, 0x01, 0xd8, 0x51, 0xbb, 0xf4, - 0xac, 0x13, 0x4e, 0xdb, 0xbf, 0x6b, 0x54, 0xe8, 0x1d, 0x66, 0xf5, 0xf2, 0x48, 0x91, 0x81, 0xc2, - 0x09, 0x67, 0x7c, 0x40, 0x3d, 0xec, 0x84, 0x5f, 0x1d, 0x55, 0x1e, 0x4b, 0xc5, 0xd3, 0xfe, 0x6e, - 0x15, 0x3e, 0x7a, 0x80, 0xd8, 0xa1, 0x79, 0xf3, 0x00, 0xf8, 0xb9, 0xac, 0x7b, 0x6a, 0x26, 0xb7, - 0xb0, 0xe1, 0xaf, 0xca, 0x7c, 0xac, 0xca, 0x87, 0xfe, 0x58, 0xdf, 0xd2, 0x9d, 0x89, 0x3c, 0xe2, - 0xf3, 0xea, 0xa1, 0x27, 0xd6, 0x4f, 0xa7, 0xf3, 0xff, 0xeb, 0x16, 0x7c, 0x2c, 0xb7, 0x53, 0x46, - 0x9c, 0xc9, 0x25, 0xa8, 0xb5, 0x28, 0x50, 0xbb, 0x92, 0x93, 0xde, 0xb4, 0x93, 0x08, 0x9c, 0xd2, - 0x18, 0xe1, 0x24, 0x95, 0xc2, 0x70, 0x92, 0xff, 0x60, 0xc1, 0xa9, 0x6c, 0x23, 0x8e, 0x43, 0xeb, - 0x34, 0x4d, 0xad, 0x33, 0xd7, 0xdf, 0xb7, 0xef, 0xa1, 0x70, 0xbe, 0x3d, 0x0e, 0x67, 0xba, 0x16, - 0x2b, 0x3e, 0x8c, 0x3f, 0x6b, 0xc1, 0x89, 0x4d, 0xb6, 0xbf, 0xd0, 0x2e, 0x3e, 0x89, 0x8e, 0x15, - 0xdc, 0x16, 0x3b, 0xf0, 0xbe, 0x14, 0xdf, 0x2d, 0x75, 0x91, 0xe0, 0xee, 0xca, 0xd0, 0x37, 0x2c, - 0x38, 0xe5, 0xdc, 0x8b, 0xbb, 0x9e, 0x13, 0x10, 0x72, 0xf4, 0x7a, 0x81, 0x2b, 0xaf, 0xe0, 0x21, - 0x82, 0x85, 0xe9, 0xfd, 0xbd, 0xd9, 0x53, 0x79, 0x54, 0x38, 0xb7, 0x56, 0xf4, 0xb6, 0x48, 0xc3, - 0x46, 0xcd, 0xbe, 0x52, 0x57, 0xf8, 0xf2, 0xae, 0x61, 0x70, 0x9d, 0x24, 0x31, 0x58, 0x71, 0x44, - 0x5f, 0x86, 0xda, 0xa6, 0xbc, 0xeb, 0x24, 0x94, 0x5e, 0xc1, 0xca, 0x92, 0x7b, 0x35, 0x8a, 0x07, - 0xfb, 0x2b, 0x14, 0x4e, 0x99, 0xa2, 0x6b, 0x50, 0x0d, 0x36, 0x62, 0x71, 0x6d, 0xb9, 0x28, 0x9c, - 0xc8, 0x0c, 0xde, 0xe2, 0x17, 0x31, 0x6f, 0x2e, 0x37, 0x31, 0x65, 0x41, 0x39, 0x45, 0xeb, 0xae, - 0xf0, 0x61, 0x17, 0x70, 0xc2, 0x0b, 0xf5, 0x6e, 0x4e, 0x78, 0xa1, 0x8e, 0x29, 0x0b, 0x16, 0xb7, - 0x18, 0xb7, 0x62, 0x4f, 0x38, 0xa8, 0x0b, 0xee, 0xb4, 0x77, 0x5d, 0x4e, 0xe1, 0x19, 0xf9, 0x18, - 0x18, 0x73, 0x46, 0x68, 0x0d, 0x86, 0x5a, 0x2c, 0x83, 0xb6, 0xf0, 0x1f, 0x14, 0xe5, 0x55, 0xee, - 0xca, 0xb6, 0xcd, 0x0f, 0xd2, 0x38, 0x1c, 0x0b, 0x5e, 0x8c, 0x2b, 0x69, 0x6f, 0x6d, 0xc4, 0xc2, - 0x3f, 0x50, 0xc4, 0xb5, 0x2b, 0x17, 0xba, 0xe0, 0xca, 0xe0, 0x58, 0xf0, 0x42, 0x75, 0xa8, 0x6c, - 0xb4, 0x44, 0x1a, 0xcc, 0x82, 0x1d, 0xad, 0x79, 0xab, 0x76, 0x61, 0x68, 0x7f, 0x6f, 0xb6, 0xb2, - 0xbc, 0x88, 0x2b, 0x1b, 0x2d, 0xf4, 0x16, 0x0c, 0x6f, 0xf0, 0x7b, 0x92, 0x22, 0xe5, 0xe5, 0xe5, - 0xa2, 0xcb, 0x9c, 0x5d, 0x97, 0x2a, 0xf9, 0x85, 0x0e, 0x81, 0xc0, 0x92, 0x1d, 0x7a, 0x07, 0x60, - 0x43, 0xdd, 0xfc, 0x14, 0x39, 0x2f, 0xe7, 0xfa, 0xbb, 0x29, 0x2a, 0x76, 0xcf, 0x0a, 0x8a, 0x35, - 0x8e, 0x54, 0xe6, 0x1d, 0xf9, 0x08, 0x00, 0xcb, 0x77, 0x59, 0x28, 0xf3, 0xb9, 0x6f, 0x06, 0x70, - 0x99, 0x57, 0x28, 0x9c, 0x32, 0x45, 0x1d, 0x18, 0xdf, 0x89, 0xdb, 0x5b, 0x44, 0x4e, 0x7d, 0x96, - 0x04, 0x73, 0xf4, 0xca, 0x6b, 0x05, 0x99, 0x4d, 0x45, 0x11, 0x2f, 0x4a, 0x3a, 0x8e, 0xdf, 0xa5, - 0xc1, 0x58, 0x36, 0xa9, 0x37, 0x75, 0xb6, 0xd8, 0xac, 0x85, 0x7e, 0x92, 0xf7, 0x3a, 0xe1, 0xfa, - 0x6e, 0x42, 0x44, 0x92, 0xcc, 0x82, 0x4f, 0xf2, 0x06, 0x27, 0xee, 0xfe, 0x24, 0x02, 0x81, 0x25, - 0x3b, 0x35, 0x64, 0x4c, 0x1b, 0x4f, 0x95, 0x1e, 0xb2, 0xae, 0x3e, 0xa4, 0x43, 0xc6, 0xb4, 0x6f, - 0xca, 0x94, 0x69, 0xdd, 0xf6, 0x56, 0x98, 0x84, 0x41, 0x46, 0xf7, 0x9f, 0x28, 0xa3, 0x75, 0x1b, - 0x39, 0x25, 0xbb, 0xb5, 0x6e, 0x1e, 0x15, 0xce, 0xad, 0xd5, 0xfe, 0x83, 0xc1, 0xee, 0xf5, 0x96, - 0x99, 0xc3, 0xbf, 0xd4, 0x7d, 0xba, 0xfa, 0xb9, 0xfe, 0xb7, 0x7b, 0x0f, 0xf1, 0x9c, 0xf5, 0x1b, - 0x16, 0x9c, 0x69, 0xe7, 0x2e, 0xa6, 0x62, 0xc1, 0xea, 0x77, 0xd7, 0xc8, 0x07, 0x4c, 0x65, 0x80, - 0xcd, 0xc7, 0xe3, 0x1e, 0x75, 0x66, 0x2d, 0xd0, 0xea, 0x87, 0xb6, 0x40, 0xef, 0xc0, 0x08, 0x33, - 0x9a, 0xd2, 0x14, 0x24, 0x7d, 0x66, 0xed, 0x60, 0x4b, 0xdf, 0xa2, 0x60, 0x81, 0x15, 0x33, 0x3a, - 0x70, 0x4f, 0x66, 0x3b, 0x81, 0x09, 0x43, 0x8b, 0xd4, 0xb5, 0xdc, 0x35, 0xb1, 0x2c, 0x46, 0xe2, - 0xc9, 0xc6, 0x41, 0xc4, 0x0f, 0x8a, 0x08, 0xf0, 0xc1, 0x95, 0x1d, 0xa7, 0x45, 0xfb, 0x4f, 0xac, - 0x1c, 0xfb, 0x8b, 0xef, 0x41, 0x5e, 0x33, 0xf7, 0x20, 0xe7, 0xb3, 0x7b, 0x90, 0x2e, 0x8f, 0x81, - 0xb1, 0xfd, 0x28, 0x9f, 0xbe, 0xb1, 0x6c, 0x8e, 0x14, 0xdb, 0x87, 0x73, 0x45, 0x93, 0x9b, 0xc5, - 0x31, 0xb9, 0xea, 0x50, 0x30, 0x8d, 0x63, 0x72, 0x57, 0xea, 0x98, 0x61, 0xca, 0xde, 0x82, 0xb7, - 0xff, 0x8f, 0x05, 0xd5, 0x46, 0xe8, 0x1e, 0xa1, 0x07, 0xe4, 0xaa, 0xe1, 0x01, 0x79, 0xba, 0xf0, - 0xe9, 0xa3, 0x9e, 0xfe, 0x8e, 0x5b, 0x19, 0x7f, 0xc7, 0x27, 0x8a, 0x59, 0x1d, 0xec, 0xdd, 0xf8, - 0x5e, 0x15, 0xf4, 0xc7, 0x9b, 0xd0, 0x6f, 0x1f, 0x26, 0xb2, 0xb5, 0x5a, 0xee, 0x3d, 0x27, 0x51, - 0x07, 0x0b, 0x80, 0x92, 0xd7, 0xde, 0x7e, 0x6a, 0x03, 0x5c, 0xef, 0x10, 0x6f, 0x73, 0x2b, 0x21, - 0x6e, 0xb6, 0x63, 0xc7, 0x17, 0xe0, 0xfa, 0xdf, 0x2d, 0x98, 0xcc, 0xd4, 0x8e, 0xb6, 0xf3, 0x6e, - 0xce, 0x1c, 0xd6, 0xa5, 0x71, 0xa2, 0xf0, 0xae, 0xcd, 0x1c, 0x80, 0x72, 0xc3, 0x4b, 0xc7, 0x03, - 0x33, 0xc2, 0x94, 0x9f, 0x3e, 0xc6, 0x1a, 0x05, 0x7a, 0x09, 0x46, 0x93, 0xb0, 0x1d, 0xfa, 0xe1, - 0xe6, 0xee, 0x75, 0x22, 0x13, 0x33, 0xa8, 0x23, 0x8c, 0xb5, 0x14, 0x85, 0x75, 0x3a, 0xfb, 0x07, - 0x55, 0xc8, 0xbe, 0xfd, 0xf5, 0xe7, 0x82, 0xfa, 0xd3, 0x23, 0xa8, 0xbf, 0x67, 0xc1, 0x14, 0xad, - 0x9d, 0xc5, 0xaf, 0xc8, 0x30, 0x54, 0x95, 0x75, 0xdd, 0x3a, 0x20, 0xeb, 0xfa, 0x79, 0xaa, 0xee, - 0xdc, 0xb0, 0x23, 0x33, 0x01, 0x69, 0x5a, 0x8c, 0x42, 0xb1, 0xc0, 0x0a, 0x3a, 0x12, 0x45, 0xe2, - 0x8e, 0x8e, 0x4e, 0x47, 0xa2, 0x08, 0x0b, 0xac, 0x4c, 0xca, 0x3e, 0x90, 0x9f, 0x94, 0x9d, 0x27, - 0x4e, 0x12, 0x71, 0x13, 0xc2, 0x0e, 0xd0, 0x12, 0x27, 0xc9, 0x80, 0x8a, 0x94, 0xc6, 0xfe, 0x97, - 0x55, 0x18, 0x6b, 0x84, 0x6e, 0x1a, 0x62, 0xfe, 0xa2, 0x11, 0x62, 0x7e, 0x2e, 0x13, 0x62, 0x3e, - 0xa5, 0xd3, 0x3e, 0x9c, 0x08, 0x73, 0x91, 0x62, 0x8b, 0x3d, 0x1b, 0x70, 0xd8, 0xe8, 0x72, 0x23, - 0xc5, 0x96, 0xe2, 0x84, 0x4d, 0xc6, 0x7f, 0xa6, 0xa2, 0xca, 0xff, 0xc4, 0x82, 0x89, 0x46, 0xe8, - 0x52, 0x11, 0xfd, 0xb3, 0x24, 0x8f, 0x7a, 0x62, 0xae, 0xa1, 0x03, 0x12, 0x73, 0xfd, 0x9a, 0x05, - 0xc3, 0x8d, 0xd0, 0x3d, 0x0e, 0x57, 0xe2, 0xb2, 0xe9, 0x4a, 0xfc, 0x58, 0xa1, 0xf2, 0xed, 0xe1, - 0x3d, 0xfc, 0xcd, 0x2a, 0x8c, 0xd3, 0x26, 0x87, 0x9b, 0xf2, 0x83, 0x19, 0x83, 0x63, 0x95, 0x18, - 0x1c, 0x6a, 0x0e, 0x86, 0xbe, 0x1f, 0xde, 0xcb, 0x7e, 0xbc, 0x65, 0x06, 0xc5, 0x02, 0x8b, 0x2e, - 0xc2, 0x48, 0x3b, 0x22, 0x3b, 0x5e, 0xd8, 0x89, 0xb3, 0x57, 0xfe, 0x1a, 0x02, 0x8e, 0x15, 0x05, - 0x7a, 0x11, 0xc6, 0x62, 0x2f, 0x68, 0x11, 0x19, 0x58, 0x31, 0xc0, 0x02, 0x2b, 0x78, 0xfe, 0x43, - 0x0d, 0x8e, 0x0d, 0x2a, 0xf4, 0x16, 0xd4, 0xd8, 0x7f, 0x36, 0x87, 0x0e, 0x91, 0x29, 0x9e, 0x27, - 0xe7, 0x92, 0x1c, 0x70, 0xca, 0x0c, 0x5d, 0x01, 0x48, 0x64, 0x0c, 0x48, 0x2c, 0xce, 0x4c, 0x95, - 0x71, 0xaa, 0xa2, 0x43, 0x62, 0xac, 0x51, 0xa1, 0xe7, 0xa0, 0x96, 0x38, 0x9e, 0x7f, 0xc3, 0x0b, - 0x48, 0x2c, 0xa2, 0x68, 0x44, 0x1e, 0x5f, 0x01, 0xc4, 0x29, 0x9e, 0xae, 0xf9, 0xec, 0xc2, 0x31, - 0x7f, 0x87, 0x62, 0x84, 0x51, 0xb3, 0x35, 0xff, 0x86, 0x82, 0x62, 0x8d, 0xc2, 0x7e, 0x81, 0xad, - 0xdd, 0x7d, 0x5e, 0x41, 0xf8, 0x49, 0x05, 0x50, 0x83, 0xc5, 0x9a, 0x18, 0x4f, 0x75, 0x6c, 0xc1, - 0x44, 0x4c, 0x6e, 0x78, 0x41, 0xe7, 0xbe, 0x60, 0x55, 0xee, 0xd2, 0x47, 0x73, 0x49, 0x2f, 0xc3, - 0x2f, 0xd9, 0x9a, 0x30, 0x9c, 0xe1, 0x4b, 0x87, 0x24, 0xea, 0x04, 0xf3, 0xf1, 0xed, 0x98, 0x44, - 0xe2, 0xb1, 0x0d, 0x36, 0x24, 0x58, 0x02, 0x71, 0x8a, 0xa7, 0x32, 0xc0, 0xfe, 0xdc, 0x0c, 0x03, - 0x1c, 0x86, 0x89, 0x94, 0x1a, 0x96, 0x79, 0x5d, 0x83, 0x63, 0x83, 0x0a, 0x2d, 0x03, 0x8a, 0x3b, - 0xed, 0xb6, 0xcf, 0x8e, 0xb6, 0x1c, 0xff, 0x6a, 0x14, 0x76, 0xda, 0x3c, 0xdc, 0x58, 0x24, 0x2d, - 0x6f, 0x76, 0x61, 0x71, 0x4e, 0x09, 0x3a, 0xe9, 0x37, 0x62, 0xf6, 0x5b, 0x5c, 0x22, 0xe6, 0x0e, - 0xb6, 0x26, 0x03, 0x61, 0x89, 0xb3, 0x3b, 0x6c, 0xa9, 0x62, 0x8f, 0x20, 0x24, 0x9d, 0x88, 0x20, - 0x02, 0xe3, 0x6d, 0xb6, 0x1c, 0xc9, 0xf3, 0xf5, 0x52, 0x43, 0x99, 0x89, 0x76, 0xe1, 0xc9, 0xce, - 0x75, 0x36, 0xd8, 0xe4, 0x6a, 0xff, 0x27, 0x60, 0xba, 0x46, 0x9c, 0x2a, 0x0e, 0x8b, 0x58, 0x56, - 0x61, 0x8b, 0x7d, 0xbc, 0xcc, 0xab, 0x3f, 0xa9, 0x1e, 0x17, 0x91, 0xb1, 0x58, 0x72, 0x41, 0x5f, - 0xe2, 0x01, 0x02, 0x6c, 0x7e, 0x97, 0x7f, 0x8a, 0x8b, 0xd3, 0x1b, 0x51, 0xda, 0x82, 0x05, 0xd6, - 0xd8, 0xa1, 0x1b, 0x30, 0x2e, 0x32, 0xe5, 0x0b, 0xcf, 0x40, 0xd5, 0xd8, 0x1d, 0x8f, 0x63, 0x1d, - 0xf9, 0x20, 0x0b, 0xc0, 0x66, 0x61, 0xb4, 0x09, 0x4f, 0x6a, 0xcf, 0xe7, 0xe4, 0x44, 0x64, 0x71, - 0xc5, 0xf1, 0xb1, 0xfd, 0xbd, 0xd9, 0x27, 0xd7, 0x0e, 0x22, 0xc4, 0x07, 0xf3, 0x41, 0xb7, 0xe0, - 0xb4, 0xd3, 0x4a, 0xbc, 0x1d, 0x52, 0x27, 0x8e, 0xeb, 0x7b, 0x01, 0x31, 0x6f, 0x98, 0x3f, 0xbe, - 0xbf, 0x37, 0x7b, 0x7a, 0x3e, 0x8f, 0x00, 0xe7, 0x97, 0x43, 0xaf, 0x41, 0xcd, 0x0d, 0x62, 0x31, - 0x06, 0x43, 0xc6, 0x4b, 0x41, 0xb5, 0xfa, 0xcd, 0xa6, 0xea, 0x7f, 0xfa, 0x07, 0xa7, 0x05, 0xd0, - 0x7b, 0xfc, 0x01, 0x63, 0xb5, 0x21, 0xe1, 0x2f, 0x54, 0xbd, 0x5c, 0x6a, 0x0b, 0x6c, 0xdc, 0x02, - 0xe1, 0x4e, 0x33, 0x15, 0xf9, 0x68, 0x5c, 0x10, 0x31, 0xaa, 0x40, 0x9f, 0x07, 0x14, 0x93, 0x68, - 0xc7, 0x6b, 0x91, 0xf9, 0x16, 0xcb, 0xfc, 0xc9, 0x8e, 0xe7, 0x46, 0x8c, 0xf0, 0x7f, 0xd4, 0xec, - 0xa2, 0xc0, 0x39, 0xa5, 0xd0, 0x35, 0xaa, 0x71, 0x74, 0xa8, 0x08, 0x54, 0x95, 0xa6, 0xdd, 0x74, - 0x9d, 0xb4, 0x23, 0xd2, 0x72, 0x12, 0xe2, 0x9a, 0x1c, 0x71, 0xa6, 0x1c, 0x5d, 0x56, 0x54, 0x46, - 0x73, 0x30, 0xc3, 0x2b, 0xbb, 0xb3, 0x9a, 0xd3, 0x9d, 0xd2, 0x56, 0x18, 0x27, 0x37, 0x49, 0x72, - 0x2f, 0x8c, 0xee, 0x32, 0x67, 0xfb, 0x88, 0x96, 0xe9, 0x2c, 0x45, 0x61, 0x9d, 0x8e, 0xda, 0x40, - 0xec, 0x94, 0x67, 0xa5, 0xce, 0x5c, 0xe8, 0x23, 0xe9, 0xdc, 0xb9, 0xc6, 0xc1, 0x58, 0xe2, 0x25, - 0xe9, 0x4a, 0x63, 0x91, 0xb9, 0xc3, 0x33, 0xa4, 0x2b, 0x8d, 0x45, 0x2c, 0xf1, 0x28, 0xec, 0x7e, - 0x8f, 0x69, 0xa2, 0xcc, 0xd1, 0x44, 0xb7, 0x06, 0x2f, 0xf9, 0x24, 0xd3, 0x7d, 0x98, 0x52, 0x6f, - 0x42, 0xf1, 0x14, 0x94, 0xf1, 0xf4, 0x64, 0x99, 0xe7, 0x93, 0x73, 0x33, 0x59, 0xaa, 0xc8, 0xe4, - 0x95, 0x0c, 0x4f, 0xdc, 0x55, 0x8b, 0x91, 0x29, 0x61, 0xaa, 0x30, 0x4b, 0xfd, 0x25, 0xa8, 0xc5, - 0x9d, 0x75, 0x37, 0xdc, 0x76, 0xbc, 0x80, 0xf9, 0xac, 0xf5, 0xc7, 0x80, 0x25, 0x02, 0xa7, 0x34, - 0x33, 0x9f, 0x85, 0x13, 0x5d, 0x32, 0xdd, 0x57, 0x48, 0xdd, 0x2f, 0x0d, 0x40, 0x4d, 0x79, 0x75, - 0xd0, 0x25, 0xd3, 0x71, 0xf7, 0x78, 0xd6, 0x71, 0x37, 0x42, 0x57, 0x5e, 0xdd, 0x57, 0xf7, 0x4e, - 0xce, 0x6b, 0xa0, 0xcf, 0x16, 0x7e, 0xc4, 0xf2, 0x37, 0x5b, 0xfa, 0x78, 0x2b, 0x35, 0x35, 0xeb, - 0x07, 0x0e, 0x34, 0xeb, 0x4b, 0x3e, 0xf6, 0x44, 0x0d, 0xf8, 0x76, 0xe8, 0xae, 0x34, 0xb2, 0x0f, - 0x99, 0x34, 0x28, 0x10, 0x73, 0x1c, 0xb3, 0xbb, 0xa8, 0x52, 0x66, 0x76, 0xd7, 0xf0, 0x61, 0xed, - 0x2e, 0xc9, 0x01, 0xa7, 0xcc, 0xd0, 0x0e, 0x9c, 0x68, 0x99, 0x0f, 0xd3, 0xa8, 0x0b, 0x2b, 0xcf, - 0xf7, 0xf1, 0x30, 0x4c, 0x47, 0x4b, 0xc2, 0xbf, 0x98, 0xe5, 0x87, 0xbb, 0xab, 0xb0, 0x7f, 0xc0, - 0xbd, 0x40, 0x62, 0x5b, 0x48, 0xe2, 0x8e, 0x7f, 0x94, 0x39, 0xb5, 0x6f, 0x19, 0x3b, 0xd5, 0x87, - 0xe0, 0x7f, 0xfc, 0x2d, 0x8b, 0xf9, 0x1f, 0xd7, 0xc8, 0x76, 0xdb, 0x77, 0x92, 0xa3, 0x8c, 0xd6, - 0xfb, 0x12, 0x8c, 0x24, 0xa2, 0x96, 0x72, 0x89, 0xc0, 0xb5, 0x66, 0x31, 0x7f, 0xac, 0x52, 0x04, - 0x12, 0x8a, 0x15, 0x43, 0xfb, 0xdf, 0xf0, 0xaf, 0x20, 0x31, 0xc7, 0xb1, 0xb3, 0xba, 0x69, 0xee, - 0xac, 0x9e, 0x29, 0xdd, 0x99, 0x1e, 0x3b, 0xac, 0xef, 0x9a, 0x5d, 0x60, 0x06, 0xdb, 0xa3, 0xef, - 0x11, 0xb7, 0x57, 0xc1, 0x7c, 0x6c, 0x07, 0xbd, 0xc6, 0x43, 0x55, 0xb9, 0x46, 0x7c, 0xb6, 0xcf, - 0x30, 0x55, 0xfb, 0x37, 0x2a, 0x70, 0x2a, 0xef, 0x0d, 0x7e, 0xe4, 0xc2, 0x58, 0x5b, 0x33, 0x9f, - 0xcb, 0xe5, 0x73, 0xd0, 0x0d, 0xee, 0xd4, 0x74, 0xd1, 0xa1, 0xd8, 0xe0, 0x8a, 0x08, 0x8c, 0x91, - 0x1d, 0xaf, 0xa5, 0xdc, 0x2b, 0x95, 0xfe, 0x55, 0x94, 0xaa, 0x66, 0x49, 0x63, 0x84, 0x0d, 0xb6, - 0x47, 0x90, 0xab, 0xde, 0xfe, 0x47, 0x16, 0x3c, 0xd6, 0x23, 0xe9, 0x03, 0xad, 0xee, 0x1e, 0xf3, - 0x42, 0x8a, 0xc7, 0x9c, 0x54, 0x75, 0xdc, 0x37, 0x89, 0x05, 0x16, 0xad, 0x03, 0x70, 0xdf, 0x22, - 0x7b, 0xe1, 0xb6, 0x52, 0x26, 0x06, 0xa0, 0xeb, 0x66, 0xb5, 0x76, 0xe9, 0x56, 0xbd, 0x69, 0xab, - 0x71, 0xb5, 0xbf, 0x53, 0x85, 0x41, 0xfe, 0xc8, 0x66, 0x03, 0x86, 0xb7, 0x78, 0x8e, 0xc9, 0xfe, - 0x52, 0x5c, 0xa6, 0x76, 0x12, 0x07, 0x60, 0xc9, 0x06, 0xad, 0xc2, 0x49, 0x2f, 0xf0, 0x12, 0xcf, - 0xf1, 0xeb, 0xc4, 0x77, 0x76, 0xa5, 0xe1, 0xcd, 0xf3, 0x8b, 0xcb, 0x54, 0xb8, 0x27, 0x57, 0xba, - 0x49, 0x70, 0x5e, 0x39, 0xf4, 0x7a, 0x57, 0x92, 0x28, 0x9e, 0xbb, 0x53, 0xdd, 0xd5, 0x3a, 0x38, - 0x51, 0x14, 0x7a, 0x15, 0xc6, 0xdb, 0x5d, 0x5b, 0x0c, 0xed, 0x75, 0x46, 0x73, 0x5b, 0x61, 0xd2, - 0xa2, 0x3a, 0x4c, 0xc5, 0x1d, 0x76, 0x22, 0xbb, 0xb6, 0x15, 0x91, 0x78, 0x2b, 0xf4, 0x5d, 0xf1, - 0xaa, 0x98, 0x32, 0xa7, 0x9a, 0x19, 0x3c, 0xee, 0x2a, 0x41, 0xb9, 0x6c, 0x38, 0x9e, 0xdf, 0x89, - 0x48, 0xca, 0x65, 0xc8, 0xe4, 0xb2, 0x9c, 0xc1, 0xe3, 0xae, 0x12, 0xf6, 0x1f, 0x59, 0x70, 0x32, - 0x27, 0x6c, 0x81, 0x47, 0xd3, 0x6d, 0x7a, 0x71, 0xa2, 0xb2, 0x48, 0x6b, 0xd1, 0x74, 0x1c, 0x8e, - 0x15, 0x05, 0x95, 0x42, 0xbe, 0x6f, 0xcc, 0x1e, 0x07, 0x8a, 0x83, 0x59, 0x81, 0xed, 0x2f, 0xe5, - 0x13, 0x3a, 0x07, 0x03, 0x9d, 0x98, 0xc8, 0x17, 0xdf, 0x95, 0x86, 0x62, 0x2e, 0x02, 0x86, 0xa1, - 0x86, 0xc9, 0xa6, 0xda, 0x9d, 0x6b, 0x86, 0x09, 0xdf, 0x9f, 0x73, 0x9c, 0xfd, 0xad, 0x2a, 0x4c, - 0x66, 0xc2, 0x97, 0x68, 0x43, 0xb6, 0xc3, 0xc0, 0x4b, 0x42, 0x95, 0x6d, 0x88, 0xb9, 0x14, 0x16, - 0x49, 0x7b, 0x6b, 0x55, 0xc0, 0xb1, 0xa2, 0x40, 0xe7, 0xcd, 0x17, 0x8f, 0xd3, 0x36, 0x2f, 0xd4, - 0x8d, 0xb7, 0xdc, 0xca, 0x66, 0xb6, 0x7f, 0x0a, 0x06, 0xda, 0xa1, 0x7a, 0x9a, 0x53, 0x09, 0x3d, - 0x5e, 0xa8, 0x37, 0xc2, 0xd0, 0xc7, 0x0c, 0x89, 0x9e, 0x16, 0xbd, 0xcf, 0x38, 0x27, 0xb1, 0xe3, - 0x86, 0xb1, 0x36, 0x04, 0xcf, 0xc0, 0xf0, 0x5d, 0xb2, 0x1b, 0x79, 0xc1, 0x66, 0xd6, 0x35, 0x7b, - 0x9d, 0x83, 0xb1, 0xc4, 0x9b, 0xd9, 0xeb, 0x87, 0x8f, 0x38, 0x7b, 0xfd, 0x48, 0x61, 0x08, 0xe6, - 0xaf, 0x5a, 0x30, 0xc9, 0x52, 0xef, 0x89, 0x6b, 0xb0, 0x5e, 0x18, 0x1c, 0xe1, 0xaa, 0xf8, 0x14, - 0x0c, 0x46, 0xb4, 0xb2, 0x6c, 0xe2, 0x69, 0xd6, 0x02, 0xcc, 0x71, 0xe8, 0x09, 0xf1, 0x70, 0x3c, - 0xfd, 0x7c, 0x63, 0x3c, 0x91, 0x6f, 0xfa, 0x02, 0x3c, 0x0b, 0xf0, 0xc7, 0xa4, 0xed, 0x7b, 0xbc, - 0xb1, 0xa9, 0x27, 0xe6, 0x51, 0x09, 0xf0, 0xcf, 0x6d, 0xdc, 0xc3, 0x0a, 0xf0, 0xcf, 0x67, 0x7e, - 0xb0, 0x09, 0xfa, 0x3f, 0x2b, 0x70, 0x36, 0xb7, 0x5c, 0x7a, 0xac, 0xb3, 0x6c, 0x1c, 0xeb, 0x5c, - 0xc9, 0x1c, 0xeb, 0xd8, 0x07, 0x97, 0x7e, 0x38, 0x07, 0x3d, 0xf9, 0xc7, 0x2f, 0xd5, 0xe3, 0x3c, - 0x7e, 0x19, 0x28, 0x6b, 0x2b, 0x0c, 0x16, 0xd8, 0x0a, 0xbf, 0x6b, 0xc1, 0xe3, 0xb9, 0x63, 0xf6, - 0xe8, 0x5d, 0xa9, 0xc8, 0x6d, 0x66, 0x0f, 0x0b, 0xfa, 0x6f, 0x54, 0x7b, 0x74, 0x8b, 0xd9, 0xd2, - 0x17, 0xa8, 0xde, 0x61, 0xc8, 0x58, 0x98, 0x41, 0x63, 0x5c, 0xe7, 0x70, 0x18, 0x56, 0x58, 0x14, - 0x6b, 0x57, 0x12, 0x78, 0x23, 0x97, 0x0e, 0x39, 0xa5, 0xe6, 0x4c, 0xe7, 0x99, 0x7e, 0x9f, 0x37, - 0x73, 0x4f, 0x01, 0xdd, 0xd1, 0xb6, 0x47, 0xd5, 0xc3, 0x6c, 0x8f, 0xc6, 0xf2, 0xb7, 0x46, 0x68, - 0x1e, 0x26, 0xb7, 0xbd, 0x80, 0x3d, 0x1d, 0x67, 0xda, 0x21, 0xea, 0x16, 0xdc, 0xaa, 0x89, 0xc6, - 0x59, 0xfa, 0x99, 0x57, 0x61, 0xfc, 0xf0, 0x1e, 0x93, 0x0f, 0xaa, 0xf0, 0xd1, 0x03, 0xd4, 0x02, - 0x5f, 0x0f, 0x8c, 0xef, 0xa2, 0xad, 0x07, 0x5d, 0xdf, 0xa6, 0x01, 0xa7, 0x36, 0x3a, 0xbe, 0xbf, - 0xcb, 0xc2, 0x22, 0x88, 0x2b, 0x29, 0x84, 0x8d, 0xa7, 0x1e, 0x75, 0x5d, 0xce, 0xa1, 0xc1, 0xb9, - 0x25, 0xd1, 0xe7, 0x01, 0x85, 0xeb, 0x2c, 0x1f, 0xa5, 0x9b, 0xde, 0x58, 0x66, 0x9f, 0xa0, 0x9a, - 0xce, 0xd5, 0x5b, 0x5d, 0x14, 0x38, 0xa7, 0x14, 0xb5, 0xf8, 0xd8, 0x7b, 0xb0, 0xaa, 0x59, 0x19, - 0x8b, 0x0f, 0xeb, 0x48, 0x6c, 0xd2, 0xa2, 0xab, 0x70, 0xc2, 0xd9, 0x71, 0x3c, 0x9e, 0x6d, 0x46, - 0x32, 0xe0, 0x26, 0x9f, 0x72, 0x49, 0xcc, 0x67, 0x09, 0x70, 0x77, 0x19, 0xd4, 0x36, 0x9c, 0x4c, - 0x3c, 0xff, 0xf4, 0x6b, 0x87, 0x90, 0xe0, 0xd2, 0x6e, 0x27, 0xfb, 0x0f, 0x2d, 0xba, 0xe8, 0xe5, - 0x3c, 0xb5, 0x66, 0xbc, 0x50, 0xae, 0xdd, 0xd2, 0xe8, 0x7e, 0xa1, 0x9c, 0xf9, 0x5f, 0x4d, 0x5a, - 0x2e, 0x1a, 0x71, 0x1a, 0x56, 0x69, 0xd8, 0x97, 0xe2, 0x76, 0x92, 0xa2, 0x40, 0x77, 0x60, 0xd8, - 0xf5, 0x76, 0xbc, 0x38, 0x8c, 0x4a, 0x3c, 0x08, 0xdc, 0x15, 0xaa, 0x97, 0xaa, 0xcb, 0x3a, 0x67, - 0x82, 0x25, 0x37, 0xfb, 0x6f, 0x55, 0x60, 0x5c, 0xd6, 0xf7, 0x46, 0x27, 0x64, 0x3a, 0xec, 0xa8, - 0x96, 0xf2, 0x37, 0x8c, 0xa5, 0xfc, 0x52, 0xb9, 0x2b, 0x5a, 0xac, 0x51, 0x3d, 0x97, 0xf0, 0x2f, - 0x64, 0x96, 0xf0, 0xcb, 0xfd, 0x30, 0x2d, 0xf4, 0x1e, 0x9d, 0x30, 0xe8, 0x1f, 0xa1, 0xfc, 0xc7, - 0x79, 0xdd, 0xe9, 0xb1, 0x70, 0x7c, 0xa7, 0x92, 0xe9, 0x06, 0x5b, 0x30, 0xbe, 0x06, 0x03, 0x5b, - 0x4e, 0xe4, 0x96, 0xcb, 0xb7, 0xd6, 0x55, 0x7c, 0xee, 0x9a, 0x13, 0xb9, 0x5c, 0xed, 0x5f, 0x54, - 0x0f, 0xb5, 0x38, 0x91, 0x5b, 0x18, 0x64, 0xcc, 0x2a, 0x45, 0xaf, 0xc0, 0x50, 0xdc, 0x0a, 0xdb, - 0x2a, 0xaa, 0xeb, 0x1c, 0x7f, 0xc4, 0x85, 0x42, 0x1e, 0xec, 0xcd, 0x22, 0xb3, 0x3a, 0x0a, 0xc6, - 0x82, 0x7e, 0x86, 0x40, 0x4d, 0x55, 0x7d, 0x84, 0xe1, 0xac, 0x1f, 0x54, 0xe1, 0x64, 0x8e, 0xa8, - 0xa0, 0x9f, 0x31, 0x46, 0xed, 0xd5, 0xbe, 0x65, 0xed, 0x43, 0x8e, 0xdb, 0xcf, 0xb0, 0x0d, 0x91, - 0x2b, 0x64, 0xe3, 0x10, 0xd5, 0xdf, 0x8e, 0x49, 0xb6, 0x7a, 0x0a, 0x2a, 0xae, 0x9e, 0x56, 0x7b, - 0x4c, 0x83, 0x4f, 0xab, 0x51, 0xed, 0x3c, 0xc2, 0x6f, 0xfc, 0xfe, 0x00, 0x9c, 0xca, 0xbb, 0x06, - 0x8a, 0x7e, 0xde, 0xca, 0x64, 0x50, 0x7f, 0xbd, 0xff, 0xbb, 0xa4, 0x3c, 0xad, 0xba, 0x48, 0x0f, - 0x31, 0x67, 0xe6, 0x54, 0x2f, 0x1c, 0x6d, 0x51, 0x3b, 0xbb, 0x18, 0x10, 0xf1, 0x64, 0xf8, 0x52, - 0x1f, 0x7c, 0xee, 0x10, 0x4d, 0x11, 0xf9, 0xf4, 0xe3, 0xcc, 0xc5, 0x00, 0x09, 0x2e, 0xbe, 0x18, - 0x20, 0xdb, 0x30, 0xb3, 0x09, 0xa3, 0x5a, 0xbf, 0x8e, 0x50, 0x04, 0x3c, 0xba, 0x26, 0x69, 0xad, - 0x3e, 0x42, 0x31, 0xf8, 0x3b, 0x16, 0x64, 0xc2, 0x35, 0x94, 0xd7, 0xc5, 0xea, 0xe9, 0x75, 0x39, - 0x07, 0x03, 0x51, 0xe8, 0x93, 0x6c, 0x6a, 0x6f, 0x1c, 0xfa, 0x04, 0x33, 0x8c, 0x7a, 0x0e, 0xb2, - 0xda, 0xeb, 0x39, 0x48, 0xba, 0x1d, 0xf7, 0xc9, 0x0e, 0x91, 0x3e, 0x10, 0xa5, 0xbc, 0x6f, 0x50, - 0x20, 0xe6, 0x38, 0xfb, 0x47, 0x55, 0x18, 0xe2, 0x8e, 0x86, 0x23, 0x5c, 0x96, 0x1b, 0x62, 0xcf, - 0x5f, 0xea, 0x42, 0x26, 0x6f, 0xcd, 0x5c, 0xdd, 0x49, 0x1c, 0x2e, 0x50, 0xaa, 0x6f, 0xa9, 0x9f, - 0x00, 0xcd, 0x19, 0xbd, 0x9f, 0xc9, 0x6c, 0x69, 0x81, 0xf3, 0xd0, 0xc6, 0x62, 0x0b, 0x20, 0x66, - 0x2f, 0x83, 0x51, 0x1e, 0x22, 0x29, 0xde, 0x8b, 0xa5, 0xda, 0xd1, 0x54, 0xc5, 0x78, 0x6b, 0xd2, - 0x6c, 0x5c, 0x0a, 0x81, 0x35, 0xde, 0x33, 0x2f, 0x43, 0x4d, 0x11, 0x17, 0x59, 0xfa, 0x63, 0xba, - 0x48, 0xfe, 0x05, 0x98, 0xcc, 0xd4, 0xd5, 0xd7, 0x46, 0xe1, 0xfb, 0x16, 0x9c, 0xe8, 0x7a, 0xc9, - 0x16, 0xbd, 0x6f, 0xc1, 0x29, 0x3f, 0xc7, 0xc3, 0x24, 0x3e, 0xf0, 0x61, 0x7c, 0x53, 0x6a, 0x97, - 0x90, 0x87, 0xc5, 0xb9, 0xb5, 0xc9, 0x34, 0x9f, 0x95, 0xfc, 0x34, 0x9f, 0xec, 0x39, 0x24, 0xde, - 0xf6, 0xe3, 0xb0, 0x80, 0x56, 0x4c, 0x0b, 0xe8, 0xe3, 0x65, 0xc4, 0xa0, 0x87, 0xe9, 0xf3, 0xef, - 0x2d, 0x40, 0x9c, 0x20, 0xfb, 0x42, 0x20, 0xf7, 0xd8, 0x69, 0x36, 0x7b, 0x2a, 0x37, 0x0a, 0x83, - 0x35, 0xaa, 0x3e, 0xb3, 0xbf, 0xab, 0x97, 0xb5, 0xca, 0x3d, 0xdf, 0x5f, 0x2d, 0xf1, 0x7c, 0xff, - 0x6f, 0x55, 0x21, 0x1b, 0xda, 0x80, 0xbe, 0x0c, 0x63, 0x2d, 0xa7, 0xed, 0xac, 0x7b, 0xbe, 0x97, - 0x78, 0x24, 0x2e, 0x77, 0x6c, 0xb4, 0xa8, 0x95, 0x10, 0x3e, 0x5f, 0x0d, 0x82, 0x0d, 0x8e, 0x68, - 0x0e, 0xa0, 0x1d, 0x79, 0x3b, 0x9e, 0x4f, 0x36, 0x99, 0xdd, 0xa1, 0x92, 0xa4, 0x34, 0x14, 0x14, - 0x6b, 0x14, 0x39, 0x31, 0x74, 0xd5, 0xe3, 0x88, 0xa1, 0x1b, 0xe8, 0x33, 0x86, 0x6e, 0xb0, 0x54, - 0x0c, 0x1d, 0x86, 0x33, 0xd2, 0x55, 0x4b, 0xff, 0x2f, 0x7b, 0x3e, 0xe1, 0x79, 0xfd, 0x44, 0xe4, - 0xe3, 0xcc, 0xfe, 0xde, 0xec, 0x19, 0x9c, 0x4b, 0x81, 0x7b, 0x94, 0xb4, 0x3b, 0x70, 0xb2, 0x49, - 0x22, 0x8f, 0xa5, 0x5d, 0x72, 0xd3, 0x19, 0xf8, 0x0e, 0xd4, 0xa2, 0xcc, 0xe4, 0xef, 0xf3, 0x4e, - 0x9a, 0x96, 0xbc, 0x42, 0x4e, 0xf6, 0x94, 0xa5, 0xfd, 0x57, 0x2a, 0x30, 0x2c, 0x42, 0x88, 0x8e, - 0x70, 0x21, 0xb9, 0x6e, 0xec, 0xef, 0x9e, 0x29, 0x9a, 0xb9, 0xac, 0x39, 0x3d, 0x77, 0x76, 0xcd, - 0xcc, 0xce, 0xee, 0xb9, 0x72, 0xec, 0x0e, 0xde, 0xd3, 0xfd, 0xb0, 0x02, 0x13, 0x66, 0x28, 0xd5, - 0x11, 0x0e, 0xc7, 0x5b, 0x30, 0x1c, 0x8b, 0xf8, 0xa2, 0x4a, 0x99, 0x58, 0x8d, 0xec, 0x27, 0x55, - 0x9b, 0x76, 0x19, 0x51, 0x24, 0xd9, 0xe5, 0x86, 0x30, 0x55, 0x8f, 0x23, 0x84, 0xc9, 0xfe, 0x11, - 0x53, 0xa9, 0xfa, 0x00, 0x1e, 0xc7, 0x9a, 0xf0, 0x86, 0xa9, 0x7d, 0x2f, 0x96, 0x12, 0x05, 0xd1, - 0xbe, 0x1e, 0x6b, 0xc3, 0xf7, 0x2c, 0x18, 0x15, 0x84, 0xc7, 0xd1, 0x83, 0xcf, 0x9b, 0x3d, 0x78, - 0xba, 0x54, 0x0f, 0x7a, 0x34, 0xfd, 0xef, 0x55, 0x54, 0xd3, 0x1b, 0xe2, 0xe5, 0xd4, 0xc2, 0x44, - 0x8f, 0x23, 0xed, 0x28, 0x4c, 0xc2, 0x56, 0xe8, 0x8b, 0x55, 0xfe, 0x89, 0x34, 0xea, 0x9c, 0xc3, - 0x1f, 0x68, 0xbf, 0xb1, 0xa2, 0x66, 0xd1, 0xd4, 0x61, 0x94, 0x88, 0x25, 0x2a, 0xef, 0xdd, 0xd6, - 0x75, 0xf9, 0x2e, 0x36, 0x85, 0x89, 0x2b, 0x1b, 0xfd, 0xbe, 0x07, 0x9b, 0xc6, 0x90, 0x2b, 0x4e, - 0x58, 0xe3, 0x2a, 0xc3, 0x1b, 0x59, 0x0d, 0x83, 0xa6, 0x1b, 0xf5, 0xa6, 0x80, 0x63, 0x45, 0x61, - 0xbf, 0xcc, 0x74, 0x2c, 0x1b, 0x9e, 0xfe, 0x02, 0xc3, 0x7f, 0x71, 0x48, 0x0d, 0x2c, 0x73, 0x92, - 0xdc, 0x84, 0x41, 0xda, 0x45, 0xb9, 0x0f, 0x2c, 0xa7, 0xd0, 0x68, 0x13, 0xf4, 0x00, 0xb1, 0x28, - 0x89, 0x31, 0x67, 0x83, 0x48, 0x97, 0xef, 0xfd, 0xe5, 0xd2, 0x3a, 0xb2, 0x0f, 0x6f, 0x3b, 0x4b, - 0x1c, 0xc3, 0x92, 0x65, 0xac, 0x34, 0xb2, 0xc9, 0x39, 0x17, 0x25, 0x02, 0xa7, 0x34, 0xe8, 0x92, - 0x30, 0xd7, 0xcd, 0x67, 0x75, 0xa5, 0xb9, 0x2e, 0x87, 0x44, 0xb3, 0xd7, 0x2f, 0xc3, 0xa8, 0x4a, - 0x4f, 0xde, 0xe0, 0x59, 0xa6, 0x6b, 0xdc, 0x7e, 0x59, 0x4a, 0xc1, 0x58, 0xa7, 0x41, 0x2b, 0x70, - 0xd2, 0x55, 0xd1, 0xac, 0x8d, 0xce, 0xba, 0xef, 0xb5, 0x68, 0x51, 0x7e, 0x93, 0xe4, 0xb1, 0xfd, - 0xbd, 0xd9, 0x93, 0xf5, 0x6e, 0x34, 0xce, 0x2b, 0x83, 0xd6, 0x60, 0x32, 0xe6, 0x69, 0xd8, 0xe5, - 0x9d, 0x33, 0x91, 0xbd, 0xee, 0x59, 0xe9, 0xf4, 0x6f, 0x9a, 0xe8, 0x07, 0x0c, 0xc4, 0x95, 0x82, - 0x00, 0xe1, 0x2c, 0x0b, 0xf4, 0x3a, 0x4c, 0xf8, 0xfa, 0xab, 0x52, 0x0d, 0x11, 0xd4, 0xab, 0x02, - 0x22, 0x8c, 0x37, 0xa7, 0x1a, 0x38, 0x43, 0x8d, 0xde, 0x82, 0x69, 0x1d, 0x22, 0x2e, 0xb5, 0x3b, - 0xc1, 0x26, 0x89, 0x45, 0xfe, 0xe7, 0x27, 0xf6, 0xf7, 0x66, 0xa7, 0x6f, 0xf4, 0xa0, 0xc1, 0x3d, - 0x4b, 0xa3, 0x57, 0x60, 0x4c, 0x8e, 0xa4, 0x16, 0xe0, 0x9b, 0x86, 0xe2, 0x68, 0x38, 0x6c, 0x50, - 0x7e, 0xb8, 0xb3, 0x8d, 0xaf, 0xd1, 0xc2, 0xda, 0xa2, 0x8a, 0xbe, 0x02, 0x63, 0x7a, 0x1b, 0x85, - 0x9a, 0xfc, 0x64, 0xf9, 0x97, 0xba, 0xc4, 0xe2, 0xac, 0x5a, 0xae, 0xe3, 0xb0, 0xc1, 0xdb, 0xbe, - 0x05, 0x43, 0xcd, 0xdd, 0xb8, 0x95, 0xf8, 0x0f, 0xeb, 0x45, 0xe5, 0x16, 0x4c, 0x66, 0x9e, 0x1e, - 0x56, 0x6f, 0x58, 0x5b, 0x0f, 0xeb, 0x0d, 0x6b, 0xfb, 0xeb, 0x16, 0x0c, 0xae, 0x39, 0x5e, 0xf1, - 0xcb, 0x09, 0x65, 0x9a, 0x8c, 0x5e, 0x82, 0x21, 0xb2, 0xb1, 0x41, 0x5a, 0xf2, 0x4d, 0xec, 0x27, - 0xa5, 0x51, 0xb3, 0xc4, 0xa0, 0x74, 0x6a, 0xb2, 0xca, 0xf8, 0x5f, 0x2c, 0x88, 0xed, 0xff, 0x68, - 0x01, 0xac, 0x85, 0xbe, 0x3c, 0xb6, 0x29, 0x68, 0xc9, 0x42, 0xd7, 0x1b, 0x0e, 0xe7, 0x73, 0xde, - 0x70, 0x40, 0x29, 0xc3, 0x9c, 0x17, 0x1c, 0x54, 0x6f, 0xaa, 0xa5, 0x7a, 0x33, 0xd0, 0x4f, 0x6f, - 0xbe, 0x69, 0x81, 0x88, 0xa1, 0x29, 0x21, 0x09, 0xae, 0xcc, 0xbb, 0x6e, 0xa4, 0xab, 0x78, 0xb6, - 0xcc, 0x45, 0x10, 0x91, 0xa4, 0x42, 0xc9, 0xa6, 0x91, 0x9a, 0xc2, 0xe0, 0x4a, 0xf7, 0xf2, 0xa3, - 0x1c, 0xbd, 0xca, 0x2c, 0xc8, 0xe2, 0x76, 0xf5, 0x95, 0x99, 0x8b, 0xa5, 0x25, 0xa7, 0x8c, 0x55, - 0x82, 0x26, 0x3d, 0x2d, 0xb9, 0x44, 0xe0, 0x94, 0x06, 0x3d, 0x03, 0xc3, 0x71, 0x67, 0x9d, 0x91, - 0x67, 0x02, 0x6a, 0x9a, 0x1c, 0x8c, 0x25, 0xde, 0xfe, 0x39, 0x04, 0x46, 0xd7, 0x8c, 0x64, 0x50, - 0xd6, 0x43, 0x4f, 0x06, 0xf5, 0x36, 0x8c, 0x90, 0xed, 0x76, 0xb2, 0x5b, 0xf7, 0xa2, 0x72, 0x89, - 0xf9, 0x96, 0x04, 0x75, 0x37, 0x77, 0x89, 0xc1, 0x8a, 0x63, 0x8f, 0xd4, 0x5e, 0xd5, 0x47, 0x22, - 0xb5, 0xd7, 0xc0, 0x9f, 0x4a, 0x6a, 0xaf, 0xb7, 0x60, 0x78, 0xd3, 0x4b, 0x30, 0x69, 0x87, 0xe2, - 0xe2, 0x5f, 0xc1, 0x79, 0xd8, 0x55, 0x4e, 0xdc, 0x9d, 0xaf, 0x47, 0x20, 0xb0, 0x64, 0x87, 0xd6, - 0x60, 0x88, 0xef, 0x3e, 0x44, 0xb6, 0xac, 0x4f, 0x96, 0xf1, 0xcb, 0x74, 0x27, 0x8e, 0x12, 0x51, - 0x53, 0x82, 0x97, 0x4c, 0xe5, 0x35, 0xfc, 0xe1, 0x53, 0x79, 0xa9, 0x04, 0x5c, 0x23, 0x0f, 0x2b, - 0x01, 0x97, 0x91, 0xc8, 0xac, 0x76, 0x14, 0x89, 0xcc, 0xbe, 0x69, 0xc1, 0xe9, 0x76, 0x5e, 0x1e, - 0x40, 0x91, 0x4a, 0xeb, 0xb3, 0x87, 0xc8, 0x8b, 0x68, 0x54, 0xcd, 0xee, 0x63, 0xe5, 0x92, 0xe1, - 0xfc, 0x8a, 0x65, 0x46, 0xb4, 0xd1, 0x0f, 0x9f, 0x11, 0xed, 0xa8, 0x73, 0x6e, 0xa5, 0xf9, 0xd1, - 0xc6, 0x8f, 0x24, 0x3f, 0xda, 0xc4, 0x43, 0xcc, 0x8f, 0xa6, 0x65, 0x36, 0x9b, 0x7c, 0xb8, 0x99, - 0xcd, 0xb6, 0x60, 0xd4, 0x0d, 0xef, 0x05, 0xf7, 0x9c, 0xc8, 0x9d, 0x6f, 0xac, 0x88, 0x44, 0x5a, - 0x05, 0x49, 0x1b, 0xea, 0x69, 0x01, 0xa3, 0x06, 0xee, 0x80, 0x4c, 0x91, 0x58, 0x67, 0x2d, 0x72, - 0xbc, 0x9d, 0xf8, 0x90, 0x39, 0xde, 0x8c, 0x4c, 0x69, 0xe8, 0x28, 0x32, 0xa5, 0x7d, 0x99, 0x5d, - 0xdd, 0xde, 0xf0, 0x36, 0x57, 0x9d, 0xf6, 0xf4, 0xc9, 0x32, 0x35, 0x2c, 0x4a, 0xf2, 0xee, 0x1a, - 0x14, 0x0a, 0xa7, 0x4c, 0xbb, 0x73, 0xb1, 0x9d, 0x3a, 0xee, 0x5c, 0x6c, 0xa7, 0x8f, 0x30, 0x17, - 0xdb, 0x99, 0x63, 0xcd, 0xc5, 0xf6, 0xd8, 0x9f, 0x4a, 0x2e, 0xb6, 0xbf, 0x04, 0x67, 0x0f, 0xfe, - 0x1c, 0x69, 0xb6, 0xdf, 0x46, 0xea, 0x32, 0xc8, 0x64, 0xfb, 0x65, 0xa6, 0x8e, 0x46, 0x55, 0x3a, - 0x25, 0xd4, 0xbf, 0xb0, 0xe0, 0xb1, 0x1e, 0x89, 0x53, 0x4a, 0xdf, 0x66, 0x68, 0xc3, 0x64, 0xdb, - 0x2c, 0x5a, 0xfa, 0xde, 0x91, 0x91, 0xa8, 0x45, 0xc5, 0xc9, 0x65, 0x10, 0x38, 0xcb, 0x7e, 0xe1, - 0xe3, 0x3f, 0xfe, 0xe0, 0xec, 0x47, 0x7e, 0xf2, 0xc1, 0xd9, 0x8f, 0xfc, 0xfe, 0x07, 0x67, 0x3f, - 0xf2, 0xb3, 0xfb, 0x67, 0xad, 0x1f, 0xef, 0x9f, 0xb5, 0x7e, 0xb2, 0x7f, 0xd6, 0xfa, 0xa3, 0xfd, - 0xb3, 0xd6, 0x37, 0xff, 0xf8, 0xec, 0x47, 0xbe, 0x58, 0xd9, 0xb9, 0xfc, 0xff, 0x03, 0x00, 0x00, - 0xff, 0xff, 0xda, 0x1e, 0x86, 0x19, 0x82, 0xb6, 0x00, 0x00, + 0xe2, 0x76, 0x15, 0x7b, 0x3e, 0xbf, 0x58, 0xd4, 0x09, 0x12, 0x6f, 0xbb, 0xbb, 0x96, 0x17, 0x0f, + 0x26, 0x8f, 0x5b, 0x5b, 0x64, 0xdb, 0xe9, 0x2a, 0x75, 0x39, 0xbf, 0x54, 0x27, 0xf1, 0xfc, 0x4b, + 0x5e, 0x90, 0xc4, 0x49, 0x94, 0x2d, 0x62, 0xff, 0x9e, 0x05, 0xe7, 0xe6, 0xef, 0x34, 0x97, 0x7c, + 0x27, 0x4e, 0xbc, 0xd6, 0x82, 0x1f, 0xb6, 0xee, 0x36, 0x93, 0x30, 0x22, 0x6f, 0x86, 0x7e, 0x67, + 0x9b, 0x34, 0xd9, 0x18, 0xa0, 0x8b, 0x30, 0xb2, 0xc3, 0xfe, 0xaf, 0xd4, 0xa7, 0xad, 0x73, 0xd6, + 0x85, 0xda, 0xc2, 0xd4, 0x8f, 0xf7, 0x66, 0x3f, 0xb2, 0xbf, 0x37, 0x3b, 0xf2, 0xa6, 0x80, 0x63, + 0x45, 0x81, 0xce, 0xc3, 0xd0, 0x46, 0xbc, 0xb6, 0xdb, 0x26, 0xd3, 0x15, 0x46, 0x3b, 0x21, 0x68, + 0x87, 0x96, 0x9b, 0x14, 0x8a, 0x05, 0x16, 0x5d, 0x82, 0x5a, 0xdb, 0x89, 0x12, 0x2f, 0xf1, 0xc2, + 0x60, 0xba, 0x7a, 0xce, 0xba, 0x30, 0xb8, 0x70, 0x42, 0x90, 0xd6, 0x1a, 0x12, 0x81, 0x53, 0x1a, + 0xda, 0x8c, 0x88, 0x38, 0xee, 0xad, 0xc0, 0xdf, 0x9d, 0x1e, 0x38, 0x67, 0x5d, 0x18, 0x49, 0x9b, + 0x81, 0x05, 0x1c, 0x2b, 0x0a, 0xfb, 0x7b, 0x15, 0x18, 0x99, 0xdf, 0xd8, 0xf0, 0x02, 0x2f, 0xd9, + 0x45, 0x5f, 0x86, 0xb1, 0x20, 0x74, 0x89, 0xfc, 0xcf, 0x7a, 0x31, 0x7a, 0xe5, 0xd9, 0xb9, 0x83, + 0xa4, 0x69, 0xee, 0xa6, 0x56, 0x62, 0x61, 0x6a, 0x7f, 0x6f, 0x76, 0x4c, 0x87, 0x60, 0x83, 0x23, + 0x7a, 0x1b, 0x46, 0xdb, 0xa1, 0xab, 0x2a, 0xa8, 0xb0, 0x0a, 0x9e, 0x39, 0xb8, 0x82, 0x46, 0x5a, + 0x60, 0x61, 0x72, 0x7f, 0x6f, 0x76, 0x54, 0x03, 0x60, 0x9d, 0x1d, 0xf2, 0x61, 0x92, 0xfe, 0x0d, + 0x12, 0x4f, 0xd5, 0x50, 0x65, 0x35, 0x3c, 0x5f, 0x5c, 0x83, 0x56, 0x68, 0xe1, 0xe4, 0xfe, 0xde, + 0xec, 0x64, 0x06, 0x88, 0xb3, 0xac, 0xed, 0xaf, 0xc2, 0xc4, 0x7c, 0x92, 0x38, 0xad, 0x2d, 0xe2, + 0xf2, 0xef, 0x8b, 0x5e, 0x84, 0x81, 0xc0, 0xd9, 0x26, 0xe2, 0xeb, 0x9f, 0x13, 0xc3, 0x3e, 0x70, + 0xd3, 0xd9, 0x26, 0x0f, 0xf6, 0x66, 0xa7, 0x6e, 0x07, 0xde, 0x7b, 0x1d, 0x21, 0x33, 0x14, 0x86, + 0x19, 0x35, 0xba, 0x02, 0xe0, 0x92, 0x1d, 0xaf, 0x45, 0x1a, 0x4e, 0xb2, 0x25, 0xa4, 0x01, 0x89, + 0xb2, 0x50, 0x57, 0x18, 0xac, 0x51, 0xd9, 0x5f, 0xb7, 0xa0, 0x36, 0xbf, 0x13, 0x7a, 0x6e, 0x23, + 0x74, 0x63, 0xd4, 0x81, 0xc9, 0x76, 0x44, 0x36, 0x48, 0xa4, 0x40, 0xd3, 0xd6, 0xb9, 0xea, 0x85, + 0xd1, 0x2b, 0x57, 0x0a, 0xfa, 0x6d, 0x16, 0x5a, 0x0a, 0x92, 0x68, 0x77, 0xe1, 0x31, 0x51, 0xf5, + 0x64, 0x06, 0x8b, 0xb3, 0x75, 0xd8, 0x7f, 0xbd, 0x02, 0xa7, 0xe7, 0xbf, 0xda, 0x89, 0x48, 0xdd, + 0x8b, 0xef, 0x66, 0xa7, 0x82, 0xeb, 0xc5, 0x77, 0x6f, 0xa6, 0x83, 0xa1, 0x64, 0xb0, 0x2e, 0xe0, + 0x58, 0x51, 0xa0, 0xe7, 0x61, 0x98, 0xfe, 0xbe, 0x8d, 0x57, 0x44, 0xef, 0x4f, 0x0a, 0xe2, 0xd1, + 0xba, 0x93, 0x38, 0x75, 0x8e, 0xc2, 0x92, 0x06, 0xad, 0xc2, 0x68, 0xcb, 0x69, 0x6d, 0x79, 0xc1, + 0xe6, 0x6a, 0xe8, 0x12, 0xf6, 0x85, 0x6b, 0x0b, 0xcf, 0x51, 0xf2, 0xc5, 0x14, 0xfc, 0x60, 0x6f, + 0x76, 0x9a, 0xb7, 0x4d, 0xb0, 0xd0, 0x70, 0x58, 0x2f, 0x8f, 0x6c, 0x35, 0x11, 0x07, 0x18, 0x27, + 0xc8, 0x99, 0x84, 0x17, 0xb4, 0x39, 0x35, 0xc8, 0xe6, 0xd4, 0x58, 0x8f, 0xf9, 0xf4, 0x4f, 0x2d, + 0x31, 0x26, 0xcb, 0x9e, 0x6f, 0xaa, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x45, 0x24, 0xd1, 0x46, 0x45, + 0x7d, 0xe6, 0xa6, 0xc2, 0x60, 0x8d, 0x8a, 0x4e, 0xfe, 0x78, 0xcb, 0x89, 0x98, 0xb4, 0x88, 0xb1, + 0x51, 0x93, 0xbf, 0x29, 0x11, 0x38, 0xa5, 0x31, 0x26, 0x7f, 0xb5, 0x70, 0xf2, 0xff, 0x2b, 0x0b, + 0x86, 0x17, 0xbc, 0xc0, 0xf5, 0x82, 0x4d, 0xf4, 0x16, 0x8c, 0x6c, 0x93, 0xc4, 0x71, 0x9d, 0xc4, + 0x11, 0xf3, 0xfe, 0xc2, 0xc1, 0xc2, 0x73, 0x6b, 0xfd, 0x2b, 0xa4, 0x95, 0xac, 0x92, 0xc4, 0x49, + 0xbb, 0x91, 0xc2, 0xb0, 0xe2, 0x86, 0x6e, 0xc3, 0x50, 0xe2, 0x44, 0x9b, 0x24, 0x11, 0xd3, 0xfd, + 0xf9, 0x32, 0x7c, 0x31, 0x15, 0x35, 0x12, 0xb4, 0x48, 0xaa, 0x18, 0xd7, 0x18, 0x13, 0x2c, 0x98, + 0xd9, 0x2d, 0x18, 0x5b, 0x74, 0xda, 0xce, 0xba, 0xe7, 0x7b, 0x89, 0x47, 0x62, 0xf4, 0x09, 0xa8, + 0x3a, 0xae, 0xcb, 0x04, 0xbf, 0xb6, 0x70, 0x7a, 0x7f, 0x6f, 0xb6, 0x3a, 0xef, 0xba, 0x0f, 0xf6, + 0x66, 0x41, 0x51, 0xed, 0x62, 0x4a, 0x81, 0x9e, 0x85, 0x01, 0x37, 0x0a, 0xdb, 0xd3, 0x15, 0x46, + 0x79, 0x86, 0xce, 0xd0, 0x7a, 0x14, 0xb6, 0x33, 0xa4, 0x8c, 0xc6, 0xfe, 0x77, 0x15, 0x40, 0x8b, + 0xa4, 0xbd, 0xb5, 0xdc, 0x34, 0xbe, 0xe5, 0x05, 0x18, 0xd9, 0x0e, 0x03, 0x2f, 0x09, 0xa3, 0x58, + 0x54, 0xc8, 0xe4, 0x61, 0x55, 0xc0, 0xb0, 0xc2, 0xa2, 0x73, 0x30, 0xd0, 0x4e, 0xa7, 0xf5, 0x98, + 0x54, 0x09, 0x6c, 0x42, 0x33, 0x0c, 0xa5, 0xe8, 0xc4, 0x24, 0x12, 0x72, 0xac, 0x28, 0x6e, 0xc7, + 0x24, 0xc2, 0x0c, 0x93, 0x4a, 0x0e, 0x95, 0x29, 0x21, 0xa5, 0x19, 0xc9, 0xa1, 0x18, 0xac, 0x51, + 0xa1, 0x77, 0xa1, 0xc6, 0xff, 0x61, 0xb2, 0xc1, 0x44, 0xb6, 0x50, 0x19, 0xdc, 0x08, 0x5b, 0x8e, + 0x9f, 0x1d, 0xfc, 0x71, 0x26, 0x69, 0x92, 0x11, 0x4e, 0x79, 0x1a, 0x92, 0x36, 0x54, 0x28, 0x69, + 0x7f, 0xdb, 0x02, 0xb4, 0xe8, 0x05, 0x2e, 0x89, 0x8e, 0x61, 0xc9, 0xec, 0x6f, 0x12, 0xfc, 0x21, + 0x6d, 0x5a, 0xb8, 0xdd, 0x0e, 0x03, 0x12, 0x24, 0x8b, 0x61, 0xe0, 0xf2, 0x65, 0xf4, 0x33, 0x30, + 0x90, 0xd0, 0xaa, 0x78, 0xb3, 0xce, 0xcb, 0xcf, 0x42, 0x2b, 0x78, 0xb0, 0x37, 0x7b, 0xa6, 0xbb, + 0x04, 0x6b, 0x02, 0x2b, 0x83, 0x3e, 0x0d, 0x43, 0x71, 0xe2, 0x24, 0x9d, 0x58, 0x34, 0xf4, 0x63, + 0xb2, 0xa1, 0x4d, 0x06, 0x7d, 0xb0, 0x37, 0x3b, 0xa9, 0x8a, 0x71, 0x10, 0x16, 0x05, 0xd0, 0x33, + 0x30, 0xbc, 0x4d, 0xe2, 0xd8, 0xd9, 0x94, 0x8a, 0x6d, 0x52, 0x94, 0x1d, 0x5e, 0xe5, 0x60, 0x2c, + 0xf1, 0xe8, 0x29, 0x18, 0x24, 0x51, 0x14, 0x46, 0x42, 0x22, 0xc6, 0x05, 0xe1, 0xe0, 0x12, 0x05, + 0x62, 0x8e, 0xb3, 0x7f, 0xc7, 0x82, 0x49, 0xd5, 0x56, 0x5e, 0xd7, 0x11, 0x4e, 0x75, 0x17, 0xa0, + 0x25, 0x3b, 0x16, 0xb3, 0x09, 0x36, 0x7a, 0xe5, 0x93, 0x07, 0xf3, 0xee, 0x1e, 0xc8, 0xb4, 0x0e, + 0x05, 0x8a, 0xb1, 0xc6, 0xd7, 0xfe, 0xb1, 0x05, 0x27, 0x33, 0x7d, 0xba, 0xe1, 0xc5, 0x09, 0xfa, + 0x8b, 0x5d, 0xfd, 0xba, 0x74, 0x40, 0xdd, 0x9a, 0x1d, 0x3a, 0x47, 0x8b, 0xb3, 0xee, 0x29, 0x41, + 0x91, 0x10, 0xad, 0x73, 0x18, 0x06, 0xbd, 0x84, 0x6c, 0xcb, 0x7e, 0x3d, 0x5f, 0xb2, 0x5f, 0xbc, + 0x81, 0xe9, 0xe7, 0x59, 0xa1, 0x3c, 0x30, 0x67, 0x65, 0xff, 0x6f, 0x0b, 0x6a, 0x8b, 0x61, 0xb0, + 0xe1, 0x6d, 0xae, 0x3a, 0xed, 0x23, 0xfc, 0x30, 0x4d, 0x18, 0x60, 0x5c, 0x79, 0xd3, 0x2f, 0x17, + 0x35, 0x5d, 0x34, 0x68, 0x8e, 0x2e, 0x9e, 0xdc, 0x2a, 0x50, 0x7a, 0x89, 0x82, 0x30, 0x63, 0x36, + 0xf3, 0x32, 0xd4, 0x14, 0x01, 0x9a, 0x82, 0xea, 0x5d, 0xc2, 0x4d, 0xc6, 0x1a, 0xa6, 0x3f, 0xd1, + 0x29, 0x18, 0xdc, 0x71, 0xfc, 0x8e, 0x98, 0xad, 0x98, 0xff, 0xf9, 0x4c, 0xe5, 0x15, 0xcb, 0xfe, + 0x81, 0x05, 0xa7, 0x54, 0x25, 0xd7, 0xc9, 0x6e, 0x93, 0xf8, 0xa4, 0x95, 0x84, 0x11, 0x7a, 0xdf, + 0x82, 0x53, 0x7e, 0x8e, 0x1e, 0x12, 0xa3, 0x71, 0x18, 0x0d, 0xf6, 0x84, 0x68, 0xf8, 0xa9, 0x3c, + 0x2c, 0xce, 0xad, 0x0d, 0x3d, 0xc9, 0xfb, 0xc2, 0x27, 0xef, 0xa8, 0x60, 0x50, 0xbd, 0x4e, 0x76, + 0x59, 0xc7, 0x68, 0xf3, 0xc7, 0x55, 0xf3, 0x8f, 0x43, 0xf2, 0x6e, 0x98, 0x92, 0xf7, 0x89, 0x92, + 0x9f, 0xaf, 0x87, 0xcc, 0xfd, 0xfd, 0x0a, 0x9c, 0x56, 0x34, 0x86, 0x3a, 0x7e, 0x44, 0x86, 0xbf, + 0xbf, 0xee, 0x5e, 0x27, 0xbb, 0x6b, 0x21, 0x5d, 0x4f, 0xf3, 0xbb, 0x8b, 0x2e, 0xc3, 0xa8, 0x4b, + 0x36, 0x9c, 0x8e, 0x9f, 0x28, 0x73, 0x71, 0x90, 0xef, 0x23, 0xea, 0x29, 0x18, 0xeb, 0x34, 0xf6, + 0x6f, 0xd7, 0xd8, 0xac, 0x4c, 0x1c, 0x2f, 0x20, 0x11, 0x5d, 0xa0, 0x35, 0xab, 0x7e, 0x4c, 0xb7, + 0xea, 0x85, 0x05, 0xff, 0x14, 0x0c, 0x7a, 0xdb, 0x54, 0x65, 0x57, 0x4c, 0x4d, 0xbc, 0x42, 0x81, + 0x98, 0xe3, 0xd0, 0xd3, 0x30, 0xdc, 0x0a, 0xb7, 0xb7, 0x9d, 0xc0, 0x9d, 0xae, 0x32, 0x93, 0x61, + 0x94, 0x6a, 0xf5, 0x45, 0x0e, 0xc2, 0x12, 0x87, 0x9e, 0x80, 0x01, 0x27, 0xda, 0x8c, 0xa7, 0x07, + 0x18, 0xcd, 0x08, 0xad, 0x69, 0x3e, 0xda, 0x8c, 0x31, 0x83, 0x52, 0x53, 0xe0, 0x5e, 0x18, 0xdd, + 0xf5, 0x82, 0xcd, 0xba, 0x17, 0xb1, 0x75, 0x5d, 0x33, 0x05, 0xee, 0x28, 0x0c, 0xd6, 0xa8, 0x50, + 0x03, 0x06, 0xdb, 0x61, 0x94, 0xc4, 0xd3, 0x43, 0x6c, 0x38, 0x9f, 0x2b, 0x94, 0x1e, 0xde, 0xef, + 0x46, 0x18, 0x25, 0x69, 0x57, 0xe8, 0xbf, 0x18, 0x73, 0x46, 0x68, 0x11, 0xaa, 0x24, 0xd8, 0x99, + 0x1e, 0x66, 0xfc, 0x3e, 0x7e, 0x30, 0xbf, 0xa5, 0x60, 0xe7, 0x4d, 0x27, 0x4a, 0x67, 0xd1, 0x52, + 0xb0, 0x83, 0x69, 0x69, 0xd4, 0x82, 0x9a, 0x74, 0x1f, 0xc4, 0xd3, 0x23, 0x65, 0x04, 0x0c, 0x0b, + 0x72, 0x4c, 0xde, 0xeb, 0x78, 0x11, 0xd9, 0x26, 0x41, 0x12, 0xa7, 0xf6, 0xb0, 0xc4, 0xc6, 0x38, + 0xe5, 0x8b, 0x5a, 0x30, 0xc6, 0xcd, 0x87, 0xd5, 0xb0, 0x13, 0x24, 0xf1, 0x74, 0x8d, 0x35, 0xb9, + 0x60, 0xc3, 0xf9, 0x66, 0x5a, 0x62, 0xe1, 0x94, 0x60, 0x3f, 0xa6, 0x01, 0x63, 0x6c, 0x30, 0x45, + 0x6f, 0xc3, 0xb8, 0xef, 0xed, 0x90, 0x80, 0xc4, 0x71, 0x23, 0x0a, 0xd7, 0xc9, 0x34, 0xb0, 0xde, + 0x3c, 0x55, 0xb4, 0xf9, 0x0a, 0xd7, 0xc9, 0xc2, 0x89, 0xfd, 0xbd, 0xd9, 0xf1, 0x1b, 0x7a, 0x69, + 0x6c, 0x32, 0x43, 0xef, 0xc2, 0x04, 0xb5, 0x55, 0xbc, 0x94, 0xfd, 0x68, 0x79, 0xf6, 0x68, 0x7f, + 0x6f, 0x76, 0x02, 0x1b, 0xc5, 0x71, 0x86, 0x1d, 0x5a, 0x83, 0x9a, 0xef, 0x6d, 0x90, 0xd6, 0x6e, + 0xcb, 0x27, 0xd3, 0x63, 0x8c, 0x77, 0xc1, 0x94, 0xbb, 0x21, 0xc9, 0xb9, 0x7d, 0xa8, 0xfe, 0xe2, + 0x94, 0x11, 0x7a, 0x13, 0xce, 0x24, 0x24, 0xda, 0xf6, 0x02, 0x87, 0x2e, 0xda, 0xc2, 0x78, 0x61, + 0x3b, 0xdc, 0x71, 0x26, 0xb5, 0x67, 0xc5, 0xc0, 0x9e, 0x59, 0xcb, 0xa5, 0xc2, 0x3d, 0x4a, 0xa3, + 0x5b, 0x30, 0xc9, 0xe6, 0x53, 0xa3, 0xe3, 0xfb, 0x8d, 0xd0, 0xf7, 0x5a, 0xbb, 0xd3, 0x13, 0x8c, + 0xe1, 0xd3, 0x72, 0xdf, 0xba, 0x62, 0xa2, 0xa9, 0x5d, 0x9f, 0xfe, 0xc3, 0xd9, 0xd2, 0xc8, 0x87, + 0xc9, 0x98, 0xb4, 0x3a, 0x91, 0x97, 0xec, 0x52, 0xd9, 0x27, 0xf7, 0x93, 0xe9, 0xc9, 0x32, 0xfb, + 0x94, 0xa6, 0x59, 0x88, 0x3b, 0x0d, 0x32, 0x40, 0x9c, 0x65, 0x4d, 0x55, 0x45, 0x9c, 0xb8, 0x5e, + 0x30, 0x3d, 0xc5, 0x0c, 0x53, 0x35, 0xbf, 0x9a, 0x14, 0x88, 0x39, 0x8e, 0x6d, 0xfb, 0xe8, 0x8f, + 0x5b, 0x54, 0xf7, 0x9e, 0x60, 0x84, 0xe9, 0xb6, 0x4f, 0x22, 0x70, 0x4a, 0x43, 0x17, 0xac, 0x24, + 0xd9, 0x9d, 0x46, 0x8c, 0x54, 0x4d, 0xb5, 0xb5, 0xb5, 0x2f, 0x60, 0x0a, 0xb7, 0xd7, 0x61, 0x42, + 0x4d, 0x6b, 0x36, 0x3a, 0x68, 0x16, 0x06, 0xa9, 0xe6, 0x92, 0xbb, 0x97, 0x1a, 0x6d, 0x02, 0x55, + 0x68, 0x31, 0xe6, 0x70, 0xd6, 0x04, 0xef, 0xab, 0x64, 0x61, 0x37, 0x21, 0xdc, 0x8a, 0xad, 0x6a, + 0x4d, 0x90, 0x08, 0x9c, 0xd2, 0xd8, 0xff, 0x97, 0x2f, 0x8a, 0xa9, 0xee, 0x28, 0xa1, 0x37, 0x2f, + 0xc2, 0xc8, 0x56, 0x18, 0x27, 0x94, 0x9a, 0xd5, 0x31, 0x98, 0xae, 0x82, 0xd7, 0x04, 0x1c, 0x2b, + 0x0a, 0xf4, 0x2a, 0x8c, 0xb7, 0xf4, 0x0a, 0x84, 0x2a, 0x3f, 0x2d, 0x8a, 0x98, 0xb5, 0x63, 0x93, + 0x16, 0xbd, 0x02, 0x23, 0xcc, 0x95, 0xd7, 0x0a, 0x7d, 0x61, 0x2f, 0xcb, 0x95, 0x69, 0xa4, 0x21, + 0xe0, 0x0f, 0xb4, 0xdf, 0x58, 0x51, 0xd3, 0x5d, 0x07, 0x6d, 0xc2, 0x4a, 0x43, 0xa8, 0x5b, 0xb5, + 0xeb, 0xb8, 0xc6, 0xa0, 0x58, 0x60, 0xed, 0x5f, 0xab, 0x68, 0xa3, 0x4c, 0x8d, 0x3e, 0x82, 0xbe, + 0x08, 0xc3, 0xf7, 0x1c, 0x2f, 0xf1, 0x82, 0x4d, 0xb1, 0x82, 0xbe, 0x50, 0x52, 0xf7, 0xb2, 0xe2, + 0x77, 0x78, 0x51, 0xbe, 0x4e, 0x88, 0x3f, 0x58, 0x32, 0xa4, 0xbc, 0xa3, 0x4e, 0x10, 0x50, 0xde, + 0x95, 0xfe, 0x79, 0x63, 0x5e, 0x94, 0xf3, 0x16, 0x7f, 0xb0, 0x64, 0x88, 0x36, 0x00, 0xe4, 0xec, + 0x23, 0xae, 0x70, 0xa1, 0x7d, 0xaa, 0x1f, 0xf6, 0x6b, 0xaa, 0xf4, 0xc2, 0x04, 0x5d, 0x99, 0xd2, + 0xff, 0x58, 0xe3, 0x6c, 0x77, 0x98, 0x21, 0xd2, 0xdd, 0x2c, 0xf4, 0x36, 0x9d, 0x00, 0x4e, 0x94, + 0x10, 0x77, 0x3e, 0x11, 0x43, 0xf7, 0x5c, 0x49, 0x83, 0x6a, 0xcd, 0xdb, 0x26, 0xfa, 0x6c, 0x11, + 0x5c, 0x70, 0xca, 0xd0, 0xfe, 0x7e, 0x15, 0xa6, 0x7b, 0xb5, 0x97, 0xca, 0x24, 0xb9, 0xef, 0x25, + 0x8b, 0xd4, 0x56, 0xb0, 0x4c, 0x99, 0x5c, 0x12, 0x70, 0xac, 0x28, 0xa8, 0x70, 0xc4, 0xde, 0x66, + 0xe0, 0xf8, 0x42, 0x7e, 0x95, 0x70, 0x34, 0x19, 0x14, 0x0b, 0x2c, 0xa5, 0x8b, 0x88, 0x13, 0x0b, + 0x17, 0xae, 0x26, 0x44, 0x98, 0x41, 0xb1, 0xc0, 0xea, 0xdb, 0xbf, 0x81, 0x82, 0xed, 0x9f, 0x31, + 0x46, 0x83, 0x0f, 0x79, 0x8c, 0xd0, 0xbb, 0x00, 0x1b, 0x5e, 0xe0, 0xc5, 0x5b, 0x8c, 0xfd, 0x50, + 0xff, 0xec, 0x95, 0x55, 0xb2, 0xac, 0xd8, 0x60, 0x8d, 0x25, 0x7a, 0x09, 0x46, 0xd5, 0x0c, 0x5d, + 0xa9, 0x4f, 0x0f, 0x9b, 0x8e, 0xbf, 0x54, 0x5d, 0xd5, 0xb1, 0x4e, 0x67, 0x7f, 0x25, 0x2b, 0x32, + 0x62, 0x62, 0x68, 0x23, 0x6c, 0x95, 0x1d, 0xe1, 0xca, 0xc1, 0x23, 0x6c, 0xff, 0x97, 0x2a, 0xdd, + 0x3b, 0x6b, 0x95, 0x75, 0xe2, 0x12, 0x4a, 0xed, 0x0d, 0xaa, 0xe1, 0x9d, 0x84, 0x88, 0x69, 0x79, + 0xb1, 0x9f, 0x79, 0xa3, 0xaf, 0x07, 0x74, 0x3a, 0x70, 0x4e, 0x68, 0x0b, 0x6a, 0xbe, 0x13, 0xb3, + 0x9d, 0x24, 0x11, 0xd3, 0xb1, 0x3f, 0xb6, 0xa9, 0x15, 0xee, 0xc4, 0x89, 0xb6, 0xe0, 0xf2, 0x5a, + 0x52, 0xe6, 0x74, 0x79, 0xa2, 0xd6, 0x81, 0x3c, 0x39, 0x50, 0xcd, 0xa1, 0x26, 0xc4, 0x2e, 0xe6, + 0x38, 0xf4, 0x0a, 0x8c, 0x45, 0x84, 0x89, 0xca, 0x22, 0x35, 0x80, 0x98, 0xf0, 0x0d, 0xa6, 0x96, + 0x12, 0xd6, 0x70, 0xd8, 0xa0, 0x4c, 0x0d, 0xe5, 0xa1, 0x03, 0x0c, 0xe5, 0x67, 0x60, 0x98, 0xfd, + 0x50, 0x52, 0xa1, 0xbe, 0xd0, 0x0a, 0x07, 0x63, 0x89, 0xcf, 0x0a, 0xd1, 0x48, 0x49, 0x21, 0x7a, + 0x16, 0x26, 0xea, 0x0e, 0xd9, 0x0e, 0x83, 0xa5, 0xc0, 0x6d, 0x87, 0x5e, 0x90, 0xa0, 0x69, 0x18, + 0x60, 0x4b, 0x0a, 0x9f, 0xf1, 0x03, 0x94, 0x03, 0x1e, 0xa0, 0xc6, 0xae, 0xfd, 0xff, 0x2c, 0x18, + 0xaf, 0x13, 0x9f, 0x24, 0xe4, 0x56, 0x9b, 0xb9, 0x1f, 0xd0, 0x32, 0xa0, 0xcd, 0xc8, 0x69, 0x91, + 0x06, 0x89, 0xbc, 0xd0, 0x6d, 0x92, 0x56, 0x18, 0x30, 0x87, 0x3b, 0x5d, 0x23, 0xcf, 0xec, 0xef, + 0xcd, 0xa2, 0xab, 0x5d, 0x58, 0x9c, 0x53, 0x02, 0xb9, 0x30, 0xde, 0x8e, 0x88, 0xe1, 0x2f, 0xb1, + 0x8a, 0xed, 0xf3, 0x86, 0x5e, 0x84, 0x9b, 0x8f, 0x06, 0x08, 0x9b, 0x4c, 0xd1, 0xe7, 0x60, 0x2a, + 0x8c, 0xda, 0x5b, 0x4e, 0x50, 0x27, 0x6d, 0x12, 0xb8, 0xd4, 0x66, 0x16, 0x4e, 0xb1, 0x53, 0xfb, + 0x7b, 0xb3, 0x53, 0xb7, 0x32, 0x38, 0xdc, 0x45, 0x6d, 0xff, 0x4a, 0x05, 0x4e, 0xd7, 0xc3, 0x7b, + 0xc1, 0x3d, 0x27, 0x72, 0xe7, 0x1b, 0x2b, 0xdc, 0x10, 0x66, 0x4e, 0x46, 0xe9, 0xdc, 0xb4, 0x7a, + 0x3a, 0x37, 0xbf, 0x04, 0x23, 0x1b, 0x1e, 0xf1, 0x5d, 0x4c, 0x36, 0x44, 0xf7, 0x2e, 0x97, 0xf1, + 0x68, 0x2c, 0xd3, 0x32, 0xd2, 0x2b, 0xc0, 0x7d, 0xab, 0xcb, 0x82, 0x0d, 0x56, 0x0c, 0x51, 0x07, + 0xa6, 0xa4, 0xa5, 0x2f, 0xb1, 0x62, 0x76, 0xbc, 0x50, 0x6e, 0x23, 0x61, 0x56, 0xc3, 0xc6, 0x03, + 0x67, 0x18, 0xe2, 0xae, 0x2a, 0xe8, 0x0e, 0x6d, 0x9b, 0xae, 0x0e, 0x03, 0x4c, 0x56, 0xd8, 0x0e, + 0x8d, 0x6d, 0x21, 0x19, 0xd4, 0xfe, 0xc7, 0x16, 0x3c, 0xd6, 0x35, 0x5a, 0x62, 0x7f, 0xfd, 0x96, + 0xdc, 0xd8, 0xf2, 0xd3, 0x99, 0x82, 0x56, 0xe6, 0x8e, 0x79, 0xb9, 0x4d, 0x6e, 0xa5, 0xc4, 0x26, + 0xf7, 0x16, 0x9c, 0x5a, 0xda, 0x6e, 0x27, 0xbb, 0x75, 0xcf, 0xf4, 0xc9, 0xbe, 0x0c, 0x43, 0xdb, + 0xc4, 0xf5, 0x3a, 0xdb, 0xe2, 0xb3, 0xce, 0x4a, 0x45, 0xba, 0xca, 0xa0, 0x0f, 0xf6, 0x66, 0xc7, + 0x9b, 0x49, 0x18, 0x39, 0x9b, 0x84, 0x03, 0xb0, 0x20, 0xb7, 0x3f, 0xb0, 0x60, 0x52, 0x4e, 0xa8, + 0x79, 0xd7, 0x8d, 0x48, 0x1c, 0xa3, 0x19, 0xa8, 0x78, 0x6d, 0xc1, 0x08, 0x04, 0xa3, 0xca, 0x4a, + 0x03, 0x57, 0xbc, 0x36, 0xfa, 0x22, 0xd4, 0xb8, 0x2b, 0x3f, 0x15, 0x8e, 0x3e, 0x8f, 0x06, 0xd8, + 0xee, 0x63, 0x4d, 0xf2, 0xc0, 0x29, 0x3b, 0x69, 0x59, 0x32, 0x55, 0x5d, 0x35, 0x1d, 0xcb, 0xd7, + 0x04, 0x1c, 0x2b, 0x0a, 0x74, 0x01, 0x46, 0x82, 0xd0, 0xe5, 0xa7, 0x2c, 0x7c, 0xd9, 0x65, 0x22, + 0x77, 0x53, 0xc0, 0xb0, 0xc2, 0xda, 0xdf, 0xb0, 0x60, 0x4c, 0xf6, 0xb1, 0xa4, 0x91, 0x4b, 0x27, + 0x49, 0x6a, 0xe0, 0xa6, 0x93, 0x84, 0x1a, 0xa9, 0x0c, 0x63, 0xd8, 0xa6, 0xd5, 0x7e, 0x6c, 0x53, + 0xfb, 0xfb, 0x15, 0x98, 0x90, 0xcd, 0x69, 0x76, 0xd6, 0x63, 0x92, 0xa0, 0x77, 0xa0, 0xe6, 0xf0, + 0xc1, 0x27, 0x52, 0xce, 0x9e, 0x2f, 0xda, 0xa1, 0x1b, 0xdf, 0x2c, 0x35, 0x0c, 0xe6, 0x25, 0x1f, + 0x9c, 0xb2, 0x44, 0x3b, 0x70, 0x22, 0x08, 0x13, 0xb6, 0x1e, 0x28, 0x7c, 0x39, 0x8f, 0x68, 0xb6, + 0x9e, 0xc7, 0x45, 0x3d, 0x27, 0x6e, 0x66, 0xf9, 0xe1, 0xee, 0x2a, 0xd0, 0x2d, 0xe9, 0xc5, 0xa8, + 0xb2, 0xba, 0x9e, 0x2d, 0x57, 0x57, 0x6f, 0x27, 0x86, 0xfd, 0x43, 0x0b, 0x6a, 0x92, 0xec, 0x28, + 0x7d, 0xe2, 0x77, 0x60, 0x38, 0x66, 0x9f, 0x46, 0x0e, 0xd3, 0xc5, 0x72, 0x4d, 0xe7, 0xdf, 0x33, + 0x5d, 0xfc, 0xf8, 0xff, 0x18, 0x4b, 0x6e, 0xcc, 0x0d, 0xa9, 0x3a, 0xf0, 0xe8, 0xb9, 0x21, 0x55, + 0xd3, 0x7a, 0xb8, 0x21, 0x7f, 0xd9, 0x82, 0x21, 0xee, 0x1c, 0x2a, 0xe7, 0x61, 0xd3, 0x7c, 0xc9, + 0x29, 0xc7, 0x37, 0x29, 0x50, 0xb8, 0x96, 0xd1, 0x1d, 0xa8, 0xb1, 0x1f, 0xcb, 0x51, 0xb8, 0x2d, + 0x16, 0x82, 0x67, 0xcb, 0x38, 0xa7, 0xb8, 0xe2, 0xe3, 0xda, 0xe4, 0x4d, 0xc9, 0x00, 0xa7, 0xbc, + 0xec, 0x1f, 0x54, 0xe9, 0xac, 0x4f, 0x49, 0x8d, 0x65, 0xcd, 0x3a, 0x8e, 0x65, 0xad, 0x72, 0xf4, + 0xcb, 0xda, 0x7b, 0x30, 0xd9, 0xd2, 0x7c, 0xf2, 0xe9, 0x62, 0x7a, 0xa5, 0xa4, 0xbb, 0x59, 0x73, + 0xe4, 0x73, 0x67, 0xc8, 0xa2, 0xc9, 0x0e, 0x67, 0xf9, 0x23, 0x02, 0x63, 0xfc, 0x40, 0x51, 0xd4, + 0x37, 0x50, 0x28, 0xb3, 0xdc, 0xef, 0xc2, 0x4b, 0xa8, 0xca, 0x58, 0xd0, 0x49, 0x53, 0x63, 0x84, + 0x0d, 0xb6, 0xf6, 0xdf, 0x1c, 0x84, 0xc1, 0xa5, 0x1d, 0x12, 0x24, 0x47, 0x38, 0xcb, 0xb7, 0x61, + 0xc2, 0x0b, 0x76, 0x42, 0x7f, 0x87, 0xb8, 0x1c, 0x7f, 0xb8, 0x15, 0xed, 0x8c, 0xa8, 0x64, 0x62, + 0xc5, 0x60, 0x86, 0x33, 0xcc, 0x8f, 0x62, 0x3f, 0xf9, 0x06, 0x0c, 0x71, 0x89, 0x10, 0x9b, 0xc9, + 0x02, 0x27, 0x29, 0x1b, 0x50, 0x31, 0x73, 0xd2, 0x5d, 0x2f, 0xf7, 0xcf, 0x0a, 0x46, 0xe8, 0x2e, + 0x4c, 0x6c, 0x78, 0x51, 0x9c, 0xd0, 0x0d, 0x61, 0x9c, 0x38, 0xdb, 0xed, 0xc3, 0x6c, 0x24, 0xd5, + 0x90, 0x2c, 0x1b, 0xac, 0x70, 0x86, 0x35, 0xda, 0x82, 0x71, 0xba, 0x8f, 0x49, 0xeb, 0x1a, 0xee, + 0xbf, 0x2e, 0xe5, 0x4b, 0xba, 0xa1, 0x73, 0xc2, 0x26, 0x63, 0xaa, 0x8c, 0x5a, 0x6c, 0xe3, 0x33, + 0xc2, 0x96, 0x74, 0xa5, 0x8c, 0xf8, 0x8e, 0x87, 0xe3, 0xa8, 0x4e, 0x63, 0xe7, 0xc7, 0x35, 0x53, + 0xa7, 0xa5, 0xa7, 0xc4, 0xf6, 0x77, 0xe9, 0x02, 0x44, 0x47, 0xf1, 0x38, 0x74, 0xf7, 0x35, 0x53, + 0x77, 0x3f, 0x55, 0xe2, 0xe3, 0xf6, 0xd0, 0xdb, 0x5f, 0x86, 0x51, 0xed, 0xdb, 0xa3, 0x4b, 0x50, + 0x6b, 0xc9, 0xa3, 0x4e, 0xa1, 0xc0, 0x95, 0x01, 0xa1, 0xce, 0x40, 0x71, 0x4a, 0x43, 0x07, 0x86, + 0x1a, 0x5e, 0xd9, 0x88, 0x08, 0x6a, 0x96, 0x61, 0x86, 0xb1, 0x5f, 0x00, 0x58, 0xba, 0x4f, 0x5a, + 0xf3, 0x2d, 0x76, 0x10, 0xaf, 0x9d, 0x9b, 0x58, 0xbd, 0xcf, 0x4d, 0xec, 0xb7, 0x61, 0x7c, 0xe9, + 0x3e, 0x5d, 0xd9, 0xe5, 0x36, 0xed, 0x3c, 0x0c, 0x11, 0x06, 0x60, 0xad, 0x1a, 0x49, 0x85, 0x94, + 0x93, 0x61, 0x81, 0x65, 0xc7, 0xe8, 0xf7, 0x1d, 0x31, 0x61, 0xb5, 0x2d, 0xef, 0x12, 0x05, 0x62, + 0x8e, 0xb3, 0xbf, 0x63, 0xc1, 0xc4, 0xf2, 0xa2, 0x61, 0x27, 0xcf, 0x01, 0x70, 0x7b, 0xf3, 0xce, + 0x9d, 0x9b, 0xd2, 0x8f, 0xca, 0x9d, 0x5d, 0x0a, 0x8a, 0x35, 0x0a, 0xf4, 0x38, 0x54, 0xfd, 0x4e, + 0x20, 0xcc, 0xc0, 0xe1, 0xfd, 0xbd, 0xd9, 0xea, 0x8d, 0x4e, 0x80, 0x29, 0x4c, 0x0b, 0x6c, 0xa8, + 0x96, 0x0e, 0x6c, 0x28, 0x0e, 0xed, 0xfb, 0x56, 0x15, 0xa6, 0x96, 0x7d, 0x72, 0xdf, 0x68, 0xf5, + 0x79, 0x18, 0x72, 0x23, 0x6f, 0x87, 0x44, 0x59, 0x37, 0x49, 0x9d, 0x41, 0xb1, 0xc0, 0x96, 0x8e, + 0xb5, 0x30, 0xe2, 0x4c, 0xaa, 0x47, 0x1c, 0x67, 0x52, 0xd8, 0x67, 0xb4, 0x01, 0xc3, 0x21, 0xff, + 0xfe, 0xd3, 0x83, 0x4c, 0xd0, 0x5f, 0x3d, 0xb8, 0x31, 0xd9, 0xf1, 0x99, 0x13, 0xd2, 0xc3, 0x0f, + 0xbd, 0x95, 0xb2, 0x14, 0x50, 0x2c, 0x99, 0xcf, 0x7c, 0x06, 0xc6, 0x74, 0xca, 0xbe, 0x4e, 0xbf, + 0x7f, 0xce, 0x82, 0x93, 0xcb, 0x7e, 0xd8, 0xba, 0x9b, 0x09, 0x86, 0x79, 0x09, 0x46, 0xe9, 0x54, + 0x8d, 0x8d, 0x08, 0x31, 0x23, 0x14, 0x4e, 0xa0, 0xb0, 0x4e, 0xa7, 0x15, 0xbb, 0x7d, 0x7b, 0xa5, + 0x9e, 0x17, 0x41, 0x27, 0x50, 0x58, 0xa7, 0xb3, 0xff, 0xb3, 0x05, 0x4f, 0x5e, 0x5d, 0x5c, 0x6a, + 0x50, 0x35, 0x12, 0x27, 0x24, 0x48, 0xba, 0x82, 0xf8, 0xce, 0xc3, 0x50, 0xdb, 0xd5, 0x9a, 0xa2, + 0x44, 0xa0, 0x51, 0x67, 0xad, 0x10, 0xd8, 0x47, 0x25, 0x92, 0xf5, 0x97, 0x2d, 0x38, 0x79, 0xd5, + 0x4b, 0x30, 0x69, 0x87, 0xd9, 0xb8, 0xbb, 0x88, 0xb4, 0xc3, 0xd8, 0x4b, 0xc2, 0x68, 0x37, 0x1b, + 0x77, 0x87, 0x15, 0x06, 0x6b, 0x54, 0xbc, 0xe6, 0x1d, 0x8f, 0x2a, 0x58, 0xd1, 0x29, 0xad, 0x66, + 0x0e, 0xc7, 0x8a, 0x82, 0x76, 0xcc, 0xf5, 0x22, 0x66, 0x8b, 0xec, 0x8a, 0x19, 0xac, 0x3a, 0x56, + 0x97, 0x08, 0x9c, 0xd2, 0xd8, 0x7f, 0xd7, 0x82, 0xd3, 0x57, 0xfd, 0x4e, 0x9c, 0x90, 0x68, 0x23, + 0x36, 0x1a, 0xfb, 0x02, 0xd4, 0x88, 0xb4, 0x9b, 0x45, 0x5b, 0xd5, 0x9a, 0xa4, 0x0c, 0x6a, 0x1e, + 0xf4, 0xa7, 0xe8, 0x4a, 0xc4, 0x98, 0xf5, 0x17, 0x11, 0xf5, 0xaf, 0x2b, 0x30, 0x7e, 0x6d, 0x6d, + 0xad, 0x71, 0x95, 0x24, 0x42, 0x07, 0x17, 0x3b, 0x7a, 0x1a, 0xda, 0x2e, 0x77, 0xf4, 0xca, 0x5c, + 0x8f, 0x59, 0xd7, 0x49, 0x3c, 0x7f, 0x8e, 0xc7, 0x58, 0xcf, 0xad, 0x04, 0xc9, 0xad, 0xa8, 0x99, + 0x44, 0x5e, 0xb0, 0x99, 0xbb, 0x2b, 0x96, 0xeb, 0x44, 0xb5, 0xd7, 0x3a, 0x81, 0x5e, 0x80, 0x21, + 0x16, 0xe2, 0x2d, 0x6d, 0x9b, 0x8f, 0x2a, 0x33, 0x84, 0x41, 0x1f, 0xec, 0xcd, 0xd6, 0x6e, 0xe3, + 0x15, 0xfe, 0x07, 0x0b, 0x52, 0xf4, 0x2e, 0x8c, 0x6e, 0x25, 0x49, 0xfb, 0x1a, 0x71, 0x5c, 0x12, + 0x49, 0x2d, 0x51, 0x60, 0x05, 0xd2, 0xc1, 0xe0, 0x05, 0xd2, 0x89, 0x95, 0xc2, 0x62, 0xac, 0x73, + 0xb4, 0x9b, 0x00, 0x29, 0xee, 0x21, 0x6d, 0x6d, 0xec, 0xbf, 0x5c, 0x81, 0xe1, 0x6b, 0x4e, 0xe0, + 0xfa, 0x24, 0x42, 0xcb, 0x30, 0x40, 0xee, 0x93, 0x56, 0x39, 0x03, 0x36, 0x5d, 0x48, 0xb9, 0xa7, + 0x8a, 0xfe, 0xc7, 0xac, 0x3c, 0xc2, 0x30, 0x4c, 0xdb, 0x7d, 0x55, 0x05, 0x66, 0x3e, 0x57, 0x3c, + 0x0a, 0x4a, 0x24, 0xf8, 0x2a, 0x2c, 0x40, 0x58, 0x32, 0x62, 0x3e, 0x9d, 0x56, 0xbb, 0x49, 0x95, + 0x5b, 0x52, 0x2e, 0xf6, 0x7a, 0x6d, 0xb1, 0xc1, 0xc9, 0x05, 0x5f, 0xee, 0xd3, 0x91, 0x40, 0x9c, + 0xb2, 0xb3, 0x5f, 0x81, 0x53, 0xec, 0x54, 0xd0, 0x49, 0xb6, 0x8c, 0x39, 0x53, 0x28, 0x9c, 0xf6, + 0x3f, 0xa8, 0xc0, 0x89, 0x95, 0xe6, 0x62, 0xd3, 0xf4, 0xc6, 0xbd, 0x02, 0x63, 0x7c, 0x79, 0xa6, + 0x42, 0xe7, 0xf8, 0xa2, 0xbc, 0x72, 0x63, 0xaf, 0x69, 0x38, 0x6c, 0x50, 0xa2, 0x27, 0xa1, 0xea, + 0xbd, 0x17, 0x64, 0xe3, 0x83, 0x56, 0xde, 0xb8, 0x89, 0x29, 0x9c, 0xa2, 0xe9, 0x4a, 0xcf, 0x55, + 0x9c, 0x42, 0xab, 0xd5, 0xfe, 0x75, 0x98, 0xf0, 0xe2, 0x56, 0xec, 0xad, 0x04, 0x74, 0xfe, 0x3b, + 0x2d, 0x29, 0xbe, 0xa9, 0xed, 0x4f, 0x9b, 0xaa, 0xb0, 0x38, 0x43, 0xad, 0xe9, 0xdb, 0xc1, 0xd2, + 0xd6, 0x42, 0x71, 0x84, 0xe6, 0x57, 0xa0, 0xa6, 0x22, 0x69, 0x64, 0x00, 0x94, 0x95, 0x1f, 0x00, + 0x55, 0x42, 0xe1, 0x48, 0x1f, 0x69, 0x35, 0xd7, 0x47, 0xfa, 0xcf, 0x2c, 0x48, 0x83, 0x06, 0x10, + 0x86, 0x5a, 0x3b, 0x64, 0x07, 0x10, 0x91, 0x3c, 0xec, 0x7b, 0xba, 0x40, 0x12, 0xf9, 0x4c, 0xe0, + 0xb2, 0xd2, 0x90, 0x65, 0x71, 0xca, 0x06, 0xdd, 0x80, 0xe1, 0x76, 0x44, 0x9a, 0x09, 0x0b, 0xf3, + 0xed, 0x83, 0x23, 0x93, 0xea, 0x06, 0x2f, 0x89, 0x25, 0x0b, 0xfb, 0x37, 0x2c, 0x80, 0x1b, 0xde, + 0xb6, 0x97, 0x60, 0x27, 0xd8, 0x24, 0x47, 0xb8, 0x8b, 0xbc, 0x09, 0x03, 0x71, 0x9b, 0xb4, 0xca, + 0x1d, 0x1d, 0xa5, 0x2d, 0x6a, 0xb6, 0x49, 0x2b, 0xfd, 0x0c, 0xf4, 0x1f, 0x66, 0x7c, 0xec, 0x5f, + 0x05, 0x98, 0x48, 0xc9, 0xa8, 0x19, 0x8f, 0x9e, 0x37, 0xe2, 0x5a, 0x1f, 0xcf, 0xc4, 0xb5, 0xd6, + 0x18, 0xb5, 0x16, 0xca, 0x9a, 0x40, 0x75, 0xdb, 0xb9, 0x2f, 0x76, 0x0d, 0x2f, 0x95, 0x6d, 0x10, + 0xad, 0x69, 0x6e, 0xd5, 0xb9, 0xcf, 0xcd, 0xa8, 0xe7, 0xa4, 0x00, 0xad, 0x3a, 0xf7, 0x1f, 0xf0, + 0x03, 0x22, 0x36, 0x03, 0xe9, 0x36, 0xe5, 0xeb, 0xff, 0x35, 0xfd, 0xcf, 0x94, 0x22, 0xad, 0x8e, + 0xd5, 0xea, 0x05, 0xc2, 0xd5, 0xd7, 0x67, 0xad, 0x5e, 0x90, 0xad, 0xd5, 0x0b, 0x4a, 0xd4, 0xea, + 0x05, 0xe8, 0x7d, 0x0b, 0x86, 0x85, 0x87, 0x9c, 0x85, 0x5f, 0x8d, 0x5e, 0xf9, 0x74, 0x5f, 0x55, + 0x0b, 0x57, 0x3b, 0xaf, 0xfe, 0x92, 0xb4, 0x1d, 0x05, 0xb4, 0xb0, 0x09, 0xb2, 0x6a, 0xf4, 0x6d, + 0x0b, 0x26, 0xc4, 0x6f, 0x4c, 0xde, 0xeb, 0x90, 0x38, 0x11, 0xab, 0xd4, 0xe7, 0x0e, 0xd3, 0x1a, + 0xc1, 0x82, 0x37, 0xea, 0x53, 0x52, 0xc5, 0x98, 0xc8, 0xc2, 0xb6, 0x65, 0xda, 0x83, 0xbe, 0x67, + 0xc1, 0xa9, 0x6d, 0xe7, 0x3e, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x08, 0x31, 0x5b, 0xee, + 0x57, 0x4e, 0xba, 0x18, 0xf1, 0xe6, 0xbe, 0x26, 0x8f, 0x2d, 0xf3, 0x48, 0x0a, 0x1b, 0x9d, 0xdb, + 0xc2, 0x19, 0x17, 0x46, 0xa4, 0x60, 0xe6, 0x58, 0xed, 0x0b, 0xfa, 0x62, 0x7c, 0xf0, 0x0c, 0x94, + 0x0e, 0xb4, 0xb9, 0x37, 0x3a, 0x4e, 0x90, 0x78, 0xc9, 0xae, 0x66, 0xe3, 0xb3, 0x5a, 0x84, 0x20, + 0x1e, 0x61, 0x2d, 0x5b, 0x30, 0xa6, 0xcb, 0xdc, 0x11, 0xd6, 0x14, 0xc2, 0xc9, 0x1c, 0x79, 0x3a, + 0xc2, 0x0a, 0x3b, 0xf0, 0x78, 0x4f, 0xb9, 0x38, 0xba, 0x6a, 0xed, 0x1f, 0x5a, 0xba, 0xc2, 0x3c, + 0x0e, 0xc7, 0xcc, 0xaa, 0xe9, 0x98, 0xb9, 0x50, 0x76, 0xea, 0xf4, 0xf0, 0xce, 0x6c, 0xe8, 0xed, + 0xa7, 0x2b, 0x01, 0x5a, 0x83, 0x21, 0x9f, 0x42, 0xe4, 0x69, 0xd0, 0xc5, 0x7e, 0x26, 0x67, 0x6a, + 0x5c, 0x30, 0x78, 0x8c, 0x05, 0x2f, 0xfb, 0x37, 0x2d, 0x18, 0x38, 0x8e, 0xe1, 0x69, 0x98, 0xc3, + 0xd3, 0xcb, 0x44, 0x15, 0x57, 0x3e, 0xe7, 0xb0, 0x73, 0x6f, 0xe9, 0x7e, 0x42, 0x82, 0x98, 0x99, + 0x92, 0xb9, 0x23, 0xf4, 0x2b, 0x15, 0x18, 0xa5, 0x15, 0x49, 0x3f, 0xd1, 0xab, 0x30, 0xee, 0x3b, + 0xeb, 0xc4, 0x97, 0xee, 0xe4, 0xec, 0xb6, 0xeb, 0x86, 0x8e, 0xc4, 0x26, 0x2d, 0x2d, 0xbc, 0xa1, + 0x7b, 0xdb, 0x85, 0x49, 0xa4, 0x0a, 0x1b, 0xae, 0x78, 0x6c, 0xd2, 0x52, 0xcb, 0xff, 0x9e, 0x93, + 0xb4, 0xb6, 0xc4, 0x96, 0x4c, 0x35, 0xf7, 0x0e, 0x05, 0x62, 0x8e, 0x43, 0xf3, 0x30, 0x29, 0x25, + 0xf6, 0x4d, 0x3e, 0x74, 0xc2, 0x5c, 0x54, 0xf7, 0xf4, 0xb0, 0x89, 0xc6, 0x59, 0x7a, 0xf4, 0x19, + 0x98, 0xa0, 0x83, 0x13, 0x76, 0x12, 0x19, 0xac, 0x30, 0xc8, 0x82, 0x15, 0x58, 0x70, 0xe8, 0x9a, + 0x81, 0xc1, 0x19, 0x4a, 0xfb, 0x5d, 0x38, 0x79, 0x23, 0x74, 0xdc, 0x05, 0xc7, 0x77, 0x82, 0x16, + 0x89, 0x56, 0x82, 0xcd, 0xc2, 0x73, 0x5d, 0xfd, 0xec, 0xb5, 0x52, 0x74, 0xf6, 0x6a, 0x47, 0x80, + 0xf4, 0x0a, 0x44, 0x98, 0xcd, 0xdb, 0x30, 0xec, 0xf1, 0xaa, 0x84, 0xd4, 0x5e, 0x2e, 0x72, 0x2a, + 0x75, 0xb5, 0x51, 0x0b, 0x1b, 0xe1, 0x00, 0x2c, 0x59, 0xd2, 0x9d, 0x44, 0x9e, 0x17, 0xaa, 0x78, + 0xb3, 0x66, 0xff, 0x55, 0x0b, 0x26, 0x6f, 0x66, 0x2e, 0x83, 0x9d, 0x87, 0xa1, 0x98, 0x44, 0x39, + 0x2e, 0xb5, 0x26, 0x83, 0x62, 0x81, 0x7d, 0xe8, 0xdb, 0xf4, 0x5f, 0xac, 0x40, 0x8d, 0xc5, 0x6c, + 0xb6, 0x9d, 0xd6, 0x51, 0x1a, 0xa5, 0xab, 0x86, 0x51, 0x5a, 0xb0, 0x49, 0x54, 0x0d, 0xea, 0x65, + 0x93, 0xa2, 0xdb, 0xea, 0x72, 0x54, 0xa9, 0xfd, 0x61, 0xca, 0x90, 0xdf, 0xa3, 0x99, 0x30, 0xef, + 0x52, 0xc9, 0x8b, 0x53, 0xec, 0x34, 0x54, 0xd1, 0x3e, 0x7a, 0xa7, 0xa1, 0xaa, 0x69, 0x3d, 0xb4, + 0x52, 0x43, 0x6b, 0x3d, 0x53, 0xdb, 0x9f, 0x65, 0x01, 0x78, 0x8e, 0xef, 0x7d, 0x95, 0xa8, 0x4b, + 0x86, 0xb3, 0x22, 0x9e, 0x4e, 0x40, 0x1f, 0x30, 0x05, 0x23, 0xfe, 0xf1, 0xbb, 0xa3, 0x69, 0x11, + 0xfb, 0x1a, 0x4c, 0x66, 0xc6, 0x0e, 0xbd, 0x04, 0x83, 0xed, 0x2d, 0x27, 0x26, 0x99, 0xc8, 0x8e, + 0xc1, 0x06, 0x05, 0x3e, 0xd8, 0x9b, 0x9d, 0x50, 0x05, 0x18, 0x04, 0x73, 0x6a, 0xfb, 0x4f, 0x2c, + 0x18, 0xb8, 0x19, 0xba, 0x47, 0x29, 0x63, 0xd7, 0x0c, 0x19, 0x3b, 0x5f, 0x7c, 0xe3, 0xbc, 0xa7, + 0x78, 0x35, 0x32, 0xe2, 0x75, 0xa1, 0x04, 0xaf, 0x83, 0x25, 0x6b, 0x1b, 0x46, 0xd9, 0x8d, 0x76, + 0x11, 0xd2, 0xf2, 0x82, 0xb1, 0x81, 0x9a, 0xcd, 0x6c, 0xa0, 0x26, 0x35, 0x52, 0x6d, 0x1b, 0xf5, + 0x0c, 0x0c, 0x8b, 0x10, 0x8a, 0x6c, 0xd4, 0xa1, 0xa0, 0xc5, 0x12, 0x6f, 0xff, 0x7a, 0x15, 0x8c, + 0x1b, 0xf4, 0xe8, 0x47, 0x16, 0xcc, 0x45, 0xfc, 0xca, 0x83, 0x5b, 0xef, 0x44, 0x5e, 0xb0, 0xd9, + 0x6c, 0x6d, 0x11, 0xb7, 0xe3, 0x7b, 0xc1, 0xe6, 0xca, 0x66, 0x10, 0x2a, 0xf0, 0xd2, 0x7d, 0xd2, + 0xea, 0x30, 0xef, 0x6a, 0xe9, 0x8b, 0xfb, 0xea, 0x0c, 0xf5, 0xca, 0xfe, 0xde, 0xec, 0x1c, 0xee, + 0xab, 0x16, 0xdc, 0x67, 0xab, 0xd0, 0xef, 0x5b, 0x70, 0x89, 0xdf, 0x21, 0x2f, 0xdf, 0x93, 0x52, + 0x1b, 0xcf, 0x86, 0x64, 0x9a, 0xb2, 0x5b, 0x23, 0xd1, 0xf6, 0xc2, 0xcb, 0x62, 0x90, 0x2f, 0x35, + 0xfa, 0xab, 0x15, 0xf7, 0xdb, 0x4c, 0xfb, 0xdf, 0x56, 0x61, 0x9c, 0x8e, 0x67, 0x7a, 0x7f, 0xf4, + 0x25, 0x43, 0x4c, 0x3e, 0x96, 0x11, 0x93, 0x13, 0x06, 0xf1, 0xc3, 0xb9, 0x3a, 0x9a, 0xc0, 0x09, + 0xdf, 0x89, 0x93, 0x6b, 0xc4, 0x89, 0x92, 0x75, 0xe2, 0xb0, 0x03, 0x4b, 0x31, 0x09, 0xfa, 0x3a, + 0x04, 0x55, 0x71, 0x39, 0x37, 0xb2, 0xdc, 0x70, 0x77, 0x05, 0xe8, 0x1e, 0x20, 0x76, 0x3a, 0x1a, + 0x39, 0x41, 0xcc, 0x3b, 0xe3, 0x09, 0x87, 0x6c, 0x9f, 0xd5, 0xce, 0x88, 0x6a, 0xd1, 0x8d, 0x2e, + 0x76, 0x38, 0xa7, 0x0a, 0xed, 0x08, 0x7c, 0xb0, 0xec, 0x11, 0xf8, 0x50, 0x41, 0xc0, 0xef, 0xcf, + 0x5b, 0x70, 0x92, 0x7e, 0x18, 0x33, 0x38, 0x34, 0x46, 0x21, 0x4c, 0xd2, 0x1e, 0xf8, 0x24, 0x91, + 0x30, 0x31, 0xc3, 0x0a, 0x6c, 0x69, 0x93, 0x4f, 0x6a, 0xb1, 0x5d, 0x37, 0x99, 0xe1, 0x2c, 0x77, + 0xfb, 0xd7, 0x2d, 0x60, 0xd1, 0x67, 0xc7, 0xb1, 0x8e, 0x5d, 0x35, 0xd7, 0x31, 0xbb, 0x58, 0x69, + 0xf4, 0x58, 0xc2, 0x5e, 0x84, 0x29, 0x8a, 0x6d, 0x44, 0xe1, 0xfd, 0x5d, 0x69, 0x5c, 0x17, 0xfb, + 0x66, 0xdf, 0xaf, 0xf0, 0x99, 0xa3, 0xae, 0x6f, 0xa1, 0x5f, 0xb0, 0x60, 0xa4, 0xe5, 0xb4, 0x9d, + 0x16, 0x4f, 0x41, 0x52, 0xc2, 0x0f, 0x63, 0x94, 0x9f, 0x5b, 0x14, 0x65, 0xb9, 0x0f, 0xe1, 0x93, + 0xb2, 0xeb, 0x12, 0x5c, 0xe8, 0x37, 0x50, 0x95, 0xcf, 0x78, 0x30, 0x6e, 0x30, 0x3b, 0xc2, 0x8d, + 0xe7, 0x2f, 0x58, 0x5c, 0xeb, 0xab, 0xcd, 0xc1, 0x3d, 0x38, 0x11, 0x68, 0xff, 0xa9, 0x3e, 0x93, + 0xb6, 0xf0, 0x5c, 0x79, 0xbd, 0xce, 0xd4, 0xa0, 0x16, 0x68, 0x97, 0x61, 0x88, 0xbb, 0xeb, 0xb0, + 0xff, 0xa1, 0x05, 0x8f, 0xe9, 0x84, 0xda, 0x6d, 0xbb, 0x22, 0xbf, 0x70, 0x1d, 0x46, 0xc2, 0x36, + 0x89, 0x9c, 0x74, 0x23, 0x74, 0x41, 0x8e, 0xfe, 0x2d, 0x01, 0x7f, 0xb0, 0x37, 0x7b, 0x4a, 0xe7, + 0x2e, 0xe1, 0x58, 0x95, 0x44, 0x36, 0x0c, 0xb1, 0x71, 0x89, 0xc5, 0x3d, 0x49, 0x96, 0x90, 0x83, + 0x9d, 0x86, 0xc4, 0x58, 0x60, 0xec, 0xbf, 0x66, 0x71, 0x61, 0xd3, 0x9b, 0x8e, 0xbe, 0x06, 0x53, + 0xdb, 0x74, 0xcf, 0xb4, 0x74, 0xbf, 0x4d, 0x57, 0x52, 0x76, 0x0a, 0x6c, 0x95, 0x59, 0x3f, 0x7a, + 0x74, 0x77, 0x61, 0x5a, 0xb4, 0x7e, 0x6a, 0x35, 0xc3, 0x16, 0x77, 0x55, 0x64, 0xff, 0x81, 0x98, + 0xb2, 0xcc, 0x78, 0x7b, 0x06, 0x86, 0xdb, 0xa1, 0xbb, 0xb8, 0x52, 0xc7, 0x62, 0xac, 0x94, 0xce, + 0x69, 0x70, 0x30, 0x96, 0x78, 0x74, 0x05, 0x80, 0xdc, 0x4f, 0x48, 0x14, 0x38, 0xbe, 0x3a, 0xbd, + 0x55, 0xb6, 0xd2, 0x92, 0xc2, 0x60, 0x8d, 0x8a, 0x96, 0x69, 0x47, 0xe1, 0x8e, 0xe7, 0xb2, 0xa8, + 0xf7, 0xaa, 0x59, 0xa6, 0xa1, 0x30, 0x58, 0xa3, 0xa2, 0x3b, 0xd5, 0x4e, 0x10, 0xf3, 0x75, 0xcc, + 0x59, 0x17, 0x79, 0x24, 0x46, 0xd2, 0x9d, 0xea, 0x6d, 0x1d, 0x89, 0x4d, 0x5a, 0xfb, 0x77, 0x6a, + 0x00, 0xa9, 0xa5, 0x84, 0xde, 0xef, 0x9e, 0xa1, 0x9f, 0x2a, 0x6b, 0x66, 0x3d, 0xbc, 0xe9, 0x89, + 0xbe, 0x69, 0xc1, 0xa8, 0xe3, 0xfb, 0x61, 0xcb, 0x49, 0x58, 0x8f, 0x2a, 0x65, 0x75, 0x85, 0x68, + 0xc9, 0x7c, 0x5a, 0x96, 0x37, 0xe6, 0x05, 0x79, 0xb8, 0xa7, 0x61, 0x0a, 0xdb, 0xa3, 0x37, 0x01, + 0x7d, 0x52, 0x5a, 0xd8, 0xfc, 0xa3, 0xcc, 0x64, 0x2d, 0xec, 0x1a, 0xd3, 0x90, 0x9a, 0x71, 0x8d, + 0xde, 0x35, 0x52, 0x26, 0x0c, 0x94, 0xb9, 0xa2, 0x6b, 0xd8, 0x0e, 0x45, 0xd9, 0x12, 0xd0, 0x17, + 0xf5, 0x80, 0xe0, 0xc1, 0x32, 0xf7, 0x5f, 0x35, 0x13, 0xb6, 0x20, 0x18, 0x38, 0x81, 0x49, 0xd7, + 0x5c, 0x2b, 0x45, 0x84, 0xd7, 0xe5, 0xe2, 0x1a, 0x32, 0x8b, 0x6c, 0xba, 0x3a, 0x66, 0x10, 0x38, + 0x5b, 0x05, 0xfa, 0x22, 0x0f, 0xd7, 0x5e, 0x09, 0x36, 0x42, 0x11, 0xe4, 0x75, 0xb1, 0xc4, 0x37, + 0xdf, 0x8d, 0x13, 0xb2, 0x4d, 0xcb, 0xa4, 0xab, 0xe1, 0x4d, 0xc1, 0x05, 0x2b, 0x7e, 0x68, 0x0d, + 0x86, 0xd8, 0xe5, 0x92, 0x78, 0x7a, 0xa4, 0x8c, 0xb7, 0xcc, 0xbc, 0x56, 0x99, 0xda, 0x20, 0xec, + 0x6f, 0x8c, 0x05, 0x2f, 0x74, 0x4d, 0x5e, 0x43, 0x8e, 0x57, 0x82, 0xdb, 0x31, 0x61, 0xd7, 0x90, + 0x6b, 0x0b, 0x1f, 0x4f, 0xef, 0x15, 0x73, 0x78, 0x6e, 0x92, 0x28, 0xa3, 0x24, 0x35, 0x45, 0xc4, + 0x7f, 0x99, 0x7b, 0x6a, 0x1a, 0xca, 0x34, 0xd4, 0xcc, 0x54, 0x95, 0x0e, 0xf6, 0x9b, 0x26, 0x33, + 0x9c, 0xe5, 0x7e, 0x8c, 0x6b, 0xe0, 0x8c, 0x0f, 0x53, 0xd9, 0x29, 0x79, 0x84, 0x2b, 0xee, 0x1f, + 0x0f, 0xc0, 0x84, 0x29, 0x18, 0xe8, 0x12, 0xd4, 0xb6, 0x59, 0x66, 0xa8, 0x34, 0x1f, 0x8d, 0x92, + 0xff, 0x55, 0x89, 0xc0, 0x29, 0x0d, 0xcb, 0xcc, 0xc3, 0x8a, 0x6b, 0xa1, 0x37, 0x69, 0x66, 0x1e, + 0x85, 0xc1, 0x1a, 0x15, 0xb5, 0x5b, 0xd7, 0xc3, 0x30, 0x51, 0x8a, 0x5b, 0xc9, 0xcc, 0x02, 0x83, + 0x62, 0x81, 0xa5, 0x0a, 0xfb, 0x2e, 0xed, 0x90, 0x6f, 0xba, 0xfd, 0x94, 0xc2, 0xbe, 0xae, 0x23, + 0xb1, 0x49, 0x4b, 0x17, 0xa0, 0x30, 0x66, 0x42, 0x28, 0xac, 0xe3, 0x34, 0x94, 0xa9, 0xc9, 0x2f, + 0x5b, 0x49, 0x3c, 0xfa, 0x02, 0x3c, 0xa6, 0xee, 0x46, 0x61, 0xee, 0x46, 0x95, 0x35, 0x0e, 0x19, + 0x5b, 0xdc, 0xc7, 0x16, 0xf3, 0xc9, 0x70, 0xaf, 0xf2, 0xe8, 0x75, 0x98, 0x10, 0x96, 0xad, 0xe4, + 0x38, 0x6c, 0x9e, 0x74, 0x5f, 0x37, 0xb0, 0x38, 0x43, 0x8d, 0xea, 0x30, 0x45, 0x21, 0xcc, 0xa2, + 0x94, 0x1c, 0xf8, 0x1d, 0x2f, 0xb5, 0x32, 0x5f, 0xcf, 0xe0, 0x71, 0x57, 0x09, 0x34, 0x0f, 0x93, + 0xdc, 0xb6, 0xa0, 0x1b, 0x39, 0xf6, 0x1d, 0x44, 0x50, 0xa6, 0x9a, 0x04, 0xb7, 0x4c, 0x34, 0xce, + 0xd2, 0xa3, 0x57, 0x60, 0xcc, 0x89, 0x5a, 0x5b, 0x5e, 0x42, 0x5a, 0x49, 0x27, 0xe2, 0x17, 0xfc, + 0xb5, 0x50, 0x81, 0x79, 0x0d, 0x87, 0x0d, 0x4a, 0xfb, 0xab, 0x70, 0x32, 0x27, 0xf6, 0x9b, 0x0a, + 0x8e, 0xd3, 0xf6, 0x64, 0x9f, 0x32, 0x41, 0x49, 0xf3, 0x8d, 0x15, 0xd9, 0x1b, 0x8d, 0x8a, 0x4a, + 0x27, 0xf3, 0x1f, 0x6b, 0x69, 0xe2, 0x94, 0x74, 0x2e, 0x4b, 0x04, 0x4e, 0x69, 0xec, 0xff, 0x51, + 0x03, 0xcd, 0xdb, 0x52, 0x22, 0x14, 0xe5, 0x15, 0x18, 0x93, 0x99, 0x0f, 0xb5, 0x8c, 0x63, 0xaa, + 0x9b, 0x57, 0x35, 0x1c, 0x36, 0x28, 0x69, 0xdb, 0x02, 0xe9, 0x3b, 0xca, 0x86, 0x40, 0x29, 0xa7, + 0x12, 0x4e, 0x69, 0xd0, 0x45, 0x18, 0x89, 0x89, 0xbf, 0x71, 0xc3, 0x0b, 0xee, 0x0a, 0xc1, 0x56, + 0x5a, 0xb9, 0x29, 0xe0, 0x58, 0x51, 0xa0, 0xcf, 0x41, 0xb5, 0xe3, 0xb9, 0x42, 0x94, 0xe7, 0xa4, + 0xdd, 0x79, 0x7b, 0xa5, 0xfe, 0x60, 0x6f, 0x76, 0x36, 0x3f, 0x9d, 0x23, 0xdd, 0x4d, 0xc7, 0x73, + 0x74, 0xf2, 0xd1, 0xa2, 0x79, 0x6e, 0xf4, 0xa1, 0x3e, 0xdd, 0xe8, 0x57, 0x00, 0x44, 0x9f, 0xa5, + 0x24, 0x57, 0xd3, 0x6f, 0x76, 0x55, 0x61, 0xb0, 0x46, 0x45, 0xf7, 0xe4, 0xad, 0x88, 0x38, 0x72, + 0xd3, 0xca, 0x03, 0x93, 0x47, 0x3e, 0xc4, 0x9e, 0x7c, 0x31, 0xcb, 0x0d, 0x77, 0x57, 0x80, 0xda, + 0x70, 0xc2, 0xa5, 0xf3, 0xc8, 0xa8, 0xb5, 0x76, 0x88, 0x70, 0x68, 0x5a, 0x63, 0x3d, 0xcb, 0x09, + 0x77, 0x33, 0x47, 0xef, 0xc0, 0x8c, 0x04, 0x76, 0xdf, 0x7e, 0x64, 0xd3, 0xa5, 0xba, 0x70, 0x76, + 0x7f, 0x6f, 0x76, 0xa6, 0xde, 0x93, 0x0a, 0x1f, 0xc0, 0x01, 0xbd, 0x0d, 0x43, 0xec, 0xe0, 0x25, + 0x9e, 0x1e, 0x65, 0xab, 0xdd, 0x8b, 0x65, 0xfd, 0x8e, 0x73, 0xec, 0xf8, 0x46, 0xc4, 0x73, 0xa6, + 0x87, 0x59, 0x0c, 0x88, 0x05, 0x4f, 0xd4, 0x86, 0x51, 0x27, 0x08, 0xc2, 0xc4, 0xe1, 0x46, 0xd8, + 0x58, 0x19, 0x3b, 0x52, 0xab, 0x62, 0x3e, 0x2d, 0xcb, 0xeb, 0x51, 0x41, 0x62, 0x1a, 0x06, 0xeb, + 0x55, 0xd0, 0x65, 0x3c, 0xbc, 0x47, 0x15, 0xa6, 0x3c, 0x7b, 0x88, 0xa7, 0xc7, 0xcb, 0x2c, 0xe3, + 0xb7, 0x8c, 0x42, 0x9a, 0x06, 0x33, 0x99, 0xe1, 0x2c, 0x77, 0x34, 0x67, 0xb8, 0x93, 0x27, 0xd2, + 0x68, 0xe5, 0xd4, 0x9d, 0xac, 0x7b, 0x8f, 0xd9, 0xcd, 0x5a, 0x1e, 0xa1, 0xc8, 0x34, 0xc1, 0x64, + 0xe6, 0x66, 0x6d, 0x8a, 0xc2, 0x3a, 0xdd, 0xcc, 0xa7, 0x61, 0x54, 0x1b, 0xf0, 0x7e, 0xc2, 0x62, + 0x67, 0x5e, 0x87, 0xa9, 0xec, 0x40, 0xf6, 0x15, 0x56, 0xfb, 0xbf, 0x2a, 0x30, 0x99, 0x73, 0xa0, + 0x73, 0xd7, 0x63, 0x81, 0xe3, 0x86, 0xca, 0xbb, 0xee, 0x05, 0x2e, 0x66, 0x18, 0x53, 0x71, 0x55, + 0x4a, 0x28, 0x2e, 0xa9, 0x45, 0xab, 0x3d, 0xb5, 0xa8, 0x50, 0x56, 0x03, 0x87, 0x57, 0x56, 0xe6, + 0xea, 0x30, 0x58, 0x6a, 0x75, 0x78, 0x08, 0x0a, 0xce, 0x58, 0x60, 0x86, 0x4b, 0x2c, 0x30, 0x0f, + 0x2c, 0x98, 0x30, 0x25, 0xaf, 0xc4, 0x88, 0x3f, 0xaa, 0x03, 0x38, 0xc7, 0x36, 0x62, 0x49, 0x14, + 0xfa, 0x3e, 0x89, 0x44, 0xc0, 0xdc, 0x84, 0xd8, 0x57, 0x09, 0x28, 0xd6, 0x28, 0xec, 0x6f, 0x57, + 0x60, 0x2a, 0x8d, 0x9e, 0x16, 0x19, 0x60, 0x8f, 0xee, 0x84, 0x64, 0xcd, 0x38, 0x21, 0x29, 0x4a, + 0xec, 0x9a, 0x69, 0x57, 0xcf, 0xd3, 0x92, 0xb7, 0x33, 0xa7, 0x25, 0x2f, 0xf6, 0xc9, 0xf7, 0xe0, + 0x93, 0x93, 0x7f, 0x5e, 0x81, 0xd3, 0xd9, 0x22, 0x8b, 0xbe, 0xe3, 0x6d, 0x1f, 0xe1, 0x38, 0x7d, + 0xc1, 0x18, 0xa7, 0x97, 0xfb, 0xeb, 0x0f, 0x6b, 0x5c, 0xcf, 0xc1, 0x72, 0x32, 0x83, 0xf5, 0xe9, + 0xc3, 0x30, 0x3f, 0x78, 0xc4, 0x7e, 0xd7, 0x82, 0xc7, 0x73, 0xcb, 0x1d, 0x87, 0x27, 0xf8, 0x2d, + 0xd3, 0x13, 0xfc, 0xc2, 0x21, 0xba, 0xd7, 0xc3, 0x35, 0xfc, 0xdf, 0x2a, 0x3d, 0xba, 0xc5, 0xbc, + 0x65, 0xb7, 0x60, 0xd4, 0x69, 0xb5, 0x48, 0x1c, 0xaf, 0x86, 0xae, 0x4a, 0x49, 0xf4, 0x3c, 0x5b, + 0x3f, 0x53, 0xf0, 0x83, 0xbd, 0xd9, 0x99, 0x2c, 0x8b, 0x14, 0x8d, 0x75, 0x0e, 0x66, 0x6a, 0xb1, + 0xca, 0x11, 0xa5, 0x16, 0xbb, 0x02, 0xb0, 0xa3, 0x76, 0xe9, 0x59, 0x27, 0x9c, 0xb6, 0x7f, 0xd7, + 0xa8, 0xd0, 0x3b, 0xcc, 0xea, 0xe5, 0x91, 0x22, 0x03, 0x85, 0x13, 0xce, 0xf8, 0x80, 0x7a, 0xd8, + 0x09, 0xbf, 0x3a, 0xaa, 0x3c, 0x96, 0x8a, 0xa7, 0xfd, 0xdd, 0x2a, 0x7c, 0xf4, 0x00, 0xb1, 0x43, + 0xf3, 0xe6, 0x01, 0xf0, 0x73, 0x59, 0xf7, 0xd4, 0x4c, 0x6e, 0x61, 0xc3, 0x5f, 0x95, 0xf9, 0x58, + 0x95, 0x0f, 0xfd, 0xb1, 0xbe, 0xa5, 0x3b, 0x13, 0x79, 0xc4, 0xe7, 0xd5, 0x43, 0x4f, 0xac, 0x9f, + 0x4e, 0xe7, 0xff, 0xd7, 0x2d, 0xf8, 0x58, 0x6e, 0xa7, 0x8c, 0x38, 0x93, 0x4b, 0x50, 0x6b, 0x51, + 0xa0, 0x76, 0x25, 0x27, 0xbd, 0x69, 0x27, 0x11, 0x38, 0xa5, 0x31, 0xc2, 0x49, 0x2a, 0x85, 0xe1, + 0x24, 0xff, 0xc1, 0x82, 0x53, 0xd9, 0x46, 0x1c, 0x87, 0xd6, 0x69, 0x9a, 0x5a, 0x67, 0xae, 0xbf, + 0x6f, 0xdf, 0x43, 0xe1, 0x7c, 0x7b, 0x1c, 0xce, 0x74, 0x2d, 0x56, 0x7c, 0x18, 0x7f, 0xd6, 0x82, + 0x13, 0x9b, 0x6c, 0x7f, 0xa1, 0x5d, 0x7c, 0x12, 0x1d, 0x2b, 0xb8, 0x2d, 0x76, 0xe0, 0x7d, 0x29, + 0xbe, 0x5b, 0xea, 0x22, 0xc1, 0xdd, 0x95, 0xa1, 0x6f, 0x58, 0x70, 0xca, 0xb9, 0x17, 0x77, 0x3d, + 0x27, 0x20, 0xe4, 0xe8, 0xf5, 0x02, 0x57, 0x5e, 0xc1, 0x43, 0x04, 0x0b, 0xd3, 0xfb, 0x7b, 0xb3, + 0xa7, 0xf2, 0xa8, 0x70, 0x6e, 0xad, 0xe8, 0x6d, 0x91, 0x86, 0x8d, 0x9a, 0x7d, 0xa5, 0xae, 0xf0, + 0xe5, 0x5d, 0xc3, 0xe0, 0x3a, 0x49, 0x62, 0xb0, 0xe2, 0x88, 0xbe, 0x0c, 0xb5, 0x4d, 0x79, 0xd7, + 0x49, 0x28, 0xbd, 0x82, 0x95, 0x25, 0xf7, 0x6a, 0x14, 0x0f, 0xf6, 0x57, 0x28, 0x9c, 0x32, 0x45, + 0xd7, 0xa0, 0x1a, 0x6c, 0xc4, 0xe2, 0xda, 0x72, 0x51, 0x38, 0x91, 0x19, 0xbc, 0xc5, 0x2f, 0x62, + 0xde, 0x5c, 0x6e, 0x62, 0xca, 0x82, 0x72, 0x8a, 0xd6, 0x5d, 0xe1, 0xc3, 0x2e, 0xe0, 0x84, 0x17, + 0xea, 0xdd, 0x9c, 0xf0, 0x42, 0x1d, 0x53, 0x16, 0x2c, 0x6e, 0x31, 0x6e, 0xc5, 0x9e, 0x70, 0x50, + 0x17, 0xdc, 0x69, 0xef, 0xba, 0x9c, 0xc2, 0x33, 0xf2, 0x31, 0x30, 0xe6, 0x8c, 0xd0, 0x1a, 0x0c, + 0xb5, 0x58, 0x06, 0x6d, 0xe1, 0x3f, 0x28, 0xca, 0xab, 0xdc, 0x95, 0x6d, 0x9b, 0x1f, 0xa4, 0x71, + 0x38, 0x16, 0xbc, 0x18, 0x57, 0xd2, 0xde, 0xda, 0x88, 0x85, 0x7f, 0xa0, 0x88, 0x6b, 0x57, 0x2e, + 0x74, 0xc1, 0x95, 0xc1, 0xb1, 0xe0, 0x85, 0xea, 0x50, 0xd9, 0x68, 0x89, 0x34, 0x98, 0x05, 0x3b, + 0x5a, 0xf3, 0x56, 0xed, 0xc2, 0xd0, 0xfe, 0xde, 0x6c, 0x65, 0x79, 0x11, 0x57, 0x36, 0x5a, 0xe8, + 0x2d, 0x18, 0xde, 0xe0, 0xf7, 0x24, 0x45, 0xca, 0xcb, 0xcb, 0x45, 0x97, 0x39, 0xbb, 0x2e, 0x55, + 0xf2, 0x0b, 0x1d, 0x02, 0x81, 0x25, 0x3b, 0xf4, 0x0e, 0xc0, 0x86, 0xba, 0xf9, 0x29, 0x72, 0x5e, + 0xce, 0xf5, 0x77, 0x53, 0x54, 0xec, 0x9e, 0x15, 0x14, 0x6b, 0x1c, 0xa9, 0xcc, 0x3b, 0xf2, 0x11, + 0x00, 0x96, 0xef, 0xb2, 0x50, 0xe6, 0x73, 0xdf, 0x0c, 0xe0, 0x32, 0xaf, 0x50, 0x38, 0x65, 0x8a, + 0x3a, 0x30, 0xbe, 0x13, 0xb7, 0xb7, 0x88, 0x9c, 0xfa, 0x2c, 0x09, 0xe6, 0xe8, 0x95, 0xd7, 0x0a, + 0x32, 0x9b, 0x8a, 0x22, 0x5e, 0x94, 0x74, 0x1c, 0xbf, 0x4b, 0x83, 0xb1, 0x6c, 0x52, 0x6f, 0xea, + 0x6c, 0xb1, 0x59, 0x0b, 0xfd, 0x24, 0xef, 0x75, 0xc2, 0xf5, 0xdd, 0x84, 0x88, 0x24, 0x99, 0x05, + 0x9f, 0xe4, 0x0d, 0x4e, 0xdc, 0xfd, 0x49, 0x04, 0x02, 0x4b, 0x76, 0x6a, 0xc8, 0x98, 0x36, 0x9e, + 0x2a, 0x3d, 0x64, 0x5d, 0x7d, 0x48, 0x87, 0x8c, 0x69, 0xdf, 0x94, 0x29, 0xd3, 0xba, 0xed, 0xad, + 0x30, 0x09, 0x83, 0x8c, 0xee, 0x3f, 0x51, 0x46, 0xeb, 0x36, 0x72, 0x4a, 0x76, 0x6b, 0xdd, 0x3c, + 0x2a, 0x9c, 0x5b, 0xab, 0xfd, 0x07, 0x83, 0xdd, 0xeb, 0x2d, 0x33, 0x87, 0x7f, 0xa9, 0xfb, 0x74, + 0xf5, 0x73, 0xfd, 0x6f, 0xf7, 0x1e, 0xe2, 0x39, 0xeb, 0x37, 0x2c, 0x38, 0xd3, 0xce, 0x5d, 0x4c, + 0xc5, 0x82, 0xd5, 0xef, 0xae, 0x91, 0x0f, 0x98, 0xca, 0x00, 0x9b, 0x8f, 0xc7, 0x3d, 0xea, 0xcc, + 0x5a, 0xa0, 0xd5, 0x0f, 0x6d, 0x81, 0xde, 0x81, 0x11, 0x66, 0x34, 0xa5, 0x29, 0x48, 0xfa, 0xcc, + 0xda, 0xc1, 0x96, 0xbe, 0x45, 0xc1, 0x02, 0x2b, 0x66, 0x74, 0xe0, 0x9e, 0xcc, 0x76, 0x02, 0x13, + 0x86, 0x16, 0xa9, 0x6b, 0xb9, 0x6b, 0x62, 0x59, 0x8c, 0xc4, 0x93, 0x8d, 0x83, 0x88, 0x1f, 0x14, + 0x11, 0xe0, 0x83, 0x2b, 0x3b, 0x4e, 0x8b, 0xf6, 0x9f, 0x58, 0x39, 0xf6, 0x17, 0xdf, 0x83, 0xbc, + 0x66, 0xee, 0x41, 0xce, 0x67, 0xf7, 0x20, 0x5d, 0x1e, 0x03, 0x63, 0xfb, 0x51, 0x3e, 0x7d, 0x63, + 0xd9, 0x1c, 0x29, 0xb6, 0x0f, 0xe7, 0x8a, 0x26, 0x37, 0x8b, 0x63, 0x72, 0xd5, 0xa1, 0x60, 0x1a, + 0xc7, 0xe4, 0xae, 0xd4, 0x31, 0xc3, 0x94, 0xbd, 0x05, 0x6f, 0xff, 0x1f, 0x0b, 0xaa, 0x8d, 0xd0, + 0x3d, 0x42, 0x0f, 0xc8, 0x55, 0xc3, 0x03, 0xf2, 0x74, 0xe1, 0xd3, 0x47, 0x3d, 0xfd, 0x1d, 0xb7, + 0x32, 0xfe, 0x8e, 0x4f, 0x14, 0xb3, 0x3a, 0xd8, 0xbb, 0xf1, 0xbd, 0x2a, 0xe8, 0x8f, 0x37, 0xa1, + 0xdf, 0x3e, 0x4c, 0x64, 0x6b, 0xb5, 0xdc, 0x7b, 0x4e, 0xa2, 0x0e, 0x16, 0x00, 0x25, 0xaf, 0xbd, + 0xfd, 0xd4, 0x06, 0xb8, 0xde, 0x21, 0xde, 0xe6, 0x56, 0x42, 0xdc, 0x6c, 0xc7, 0x8e, 0x2f, 0xc0, + 0xf5, 0xbf, 0x5b, 0x30, 0x99, 0xa9, 0x1d, 0x6d, 0xe7, 0xdd, 0x9c, 0x39, 0xac, 0x4b, 0xe3, 0x44, + 0xe1, 0x5d, 0x9b, 0x39, 0x00, 0xe5, 0x86, 0x97, 0x8e, 0x07, 0x66, 0x84, 0x29, 0x3f, 0x7d, 0x8c, + 0x35, 0x0a, 0xf4, 0x12, 0x8c, 0x26, 0x61, 0x3b, 0xf4, 0xc3, 0xcd, 0xdd, 0xeb, 0x44, 0x26, 0x66, + 0x50, 0x47, 0x18, 0x6b, 0x29, 0x0a, 0xeb, 0x74, 0xf6, 0x0f, 0xaa, 0x90, 0x7d, 0xfb, 0xeb, 0xcf, + 0x05, 0xf5, 0xa7, 0x47, 0x50, 0x7f, 0xcf, 0x82, 0x29, 0x5a, 0x3b, 0x8b, 0x5f, 0x91, 0x61, 0xa8, + 0x2a, 0xeb, 0xba, 0x75, 0x40, 0xd6, 0xf5, 0xf3, 0x54, 0xdd, 0xb9, 0x61, 0x47, 0x66, 0x02, 0xd2, + 0xb4, 0x18, 0x85, 0x62, 0x81, 0x15, 0x74, 0x24, 0x8a, 0xc4, 0x1d, 0x1d, 0x9d, 0x8e, 0x44, 0x11, + 0x16, 0x58, 0x99, 0x94, 0x7d, 0x20, 0x3f, 0x29, 0x3b, 0x4f, 0x9c, 0x24, 0xe2, 0x26, 0x84, 0x1d, + 0xa0, 0x25, 0x4e, 0x92, 0x01, 0x15, 0x29, 0x8d, 0xfd, 0x2f, 0xab, 0x30, 0xd6, 0x08, 0xdd, 0x34, + 0xc4, 0xfc, 0x45, 0x23, 0xc4, 0xfc, 0x5c, 0x26, 0xc4, 0x7c, 0x4a, 0xa7, 0x7d, 0x38, 0x11, 0xe6, + 0x22, 0xc5, 0x16, 0x7b, 0x36, 0xe0, 0xb0, 0xd1, 0xe5, 0x46, 0x8a, 0x2d, 0xc5, 0x09, 0x9b, 0x8c, + 0xff, 0x4c, 0x45, 0x95, 0xff, 0x89, 0x05, 0x13, 0x8d, 0xd0, 0xa5, 0x22, 0xfa, 0x67, 0x49, 0x1e, + 0xf5, 0xc4, 0x5c, 0x43, 0x07, 0x24, 0xe6, 0xfa, 0x35, 0x0b, 0x86, 0x1b, 0xa1, 0x7b, 0x1c, 0xae, + 0xc4, 0x65, 0xd3, 0x95, 0xf8, 0xb1, 0x42, 0xe5, 0xdb, 0xc3, 0x7b, 0xf8, 0x9b, 0x55, 0x18, 0xa7, + 0x4d, 0x0e, 0x37, 0xe5, 0x07, 0x33, 0x06, 0xc7, 0x2a, 0x31, 0x38, 0xd4, 0x1c, 0x0c, 0x7d, 0x3f, + 0xbc, 0x97, 0xfd, 0x78, 0xcb, 0x0c, 0x8a, 0x05, 0x16, 0x5d, 0x84, 0x91, 0x76, 0x44, 0x76, 0xbc, + 0xb0, 0x13, 0x67, 0xaf, 0xfc, 0x35, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0x22, 0x8c, 0xc5, 0x5e, 0xd0, + 0x22, 0x32, 0xb0, 0x62, 0x80, 0x05, 0x56, 0xf0, 0xfc, 0x87, 0x1a, 0x1c, 0x1b, 0x54, 0xe8, 0x2d, + 0xa8, 0xb1, 0xff, 0x6c, 0x0e, 0x1d, 0x22, 0x53, 0x3c, 0x4f, 0xce, 0x25, 0x39, 0xe0, 0x94, 0x19, + 0xba, 0x02, 0x90, 0xc8, 0x18, 0x90, 0x58, 0x9c, 0x99, 0x2a, 0xe3, 0x54, 0x45, 0x87, 0xc4, 0x58, + 0xa3, 0x42, 0xcf, 0x41, 0x2d, 0x71, 0x3c, 0xff, 0x86, 0x17, 0x90, 0x58, 0x44, 0xd1, 0x88, 0x3c, + 0xbe, 0x02, 0x88, 0x53, 0x3c, 0x5d, 0xf3, 0xd9, 0x85, 0x63, 0xfe, 0x0e, 0xc5, 0x08, 0xa3, 0x66, + 0x6b, 0xfe, 0x0d, 0x05, 0xc5, 0x1a, 0x85, 0xfd, 0x02, 0x5b, 0xbb, 0xfb, 0xbc, 0x82, 0xf0, 0x93, + 0x0a, 0xa0, 0x06, 0x8b, 0x35, 0x31, 0x9e, 0xea, 0xd8, 0x82, 0x89, 0x98, 0xdc, 0xf0, 0x82, 0xce, + 0x7d, 0xc1, 0xaa, 0xdc, 0xa5, 0x8f, 0xe6, 0x92, 0x5e, 0x86, 0x5f, 0xb2, 0x35, 0x61, 0x38, 0xc3, + 0x97, 0x0e, 0x49, 0xd4, 0x09, 0xe6, 0xe3, 0xdb, 0x31, 0x89, 0xc4, 0x63, 0x1b, 0x6c, 0x48, 0xb0, + 0x04, 0xe2, 0x14, 0x4f, 0x65, 0x80, 0xfd, 0xb9, 0x19, 0x06, 0x38, 0x0c, 0x13, 0x29, 0x35, 0x2c, + 0xf3, 0xba, 0x06, 0xc7, 0x06, 0x15, 0x5a, 0x06, 0x14, 0x77, 0xda, 0x6d, 0x9f, 0x1d, 0x6d, 0x39, + 0xfe, 0xd5, 0x28, 0xec, 0xb4, 0x79, 0xb8, 0xb1, 0x48, 0x5a, 0xde, 0xec, 0xc2, 0xe2, 0x9c, 0x12, + 0x74, 0xd2, 0x6f, 0xc4, 0xec, 0xb7, 0xb8, 0x44, 0xcc, 0x1d, 0x6c, 0x4d, 0x06, 0xc2, 0x12, 0x67, + 0x77, 0xd8, 0x52, 0xc5, 0x1e, 0x41, 0x48, 0x3a, 0x11, 0x41, 0x04, 0xc6, 0xdb, 0x6c, 0x39, 0x92, + 0xe7, 0xeb, 0xa5, 0x86, 0x32, 0x13, 0xed, 0xc2, 0x93, 0x9d, 0xeb, 0x6c, 0xb0, 0xc9, 0xd5, 0xfe, + 0x4f, 0xc0, 0x74, 0x8d, 0x38, 0x55, 0x1c, 0x16, 0xb1, 0xac, 0xc2, 0x16, 0xfb, 0x78, 0x99, 0x57, + 0x7f, 0x52, 0x3d, 0x2e, 0x22, 0x63, 0xb1, 0xe4, 0x82, 0xbe, 0xc4, 0x03, 0x04, 0xd8, 0xfc, 0x2e, + 0xff, 0x14, 0x17, 0xa7, 0x37, 0xa2, 0xb4, 0x05, 0x0b, 0xac, 0xb1, 0x43, 0x37, 0x60, 0x5c, 0x64, + 0xca, 0x17, 0x9e, 0x81, 0xaa, 0xb1, 0x3b, 0x1e, 0xc7, 0x3a, 0xf2, 0x41, 0x16, 0x80, 0xcd, 0xc2, + 0x68, 0x13, 0x9e, 0xd4, 0x9e, 0xcf, 0xc9, 0x89, 0xc8, 0xe2, 0x8a, 0xe3, 0x63, 0xfb, 0x7b, 0xb3, + 0x4f, 0xae, 0x1d, 0x44, 0x88, 0x0f, 0xe6, 0x83, 0x6e, 0xc1, 0x69, 0xa7, 0x95, 0x78, 0x3b, 0xa4, + 0x4e, 0x1c, 0xd7, 0xf7, 0x02, 0x62, 0xde, 0x30, 0x7f, 0x7c, 0x7f, 0x6f, 0xf6, 0xf4, 0x7c, 0x1e, + 0x01, 0xce, 0x2f, 0x87, 0x5e, 0x83, 0x9a, 0x1b, 0xc4, 0x62, 0x0c, 0x86, 0x8c, 0x97, 0x82, 0x6a, + 0xf5, 0x9b, 0x4d, 0xd5, 0xff, 0xf4, 0x0f, 0x4e, 0x0b, 0xa0, 0xf7, 0xf8, 0x03, 0xc6, 0x6a, 0x43, + 0xc2, 0x5f, 0xa8, 0x7a, 0xb9, 0xd4, 0x16, 0xd8, 0xb8, 0x05, 0xc2, 0x9d, 0x66, 0x2a, 0xf2, 0xd1, + 0xb8, 0x20, 0x62, 0x54, 0x81, 0x3e, 0x0f, 0x28, 0x26, 0xd1, 0x8e, 0xd7, 0x22, 0xf3, 0x2d, 0x96, + 0xf9, 0x93, 0x1d, 0xcf, 0x8d, 0x18, 0xe1, 0xff, 0xa8, 0xd9, 0x45, 0x81, 0x73, 0x4a, 0xa1, 0x6b, + 0x54, 0xe3, 0xe8, 0x50, 0x11, 0xa8, 0x2a, 0x4d, 0xbb, 0xe9, 0x3a, 0x69, 0x47, 0xa4, 0xe5, 0x24, + 0xc4, 0x35, 0x39, 0xe2, 0x4c, 0x39, 0xba, 0xac, 0xa8, 0x8c, 0xe6, 0x60, 0x86, 0x57, 0x76, 0x67, + 0x35, 0xa7, 0x3b, 0xa5, 0xad, 0x30, 0x4e, 0x6e, 0x92, 0xe4, 0x5e, 0x18, 0xdd, 0x65, 0xce, 0xf6, + 0x11, 0x2d, 0xd3, 0x59, 0x8a, 0xc2, 0x3a, 0x1d, 0xb5, 0x81, 0xd8, 0x29, 0xcf, 0x4a, 0x9d, 0xb9, + 0xd0, 0x47, 0xd2, 0xb9, 0x73, 0x8d, 0x83, 0xb1, 0xc4, 0x4b, 0xd2, 0x95, 0xc6, 0x22, 0x73, 0x87, + 0x67, 0x48, 0x57, 0x1a, 0x8b, 0x58, 0xe2, 0x51, 0xd8, 0xfd, 0x1e, 0xd3, 0x44, 0x99, 0xa3, 0x89, + 0x6e, 0x0d, 0x5e, 0xf2, 0x49, 0xa6, 0xfb, 0x30, 0xa5, 0xde, 0x84, 0xe2, 0x29, 0x28, 0xe3, 0xe9, + 0xc9, 0x32, 0xcf, 0x27, 0xe7, 0x66, 0xb2, 0x54, 0x91, 0xc9, 0x2b, 0x19, 0x9e, 0xb8, 0xab, 0x16, + 0x23, 0x53, 0xc2, 0x54, 0x61, 0x96, 0xfa, 0x4b, 0x50, 0x8b, 0x3b, 0xeb, 0x6e, 0xb8, 0xed, 0x78, + 0x01, 0xf3, 0x59, 0xeb, 0x8f, 0x01, 0x4b, 0x04, 0x4e, 0x69, 0x66, 0x3e, 0x0b, 0x27, 0xba, 0x64, + 0xba, 0xaf, 0x90, 0xba, 0x5f, 0x1a, 0x80, 0x9a, 0xf2, 0xea, 0xa0, 0x4b, 0xa6, 0xe3, 0xee, 0xf1, + 0xac, 0xe3, 0x6e, 0x84, 0xae, 0xbc, 0xba, 0xaf, 0xee, 0x9d, 0x9c, 0xd7, 0x40, 0x9f, 0x2d, 0xfc, + 0x88, 0xe5, 0x6f, 0xb6, 0xf4, 0xf1, 0x56, 0x6a, 0x6a, 0xd6, 0x0f, 0x1c, 0x68, 0xd6, 0x97, 0x7c, + 0xec, 0x89, 0x1a, 0xf0, 0xed, 0xd0, 0x5d, 0x69, 0x64, 0x1f, 0x32, 0x69, 0x50, 0x20, 0xe6, 0x38, + 0x66, 0x77, 0x51, 0xa5, 0xcc, 0xec, 0xae, 0xe1, 0xc3, 0xda, 0x5d, 0x92, 0x03, 0x4e, 0x99, 0xa1, + 0x1d, 0x38, 0xd1, 0x32, 0x1f, 0xa6, 0x51, 0x17, 0x56, 0x9e, 0xef, 0xe3, 0x61, 0x98, 0x8e, 0x96, + 0x84, 0x7f, 0x31, 0xcb, 0x0f, 0x77, 0x57, 0x61, 0xff, 0x80, 0x7b, 0x81, 0xc4, 0xb6, 0x90, 0xc4, + 0x1d, 0xff, 0x28, 0x73, 0x6a, 0xdf, 0x32, 0x76, 0xaa, 0x0f, 0xc1, 0xff, 0xf8, 0x5b, 0x16, 0xf3, + 0x3f, 0xae, 0x91, 0xed, 0xb6, 0xef, 0x24, 0x47, 0x19, 0xad, 0xf7, 0x25, 0x18, 0x49, 0x44, 0x2d, + 0xe5, 0x12, 0x81, 0x6b, 0xcd, 0x62, 0xfe, 0x58, 0xa5, 0x08, 0x24, 0x14, 0x2b, 0x86, 0xf6, 0xbf, + 0xe1, 0x5f, 0x41, 0x62, 0x8e, 0x63, 0x67, 0x75, 0xd3, 0xdc, 0x59, 0x3d, 0x53, 0xba, 0x33, 0x3d, + 0x76, 0x58, 0xdf, 0x35, 0xbb, 0xc0, 0x0c, 0xb6, 0x47, 0xdf, 0x23, 0x6e, 0xaf, 0x82, 0xf9, 0xd8, + 0x0e, 0x7a, 0x8d, 0x87, 0xaa, 0x72, 0x8d, 0xf8, 0x6c, 0x9f, 0x61, 0xaa, 0xf6, 0x6f, 0x54, 0xe0, + 0x54, 0xde, 0x1b, 0xfc, 0xc8, 0x85, 0xb1, 0xb6, 0x66, 0x3e, 0x97, 0xcb, 0xe7, 0xa0, 0x1b, 0xdc, + 0xa9, 0xe9, 0xa2, 0x43, 0xb1, 0xc1, 0x15, 0x11, 0x18, 0x23, 0x3b, 0x5e, 0x4b, 0xb9, 0x57, 0x2a, + 0xfd, 0xab, 0x28, 0x55, 0xcd, 0x92, 0xc6, 0x08, 0x1b, 0x6c, 0x8f, 0x20, 0x57, 0xbd, 0xfd, 0x8f, + 0x2c, 0x78, 0xac, 0x47, 0xd2, 0x07, 0x5a, 0xdd, 0x3d, 0xe6, 0x85, 0x14, 0x8f, 0x39, 0xa9, 0xea, + 0xb8, 0x6f, 0x12, 0x0b, 0x2c, 0x5a, 0x07, 0xe0, 0xbe, 0x45, 0xf6, 0xc2, 0x6d, 0xa5, 0x4c, 0x0c, + 0x40, 0xd7, 0xcd, 0x6a, 0xed, 0xd2, 0xad, 0x7a, 0xd3, 0x56, 0xe3, 0x6a, 0x7f, 0xa7, 0x0a, 0x83, + 0xfc, 0x91, 0xcd, 0x06, 0x0c, 0x6f, 0xf1, 0x1c, 0x93, 0xfd, 0xa5, 0xb8, 0x4c, 0xed, 0x24, 0x0e, + 0xc0, 0x92, 0x0d, 0x5a, 0x85, 0x93, 0x5e, 0xe0, 0x25, 0x9e, 0xe3, 0xd7, 0x89, 0xef, 0xec, 0x4a, + 0xc3, 0x9b, 0xe7, 0x17, 0x97, 0xa9, 0x70, 0x4f, 0xae, 0x74, 0x93, 0xe0, 0xbc, 0x72, 0xe8, 0xf5, + 0xae, 0x24, 0x51, 0x3c, 0x77, 0xa7, 0xba, 0xab, 0x75, 0x70, 0xa2, 0x28, 0xf4, 0x2a, 0x8c, 0xb7, + 0xbb, 0xb6, 0x18, 0xda, 0xeb, 0x8c, 0xe6, 0xb6, 0xc2, 0xa4, 0x45, 0x75, 0x98, 0x8a, 0x3b, 0xec, + 0x44, 0x76, 0x6d, 0x2b, 0x22, 0xf1, 0x56, 0xe8, 0xbb, 0xe2, 0x55, 0x31, 0x65, 0x4e, 0x35, 0x33, + 0x78, 0xdc, 0x55, 0x82, 0x72, 0xd9, 0x70, 0x3c, 0xbf, 0x13, 0x91, 0x94, 0xcb, 0x90, 0xc9, 0x65, + 0x39, 0x83, 0xc7, 0x5d, 0x25, 0xec, 0x3f, 0xb2, 0xe0, 0x64, 0x4e, 0xd8, 0x02, 0x8f, 0xa6, 0xdb, + 0xf4, 0xe2, 0x44, 0x65, 0x91, 0xd6, 0xa2, 0xe9, 0x38, 0x1c, 0x2b, 0x0a, 0x2a, 0x85, 0x7c, 0xdf, + 0x98, 0x3d, 0x0e, 0x14, 0x07, 0xb3, 0x02, 0xdb, 0x5f, 0xca, 0x27, 0x74, 0x0e, 0x06, 0x3a, 0x31, + 0x91, 0x2f, 0xbe, 0x2b, 0x0d, 0xc5, 0x5c, 0x04, 0x0c, 0x43, 0x0d, 0x93, 0x4d, 0xb5, 0x3b, 0xd7, + 0x0c, 0x13, 0xbe, 0x3f, 0xe7, 0x38, 0xfb, 0x5b, 0x55, 0x98, 0xcc, 0x84, 0x2f, 0xd1, 0x86, 0x6c, + 0x87, 0x81, 0x97, 0x84, 0x2a, 0xdb, 0x10, 0x73, 0x29, 0x2c, 0x92, 0xf6, 0xd6, 0xaa, 0x80, 0x63, + 0x45, 0x81, 0xce, 0x9b, 0x2f, 0x1e, 0xa7, 0x6d, 0x5e, 0xa8, 0x1b, 0x6f, 0xb9, 0x95, 0xcd, 0x6c, + 0xff, 0x14, 0x0c, 0xb4, 0x43, 0xf5, 0x34, 0xa7, 0x12, 0x7a, 0xbc, 0x50, 0x6f, 0x84, 0xa1, 0x8f, + 0x19, 0x12, 0x3d, 0x2d, 0x7a, 0x9f, 0x71, 0x4e, 0x62, 0xc7, 0x0d, 0x63, 0x6d, 0x08, 0x9e, 0x81, + 0xe1, 0xbb, 0x64, 0x37, 0xf2, 0x82, 0xcd, 0xac, 0x6b, 0xf6, 0x3a, 0x07, 0x63, 0x89, 0x37, 0xb3, + 0xd7, 0x0f, 0x1f, 0x71, 0xf6, 0xfa, 0x91, 0xc2, 0x10, 0xcc, 0x5f, 0xb5, 0x60, 0x92, 0xa5, 0xde, + 0x13, 0xd7, 0x60, 0xbd, 0x30, 0x38, 0xc2, 0x55, 0xf1, 0x29, 0x18, 0x8c, 0x68, 0x65, 0xd9, 0xc4, + 0xd3, 0xac, 0x05, 0x98, 0xe3, 0xd0, 0x13, 0xe2, 0xe1, 0x78, 0xfa, 0xf9, 0xc6, 0x78, 0x22, 0xdf, + 0xf4, 0x05, 0x78, 0x16, 0xe0, 0x8f, 0x49, 0xdb, 0xf7, 0x78, 0x63, 0x53, 0x4f, 0xcc, 0xa3, 0x12, + 0xe0, 0x9f, 0xdb, 0xb8, 0x87, 0x15, 0xe0, 0x9f, 0xcf, 0xfc, 0x60, 0x13, 0xf4, 0x7f, 0x56, 0xe0, + 0x6c, 0x6e, 0xb9, 0xf4, 0x58, 0x67, 0xd9, 0x38, 0xd6, 0xb9, 0x92, 0x39, 0xd6, 0xb1, 0x0f, 0x2e, + 0xfd, 0x70, 0x0e, 0x7a, 0xf2, 0x8f, 0x5f, 0xaa, 0xc7, 0x79, 0xfc, 0x32, 0x50, 0xd6, 0x56, 0x18, + 0x2c, 0xb0, 0x15, 0x7e, 0xd7, 0x82, 0xc7, 0x73, 0xc7, 0xec, 0xd1, 0xbb, 0x52, 0x91, 0xdb, 0xcc, + 0x1e, 0x16, 0xf4, 0xdf, 0xa8, 0xf6, 0xe8, 0x16, 0xb3, 0xa5, 0x2f, 0x50, 0xbd, 0xc3, 0x90, 0xb1, + 0x30, 0x83, 0xc6, 0xb8, 0xce, 0xe1, 0x30, 0xac, 0xb0, 0x28, 0xd6, 0xae, 0x24, 0xf0, 0x46, 0x2e, + 0x1d, 0x72, 0x4a, 0xcd, 0x99, 0xce, 0x33, 0xfd, 0x3e, 0x6f, 0xe6, 0x9e, 0x02, 0xba, 0xa3, 0x6d, + 0x8f, 0xaa, 0x87, 0xd9, 0x1e, 0x8d, 0xe5, 0x6f, 0x8d, 0xd0, 0x3c, 0x4c, 0x6e, 0x7b, 0x01, 0x7b, + 0x3a, 0xce, 0xb4, 0x43, 0xd4, 0x2d, 0xb8, 0x55, 0x13, 0x8d, 0xb3, 0xf4, 0x33, 0xaf, 0xc2, 0xf8, + 0xe1, 0x3d, 0x26, 0x1f, 0x54, 0xe1, 0xa3, 0x07, 0xa8, 0x05, 0xbe, 0x1e, 0x18, 0xdf, 0x45, 0x5b, + 0x0f, 0xba, 0xbe, 0x4d, 0x03, 0x4e, 0x6d, 0x74, 0x7c, 0x7f, 0x97, 0x85, 0x45, 0x10, 0x57, 0x52, + 0x08, 0x1b, 0x4f, 0x3d, 0xea, 0xba, 0x9c, 0x43, 0x83, 0x73, 0x4b, 0xa2, 0xcf, 0x03, 0x0a, 0xd7, + 0x59, 0x3e, 0x4a, 0x37, 0xbd, 0xb1, 0xcc, 0x3e, 0x41, 0x35, 0x9d, 0xab, 0xb7, 0xba, 0x28, 0x70, + 0x4e, 0x29, 0x6a, 0xf1, 0xb1, 0xf7, 0x60, 0x55, 0xb3, 0x32, 0x16, 0x1f, 0xd6, 0x91, 0xd8, 0xa4, + 0x45, 0x57, 0xe1, 0x84, 0xb3, 0xe3, 0x78, 0x3c, 0xdb, 0x8c, 0x64, 0xc0, 0x4d, 0x3e, 0xe5, 0x92, + 0x98, 0xcf, 0x12, 0xe0, 0xee, 0x32, 0xa8, 0x6d, 0x38, 0x99, 0x78, 0xfe, 0xe9, 0xd7, 0x0e, 0x21, + 0xc1, 0xa5, 0xdd, 0x4e, 0xf6, 0x1f, 0x5a, 0x74, 0xd1, 0xcb, 0x79, 0x6a, 0xcd, 0x78, 0xa1, 0x5c, + 0xbb, 0xa5, 0xd1, 0xfd, 0x42, 0x39, 0xf3, 0xbf, 0x9a, 0xb4, 0x5c, 0x34, 0xe2, 0x34, 0xac, 0xd2, + 0xb0, 0x2f, 0xc5, 0xed, 0x24, 0x45, 0x81, 0xee, 0xc0, 0xb0, 0xeb, 0xed, 0x78, 0x71, 0x18, 0x95, + 0x78, 0x10, 0xb8, 0x2b, 0x54, 0x2f, 0x55, 0x97, 0x75, 0xce, 0x04, 0x4b, 0x6e, 0xf6, 0xdf, 0xaa, + 0xc0, 0xb8, 0xac, 0xef, 0x8d, 0x4e, 0xc8, 0x74, 0xd8, 0x51, 0x2d, 0xe5, 0x6f, 0x18, 0x4b, 0xf9, + 0xa5, 0x72, 0x57, 0xb4, 0x58, 0xa3, 0x7a, 0x2e, 0xe1, 0x5f, 0xc8, 0x2c, 0xe1, 0x97, 0xfb, 0x61, + 0x5a, 0xe8, 0x3d, 0x3a, 0x61, 0xd0, 0x3f, 0x42, 0xf9, 0x8f, 0xf3, 0xba, 0xd3, 0x63, 0xe1, 0xf8, + 0x4e, 0x25, 0xd3, 0x0d, 0xb6, 0x60, 0x7c, 0x0d, 0x06, 0xb6, 0x9c, 0xc8, 0x2d, 0x97, 0x6f, 0xad, + 0xab, 0xf8, 0xdc, 0x35, 0x27, 0x72, 0xb9, 0xda, 0xbf, 0xa8, 0x1e, 0x6a, 0x71, 0x22, 0xb7, 0x30, + 0xc8, 0x98, 0x55, 0x8a, 0x5e, 0x81, 0xa1, 0xb8, 0x15, 0xb6, 0x55, 0x54, 0xd7, 0x39, 0xfe, 0x88, + 0x0b, 0x85, 0x3c, 0xd8, 0x9b, 0x45, 0x66, 0x75, 0x14, 0x8c, 0x05, 0xfd, 0x0c, 0x81, 0x9a, 0xaa, + 0xfa, 0x08, 0xc3, 0x59, 0x3f, 0xa8, 0xc2, 0xc9, 0x1c, 0x51, 0x41, 0x3f, 0x63, 0x8c, 0xda, 0xab, + 0x7d, 0xcb, 0xda, 0x87, 0x1c, 0xb7, 0x9f, 0x61, 0x1b, 0x22, 0x57, 0xc8, 0xc6, 0x21, 0xaa, 0xbf, + 0x1d, 0x93, 0x6c, 0xf5, 0x14, 0x54, 0x5c, 0x3d, 0xad, 0xf6, 0x98, 0x06, 0x9f, 0x56, 0xa3, 0xda, + 0x79, 0x84, 0xdf, 0xf8, 0xfd, 0x01, 0x38, 0x95, 0x77, 0x0d, 0x14, 0xfd, 0xbc, 0x95, 0xc9, 0xa0, + 0xfe, 0x7a, 0xff, 0x77, 0x49, 0x79, 0x5a, 0x75, 0x91, 0x1e, 0x62, 0xce, 0xcc, 0xa9, 0x5e, 0x38, + 0xda, 0xa2, 0x76, 0x76, 0x31, 0x20, 0xe2, 0xc9, 0xf0, 0xa5, 0x3e, 0xf8, 0xdc, 0x21, 0x9a, 0x22, + 0xf2, 0xe9, 0xc7, 0x99, 0x8b, 0x01, 0x12, 0x5c, 0x7c, 0x31, 0x40, 0xb6, 0x61, 0x66, 0x13, 0x46, + 0xb5, 0x7e, 0x1d, 0xa1, 0x08, 0x78, 0x74, 0x4d, 0xd2, 0x5a, 0x7d, 0x84, 0x62, 0xf0, 0x77, 0x2c, + 0xc8, 0x84, 0x6b, 0x28, 0xaf, 0x8b, 0xd5, 0xd3, 0xeb, 0x72, 0x0e, 0x06, 0xa2, 0xd0, 0x27, 0xd9, + 0xd4, 0xde, 0x38, 0xf4, 0x09, 0x66, 0x18, 0xf5, 0x1c, 0x64, 0xb5, 0xd7, 0x73, 0x90, 0x74, 0x3b, + 0xee, 0x93, 0x1d, 0x22, 0x7d, 0x20, 0x4a, 0x79, 0xdf, 0xa0, 0x40, 0xcc, 0x71, 0xf6, 0x8f, 0xaa, + 0x30, 0xc4, 0x1d, 0x0d, 0x47, 0xb8, 0x2c, 0x37, 0xc4, 0x9e, 0xbf, 0xd4, 0x85, 0x4c, 0xde, 0x9a, + 0xb9, 0xba, 0x93, 0x38, 0x5c, 0xa0, 0x54, 0xdf, 0x52, 0x3f, 0x01, 0x9a, 0x33, 0x7a, 0x3f, 0x93, + 0xd9, 0xd2, 0x02, 0xe7, 0xa1, 0x8d, 0xc5, 0x16, 0x40, 0xcc, 0x5e, 0x06, 0xa3, 0x3c, 0x44, 0x52, + 0xbc, 0x17, 0x4b, 0xb5, 0xa3, 0xa9, 0x8a, 0xf1, 0xd6, 0xa4, 0xd9, 0xb8, 0x14, 0x02, 0x6b, 0xbc, + 0x67, 0x5e, 0x86, 0x9a, 0x22, 0x2e, 0xb2, 0xf4, 0xc7, 0x74, 0x91, 0xfc, 0x0b, 0x30, 0x99, 0xa9, + 0xab, 0xaf, 0x8d, 0xc2, 0xf7, 0x2d, 0x38, 0xd1, 0xf5, 0x92, 0x2d, 0x7a, 0xdf, 0x82, 0x53, 0x7e, + 0x8e, 0x87, 0x49, 0x7c, 0xe0, 0xc3, 0xf8, 0xa6, 0xd4, 0x2e, 0x21, 0x0f, 0x8b, 0x73, 0x6b, 0x93, + 0x69, 0x3e, 0x2b, 0xf9, 0x69, 0x3e, 0xd9, 0x73, 0x48, 0xbc, 0xed, 0xc7, 0x61, 0x01, 0xad, 0x98, + 0x16, 0xd0, 0xc7, 0xcb, 0x88, 0x41, 0x0f, 0xd3, 0xe7, 0xdf, 0x5b, 0x80, 0x38, 0x41, 0xf6, 0x85, + 0x40, 0xee, 0xb1, 0xd3, 0x6c, 0xf6, 0x54, 0x6e, 0x14, 0x06, 0x6b, 0x54, 0x7d, 0x66, 0x7f, 0x57, + 0x2f, 0x6b, 0x95, 0x7b, 0xbe, 0xbf, 0x5a, 0xe2, 0xf9, 0xfe, 0xdf, 0xaa, 0x42, 0x36, 0xb4, 0x01, + 0x7d, 0x19, 0xc6, 0x5a, 0x4e, 0xdb, 0x59, 0xf7, 0x7c, 0x2f, 0xf1, 0x48, 0x5c, 0xee, 0xd8, 0x68, + 0x51, 0x2b, 0x21, 0x7c, 0xbe, 0x1a, 0x04, 0x1b, 0x1c, 0xd1, 0x1c, 0x40, 0x3b, 0xf2, 0x76, 0x3c, + 0x9f, 0x6c, 0x32, 0xbb, 0x43, 0x25, 0x49, 0x69, 0x28, 0x28, 0xd6, 0x28, 0x72, 0x62, 0xe8, 0xaa, + 0xc7, 0x11, 0x43, 0x37, 0xd0, 0x67, 0x0c, 0xdd, 0x60, 0xa9, 0x18, 0x3a, 0x0c, 0x67, 0xa4, 0xab, + 0x96, 0xfe, 0x5f, 0xf6, 0x7c, 0xc2, 0xf3, 0xfa, 0x89, 0xc8, 0xc7, 0x99, 0xfd, 0xbd, 0xd9, 0x33, + 0x38, 0x97, 0x02, 0xf7, 0x28, 0x69, 0x77, 0xe0, 0x64, 0x93, 0x44, 0x1e, 0x4b, 0xbb, 0xe4, 0xa6, + 0x33, 0xf0, 0x1d, 0xa8, 0x45, 0x99, 0xc9, 0xdf, 0xe7, 0x9d, 0x34, 0x2d, 0x79, 0x85, 0x9c, 0xec, + 0x29, 0x4b, 0xfb, 0xaf, 0x54, 0x60, 0x58, 0x84, 0x10, 0x1d, 0xe1, 0x42, 0x72, 0xdd, 0xd8, 0xdf, + 0x3d, 0x53, 0x34, 0x73, 0x59, 0x73, 0x7a, 0xee, 0xec, 0x9a, 0x99, 0x9d, 0xdd, 0x73, 0xe5, 0xd8, + 0x1d, 0xbc, 0xa7, 0xfb, 0x61, 0x05, 0x26, 0xcc, 0x50, 0xaa, 0x23, 0x1c, 0x8e, 0xb7, 0x60, 0x38, + 0x16, 0xf1, 0x45, 0x95, 0x32, 0xb1, 0x1a, 0xd9, 0x4f, 0xaa, 0x36, 0xed, 0x32, 0xa2, 0x48, 0xb2, + 0xcb, 0x0d, 0x61, 0xaa, 0x1e, 0x47, 0x08, 0x93, 0xfd, 0x23, 0xa6, 0x52, 0xf5, 0x01, 0x3c, 0x8e, + 0x35, 0xe1, 0x0d, 0x53, 0xfb, 0x5e, 0x2c, 0x25, 0x0a, 0xa2, 0x7d, 0x3d, 0xd6, 0x86, 0xef, 0x59, + 0x30, 0x2a, 0x08, 0x8f, 0xa3, 0x07, 0x9f, 0x37, 0x7b, 0xf0, 0x74, 0xa9, 0x1e, 0xf4, 0x68, 0xfa, + 0xdf, 0xab, 0xa8, 0xa6, 0x37, 0xc4, 0xcb, 0xa9, 0x85, 0x89, 0x1e, 0x47, 0xda, 0x51, 0x98, 0x84, + 0xad, 0xd0, 0x17, 0xab, 0xfc, 0x13, 0x69, 0xd4, 0x39, 0x87, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0xcd, + 0xa2, 0xa9, 0xc3, 0x28, 0x11, 0x4b, 0x54, 0xde, 0xbb, 0xad, 0xeb, 0xf2, 0x5d, 0x6c, 0x0a, 0x13, + 0x57, 0x36, 0xfa, 0x7d, 0x0f, 0x36, 0x8d, 0x21, 0x57, 0x9c, 0xb0, 0xc6, 0x55, 0x86, 0x37, 0xb2, + 0x1a, 0x06, 0x4d, 0x37, 0xea, 0x4d, 0x01, 0xc7, 0x8a, 0xc2, 0x7e, 0x99, 0xe9, 0x58, 0x36, 0x3c, + 0xfd, 0x05, 0x86, 0xff, 0xe2, 0x90, 0x1a, 0x58, 0xe6, 0x24, 0xb9, 0x09, 0x83, 0xb4, 0x8b, 0x72, + 0x1f, 0x58, 0x4e, 0xa1, 0xd1, 0x26, 0xe8, 0x01, 0x62, 0x51, 0x12, 0x63, 0xce, 0x06, 0x91, 0x2e, + 0xdf, 0xfb, 0xcb, 0xa5, 0x75, 0x64, 0x1f, 0xde, 0x76, 0x96, 0x38, 0x86, 0x25, 0xcb, 0x58, 0x69, + 0x64, 0x93, 0x73, 0x2e, 0x4a, 0x04, 0x4e, 0x69, 0xd0, 0x25, 0x61, 0xae, 0x9b, 0xcf, 0xea, 0x4a, + 0x73, 0x5d, 0x0e, 0x89, 0x66, 0xaf, 0x5f, 0x86, 0x51, 0x95, 0x9e, 0xbc, 0xc1, 0xb3, 0x4c, 0xd7, + 0xb8, 0xfd, 0xb2, 0x94, 0x82, 0xb1, 0x4e, 0x83, 0x56, 0xe0, 0xa4, 0xab, 0xa2, 0x59, 0x1b, 0x9d, + 0x75, 0xdf, 0x6b, 0xd1, 0xa2, 0xfc, 0x26, 0xc9, 0x63, 0xfb, 0x7b, 0xb3, 0x27, 0xeb, 0xdd, 0x68, + 0x9c, 0x57, 0x06, 0xad, 0xc1, 0x64, 0xcc, 0xd3, 0xb0, 0xcb, 0x3b, 0x67, 0x22, 0x7b, 0xdd, 0xb3, + 0xd2, 0xe9, 0xdf, 0x34, 0xd1, 0x0f, 0x18, 0x88, 0x2b, 0x05, 0x01, 0xc2, 0x59, 0x16, 0xe8, 0x75, + 0x98, 0xf0, 0xf5, 0x57, 0xa5, 0x1a, 0x22, 0xa8, 0x57, 0x05, 0x44, 0x18, 0x6f, 0x4e, 0x35, 0x70, + 0x86, 0x1a, 0xbd, 0x05, 0xd3, 0x3a, 0x44, 0x5c, 0x6a, 0x77, 0x82, 0x4d, 0x12, 0x8b, 0xfc, 0xcf, + 0x4f, 0xec, 0xef, 0xcd, 0x4e, 0xdf, 0xe8, 0x41, 0x83, 0x7b, 0x96, 0x46, 0xaf, 0xc0, 0x98, 0x1c, + 0x49, 0x2d, 0xc0, 0x37, 0x0d, 0xc5, 0xd1, 0x70, 0xd8, 0xa0, 0xfc, 0x70, 0x67, 0x1b, 0x5f, 0xa3, + 0x85, 0xb5, 0x45, 0x15, 0x7d, 0x05, 0xc6, 0xf4, 0x36, 0x0a, 0x35, 0xf9, 0xc9, 0xf2, 0x2f, 0x75, + 0x89, 0xc5, 0x59, 0xb5, 0x5c, 0xc7, 0x61, 0x83, 0xb7, 0x7d, 0x0b, 0x86, 0x9a, 0xbb, 0x71, 0x2b, + 0xf1, 0x1f, 0xd6, 0x8b, 0xca, 0x2d, 0x98, 0xcc, 0x3c, 0x3d, 0xac, 0xde, 0xb0, 0xb6, 0x1e, 0xd6, + 0x1b, 0xd6, 0xf6, 0xd7, 0x2d, 0x18, 0x5c, 0x73, 0xbc, 0xe2, 0x97, 0x13, 0xca, 0x34, 0x19, 0xbd, + 0x04, 0x43, 0x64, 0x63, 0x83, 0xb4, 0xe4, 0x9b, 0xd8, 0x4f, 0x4a, 0xa3, 0x66, 0x89, 0x41, 0xe9, + 0xd4, 0x64, 0x95, 0xf1, 0xbf, 0x58, 0x10, 0xdb, 0xff, 0xd1, 0x02, 0x58, 0x0b, 0x7d, 0x79, 0x6c, + 0x53, 0xd0, 0x92, 0x85, 0xae, 0x37, 0x1c, 0xce, 0xe7, 0xbc, 0xe1, 0x80, 0x52, 0x86, 0x39, 0x2f, + 0x38, 0xa8, 0xde, 0x54, 0x4b, 0xf5, 0x66, 0xa0, 0x9f, 0xde, 0x7c, 0xd3, 0x02, 0x11, 0x43, 0x53, + 0x42, 0x12, 0x5c, 0x99, 0x77, 0xdd, 0x48, 0x57, 0xf1, 0x6c, 0x99, 0x8b, 0x20, 0x22, 0x49, 0x85, + 0x92, 0x4d, 0x23, 0x35, 0x85, 0xc1, 0x95, 0xee, 0xe5, 0x47, 0x39, 0x7a, 0x95, 0x59, 0x90, 0xc5, + 0xed, 0xea, 0x2b, 0x33, 0x17, 0x4b, 0x4b, 0x4e, 0x19, 0xab, 0x04, 0x4d, 0x7a, 0x5a, 0x72, 0x89, + 0xc0, 0x29, 0x0d, 0x7a, 0x06, 0x86, 0xe3, 0xce, 0x3a, 0x23, 0xcf, 0x04, 0xd4, 0x34, 0x39, 0x18, + 0x4b, 0xbc, 0xfd, 0x73, 0x08, 0x8c, 0xae, 0x19, 0xc9, 0xa0, 0xac, 0x87, 0x9e, 0x0c, 0xea, 0x6d, + 0x18, 0x21, 0xdb, 0xed, 0x64, 0xb7, 0xee, 0x45, 0xe5, 0x12, 0xf3, 0x2d, 0x09, 0xea, 0x6e, 0xee, + 0x12, 0x83, 0x15, 0xc7, 0x1e, 0xa9, 0xbd, 0xaa, 0x8f, 0x44, 0x6a, 0xaf, 0x81, 0x3f, 0x95, 0xd4, + 0x5e, 0x6f, 0xc1, 0xf0, 0xa6, 0x97, 0x60, 0xd2, 0x0e, 0xc5, 0xc5, 0xbf, 0x82, 0xf3, 0xb0, 0xab, + 0x9c, 0xb8, 0x3b, 0x5f, 0x8f, 0x40, 0x60, 0xc9, 0x0e, 0xad, 0xc1, 0x10, 0xdf, 0x7d, 0x88, 0x6c, + 0x59, 0x9f, 0x2c, 0xe3, 0x97, 0xe9, 0x4e, 0x1c, 0x25, 0xa2, 0xa6, 0x04, 0x2f, 0x99, 0xca, 0x6b, + 0xf8, 0xc3, 0xa7, 0xf2, 0x52, 0x09, 0xb8, 0x46, 0x1e, 0x56, 0x02, 0x2e, 0x23, 0x91, 0x59, 0xed, + 0x28, 0x12, 0x99, 0x7d, 0xd3, 0x82, 0xd3, 0xed, 0xbc, 0x3c, 0x80, 0x22, 0x95, 0xd6, 0x67, 0x0f, + 0x91, 0x17, 0xd1, 0xa8, 0x9a, 0xdd, 0xc7, 0xca, 0x25, 0xc3, 0xf9, 0x15, 0xcb, 0x8c, 0x68, 0xa3, + 0x1f, 0x3e, 0x23, 0xda, 0x51, 0xe7, 0xdc, 0x4a, 0xf3, 0xa3, 0x8d, 0x1f, 0x49, 0x7e, 0xb4, 0x89, + 0x87, 0x98, 0x1f, 0x4d, 0xcb, 0x6c, 0x36, 0xf9, 0x70, 0x33, 0x9b, 0x6d, 0xc1, 0xa8, 0x1b, 0xde, + 0x0b, 0xee, 0x39, 0x91, 0x3b, 0xdf, 0x58, 0x11, 0x89, 0xb4, 0x0a, 0x92, 0x36, 0xd4, 0xd3, 0x02, + 0x46, 0x0d, 0xdc, 0x01, 0x99, 0x22, 0xb1, 0xce, 0x5a, 0xe4, 0x78, 0x3b, 0xf1, 0x21, 0x73, 0xbc, + 0x19, 0x99, 0xd2, 0xd0, 0x51, 0x64, 0x4a, 0xfb, 0x32, 0xbb, 0xba, 0xbd, 0xe1, 0x6d, 0xae, 0x3a, + 0xed, 0xe9, 0x93, 0x65, 0x6a, 0x58, 0x94, 0xe4, 0xdd, 0x35, 0x28, 0x14, 0x4e, 0x99, 0x76, 0xe7, + 0x62, 0x3b, 0x75, 0xdc, 0xb9, 0xd8, 0x4e, 0x1f, 0x61, 0x2e, 0xb6, 0x33, 0xc7, 0x9a, 0x8b, 0xed, + 0xb1, 0x3f, 0x95, 0x5c, 0x6c, 0x7f, 0x09, 0xce, 0x1e, 0xfc, 0x39, 0xd2, 0x6c, 0xbf, 0x8d, 0xd4, + 0x65, 0x90, 0xc9, 0xf6, 0xcb, 0x4c, 0x1d, 0x8d, 0xaa, 0x74, 0x4a, 0xa8, 0x7f, 0x61, 0xc1, 0x63, + 0x3d, 0x12, 0xa7, 0x94, 0xbe, 0xcd, 0xd0, 0x86, 0xc9, 0xb6, 0x59, 0xb4, 0xf4, 0xbd, 0x23, 0x23, + 0x51, 0x8b, 0x8a, 0x93, 0xcb, 0x20, 0x70, 0x96, 0xfd, 0xc2, 0xc7, 0x7f, 0xfc, 0xc1, 0xd9, 0x8f, + 0xfc, 0xe4, 0x83, 0xb3, 0x1f, 0xf9, 0xfd, 0x0f, 0xce, 0x7e, 0xe4, 0x67, 0xf7, 0xcf, 0x5a, 0x3f, + 0xde, 0x3f, 0x6b, 0xfd, 0x64, 0xff, 0xac, 0xf5, 0x47, 0xfb, 0x67, 0xad, 0x6f, 0xfe, 0xf1, 0xd9, + 0x8f, 0x7c, 0xb1, 0xb2, 0x73, 0xf9, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xba, 0xe2, 0xd2, + 0xb8, 0xb6, 0x00, 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index 1b37c24cf70..59b2be5ef49 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.api.v1; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/api/v1/helpers.go b/pkg/api/v1/helpers.go index dec2b30c2af..e03fc584c23 100644 --- a/pkg/api/v1/helpers.go +++ b/pkg/api/v1/helpers.go @@ -444,13 +444,13 @@ func PodAnnotationsFromSysctls(sysctls []Sysctl) string { } type Sysctl struct { - Name string - Value string + Name string `protobuf:"bytes,1,opt,name=name"` + Value string `protobuf:"bytes,2,opt,name=value"` } // NodeResources is an object for conveying resource information about a node. // see http://releases.k8s.io/HEAD/docs/design/resources.md for more details. type NodeResources struct { // Capacity represents the available resources of a node - Capacity ResourceList + Capacity ResourceList `protobuf:"bytes,1,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"` } diff --git a/pkg/api/v1/ref.go b/pkg/api/v1/ref.go index f9427350a77..ca06c275698 100644 --- a/pkg/api/v1/ref.go +++ b/pkg/api/v1/ref.go @@ -19,12 +19,13 @@ package v1 import ( "errors" "fmt" - "k8s.io/kubernetes/pkg/api" "net/url" "strings" + "k8s.io/kubernetes/pkg/api" + "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" ) @@ -123,11 +124,11 @@ func GetPartialReference(obj runtime.Object, fieldPath string) (*ObjectReference // IsAnAPIObject allows clients to preemptively get a reference to an API object and pass it to places that // intend only to get a reference to that object. This simplifies the event recording interface. -func (obj *ObjectReference) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *ObjectReference) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *ObjectReference) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *ObjectReference) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *ObjectReference) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *ObjectReference) GetObjectKind() schema.ObjectKind { return obj } diff --git a/pkg/api/v1/register.go b/pkg/api/v1/register.go index f02ea8297f0..5e9e8575cef 100644 --- a/pkg/api/v1/register.go +++ b/pkg/api/v1/register.go @@ -19,6 +19,7 @@ package v1 import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -26,7 +27,7 @@ import ( const GroupName = "" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs, addFastPathConversionFuncs) diff --git a/pkg/api/validation/BUILD b/pkg/api/validation/BUILD index 63169c20d22..b1931075dd0 100644 --- a/pkg/api/validation/BUILD +++ b/pkg/api/validation/BUILD @@ -26,7 +26,6 @@ go_library( "//pkg/api/pod:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/service:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/unversioned/validation:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/v1:go_default_library", @@ -34,6 +33,7 @@ go_library( "//pkg/capabilities:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/errors:go_default_library", diff --git a/pkg/api/validation/events.go b/pkg/api/validation/events.go index 589fe919f2d..79e34958bf2 100644 --- a/pkg/api/validation/events.go +++ b/pkg/api/validation/events.go @@ -21,9 +21,9 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" apiutil "k8s.io/kubernetes/pkg/api/util" "k8s.io/kubernetes/pkg/apimachinery/registered" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/validation" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -68,7 +68,7 @@ func isNamespacedKind(kind, groupVersion string) (bool, error) { if err != nil { return false, err } - restMapping, err := g.RESTMapper.RESTMapping(unversioned.GroupKind{Group: group, Kind: kind}, apiutil.GetVersion(groupVersion)) + restMapping, err := g.RESTMapper.RESTMapping(schema.GroupKind{Group: group, Kind: kind}, apiutil.GetVersion(groupVersion)) if err != nil { return false, err } diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index b3ca343fe11..5459c6fda5e 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -32,11 +32,11 @@ import ( utilpod "k8s.io/kubernetes/pkg/api/pod" "k8s.io/kubernetes/pkg/api/resource" apiservice "k8s.io/kubernetes/pkg/api/service" - "k8s.io/kubernetes/pkg/api/unversioned" unversionedvalidation "k8s.io/kubernetes/pkg/api/unversioned/validation" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/security/apparmor" utilconfig "k8s.io/kubernetes/pkg/util/config" "k8s.io/kubernetes/pkg/util/intstr" @@ -60,7 +60,7 @@ var volumeModeErrorMsg string = "must be a number between 0 and 0777 (octal), bo const totalAnnotationSizeLimitB int = 256 * (1 << 10) // 256 kB // BannedOwners is a black list of object that are not allowed to be owners. -var BannedOwners = map[unversioned.GroupVersionKind]struct{}{ +var BannedOwners = map[schema.GroupVersionKind]struct{}{ v1.SchemeGroupVersion.WithKind("Event"): {}, } @@ -193,7 +193,7 @@ func ValidateEndpointsSpecificAnnotations(annotations map[string]string, fldPath func validateOwnerReference(ownerReference api.OwnerReference, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} - gvk := unversioned.FromAPIVersionAndKind(ownerReference.APIVersion, ownerReference.Kind) + gvk := schema.FromAPIVersionAndKind(ownerReference.APIVersion, ownerReference.Kind) // gvk.Group is empty for the legacy group. if len(gvk.Version) == 0 { allErrs = append(allErrs, field.Invalid(fldPath.Child("apiVersion"), ownerReference.APIVersion, "version must not be empty")) diff --git a/pkg/apimachinery/BUILD b/pkg/apimachinery/BUILD index 53a7c57c401..3b014d12190 100644 --- a/pkg/apimachinery/BUILD +++ b/pkg/apimachinery/BUILD @@ -19,8 +19,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) @@ -29,5 +29,5 @@ go_test( srcs = ["types_test.go"], library = "go_default_library", tags = ["automanaged"], - deps = ["//pkg/api/unversioned:go_default_library"], + deps = ["//pkg/runtime/schema:go_default_library"], ) diff --git a/pkg/apimachinery/announced/BUILD b/pkg/apimachinery/announced/BUILD index 0ff3d6790d0..f17dafbe795 100644 --- a/pkg/apimachinery/announced/BUILD +++ b/pkg/apimachinery/announced/BUILD @@ -20,10 +20,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", ], diff --git a/pkg/apimachinery/announced/group_factory.go b/pkg/apimachinery/announced/group_factory.go index 75b22c0636b..16f911898aa 100644 --- a/pkg/apimachinery/announced/group_factory.go +++ b/pkg/apimachinery/announced/group_factory.go @@ -23,10 +23,10 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -107,7 +107,7 @@ type GroupMetaFactory struct { VersionArgs map[string]*GroupVersionFactoryArgs // assembled by Register() - prioritizedVersionList []unversioned.GroupVersion + prioritizedVersionList []schema.GroupVersion } // Register constructs the finalized prioritized version list and sanity checks @@ -124,11 +124,11 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro if pvSet.Len() != len(gmf.GroupArgs.VersionPreferenceOrder) { return fmt.Errorf("preference order for group %v has duplicates: %v", gmf.GroupArgs.GroupName, gmf.GroupArgs.VersionPreferenceOrder) } - prioritizedVersions := []unversioned.GroupVersion{} + prioritizedVersions := []schema.GroupVersion{} for _, v := range gmf.GroupArgs.VersionPreferenceOrder { prioritizedVersions = append( prioritizedVersions, - unversioned.GroupVersion{ + schema.GroupVersion{ Group: gmf.GroupArgs.GroupName, Version: v, }, @@ -136,7 +136,7 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro } // Go through versions that weren't explicitly prioritized. - unprioritizedVersions := []unversioned.GroupVersion{} + unprioritizedVersions := []schema.GroupVersion{} for _, v := range gmf.VersionArgs { if v.GroupName != gmf.GroupArgs.GroupName { return fmt.Errorf("found %v/%v in group %v?", v.GroupName, v.VersionName, gmf.GroupArgs.GroupName) @@ -145,7 +145,7 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro pvSet.Delete(v.VersionName) continue } - unprioritizedVersions = append(unprioritizedVersions, unversioned.GroupVersion{Group: v.GroupName, Version: v.VersionName}) + unprioritizedVersions = append(unprioritizedVersions, schema.GroupVersion{Group: v.GroupName, Version: v.VersionName}) } if len(unprioritizedVersions) > 1 { glog.Warningf("group %v has multiple unprioritized versions: %#v. They will have an arbitrary preference order!", gmf.GroupArgs.GroupName, unprioritizedVersions) @@ -159,7 +159,7 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro return nil } -func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersions []unversioned.GroupVersion, groupMeta *apimachinery.GroupMeta) meta.RESTMapper { +func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersions []schema.GroupVersion, groupMeta *apimachinery.GroupMeta) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString() @@ -183,7 +183,7 @@ func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersi // Enable enables group versions that are allowed, adds methods to the scheme, etc. func (gmf *GroupMetaFactory) Enable(m *registered.APIRegistrationManager, scheme *runtime.Scheme) error { - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range gmf.prioritizedVersionList { if !m.IsAllowedVersion(v) { continue @@ -214,7 +214,7 @@ func (gmf *GroupMetaFactory) Enable(m *registered.APIRegistrationManager, scheme for _, v := range externalVersions { gvf := gmf.VersionArgs[v.Version] if err := groupMeta.AddVersionInterfaces( - unversioned.GroupVersion{Group: gvf.GroupName, Version: gvf.VersionName}, + schema.GroupVersion{Group: gvf.GroupName, Version: gvf.VersionName}, &meta.VersionInterfaces{ ObjectConvertor: scheme, MetadataAccessor: accessor, diff --git a/pkg/apimachinery/registered/BUILD b/pkg/apimachinery/registered/BUILD index f477d10fff8..1e02bfe8715 100644 --- a/pkg/apimachinery/registered/BUILD +++ b/pkg/apimachinery/registered/BUILD @@ -16,8 +16,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", ], @@ -29,7 +29,7 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/apimachinery/registered/registered.go b/pkg/apimachinery/registered/registered.go index 5b61b4b069e..7baebcd60a3 100644 --- a/pkg/apimachinery/registered/registered.go +++ b/pkg/apimachinery/registered/registered.go @@ -26,8 +26,8 @@ import ( "github.com/golang/glog" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -45,16 +45,16 @@ var ( // isn't easy right now because there are so many callers of this package. type APIRegistrationManager struct { // registeredGroupVersions stores all API group versions for which RegisterGroup is called. - registeredVersions map[unversioned.GroupVersion]struct{} + registeredVersions map[schema.GroupVersion]struct{} // thirdPartyGroupVersions are API versions which are dynamically // registered (and unregistered) via API calls to the apiserver - thirdPartyGroupVersions []unversioned.GroupVersion + thirdPartyGroupVersions []schema.GroupVersion // enabledVersions represents all enabled API versions. It should be a // subset of registeredVersions. Please call EnableVersions() to add // enabled versions. - enabledVersions map[unversioned.GroupVersion]struct{} + enabledVersions map[schema.GroupVersion]struct{} // map of group meta for all groups. groupMetaMap map[string]*apimachinery.GroupMeta @@ -63,7 +63,7 @@ type APIRegistrationManager struct { // KUBE_API_VERSIONS environment variable. The install package of each group // checks this list before add their versions to the latest package and // Scheme. This list is small and order matters, so represent as a slice - envRequestedVersions []unversioned.GroupVersion + envRequestedVersions []schema.GroupVersion } // NewAPIRegistrationManager constructs a new manager. The argument ought to be @@ -71,16 +71,16 @@ type APIRegistrationManager struct { // wish to test. func NewAPIRegistrationManager(kubeAPIVersions string) (*APIRegistrationManager, error) { m := &APIRegistrationManager{ - registeredVersions: map[unversioned.GroupVersion]struct{}{}, - thirdPartyGroupVersions: []unversioned.GroupVersion{}, - enabledVersions: map[unversioned.GroupVersion]struct{}{}, + registeredVersions: map[schema.GroupVersion]struct{}{}, + thirdPartyGroupVersions: []schema.GroupVersion{}, + enabledVersions: map[schema.GroupVersion]struct{}{}, groupMetaMap: map[string]*apimachinery.GroupMeta{}, - envRequestedVersions: []unversioned.GroupVersion{}, + envRequestedVersions: []schema.GroupVersion{}, } if len(kubeAPIVersions) != 0 { for _, version := range strings.Split(kubeAPIVersions, ",") { - gv, err := unversioned.ParseGroupVersion(version) + gv, err := schema.ParseGroupVersion(version) if err != nil { return nil, fmt.Errorf("invalid api version: %s in KUBE_API_VERSIONS: %s.", version, kubeAPIVersions) @@ -122,7 +122,7 @@ var ( ) // RegisterVersions adds the given group versions to the list of registered group versions. -func (m *APIRegistrationManager) RegisterVersions(availableVersions []unversioned.GroupVersion) { +func (m *APIRegistrationManager) RegisterVersions(availableVersions []schema.GroupVersion) { for _, v := range availableVersions { m.registeredVersions[v] = struct{}{} } @@ -141,8 +141,8 @@ func (m *APIRegistrationManager) RegisterGroup(groupMeta apimachinery.GroupMeta) // EnableVersions adds the versions for the given group to the list of enabled versions. // Note that the caller should call RegisterGroup before calling this method. // The caller of this function is responsible to add the versions to scheme and RESTMapper. -func (m *APIRegistrationManager) EnableVersions(versions ...unversioned.GroupVersion) error { - var unregisteredVersions []unversioned.GroupVersion +func (m *APIRegistrationManager) EnableVersions(versions ...schema.GroupVersion) error { + var unregisteredVersions []schema.GroupVersion for _, v := range versions { if _, found := m.registeredVersions[v]; !found { unregisteredVersions = append(unregisteredVersions, v) @@ -158,7 +158,7 @@ func (m *APIRegistrationManager) EnableVersions(versions ...unversioned.GroupVer // IsAllowedVersion returns if the version is allowed by the KUBE_API_VERSIONS // environment variable. If the environment variable is empty, then it always // returns true. -func (m *APIRegistrationManager) IsAllowedVersion(v unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsAllowedVersion(v schema.GroupVersion) bool { if len(m.envRequestedVersions) == 0 { return true } @@ -171,15 +171,15 @@ func (m *APIRegistrationManager) IsAllowedVersion(v unversioned.GroupVersion) bo } // IsEnabledVersion returns if a version is enabled. -func (m *APIRegistrationManager) IsEnabledVersion(v unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsEnabledVersion(v schema.GroupVersion) bool { _, found := m.enabledVersions[v] return found } // EnabledVersions returns all enabled versions. Groups are randomly ordered, but versions within groups // are priority order from best to worst -func (m *APIRegistrationManager) EnabledVersions() []unversioned.GroupVersion { - ret := []unversioned.GroupVersion{} +func (m *APIRegistrationManager) EnabledVersions() []schema.GroupVersion { + ret := []schema.GroupVersion{} for _, groupMeta := range m.groupMetaMap { for _, version := range groupMeta.GroupVersions { if m.IsEnabledVersion(version) { @@ -191,13 +191,13 @@ func (m *APIRegistrationManager) EnabledVersions() []unversioned.GroupVersion { } // EnabledVersionsForGroup returns all enabled versions for a group in order of best to worst -func (m *APIRegistrationManager) EnabledVersionsForGroup(group string) []unversioned.GroupVersion { +func (m *APIRegistrationManager) EnabledVersionsForGroup(group string) []schema.GroupVersion { groupMeta, ok := m.groupMetaMap[group] if !ok { - return []unversioned.GroupVersion{} + return []schema.GroupVersion{} } - ret := []unversioned.GroupVersion{} + ret := []schema.GroupVersion{} for _, version := range groupMeta.GroupVersions { if m.IsEnabledVersion(version) { ret = append(ret, version) @@ -224,14 +224,14 @@ func (m *APIRegistrationManager) IsRegistered(group string) bool { } // IsRegisteredVersion returns if a version is registered. -func (m *APIRegistrationManager) IsRegisteredVersion(v unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsRegisteredVersion(v schema.GroupVersion) bool { _, found := m.registeredVersions[v] return found } // RegisteredGroupVersions returns all registered group versions. -func (m *APIRegistrationManager) RegisteredGroupVersions() []unversioned.GroupVersion { - ret := []unversioned.GroupVersion{} +func (m *APIRegistrationManager) RegisteredGroupVersions() []schema.GroupVersion { + ret := []schema.GroupVersion{} for groupVersion := range m.registeredVersions { ret = append(ret, groupVersion) } @@ -239,7 +239,7 @@ func (m *APIRegistrationManager) RegisteredGroupVersions() []unversioned.GroupVe } // IsThirdPartyAPIGroupVersion returns true if the api version is a user-registered group/version. -func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv schema.GroupVersion) bool { for ix := range m.thirdPartyGroupVersions { if m.thirdPartyGroupVersions[ix] == gv { return true @@ -252,9 +252,9 @@ func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv unversioned.Grou // registers them in the API machinery and enables them. // Skips GroupVersions that are already registered. // Returns the list of GroupVersions that were skipped. -func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...unversioned.GroupVersion) []unversioned.GroupVersion { - filteredGVs := []unversioned.GroupVersion{} - skippedGVs := []unversioned.GroupVersion{} +func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...schema.GroupVersion) []schema.GroupVersion { + filteredGVs := []schema.GroupVersion{} + skippedGVs := []schema.GroupVersion{} for ix := range gvs { if !m.IsRegisteredVersion(gvs[ix]) { filteredGVs = append(filteredGVs, gvs[ix]) @@ -274,7 +274,7 @@ func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...unversione } // InterfacesFor is a union meta.VersionInterfacesFunc func for all registered types -func (m *APIRegistrationManager) InterfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func (m *APIRegistrationManager) InterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { groupMeta, err := m.Group(version.Group) if err != nil { return nil, err @@ -303,7 +303,7 @@ func (m *APIRegistrationManager) GroupOrDie(group string) *apimachinery.GroupMet // 1. legacy kube group preferred version, extensions preferred version, metrics perferred version, legacy // kube any version, extensions any version, metrics any version, all other groups alphabetical preferred version, // all other groups alphabetical. -func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.GroupVersion) meta.RESTMapper { +func (m *APIRegistrationManager) RESTMapper(versionPatterns ...schema.GroupVersion) meta.RESTMapper { unionMapper := meta.MultiRESTMapper{} unionedGroups := sets.NewString() for enabledVersion := range m.enabledVersions { @@ -315,8 +315,8 @@ func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.Group } if len(versionPatterns) != 0 { - resourcePriority := []unversioned.GroupVersionResource{} - kindPriority := []unversioned.GroupVersionKind{} + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} for _, versionPriority := range versionPatterns { resourcePriority = append(resourcePriority, versionPriority.WithResource(meta.AnyResource)) kindPriority = append(kindPriority, versionPriority.WithKind(meta.AnyKind)) @@ -326,8 +326,8 @@ func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.Group } if len(m.envRequestedVersions) != 0 { - resourcePriority := []unversioned.GroupVersionResource{} - kindPriority := []unversioned.GroupVersionKind{} + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} for _, versionPriority := range m.envRequestedVersions { resourcePriority = append(resourcePriority, versionPriority.WithResource(meta.AnyResource)) @@ -357,9 +357,9 @@ func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.Group // prioritiesForGroups returns the resource and kind priorities for a PriorityRESTMapper, preferring the preferred version of each group first, // then any non-preferred version of the group second. -func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]unversioned.GroupVersionResource, []unversioned.GroupVersionKind) { - resourcePriority := []unversioned.GroupVersionResource{} - kindPriority := []unversioned.GroupVersionKind{} +func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]schema.GroupVersionResource, []schema.GroupVersionKind) { + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} for _, group := range groups { availableVersions := m.EnabledVersionsForGroup(group) @@ -369,8 +369,8 @@ func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]unvers } } for _, group := range groups { - resourcePriority = append(resourcePriority, unversioned.GroupVersionResource{Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource}) - kindPriority = append(kindPriority, unversioned.GroupVersionKind{Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind}) + resourcePriority = append(resourcePriority, schema.GroupVersionResource{Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource}) + kindPriority = append(kindPriority, schema.GroupVersionKind{Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind}) } return resourcePriority, kindPriority @@ -392,8 +392,8 @@ func (m *APIRegistrationManager) AllPreferredGroupVersions() string { // ValidateEnvRequestedVersions returns a list of versions that are requested in // the KUBE_API_VERSIONS environment variable, but not enabled. -func (m *APIRegistrationManager) ValidateEnvRequestedVersions() []unversioned.GroupVersion { - var missingVersions []unversioned.GroupVersion +func (m *APIRegistrationManager) ValidateEnvRequestedVersions() []schema.GroupVersion { + var missingVersions []schema.GroupVersion for _, v := range m.envRequestedVersions { if _, found := m.enabledVersions[v]; !found { missingVersions = append(missingVersions, v) diff --git a/pkg/apimachinery/registered/registered_test.go b/pkg/apimachinery/registered/registered_test.go index d6123d68867..c6b68925900 100644 --- a/pkg/apimachinery/registered/registered_test.go +++ b/pkg/apimachinery/registered/registered_test.go @@ -19,8 +19,8 @@ package registered import ( "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestAddThirdPartyVersionsBasic(t *testing.T) { @@ -29,14 +29,14 @@ func TestAddThirdPartyVersionsBasic(t *testing.T) { t.Fatalf("Unexpected failure to make a manager: %v", err) } - registered := []unversioned.GroupVersion{ + registered := []schema.GroupVersion{ { Group: "", Version: "v1", }, } skipped := registered - thirdParty := []unversioned.GroupVersion{ + thirdParty := []schema.GroupVersion{ { Group: "company.com", Version: "v1", @@ -73,7 +73,7 @@ func TestAddThirdPartyVersionsBasic(t *testing.T) { } func TestAddThirdPartyVersionsMultiple(t *testing.T) { - thirdParty := []unversioned.GroupVersion{ + thirdParty := []schema.GroupVersion{ { Group: "company.com", Version: "v1", @@ -108,13 +108,13 @@ func TestAllPreferredGroupVersions(t *testing.T) { { groupMetas: []apimachinery.GroupMeta{ { - GroupVersion: unversioned.GroupVersion{Group: "group1", Version: "v1"}, + GroupVersion: schema.GroupVersion{Group: "group1", Version: "v1"}, }, { - GroupVersion: unversioned.GroupVersion{Group: "group2", Version: "v2"}, + GroupVersion: schema.GroupVersion{Group: "group2", Version: "v2"}, }, { - GroupVersion: unversioned.GroupVersion{Group: "", Version: "v1"}, + GroupVersion: schema.GroupVersion{Group: "", Version: "v1"}, }, }, expect: "group1/v1,group2/v2,v1", @@ -122,7 +122,7 @@ func TestAllPreferredGroupVersions(t *testing.T) { { groupMetas: []apimachinery.GroupMeta{ { - GroupVersion: unversioned.GroupVersion{Group: "", Version: "v1"}, + GroupVersion: schema.GroupVersion{Group: "", Version: "v1"}, }, }, expect: "v1", diff --git a/pkg/apimachinery/types.go b/pkg/apimachinery/types.go index c9146080a24..1085dd16943 100644 --- a/pkg/apimachinery/types.go +++ b/pkg/apimachinery/types.go @@ -20,17 +20,17 @@ import ( "fmt" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupMeta stores the metadata of a group. type GroupMeta struct { // GroupVersion represents the preferred version of the group. - GroupVersion unversioned.GroupVersion + GroupVersion schema.GroupVersion // GroupVersions is Group + all versions in that group. - GroupVersions []unversioned.GroupVersion + GroupVersions []schema.GroupVersion // Codec is the default codec for serializing output that should use // the preferred version. Use this Codec when writing to @@ -52,16 +52,16 @@ type GroupMeta struct { // string, or an error if the version is not known. // TODO: make this stop being a func pointer and always use the default // function provided below once every place that populates this field has been changed. - InterfacesFor func(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) + InterfacesFor func(version schema.GroupVersion) (*meta.VersionInterfaces, error) // InterfacesByVersion stores the per-version interfaces. - InterfacesByVersion map[unversioned.GroupVersion]*meta.VersionInterfaces + InterfacesByVersion map[schema.GroupVersion]*meta.VersionInterfaces } // DefaultInterfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. // TODO: Remove the "Default" prefix. -func (gm *GroupMeta) DefaultInterfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func (gm *GroupMeta) DefaultInterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { if v, ok := gm.InterfacesByVersion[version]; ok { return v, nil } @@ -73,12 +73,12 @@ func (gm *GroupMeta) DefaultInterfacesFor(version unversioned.GroupVersion) (*me // (If you use this, be sure to set .InterfacesFor = .DefaultInterfacesFor) // TODO: remove the "Interfaces" suffix and make this also maintain the // .GroupVersions member. -func (gm *GroupMeta) AddVersionInterfaces(version unversioned.GroupVersion, interfaces *meta.VersionInterfaces) error { +func (gm *GroupMeta) AddVersionInterfaces(version schema.GroupVersion, interfaces *meta.VersionInterfaces) error { if e, a := gm.GroupVersion.Group, version.Group; a != e { return fmt.Errorf("got a version in group %v, but am in group %v", a, e) } if gm.InterfacesByVersion == nil { - gm.InterfacesByVersion = make(map[unversioned.GroupVersion]*meta.VersionInterfaces) + gm.InterfacesByVersion = make(map[schema.GroupVersion]*meta.VersionInterfaces) } gm.InterfacesByVersion[version] = interfaces diff --git a/pkg/apimachinery/types_test.go b/pkg/apimachinery/types_test.go index be5cf4261b8..bfaf6b77c13 100644 --- a/pkg/apimachinery/types_test.go +++ b/pkg/apimachinery/types_test.go @@ -19,19 +19,19 @@ package apimachinery import ( "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestAdd(t *testing.T) { gm := GroupMeta{ - GroupVersion: unversioned.GroupVersion{ + GroupVersion: schema.GroupVersion{ Group: "test", Version: "v1", }, - GroupVersions: []unversioned.GroupVersion{{Group: "test", Version: "v1"}}, + GroupVersions: []schema.GroupVersion{{Group: "test", Version: "v1"}}, } - gm.AddVersionInterfaces(unversioned.GroupVersion{Group: "test", Version: "v1"}, nil) + gm.AddVersionInterfaces(schema.GroupVersion{Group: "test", Version: "v1"}, nil) if e, a := 1, len(gm.InterfacesByVersion); e != a { t.Errorf("expected %v, got %v", e, a) } diff --git a/pkg/apis/abac/BUILD b/pkg/apis/abac/BUILD index 05dce7f48fc..91d01f8044c 100644 --- a/pkg/apis/abac/BUILD +++ b/pkg/apis/abac/BUILD @@ -20,6 +20,7 @@ go_library( deps = [ "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", ], ) diff --git a/pkg/apis/abac/register.go b/pkg/apis/abac/register.go index 979646ee036..14d80cf04d4 100644 --- a/pkg/apis/abac/register.go +++ b/pkg/apis/abac/register.go @@ -17,15 +17,15 @@ limitations under the License. package abac import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" ) // Group is the API group for abac const GroupName = "abac.authorization.kubernetes.io" -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Scheme is the default instance of runtime.Scheme to which types in the abac API group are registered. // TODO: remove this, abac should not have its own scheme. @@ -51,4 +51,4 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Policy) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Policy) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/abac/v0/BUILD b/pkg/apis/abac/v0/BUILD index 3caeeeda91e..dfa6747cefd 100644 --- a/pkg/apis/abac/v0/BUILD +++ b/pkg/apis/abac/v0/BUILD @@ -23,6 +23,7 @@ go_library( "//pkg/apis/abac:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/apis/abac/v0/register.go b/pkg/apis/abac/v0/register.go index a3a1474bb44..5c423318beb 100644 --- a/pkg/apis/abac/v0/register.go +++ b/pkg/apis/abac/v0/register.go @@ -17,15 +17,15 @@ limitations under the License. package v0 import ( - "k8s.io/kubernetes/pkg/api/unversioned" api "k8s.io/kubernetes/pkg/apis/abac" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "abac.authorization.kubernetes.io" // GroupVersion is the API group and version for abac v0 -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v0"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v0"} func init() { // TODO: Delete this init function, abac should not have its own scheme. @@ -51,4 +51,4 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Policy) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Policy) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/abac/v1beta1/BUILD b/pkg/apis/abac/v1beta1/BUILD index faae547a121..8930168817e 100644 --- a/pkg/apis/abac/v1beta1/BUILD +++ b/pkg/apis/abac/v1beta1/BUILD @@ -21,5 +21,6 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/apis/abac:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/apis/abac/v1beta1/register.go b/pkg/apis/abac/v1beta1/register.go index 395ae609760..38e87c7f7c6 100644 --- a/pkg/apis/abac/v1beta1/register.go +++ b/pkg/apis/abac/v1beta1/register.go @@ -17,15 +17,15 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" api "k8s.io/kubernetes/pkg/apis/abac" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "abac.authorization.kubernetes.io" // SchemeGroupVersion is the API group and version for abac v1beta1 -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} func init() { // TODO: delete this, abac should not have its own scheme. @@ -47,4 +47,4 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Policy) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Policy) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/apps/BUILD b/pkg/apis/apps/BUILD index 8df04f8b7f8..0dc50903c11 100644 --- a/pkg/apis/apps/BUILD +++ b/pkg/apis/apps/BUILD @@ -26,6 +26,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/pkg/apis/apps/register.go b/pkg/apis/apps/register.go index 41d929ad602..09927d0ce66 100644 --- a/pkg/apis/apps/register.go +++ b/pkg/apis/apps/register.go @@ -18,8 +18,8 @@ package apps import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) var ( @@ -31,15 +31,15 @@ var ( const GroupName = "apps" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/apps/v1beta1/BUILD b/pkg/apis/apps/v1beta1/BUILD index 840f44ca0c0..f2fddd246cc 100644 --- a/pkg/apis/apps/v1beta1/BUILD +++ b/pkg/apis/apps/v1beta1/BUILD @@ -34,6 +34,7 @@ go_library( "//pkg/apis/apps:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/watch/versioned:go_default_library", diff --git a/pkg/apis/apps/v1beta1/generated.pb.go b/pkg/apis/apps/v1beta1/generated.pb.go index fda97f8af57..3e944daef4f 100644 --- a/pkg/apis/apps/v1beta1/generated.pb.go +++ b/pkg/apis/apps/v1beta1/generated.pb.go @@ -1032,45 +1032,45 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 627 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xe3, 0xa4, 0x29, 0x61, 0x53, 0xbe, 0x96, 0x0a, 0x45, 0x11, 0x72, 0xab, 0x5c, 0x08, - 0x52, 0xbb, 0x56, 0x4a, 0x2b, 0x2a, 0x8e, 0x46, 0x02, 0x21, 0x01, 0x45, 0x0e, 0xaa, 0xa0, 0x08, - 0xa4, 0xb5, 0x33, 0x0d, 0x4b, 0x6c, 0xaf, 0xe5, 0x1d, 0xe7, 0xcc, 0x85, 0x03, 0x37, 0xde, 0x82, - 0x47, 0xe0, 0x15, 0x2a, 0x71, 0xe9, 0x91, 0x53, 0x45, 0xc3, 0x8b, 0x20, 0x6f, 0x36, 0x1f, 0x34, - 0x49, 0xa9, 0x7a, 0xf3, 0xec, 0xce, 0xff, 0x37, 0x33, 0xff, 0x1d, 0x93, 0x87, 0xbd, 0x5d, 0xc5, - 0x84, 0x74, 0x7a, 0x99, 0x0f, 0x69, 0x0c, 0x08, 0xca, 0x49, 0x7a, 0x5d, 0x87, 0x27, 0x42, 0x39, - 0x3c, 0x49, 0x94, 0xd3, 0x6f, 0xf9, 0x80, 0xbc, 0xe5, 0x74, 0x21, 0x86, 0x94, 0x23, 0x74, 0x58, - 0x92, 0x4a, 0x94, 0xf4, 0xde, 0x50, 0xc8, 0x26, 0x42, 0x96, 0xf4, 0xba, 0x2c, 0x17, 0xb2, 0x5c, - 0xc8, 0x8c, 0xb0, 0xbe, 0xd9, 0x15, 0xf8, 0x31, 0xf3, 0x59, 0x20, 0x23, 0xa7, 0x2b, 0xbb, 0xd2, - 0xd1, 0x7a, 0x3f, 0x3b, 0xd4, 0x91, 0x0e, 0xf4, 0xd7, 0x90, 0x5b, 0xdf, 0x5a, 0xd8, 0x90, 0x93, - 0x82, 0x92, 0x59, 0x1a, 0xc0, 0xd9, 0x5e, 0xea, 0x3b, 0x8b, 0x35, 0x59, 0xdc, 0x87, 0x54, 0x09, - 0x19, 0x43, 0x67, 0x46, 0xb6, 0xb1, 0x58, 0xd6, 0x9f, 0x19, 0xb8, 0xbe, 0x39, 0x3f, 0x3b, 0xcd, - 0x62, 0x14, 0xd1, 0x6c, 0x4f, 0xad, 0xf9, 0xe9, 0x19, 0x8a, 0xd0, 0x11, 0x31, 0x2a, 0x4c, 0xcf, - 0x4a, 0x1a, 0xdf, 0x8b, 0xa4, 0xda, 0x46, 0x8e, 0x70, 0x98, 0x85, 0x6d, 0x40, 0xfa, 0x86, 0x54, - 0x22, 0x40, 0xde, 0xe1, 0xc8, 0x6b, 0xd6, 0xba, 0xd5, 0xac, 0x6e, 0x35, 0xd9, 0x42, 0xd7, 0x59, - 0xbf, 0xc5, 0xf6, 0xfc, 0x4f, 0x10, 0xe0, 0x0b, 0x40, 0xee, 0xd2, 0xa3, 0x93, 0xb5, 0xc2, 0xe0, - 0x64, 0x8d, 0x4c, 0xce, 0xbc, 0x31, 0x8d, 0x1e, 0x90, 0x25, 0x95, 0x40, 0x50, 0x2b, 0x6a, 0xea, - 0x2e, 0xbb, 0xe0, 0x5b, 0xb2, 0xa9, 0xee, 0xda, 0x09, 0x04, 0xee, 0x8a, 0xa9, 0xb2, 0x94, 0x47, - 0x9e, 0x66, 0x52, 0x9f, 0x2c, 0x2b, 0xe4, 0x98, 0xa9, 0x5a, 0x49, 0xd3, 0x1f, 0x5d, 0x8a, 0xae, - 0x09, 0xee, 0x75, 0xc3, 0x5f, 0x1e, 0xc6, 0x9e, 0x21, 0x37, 0x7e, 0x5a, 0xe4, 0xc6, 0x54, 0xf6, - 0x73, 0xa1, 0x90, 0xbe, 0x9f, 0x71, 0xcb, 0x39, 0xc7, 0xad, 0xa9, 0xbd, 0x60, 0xb9, 0x5c, 0x9b, - 0x76, 0xd3, 0x94, 0xab, 0x8c, 0x4e, 0xa6, 0x2c, 0x7b, 0x4b, 0xca, 0x02, 0x21, 0x52, 0xb5, 0xe2, - 0x7a, 0xa9, 0x59, 0xdd, 0xda, 0xbe, 0xcc, 0x54, 0xee, 0x35, 0x53, 0xa0, 0xfc, 0x2c, 0x47, 0x79, - 0x43, 0x62, 0xe3, 0x47, 0xe9, 0x9f, 0x69, 0x72, 0x2f, 0x69, 0x93, 0x54, 0x52, 0x48, 0x42, 0x11, - 0x70, 0xa5, 0xa7, 0x29, 0xbb, 0x2b, 0x79, 0x63, 0x9e, 0x39, 0xf3, 0xc6, 0xb7, 0xf4, 0x03, 0xa9, - 0x28, 0x08, 0x21, 0x40, 0x99, 0x9a, 0xf7, 0xdc, 0xbe, 0xe8, 0xdc, 0xdc, 0x87, 0xb0, 0x6d, 0xb4, - 0x43, 0xfe, 0x28, 0xf2, 0xc6, 0x4c, 0xfa, 0x8e, 0x54, 0x10, 0xa2, 0x24, 0xe4, 0x08, 0xe6, 0x45, - 0x37, 0xcf, 0xdf, 0xc2, 0x57, 0xb2, 0xf3, 0xda, 0x08, 0xf4, 0x92, 0x8c, 0x5d, 0x1d, 0x9d, 0x7a, - 0x63, 0x20, 0xfd, 0x62, 0x91, 0xd5, 0xbe, 0x0c, 0xb3, 0x08, 0x1e, 0x87, 0x5c, 0x44, 0xa3, 0x0c, - 0x55, 0x5b, 0xd2, 0x2e, 0x3f, 0xf8, 0x4f, 0xa5, 0x7c, 0x14, 0x85, 0x10, 0xe3, 0xfe, 0x84, 0xe1, - 0xde, 0x35, 0xf5, 0x56, 0xf7, 0xe7, 0x80, 0xbd, 0xb9, 0xe5, 0xe8, 0x0e, 0xa9, 0x2a, 0x48, 0xfb, - 0x22, 0x80, 0x97, 0x3c, 0x82, 0x5a, 0x79, 0xdd, 0x6a, 0x5e, 0x75, 0x6f, 0x1b, 0x50, 0xb5, 0x3d, - 0xb9, 0xf2, 0xa6, 0xf3, 0x1a, 0x5f, 0x2d, 0x72, 0x6b, 0x66, 0x6b, 0xe9, 0x13, 0x42, 0xa5, 0x9f, - 0xa7, 0x41, 0xe7, 0xe9, 0xf0, 0x17, 0x17, 0x32, 0xd6, 0xaf, 0x58, 0x72, 0xef, 0x0c, 0x4e, 0xd6, - 0xe8, 0xde, 0xcc, 0xad, 0x37, 0x47, 0x41, 0x37, 0xa6, 0x76, 0xa0, 0xa8, 0x77, 0x60, 0x6c, 0xe5, - 0xec, 0x1e, 0xb8, 0xf7, 0x8f, 0x4e, 0xed, 0xc2, 0xf1, 0xa9, 0x5d, 0xf8, 0x75, 0x6a, 0x17, 0x3e, - 0x0f, 0x6c, 0xeb, 0x68, 0x60, 0x5b, 0xc7, 0x03, 0xdb, 0xfa, 0x3d, 0xb0, 0xad, 0x6f, 0x7f, 0xec, - 0xc2, 0xc1, 0x15, 0xb3, 0x92, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x28, 0x58, 0x61, 0xec, 0xf5, - 0x05, 0x00, 0x00, + // 637 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcd, 0x6e, 0xd3, 0x4c, + 0x14, 0x86, 0xe3, 0xa4, 0xe9, 0x97, 0x6f, 0x52, 0xfe, 0x86, 0x0a, 0x45, 0x11, 0x72, 0xab, 0x6c, + 0x08, 0x52, 0x3b, 0x56, 0x4a, 0x2b, 0x2a, 0x96, 0x46, 0x02, 0x21, 0x01, 0x45, 0x0e, 0xaa, 0xa0, + 0x08, 0xa4, 0xb1, 0x73, 0x9a, 0x9a, 0xd8, 0x1e, 0xcb, 0x73, 0x9c, 0x35, 0x1b, 0x16, 0xec, 0xb8, + 0x0b, 0x2e, 0x81, 0x5b, 0xa8, 0xc4, 0xa6, 0x4b, 0x56, 0x15, 0x0d, 0x37, 0x82, 0x3c, 0x99, 0x24, + 0xa6, 0x4e, 0x4a, 0xd5, 0x9d, 0xcf, 0xcc, 0x79, 0x9f, 0xf3, 0x33, 0xaf, 0xc9, 0xc3, 0xc1, 0xae, + 0x64, 0xbe, 0xb0, 0x06, 0xa9, 0x0b, 0x49, 0x04, 0x08, 0xd2, 0x8a, 0x07, 0x7d, 0x8b, 0xc7, 0xbe, + 0xb4, 0x78, 0x1c, 0x4b, 0x6b, 0xd8, 0x71, 0x01, 0x79, 0xc7, 0xea, 0x43, 0x04, 0x09, 0x47, 0xe8, + 0xb1, 0x38, 0x11, 0x28, 0xe8, 0xbd, 0xb1, 0x90, 0xcd, 0x84, 0x2c, 0x1e, 0xf4, 0x59, 0x26, 0x64, + 0x99, 0x90, 0x69, 0x61, 0x73, 0xb3, 0xef, 0xe3, 0x51, 0xea, 0x32, 0x4f, 0x84, 0x56, 0x5f, 0xf4, + 0x85, 0xa5, 0xf4, 0x6e, 0x7a, 0xa8, 0x22, 0x15, 0xa8, 0xaf, 0x31, 0xb7, 0xb9, 0xb5, 0xb0, 0x21, + 0x2b, 0x01, 0x29, 0xd2, 0xc4, 0x83, 0xf3, 0xbd, 0x34, 0x77, 0x16, 0x6b, 0xd2, 0x68, 0x08, 0x89, + 0xf4, 0x45, 0x04, 0xbd, 0x82, 0x6c, 0x63, 0xb1, 0x6c, 0x58, 0x18, 0xb8, 0xb9, 0x39, 0x3f, 0x3b, + 0x49, 0x23, 0xf4, 0xc3, 0x62, 0x4f, 0xdb, 0x17, 0xa7, 0x4b, 0xef, 0x08, 0x42, 0x5e, 0x50, 0x75, + 0xe6, 0xab, 0x52, 0xf4, 0x03, 0xcb, 0x8f, 0x50, 0x62, 0x72, 0x5e, 0xd2, 0xfa, 0x56, 0x26, 0xf5, + 0x2e, 0x72, 0x84, 0xc3, 0x34, 0xe8, 0x02, 0xd2, 0x37, 0xa4, 0x16, 0x02, 0xf2, 0x1e, 0x47, 0xde, + 0x30, 0xd6, 0x8d, 0x76, 0x7d, 0xab, 0xcd, 0x16, 0xbe, 0x15, 0x1b, 0x76, 0xd8, 0x9e, 0xfb, 0x11, + 0x3c, 0x7c, 0x01, 0xc8, 0x6d, 0x7a, 0x7c, 0xba, 0x56, 0x1a, 0x9d, 0xae, 0x91, 0xd9, 0x99, 0x33, + 0xa5, 0xd1, 0x03, 0xb2, 0x24, 0x63, 0xf0, 0x1a, 0x65, 0x45, 0xdd, 0x65, 0x97, 0x74, 0x00, 0xcb, + 0x75, 0xd7, 0x8d, 0xc1, 0xb3, 0x57, 0x74, 0x95, 0xa5, 0x2c, 0x72, 0x14, 0x93, 0xba, 0x64, 0x59, + 0x22, 0xc7, 0x54, 0x36, 0x2a, 0x8a, 0xfe, 0xe8, 0x4a, 0x74, 0x45, 0xb0, 0xaf, 0x6b, 0xfe, 0xf2, + 0x38, 0x76, 0x34, 0xb9, 0xf5, 0xc3, 0x20, 0x37, 0x72, 0xd9, 0xcf, 0x7d, 0x89, 0xf4, 0x7d, 0x61, + 0x5b, 0xd6, 0x05, 0xdb, 0xca, 0xb9, 0x89, 0x65, 0x72, 0xb5, 0xb4, 0x9b, 0xba, 0x5c, 0x6d, 0x72, + 0x92, 0x5b, 0xd9, 0x5b, 0x52, 0xf5, 0x11, 0x42, 0xd9, 0x28, 0xaf, 0x57, 0xda, 0xf5, 0xad, 0xed, + 0xab, 0x4c, 0x65, 0x5f, 0xd3, 0x05, 0xaa, 0xcf, 0x32, 0x94, 0x33, 0x26, 0xb6, 0xbe, 0x57, 0xfe, + 0x9a, 0x26, 0xdb, 0x25, 0x6d, 0x93, 0x5a, 0x02, 0x71, 0xe0, 0x7b, 0x5c, 0xaa, 0x69, 0xaa, 0xf6, + 0x4a, 0xd6, 0x98, 0xa3, 0xcf, 0x9c, 0xe9, 0x2d, 0xfd, 0x40, 0x6a, 0x12, 0x02, 0xf0, 0x50, 0x24, + 0xfa, 0x3d, 0xb7, 0x2f, 0x3b, 0x37, 0x77, 0x21, 0xe8, 0x6a, 0xed, 0x98, 0x3f, 0x89, 0x9c, 0x29, + 0x93, 0xbe, 0x23, 0x35, 0x84, 0x30, 0x0e, 0x38, 0x82, 0x7e, 0xd1, 0xcd, 0x8b, 0x5d, 0xf8, 0x4a, + 0xf4, 0x5e, 0x6b, 0x81, 0x32, 0xc9, 0x74, 0xab, 0x93, 0x53, 0x67, 0x0a, 0xa4, 0x9f, 0x0d, 0xb2, + 0x3a, 0x14, 0x41, 0x1a, 0xc2, 0xe3, 0x80, 0xfb, 0xe1, 0x24, 0x43, 0x36, 0x96, 0xd4, 0x96, 0x1f, + 0xfc, 0xa3, 0x52, 0x36, 0x8a, 0x44, 0x88, 0x70, 0x7f, 0xc6, 0xb0, 0xef, 0xea, 0x7a, 0xab, 0xfb, + 0x73, 0xc0, 0xce, 0xdc, 0x72, 0x74, 0x87, 0xd4, 0x25, 0x24, 0x43, 0xdf, 0x83, 0x97, 0x3c, 0x84, + 0x46, 0x75, 0xdd, 0x68, 0xff, 0x6f, 0xdf, 0xd6, 0xa0, 0x7a, 0x77, 0x76, 0xe5, 0xe4, 0xf3, 0x5a, + 0x5f, 0x0c, 0x72, 0xab, 0xe0, 0x5a, 0xfa, 0x84, 0x50, 0xe1, 0x66, 0x69, 0xd0, 0x7b, 0x3a, 0xfe, + 0xc5, 0x7d, 0x11, 0xa9, 0x57, 0xac, 0xd8, 0x77, 0x46, 0xa7, 0x6b, 0x74, 0xaf, 0x70, 0xeb, 0xcc, + 0x51, 0xd0, 0x8d, 0x9c, 0x07, 0xca, 0xca, 0x03, 0xd3, 0x55, 0x16, 0x7d, 0x60, 0xdf, 0x3f, 0x3e, + 0x33, 0x4b, 0x27, 0x67, 0x66, 0xe9, 0xe7, 0x99, 0x59, 0xfa, 0x34, 0x32, 0x8d, 0xe3, 0x91, 0x69, + 0x9c, 0x8c, 0x4c, 0xe3, 0xd7, 0xc8, 0x34, 0xbe, 0xfe, 0x36, 0x4b, 0x07, 0xff, 0x69, 0x4b, 0xfe, + 0x09, 0x00, 0x00, 0xff, 0xff, 0x64, 0x32, 0x5a, 0xad, 0x2b, 0x06, 0x00, 0x00, } diff --git a/pkg/apis/apps/v1beta1/generated.proto b/pkg/apis/apps/v1beta1/generated.proto index 4d4b054b333..960c5e6b5c3 100644 --- a/pkg/apis/apps/v1beta1/generated.proto +++ b/pkg/apis/apps/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/apps/v1beta1/register.go b/pkg/apis/apps/v1beta1/register.go index 07659fd7cae..4255fee4a31 100644 --- a/pkg/apis/apps/v1beta1/register.go +++ b/pkg/apis/apps/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "apps" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) @@ -47,5 +47,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *StatefulSet) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *StatefulSetList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *StatefulSet) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *StatefulSetList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/authentication/BUILD b/pkg/apis/authentication/BUILD index d12e144d53b..b52cd12b941 100644 --- a/pkg/apis/authentication/BUILD +++ b/pkg/apis/authentication/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apis/authentication/register.go b/pkg/apis/authentication/register.go index 09384b19f5b..e69c5bf3d85 100644 --- a/pkg/apis/authentication/register.go +++ b/pkg/apis/authentication/register.go @@ -18,23 +18,23 @@ package authentication import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "authentication.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/authentication/v1beta1/BUILD b/pkg/apis/authentication/v1beta1/BUILD index c47917d64b8..caea0a53c04 100644 --- a/pkg/apis/authentication/v1beta1/BUILD +++ b/pkg/apis/authentication/v1beta1/BUILD @@ -31,6 +31,7 @@ go_library( "//pkg/apis/authentication:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", diff --git a/pkg/apis/authentication/v1beta1/generated.pb.go b/pkg/apis/authentication/v1beta1/generated.pb.go index b210d3b4e24..e14bb106041 100644 --- a/pkg/apis/authentication/v1beta1/generated.pb.go +++ b/pkg/apis/authentication/v1beta1/generated.pb.go @@ -1236,46 +1236,46 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 642 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xcf, 0x6e, 0x13, 0x31, - 0x10, 0xc6, 0xb3, 0xf9, 0x53, 0x12, 0x87, 0x42, 0xb1, 0x84, 0x14, 0x45, 0x62, 0x13, 0x85, 0x4b, - 0x90, 0x5a, 0xaf, 0x52, 0x09, 0xa8, 0x5a, 0x71, 0xe8, 0xaa, 0x05, 0xf5, 0x80, 0x90, 0x5c, 0x8a, - 0x10, 0x12, 0x07, 0x27, 0x99, 0x6e, 0x97, 0x6d, 0xd6, 0x2b, 0xaf, 0x9d, 0xd2, 0x5b, 0x1f, 0x81, - 0x23, 0x47, 0xde, 0x83, 0x17, 0xe8, 0xb1, 0x07, 0x0e, 0x1c, 0x50, 0x45, 0xc2, 0x8b, 0x20, 0x7b, - 0x4d, 0x93, 0x36, 0xcd, 0x81, 0xf6, 0xb6, 0xfe, 0x3c, 0xf3, 0x9b, 0x6f, 0xc6, 0x3b, 0x68, 0x33, - 0x5a, 0x4b, 0x49, 0xc8, 0xbd, 0x48, 0x75, 0x41, 0xc4, 0x20, 0x21, 0xf5, 0x92, 0x28, 0xf0, 0x58, - 0x12, 0xa6, 0x1e, 0x53, 0xf2, 0x00, 0x62, 0x19, 0xf6, 0x98, 0x0c, 0x79, 0xec, 0x0d, 0x3b, 0x5d, - 0x90, 0xac, 0xe3, 0x05, 0x10, 0x83, 0x60, 0x12, 0xfa, 0x24, 0x11, 0x5c, 0x72, 0xdc, 0xc9, 0x10, - 0x64, 0x82, 0x20, 0x49, 0x14, 0x10, 0x8d, 0x20, 0x97, 0x11, 0xc4, 0x22, 0xea, 0x2b, 0x41, 0x28, - 0x0f, 0x54, 0x97, 0xf4, 0xf8, 0xc0, 0x0b, 0x78, 0xc0, 0x3d, 0x43, 0xea, 0xaa, 0x7d, 0x73, 0x32, - 0x07, 0xf3, 0x95, 0x55, 0xa8, 0xaf, 0xce, 0x35, 0xe9, 0x09, 0x48, 0xb9, 0x12, 0x3d, 0xb8, 0xea, - 0xaa, 0xfe, 0x74, 0x7e, 0x8e, 0x8a, 0x87, 0x20, 0xd2, 0x90, 0xc7, 0xd0, 0x9f, 0x49, 0x5b, 0x9e, - 0x9f, 0x36, 0x9c, 0x69, 0xbd, 0xbe, 0x72, 0x7d, 0xb4, 0x50, 0xb1, 0x0c, 0x07, 0xb3, 0x9e, 0x3a, - 0xd7, 0x87, 0x2b, 0x19, 0x1e, 0x7a, 0x61, 0x2c, 0x53, 0x29, 0xae, 0xa6, 0xb4, 0x9e, 0x23, 0xb4, - 0xfd, 0x59, 0x0a, 0xf6, 0x8e, 0x1d, 0x2a, 0xc0, 0x0d, 0x54, 0x0a, 0x25, 0x0c, 0xd2, 0x9a, 0xd3, - 0x2c, 0xb4, 0x2b, 0x7e, 0x65, 0x7c, 0xde, 0x28, 0xed, 0x68, 0x81, 0x66, 0xfa, 0x7a, 0xf9, 0xeb, - 0xb7, 0x46, 0xee, 0xe4, 0x57, 0x33, 0xd7, 0xfa, 0x9e, 0x47, 0xd5, 0xb7, 0x3c, 0x82, 0x98, 0xc2, - 0x30, 0x84, 0x23, 0xfc, 0x1e, 0x95, 0x07, 0x20, 0x59, 0x9f, 0x49, 0x56, 0x73, 0x9a, 0x4e, 0xbb, - 0xba, 0xda, 0x26, 0x73, 0x1f, 0x8e, 0x0c, 0x3b, 0xe4, 0x4d, 0xf7, 0x13, 0xf4, 0xe4, 0x6b, 0x90, - 0xcc, 0xc7, 0xa7, 0xe7, 0x8d, 0xdc, 0xf8, 0xbc, 0x81, 0x26, 0x1a, 0xbd, 0xa0, 0xe1, 0x3e, 0x2a, - 0xa6, 0x09, 0xf4, 0x6a, 0x79, 0x43, 0xf5, 0xc9, 0x7f, 0xff, 0x0e, 0x64, 0xca, 0xe7, 0x6e, 0x02, - 0x3d, 0xff, 0xae, 0xad, 0x57, 0xd4, 0x27, 0x6a, 0xe8, 0xf8, 0x10, 0x2d, 0xa4, 0x92, 0x49, 0x95, - 0xd6, 0x0a, 0xa6, 0xce, 0xd6, 0x2d, 0xeb, 0x18, 0x96, 0x7f, 0xcf, 0x56, 0x5a, 0xc8, 0xce, 0xd4, - 0xd6, 0x68, 0x3d, 0x43, 0xf7, 0xaf, 0x98, 0xc2, 0x8f, 0x51, 0x49, 0x6a, 0xc9, 0x4c, 0xaf, 0xe2, - 0x2f, 0xda, 0xcc, 0x52, 0x16, 0x97, 0xdd, 0xb5, 0x7e, 0x38, 0xe8, 0xc1, 0x4c, 0x15, 0xbc, 0x81, - 0x16, 0xa7, 0x1c, 0x41, 0xdf, 0x20, 0xca, 0xfe, 0x43, 0x8b, 0x58, 0xdc, 0x9c, 0xbe, 0xa4, 0x97, - 0x63, 0xf1, 0x47, 0x54, 0x54, 0x29, 0x08, 0x3b, 0xde, 0x8d, 0x1b, 0xb4, 0xbd, 0x97, 0x82, 0xd8, - 0x89, 0xf7, 0xf9, 0x64, 0xae, 0x5a, 0xa1, 0x06, 0xab, 0xdb, 0x02, 0x21, 0xb8, 0x30, 0x63, 0x9d, - 0x6a, 0x6b, 0x5b, 0x8b, 0x34, 0xbb, 0x6b, 0x8d, 0xf2, 0xa8, 0xfc, 0x8f, 0x82, 0x97, 0x51, 0x59, - 0x67, 0xc6, 0x6c, 0x00, 0x76, 0x16, 0x4b, 0x36, 0xc9, 0xc4, 0x68, 0x9d, 0x5e, 0x44, 0xe0, 0x47, - 0xa8, 0xa0, 0xc2, 0xbe, 0x71, 0x5f, 0xf1, 0xab, 0x36, 0xb0, 0xb0, 0xb7, 0xb3, 0x45, 0xb5, 0x8e, - 0x5b, 0x68, 0x21, 0x10, 0x5c, 0x25, 0xfa, 0x59, 0xf5, 0x2f, 0x8d, 0xf4, 0x63, 0xbc, 0x32, 0x0a, - 0xb5, 0x37, 0x38, 0x42, 0x25, 0xd0, 0x3b, 0x50, 0x2b, 0x36, 0x0b, 0xed, 0xea, 0xea, 0xcb, 0x5b, - 0x8c, 0x80, 0x98, 0x65, 0xda, 0x8e, 0xa5, 0x38, 0x9e, 0x6a, 0x55, 0x6b, 0x34, 0xab, 0x51, 0x3f, - 0xb2, 0x0b, 0x67, 0x62, 0xf0, 0x12, 0x2a, 0x44, 0x70, 0x9c, 0xb5, 0x49, 0xf5, 0x27, 0xde, 0x45, - 0xa5, 0xa1, 0xde, 0x45, 0xfb, 0x1e, 0x2f, 0x6e, 0x60, 0x66, 0xb2, 0xd0, 0x34, 0x63, 0xad, 0xe7, - 0xd7, 0x1c, 0xff, 0xc9, 0xe9, 0xc8, 0xcd, 0x9d, 0x8d, 0xdc, 0xdc, 0xcf, 0x91, 0x9b, 0x3b, 0x19, - 0xbb, 0xce, 0xe9, 0xd8, 0x75, 0xce, 0xc6, 0xae, 0xf3, 0x7b, 0xec, 0x3a, 0x5f, 0xfe, 0xb8, 0xb9, - 0x0f, 0x77, 0x2c, 0xe0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0xd0, 0x35, 0x8c, 0xb5, 0x05, - 0x00, 0x00, + // 654 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xcd, 0x6e, 0xd3, 0x4a, + 0x14, 0xc7, 0xed, 0x7c, 0xf4, 0x26, 0x93, 0xdb, 0x7b, 0xcb, 0x48, 0x48, 0x51, 0x24, 0x9c, 0x28, + 0x6c, 0x82, 0xd4, 0x8e, 0x95, 0x8a, 0x8f, 0xaa, 0x15, 0x8b, 0x5a, 0x2d, 0xa8, 0x0b, 0x84, 0x34, + 0xa5, 0x08, 0x21, 0xb1, 0x98, 0x38, 0xa7, 0xae, 0x71, 0x63, 0x5b, 0xe3, 0x99, 0x94, 0xee, 0xfa, + 0x08, 0x2c, 0x59, 0xf2, 0x1e, 0xbc, 0x40, 0x97, 0x5d, 0xb0, 0x60, 0x81, 0x2a, 0x12, 0x5e, 0x04, + 0xcd, 0x78, 0x68, 0xd2, 0xa6, 0x41, 0xa2, 0xdd, 0x79, 0xfe, 0x73, 0xfe, 0xbf, 0xf3, 0x31, 0x3e, + 0x68, 0x33, 0x5a, 0xcb, 0x48, 0x98, 0xb8, 0x91, 0xec, 0x01, 0x8f, 0x41, 0x40, 0xe6, 0xa6, 0x51, + 0xe0, 0xb2, 0x34, 0xcc, 0x5c, 0x26, 0xc5, 0x01, 0xc4, 0x22, 0xf4, 0x99, 0x08, 0x93, 0xd8, 0x1d, + 0x76, 0x7b, 0x20, 0x58, 0xd7, 0x0d, 0x20, 0x06, 0xce, 0x04, 0xf4, 0x49, 0xca, 0x13, 0x91, 0xe0, + 0x6e, 0x8e, 0x20, 0x13, 0x04, 0x49, 0xa3, 0x80, 0x28, 0x04, 0xb9, 0x8c, 0x20, 0x06, 0xd1, 0x58, + 0x09, 0x42, 0x71, 0x20, 0x7b, 0xc4, 0x4f, 0x06, 0x6e, 0x90, 0x04, 0x89, 0xab, 0x49, 0x3d, 0xb9, + 0xaf, 0x4f, 0xfa, 0xa0, 0xbf, 0xf2, 0x0c, 0x8d, 0xd5, 0xb9, 0x45, 0xba, 0x1c, 0xb2, 0x44, 0x72, + 0x1f, 0xae, 0x56, 0xd5, 0x78, 0x34, 0xdf, 0x23, 0xe3, 0x21, 0xf0, 0x2c, 0x4c, 0x62, 0xe8, 0xcf, + 0xd8, 0x96, 0xe7, 0xdb, 0x86, 0x33, 0xad, 0x37, 0x56, 0xae, 0x8f, 0xe6, 0x32, 0x16, 0xe1, 0x60, + 0xb6, 0xa6, 0x87, 0x7f, 0x0e, 0xcf, 0xfc, 0x03, 0x18, 0xb0, 0x19, 0x57, 0xf7, 0x7a, 0x97, 0x14, + 0xe1, 0xa1, 0x1b, 0xc6, 0x22, 0x13, 0xfc, 0xaa, 0xa5, 0xfd, 0x04, 0xa1, 0xed, 0x0f, 0x82, 0xb3, + 0xd7, 0xec, 0x50, 0x02, 0x6e, 0xa2, 0x72, 0x28, 0x60, 0x90, 0xd5, 0xed, 0x56, 0xb1, 0x53, 0xf5, + 0xaa, 0xe3, 0xf3, 0x66, 0x79, 0x47, 0x09, 0x34, 0xd7, 0xd7, 0x2b, 0x9f, 0x3e, 0x37, 0xad, 0x93, + 0xef, 0x2d, 0xab, 0xfd, 0xa5, 0x80, 0x6a, 0xaf, 0x92, 0x08, 0x62, 0x0a, 0xc3, 0x10, 0x8e, 0xf0, + 0x1b, 0x54, 0x19, 0x80, 0x60, 0x7d, 0x26, 0x58, 0xdd, 0x6e, 0xd9, 0x9d, 0xda, 0x6a, 0x87, 0xcc, + 0x7d, 0x6e, 0x32, 0xec, 0x92, 0x97, 0xbd, 0xf7, 0xe0, 0x8b, 0x17, 0x20, 0x98, 0x87, 0x4f, 0xcf, + 0x9b, 0xd6, 0xf8, 0xbc, 0x89, 0x26, 0x1a, 0xbd, 0xa0, 0xe1, 0x3e, 0x2a, 0x65, 0x29, 0xf8, 0xf5, + 0x82, 0xa6, 0x7a, 0xe4, 0xaf, 0x7f, 0x22, 0x32, 0x55, 0xe7, 0x6e, 0x0a, 0xbe, 0xf7, 0xaf, 0xc9, + 0x57, 0x52, 0x27, 0xaa, 0xe9, 0xf8, 0x10, 0x2d, 0x64, 0x82, 0x09, 0x99, 0xd5, 0x8b, 0x3a, 0xcf, + 0xd6, 0x2d, 0xf3, 0x68, 0x96, 0xf7, 0x9f, 0xc9, 0xb4, 0x90, 0x9f, 0xa9, 0xc9, 0xd1, 0x7e, 0x8c, + 0xfe, 0xbf, 0x52, 0x14, 0xbe, 0x8f, 0xca, 0x42, 0x49, 0x7a, 0x7a, 0x55, 0x6f, 0xd1, 0x38, 0xcb, + 0x79, 0x5c, 0x7e, 0xd7, 0xfe, 0x6a, 0xa3, 0x3b, 0x33, 0x59, 0xf0, 0x06, 0x5a, 0x9c, 0xaa, 0x08, + 0xfa, 0x1a, 0x51, 0xf1, 0xee, 0x1a, 0xc4, 0xe2, 0xe6, 0xf4, 0x25, 0xbd, 0x1c, 0x8b, 0xdf, 0xa1, + 0x92, 0xcc, 0x80, 0x9b, 0xf1, 0x6e, 0xdc, 0xa0, 0xed, 0xbd, 0x0c, 0xf8, 0x4e, 0xbc, 0x9f, 0x4c, + 0xe6, 0xaa, 0x14, 0xaa, 0xb1, 0xaa, 0x2d, 0xe0, 0x3c, 0xe1, 0x7a, 0xac, 0x53, 0x6d, 0x6d, 0x2b, + 0x91, 0xe6, 0x77, 0xed, 0x51, 0x01, 0x55, 0x7e, 0x53, 0xf0, 0x32, 0xaa, 0x28, 0x67, 0xcc, 0x06, + 0x60, 0x66, 0xb1, 0x64, 0x4c, 0x3a, 0x46, 0xe9, 0xf4, 0x22, 0x02, 0xdf, 0x43, 0x45, 0x19, 0xf6, + 0x75, 0xf5, 0x55, 0xaf, 0x66, 0x02, 0x8b, 0x7b, 0x3b, 0x5b, 0x54, 0xe9, 0xb8, 0x8d, 0x16, 0x02, + 0x9e, 0xc8, 0x54, 0x3d, 0xab, 0xfa, 0xa5, 0x91, 0x7a, 0x8c, 0xe7, 0x5a, 0xa1, 0xe6, 0x06, 0x47, + 0xa8, 0x0c, 0x6a, 0x07, 0xea, 0xa5, 0x56, 0xb1, 0x53, 0x5b, 0x7d, 0x76, 0x8b, 0x11, 0x10, 0xbd, + 0x4c, 0xdb, 0xb1, 0xe0, 0xc7, 0x53, 0xad, 0x2a, 0x8d, 0xe6, 0x39, 0x1a, 0x47, 0x66, 0xe1, 0x74, + 0x0c, 0x5e, 0x42, 0xc5, 0x08, 0x8e, 0xf3, 0x36, 0xa9, 0xfa, 0xc4, 0xbb, 0xa8, 0x3c, 0x54, 0xbb, + 0x68, 0xde, 0xe3, 0xe9, 0x0d, 0x8a, 0x99, 0x2c, 0x34, 0xcd, 0x59, 0xeb, 0x85, 0x35, 0xdb, 0x7b, + 0x70, 0x3a, 0x72, 0xac, 0xb3, 0x91, 0x63, 0x7d, 0x1b, 0x39, 0xd6, 0xc9, 0xd8, 0xb1, 0x4f, 0xc7, + 0x8e, 0x7d, 0x36, 0x76, 0xec, 0x1f, 0x63, 0xc7, 0xfe, 0xf8, 0xd3, 0xb1, 0xde, 0xfe, 0x63, 0x00, + 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xce, 0xcd, 0xc2, 0x6f, 0xeb, 0x05, 0x00, 0x00, } diff --git a/pkg/apis/authentication/v1beta1/generated.proto b/pkg/apis/authentication/v1beta1/generated.proto index f36e28161b0..2fd8b0e2089 100644 --- a/pkg/apis/authentication/v1beta1/generated.proto +++ b/pkg/apis/authentication/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/authentication/v1beta1/register.go b/pkg/apis/authentication/v1beta1/register.go index 53488da1fa1..5e3d489afcb 100644 --- a/pkg/apis/authentication/v1beta1/register.go +++ b/pkg/apis/authentication/v1beta1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "authentication.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/pkg/apis/authorization/BUILD b/pkg/apis/authorization/BUILD index d12e144d53b..b52cd12b941 100644 --- a/pkg/apis/authorization/BUILD +++ b/pkg/apis/authorization/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apis/authorization/register.go b/pkg/apis/authorization/register.go index 59d92fa7e58..7ef806bb296 100644 --- a/pkg/apis/authorization/register.go +++ b/pkg/apis/authorization/register.go @@ -17,23 +17,23 @@ limitations under the License. package authorization import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/authorization/v1beta1/BUILD b/pkg/apis/authorization/v1beta1/BUILD index 328b31fe493..91d56f2884d 100644 --- a/pkg/apis/authorization/v1beta1/BUILD +++ b/pkg/apis/authorization/v1beta1/BUILD @@ -31,6 +31,7 @@ go_library( "//pkg/apis/authorization:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/apis/authorization/v1beta1/generated.pb.go b/pkg/apis/authorization/v1beta1/generated.pb.go index 062f999ac97..fa155f9cb84 100644 --- a/pkg/apis/authorization/v1beta1/generated.pb.go +++ b/pkg/apis/authorization/v1beta1/generated.pb.go @@ -2283,60 +2283,61 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 874 bytes of a gzipped FileDescriptorProto + // 884 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x56, 0x41, 0x8f, 0xdb, 0x44, 0x14, 0x8e, 0x93, 0x78, 0x37, 0x99, 0x05, 0xb6, 0x4c, 0x55, 0xd6, 0x0d, 0x92, 0x13, 0x05, 0x09, - 0x6d, 0xa5, 0xd6, 0x66, 0x57, 0xaa, 0xa8, 0x2a, 0x0e, 0xac, 0xc5, 0xaa, 0xaa, 0xa0, 0x05, 0xcd, - 0xc2, 0x0a, 0xc1, 0x69, 0xec, 0x7d, 0x4d, 0x4c, 0x12, 0x8f, 0x35, 0x33, 0x76, 0x59, 0x4e, 0xfd, - 0x01, 0x1c, 0x38, 0xf6, 0xc8, 0x5f, 0xe0, 0x0f, 0x70, 0x65, 0x8f, 0xe5, 0x82, 0x40, 0x42, 0x11, - 0x6b, 0xfe, 0x05, 0x27, 0xe4, 0xf1, 0x24, 0x6e, 0x36, 0x0e, 0x28, 0xb0, 0x42, 0x1c, 0x7a, 0xf3, - 0xbc, 0xf7, 0xbd, 0xf7, 0xbe, 0x99, 0xf9, 0xc6, 0xef, 0xa1, 0x77, 0x47, 0x77, 0x84, 0x13, 0x32, - 0x77, 0x94, 0xf8, 0xc0, 0x23, 0x90, 0x20, 0xdc, 0x78, 0x34, 0x70, 0x69, 0x1c, 0x0a, 0x97, 0x26, - 0x72, 0xc8, 0x78, 0xf8, 0x15, 0x95, 0x21, 0x8b, 0xdc, 0x74, 0xcf, 0x07, 0x49, 0xf7, 0xdc, 0x01, - 0x44, 0xc0, 0xa9, 0x84, 0x13, 0x27, 0xe6, 0x4c, 0x32, 0xfc, 0x56, 0x91, 0xc1, 0x29, 0x33, 0x38, - 0xf1, 0x68, 0xe0, 0xe4, 0x19, 0x9c, 0x85, 0x0c, 0x8e, 0xce, 0xd0, 0xb9, 0x35, 0x08, 0xe5, 0x30, - 0xf1, 0x9d, 0x80, 0x4d, 0xdc, 0x01, 0x1b, 0x30, 0x57, 0x25, 0xf2, 0x93, 0x47, 0x6a, 0xa5, 0x16, - 0xea, 0xab, 0x28, 0xd0, 0xd9, 0x5f, 0x49, 0xd1, 0xe5, 0x20, 0x58, 0xc2, 0x03, 0xb8, 0x48, 0xaa, - 0x73, 0x7b, 0x75, 0x4c, 0x12, 0xa5, 0xc0, 0x45, 0xc8, 0x22, 0x38, 0x59, 0x0a, 0xbb, 0xb9, 0x3a, - 0x2c, 0x5d, 0xda, 0x79, 0xe7, 0x56, 0x35, 0x9a, 0x27, 0x91, 0x0c, 0x27, 0xcb, 0x9c, 0xf6, 0xaa, - 0xe1, 0x89, 0x0c, 0xc7, 0x6e, 0x18, 0x49, 0x21, 0xf9, 0xc5, 0x90, 0xfe, 0xdb, 0x08, 0x1d, 0x7e, - 0x29, 0x39, 0x3d, 0xa6, 0xe3, 0x04, 0x70, 0x17, 0x99, 0xa1, 0x84, 0x89, 0xb0, 0x8c, 0x5e, 0x63, - 0xb7, 0xed, 0xb5, 0xb3, 0x69, 0xd7, 0xbc, 0x9f, 0x1b, 0x48, 0x61, 0xbf, 0xdb, 0x7a, 0xfa, 0x6d, - 0xb7, 0xf6, 0xe4, 0xd7, 0x5e, 0xad, 0xff, 0x53, 0x1d, 0x59, 0x1f, 0xb0, 0x80, 0x8e, 0x8f, 0x12, - 0xff, 0x0b, 0x08, 0xe4, 0x41, 0x10, 0x80, 0x10, 0x04, 0xd2, 0x10, 0x1e, 0xe3, 0x4f, 0x51, 0x6b, - 0x02, 0x92, 0x9e, 0x50, 0x49, 0x2d, 0xa3, 0x67, 0xec, 0x6e, 0xed, 0xef, 0x3a, 0x2b, 0x2f, 0xd1, - 0x49, 0xf7, 0x9c, 0x0f, 0x55, 0x8e, 0x07, 0x20, 0xa9, 0x87, 0xcf, 0xa6, 0xdd, 0x5a, 0x36, 0xed, - 0xa2, 0xd2, 0x46, 0xe6, 0xd9, 0xf0, 0x08, 0x35, 0x45, 0x0c, 0x81, 0x55, 0x57, 0x59, 0xef, 0x3b, - 0xeb, 0x4a, 0xc3, 0xa9, 0xa0, 0x7b, 0x14, 0x43, 0xe0, 0xbd, 0xa4, 0xcb, 0x36, 0xf3, 0x15, 0x51, - 0x45, 0xb0, 0x40, 0x1b, 0x42, 0x52, 0x99, 0x08, 0xab, 0xa1, 0xca, 0xbd, 0x7f, 0x39, 0xe5, 0x54, - 0x4a, 0xef, 0x15, 0x5d, 0x70, 0xa3, 0x58, 0x13, 0x5d, 0xaa, 0xff, 0x39, 0xba, 0xf6, 0x90, 0x45, - 0x44, 0xeb, 0xee, 0x40, 0x4a, 0x1e, 0xfa, 0x89, 0x04, 0x81, 0x7b, 0xa8, 0x19, 0x53, 0x39, 0x54, - 0x07, 0xda, 0x2e, 0xf9, 0x7e, 0x44, 0xe5, 0x90, 0x28, 0x4f, 0x8e, 0x48, 0x81, 0xfb, 0xea, 0x70, - 0x9e, 0x43, 0x1c, 0x03, 0xf7, 0x89, 0xf2, 0xf4, 0xbf, 0xaf, 0x23, 0x5c, 0x91, 0xda, 0x45, 0xed, - 0x88, 0x4e, 0x40, 0xc4, 0x34, 0x00, 0x9d, 0xff, 0x55, 0x1d, 0xdd, 0x7e, 0x38, 0x73, 0x90, 0x12, - 0xf3, 0xf7, 0x95, 0xf0, 0x1b, 0xc8, 0x1c, 0x70, 0x96, 0xc4, 0xea, 0xe8, 0xda, 0xde, 0xcb, 0x1a, - 0x62, 0xde, 0xcb, 0x8d, 0xa4, 0xf0, 0xe1, 0x1b, 0x68, 0x53, 0x3f, 0x15, 0xab, 0xa9, 0x60, 0xdb, - 0x1a, 0xb6, 0x79, 0x5c, 0x98, 0xc9, 0xcc, 0x8f, 0x6f, 0xa2, 0xd6, 0xec, 0x2d, 0x5a, 0xa6, 0xc2, - 0x5e, 0xd1, 0xd8, 0xd6, 0x6c, 0x43, 0x64, 0x8e, 0xc0, 0xb7, 0xd1, 0x96, 0x48, 0xfc, 0x79, 0xc0, - 0x86, 0x0a, 0xb8, 0xaa, 0x03, 0xb6, 0x8e, 0x4a, 0x17, 0x79, 0x1e, 0x97, 0x6f, 0x2b, 0xdf, 0xa3, - 0xb5, 0xb9, 0xb8, 0xad, 0xfc, 0x08, 0x88, 0xf2, 0xf4, 0x7f, 0xa9, 0xa3, 0x9d, 0x23, 0x18, 0x3f, - 0xfa, 0x6f, 0x55, 0xcf, 0x16, 0x54, 0xff, 0xe0, 0x1f, 0xc8, 0xb0, 0x9a, 0xf2, 0xff, 0x4b, 0xf9, - 0x3f, 0xd4, 0xd1, 0xeb, 0x7f, 0x41, 0x14, 0x7f, 0x6d, 0x20, 0xcc, 0x97, 0xc4, 0xab, 0x8f, 0xfa, - 0xbd, 0xf5, 0x19, 0x2e, 0x3f, 0x04, 0xef, 0xb5, 0x6c, 0xda, 0xad, 0x78, 0x20, 0xa4, 0xa2, 0x2e, - 0x7e, 0x6a, 0xa0, 0x6b, 0x51, 0xd5, 0x4b, 0xd5, 0xd7, 0x74, 0x6f, 0x7d, 0x46, 0x95, 0x0f, 0xdf, - 0xbb, 0x9e, 0x4d, 0xbb, 0xd5, 0xff, 0x04, 0x52, 0x4d, 0xa0, 0xff, 0x63, 0x1d, 0x5d, 0x7d, 0xf1, - 0x5f, 0xbe, 0x5c, 0x75, 0xfe, 0xd1, 0x44, 0x3b, 0x2f, 0x94, 0xf9, 0x2f, 0x95, 0x39, 0x6f, 0x1c, - 0x8d, 0xc5, 0x3f, 0xec, 0x27, 0x02, 0xb8, 0x6e, 0x1c, 0xbd, 0x59, 0xe3, 0x68, 0xaa, 0x19, 0x04, - 0xe5, 0x57, 0xa1, 0x9a, 0x86, 0x98, 0x75, 0x8d, 0x53, 0x64, 0x42, 0x3e, 0xb3, 0x58, 0x66, 0xaf, - 0xb1, 0xbb, 0xb5, 0xff, 0xf1, 0xa5, 0x89, 0xcd, 0x51, 0xa3, 0xd0, 0x61, 0x24, 0xf9, 0x69, 0xd9, - 0xb0, 0x94, 0x8d, 0x14, 0x15, 0x3b, 0xa9, 0x1e, 0x97, 0x14, 0x06, 0x5f, 0x41, 0x8d, 0x11, 0x9c, - 0x16, 0x0d, 0x93, 0xe4, 0x9f, 0x98, 0x20, 0x33, 0xcd, 0x27, 0x29, 0x7d, 0xd0, 0xef, 0xac, 0x4f, - 0xad, 0x9c, 0xc6, 0x48, 0x91, 0xea, 0x6e, 0xfd, 0x8e, 0xd1, 0xff, 0xce, 0x40, 0xd7, 0x57, 0x4a, - 0x36, 0x6f, 0xa3, 0x74, 0x3c, 0x66, 0x8f, 0xe1, 0x44, 0x71, 0x69, 0x95, 0x6d, 0xf4, 0xa0, 0x30, - 0x93, 0x99, 0x1f, 0xbf, 0x89, 0x36, 0x38, 0x50, 0xc1, 0x22, 0xdd, 0xba, 0xe7, 0x6a, 0x27, 0xca, - 0x4a, 0xb4, 0x17, 0x1f, 0xa0, 0x6d, 0xc8, 0xcb, 0x2b, 0x72, 0x87, 0x9c, 0x33, 0xae, 0xaf, 0x6c, - 0x47, 0x07, 0x6c, 0x1f, 0x2e, 0xba, 0xc9, 0x45, 0xbc, 0x77, 0xe3, 0xec, 0xdc, 0xae, 0x3d, 0x3b, - 0xb7, 0x6b, 0x3f, 0x9f, 0xdb, 0xb5, 0x27, 0x99, 0x6d, 0x9c, 0x65, 0xb6, 0xf1, 0x2c, 0xb3, 0x8d, - 0xdf, 0x32, 0xdb, 0xf8, 0xe6, 0x77, 0xbb, 0xf6, 0xd9, 0xa6, 0xde, 0xf4, 0x9f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x0c, 0xa4, 0x8c, 0xef, 0x24, 0x0c, 0x00, 0x00, + 0x6d, 0xa5, 0xd6, 0x66, 0x57, 0x54, 0x54, 0x15, 0x07, 0xd6, 0x62, 0x55, 0x55, 0xd0, 0x82, 0x66, + 0x61, 0x85, 0xe0, 0x34, 0xf6, 0xbe, 0x26, 0x26, 0x89, 0xc7, 0x9a, 0x19, 0xbb, 0x2c, 0xa7, 0xfe, + 0x00, 0x0e, 0x1c, 0x7b, 0xe4, 0x2f, 0xf0, 0x07, 0xb8, 0xb2, 0xc7, 0x72, 0x41, 0x20, 0xa1, 0x88, + 0x35, 0xff, 0x82, 0x13, 0xf2, 0x78, 0x12, 0x37, 0x1b, 0xa7, 0x68, 0x61, 0x85, 0x38, 0xec, 0xcd, + 0xf3, 0xde, 0xf7, 0xde, 0xfb, 0x66, 0xe6, 0x1b, 0xbf, 0x87, 0xde, 0x1b, 0xdd, 0x11, 0x4e, 0xc8, + 0xdc, 0x51, 0xe2, 0x03, 0x8f, 0x40, 0x82, 0x70, 0xe3, 0xd1, 0xc0, 0xa5, 0x71, 0x28, 0x5c, 0x9a, + 0xc8, 0x21, 0xe3, 0xe1, 0xd7, 0x54, 0x86, 0x2c, 0x72, 0xd3, 0x1d, 0x1f, 0x24, 0xdd, 0x71, 0x07, + 0x10, 0x01, 0xa7, 0x12, 0x8e, 0x9c, 0x98, 0x33, 0xc9, 0xf0, 0x5b, 0x45, 0x06, 0xa7, 0xcc, 0xe0, + 0xc4, 0xa3, 0x81, 0x93, 0x67, 0x70, 0x16, 0x32, 0x38, 0x3a, 0x43, 0xe7, 0xd6, 0x20, 0x94, 0xc3, + 0xc4, 0x77, 0x02, 0x36, 0x71, 0x07, 0x6c, 0xc0, 0x5c, 0x95, 0xc8, 0x4f, 0x1e, 0xa9, 0x95, 0x5a, + 0xa8, 0xaf, 0xa2, 0x40, 0x67, 0x77, 0x25, 0x45, 0x97, 0x83, 0x60, 0x09, 0x0f, 0xe0, 0x2c, 0xa9, + 0xce, 0xed, 0xd5, 0x31, 0x49, 0x94, 0x02, 0x17, 0x21, 0x8b, 0xe0, 0x68, 0x29, 0xec, 0xe6, 0xea, + 0xb0, 0x74, 0x69, 0xe7, 0x9d, 0x5b, 0xd5, 0x68, 0x9e, 0x44, 0x32, 0x9c, 0x2c, 0x73, 0x7a, 0xfb, + 0xc5, 0x70, 0x11, 0x0c, 0x61, 0x42, 0x97, 0xa2, 0x76, 0xaa, 0xa3, 0x12, 0x19, 0x8e, 0xdd, 0x30, + 0x92, 0x42, 0xf2, 0xb3, 0x21, 0xfd, 0x77, 0x10, 0xda, 0xff, 0x4a, 0x72, 0x7a, 0x48, 0xc7, 0x09, + 0xe0, 0x2e, 0x32, 0x43, 0x09, 0x13, 0x61, 0x19, 0xbd, 0xc6, 0x76, 0xdb, 0x6b, 0x67, 0xd3, 0xae, + 0x79, 0x3f, 0x37, 0x90, 0xc2, 0x7e, 0xb7, 0xf5, 0xf4, 0xbb, 0x6e, 0xed, 0xc9, 0x6f, 0xbd, 0x5a, + 0xff, 0xe7, 0x3a, 0xb2, 0x3e, 0x64, 0x01, 0x1d, 0x1f, 0x24, 0xfe, 0x97, 0x10, 0xc8, 0xbd, 0x20, + 0x00, 0x21, 0x08, 0xa4, 0x21, 0x3c, 0xc6, 0x9f, 0xa1, 0xd6, 0x04, 0x24, 0x3d, 0xa2, 0x92, 0x5a, + 0x46, 0xcf, 0xd8, 0xde, 0xd8, 0xdd, 0x76, 0x56, 0x5e, 0xbd, 0x93, 0xee, 0x38, 0x1f, 0xa9, 0x1c, + 0x0f, 0x40, 0x52, 0x0f, 0x9f, 0x4c, 0xbb, 0xb5, 0x6c, 0xda, 0x45, 0xa5, 0x8d, 0xcc, 0xb3, 0xe1, + 0x11, 0x6a, 0x8a, 0x18, 0x02, 0xab, 0xae, 0xb2, 0xde, 0x77, 0xce, 0x2b, 0x28, 0xa7, 0x82, 0xee, + 0x41, 0x0c, 0x81, 0xf7, 0x92, 0x2e, 0xdb, 0xcc, 0x57, 0x44, 0x15, 0xc1, 0x02, 0xad, 0x09, 0x49, + 0x65, 0x22, 0xac, 0x86, 0x2a, 0xf7, 0xc1, 0xc5, 0x94, 0x53, 0x29, 0xbd, 0x57, 0x74, 0xc1, 0xb5, + 0x62, 0x4d, 0x74, 0xa9, 0xfe, 0x17, 0xe8, 0xda, 0x43, 0x16, 0x11, 0xad, 0xd6, 0x3d, 0x29, 0x79, + 0xe8, 0x27, 0x12, 0x04, 0xee, 0xa1, 0x66, 0x4c, 0xe5, 0x50, 0x1d, 0x68, 0xbb, 0xe4, 0xfb, 0x31, + 0x95, 0x43, 0xa2, 0x3c, 0x39, 0x22, 0x05, 0xee, 0xab, 0xc3, 0x79, 0x0e, 0x71, 0x08, 0xdc, 0x27, + 0xca, 0xd3, 0xff, 0xa1, 0x8e, 0x70, 0x45, 0x6a, 0x17, 0xb5, 0x23, 0x3a, 0x01, 0x11, 0xd3, 0x00, + 0x74, 0xfe, 0x57, 0x75, 0x74, 0xfb, 0xe1, 0xcc, 0x41, 0x4a, 0xcc, 0xdf, 0x57, 0xc2, 0x6f, 0x20, + 0x73, 0xc0, 0x59, 0x12, 0xab, 0xa3, 0x6b, 0x7b, 0x2f, 0x6b, 0x88, 0x79, 0x2f, 0x37, 0x92, 0xc2, + 0x87, 0x6f, 0xa0, 0x75, 0xfd, 0xc0, 0xac, 0xa6, 0x82, 0x6d, 0x6a, 0xd8, 0xfa, 0x61, 0x61, 0x26, + 0x33, 0x3f, 0xbe, 0x89, 0x5a, 0xb3, 0x17, 0x6c, 0x99, 0x0a, 0x7b, 0x45, 0x63, 0x5b, 0xb3, 0x0d, + 0x91, 0x39, 0x02, 0xdf, 0x46, 0x1b, 0x22, 0xf1, 0xe7, 0x01, 0x6b, 0x2a, 0xe0, 0xaa, 0x0e, 0xd8, + 0x38, 0x28, 0x5d, 0xe4, 0x79, 0x5c, 0xbe, 0xad, 0x7c, 0x8f, 0xd6, 0xfa, 0xe2, 0xb6, 0xf2, 0x23, + 0x20, 0xca, 0xd3, 0xff, 0xb5, 0x8e, 0xb6, 0x0e, 0x60, 0xfc, 0xe8, 0xbf, 0x55, 0x3d, 0x5b, 0x50, + 0xfd, 0x83, 0x7f, 0x20, 0xc3, 0x6a, 0xca, 0xff, 0x2f, 0xe5, 0xff, 0x58, 0x47, 0xaf, 0xbf, 0x80, + 0x28, 0xfe, 0xc6, 0x40, 0x98, 0x2f, 0x89, 0x57, 0x1f, 0xf5, 0xfb, 0xe7, 0x67, 0xb8, 0xfc, 0x10, + 0xbc, 0xd7, 0xb2, 0x69, 0xb7, 0xe2, 0x81, 0x90, 0x8a, 0xba, 0xf8, 0xa9, 0x81, 0xae, 0x45, 0x55, + 0x2f, 0x55, 0x5f, 0xd3, 0xbd, 0xf3, 0x33, 0xaa, 0x7c, 0xf8, 0xde, 0xf5, 0x6c, 0xda, 0xad, 0xfe, + 0x27, 0x90, 0x6a, 0x02, 0xfd, 0x9f, 0xea, 0xe8, 0xea, 0xe5, 0x7f, 0xf9, 0x62, 0xd5, 0xf9, 0x67, + 0x13, 0x6d, 0x5d, 0x2a, 0xf3, 0x5f, 0x2a, 0x73, 0xde, 0x38, 0x1a, 0x8b, 0x7f, 0xd8, 0x4f, 0x05, + 0x70, 0xdd, 0x38, 0x7a, 0xb3, 0xc6, 0xd1, 0x54, 0x33, 0x08, 0xca, 0xaf, 0x42, 0x35, 0x0d, 0x31, + 0xeb, 0x1a, 0xc7, 0xc8, 0x84, 0x7c, 0x66, 0xb1, 0xcc, 0x5e, 0x63, 0x7b, 0x63, 0xf7, 0x93, 0x0b, + 0x13, 0x9b, 0xa3, 0x46, 0xa1, 0xfd, 0x48, 0xf2, 0xe3, 0xb2, 0x61, 0x29, 0x1b, 0x29, 0x2a, 0x76, + 0x52, 0x3d, 0x2e, 0x29, 0x0c, 0xbe, 0x82, 0x1a, 0x23, 0x38, 0x2e, 0x1a, 0x26, 0xc9, 0x3f, 0x31, + 0x41, 0x66, 0x9a, 0x4f, 0x52, 0xfa, 0xa0, 0xdf, 0x3d, 0x3f, 0xb5, 0x72, 0x1a, 0x23, 0x45, 0xaa, + 0xbb, 0xf5, 0x3b, 0x46, 0xff, 0x7b, 0x03, 0x5d, 0x5f, 0x29, 0xd9, 0xbc, 0x8d, 0xd2, 0xf1, 0x98, + 0x3d, 0x86, 0x23, 0xc5, 0xa5, 0x55, 0xb6, 0xd1, 0xbd, 0xc2, 0x4c, 0x66, 0x7e, 0xfc, 0x26, 0x5a, + 0xe3, 0x40, 0x05, 0x8b, 0x74, 0xeb, 0x9e, 0xab, 0x9d, 0x28, 0x2b, 0xd1, 0x5e, 0xbc, 0x87, 0x36, + 0x21, 0x2f, 0xaf, 0xc8, 0xed, 0x73, 0xce, 0xb8, 0xbe, 0xb2, 0x2d, 0x1d, 0xb0, 0xb9, 0xbf, 0xe8, + 0x26, 0x67, 0xf1, 0xde, 0x8d, 0x93, 0x53, 0xbb, 0xf6, 0xec, 0xd4, 0xae, 0xfd, 0x72, 0x6a, 0xd7, + 0x9e, 0x64, 0xb6, 0x71, 0x92, 0xd9, 0xc6, 0xb3, 0xcc, 0x36, 0x7e, 0xcf, 0x6c, 0xe3, 0xdb, 0x3f, + 0xec, 0xda, 0xe7, 0xeb, 0x7a, 0xd3, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x06, 0x55, 0x79, 0xe0, + 0x5a, 0x0c, 0x00, 0x00, } diff --git a/pkg/apis/authorization/v1beta1/generated.proto b/pkg/apis/authorization/v1beta1/generated.proto index b3df8977853..137e8c632ab 100644 --- a/pkg/apis/authorization/v1beta1/generated.proto +++ b/pkg/apis/authorization/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/authorization/v1beta1/register.go b/pkg/apis/authorization/v1beta1/register.go index 64635994128..4251932dd04 100644 --- a/pkg/apis/authorization/v1beta1/register.go +++ b/pkg/apis/authorization/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) @@ -50,6 +50,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *LocalSubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *SubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *SelfSubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *LocalSubjectAccessReview) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *SubjectAccessReview) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *SelfSubjectAccessReview) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/autoscaling/BUILD b/pkg/apis/autoscaling/BUILD index d12e144d53b..b52cd12b941 100644 --- a/pkg/apis/autoscaling/BUILD +++ b/pkg/apis/autoscaling/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apis/autoscaling/register.go b/pkg/apis/autoscaling/register.go index 0319dad2e6f..ee6b32b61f3 100644 --- a/pkg/apis/autoscaling/register.go +++ b/pkg/apis/autoscaling/register.go @@ -18,23 +18,23 @@ package autoscaling import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "autoscaling" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/autoscaling/v1/BUILD b/pkg/apis/autoscaling/v1/BUILD index 04ef35ab65e..049f865baf5 100644 --- a/pkg/apis/autoscaling/v1/BUILD +++ b/pkg/apis/autoscaling/v1/BUILD @@ -31,6 +31,7 @@ go_library( "//pkg/apis/autoscaling:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/apis/autoscaling/v1/generated.pb.go b/pkg/apis/autoscaling/v1/generated.pb.go index 99e32efd727..21ba1c69096 100644 --- a/pkg/apis/autoscaling/v1/generated.pb.go +++ b/pkg/apis/autoscaling/v1/generated.pb.go @@ -1730,58 +1730,58 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 835 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6f, 0xdc, 0x44, - 0x14, 0x5f, 0xef, 0x47, 0x95, 0x8e, 0x49, 0x02, 0x83, 0xd4, 0xae, 0x52, 0x61, 0x47, 0x0b, 0x87, - 0x20, 0x5a, 0x5b, 0xbb, 0xa2, 0x88, 0x1e, 0xe3, 0xa0, 0xd2, 0x8a, 0x86, 0x46, 0x93, 0xb6, 0x42, - 0x48, 0x20, 0xcd, 0xda, 0xaf, 0xee, 0x74, 0xd7, 0x1e, 0x6b, 0x66, 0xbc, 0x42, 0x3d, 0x71, 0xe2, - 0xcc, 0x85, 0x03, 0xff, 0x0e, 0xa7, 0xdc, 0xe8, 0x91, 0xd3, 0x8a, 0x18, 0xf1, 0x5f, 0x70, 0x40, - 0x9e, 0x9d, 0x7a, 0xbf, 0xe2, 0x6d, 0x23, 0xe8, 0x6d, 0x67, 0xde, 0xef, 0xe3, 0xcd, 0x7b, 0xcf, - 0x6f, 0xd1, 0x9d, 0xd1, 0xe7, 0xd2, 0x63, 0xdc, 0x1f, 0xe5, 0x43, 0x10, 0x29, 0x28, 0x90, 0x7e, - 0x36, 0x8a, 0x7d, 0x9a, 0x31, 0xe9, 0xd3, 0x5c, 0x71, 0x19, 0xd2, 0x31, 0x4b, 0x63, 0x7f, 0xd2, - 0xf7, 0x63, 0x48, 0x41, 0x50, 0x05, 0x91, 0x97, 0x09, 0xae, 0x38, 0xfe, 0x78, 0x46, 0xf5, 0xe6, - 0x54, 0x2f, 0x1b, 0xc5, 0x5e, 0x49, 0xf5, 0x16, 0xa8, 0xde, 0xa4, 0xbf, 0x77, 0x2b, 0x66, 0xea, - 0x59, 0x3e, 0xf4, 0x42, 0x9e, 0xf8, 0x31, 0x8f, 0xb9, 0xaf, 0x15, 0x86, 0xf9, 0x53, 0x7d, 0xd2, - 0x07, 0xfd, 0x6b, 0xa6, 0xbc, 0x37, 0xa8, 0x4d, 0xca, 0x17, 0x20, 0x79, 0x2e, 0x42, 0x58, 0xcd, - 0x66, 0xef, 0x76, 0x3d, 0x27, 0x4f, 0x27, 0x20, 0x24, 0xe3, 0x29, 0x44, 0x6b, 0xb4, 0x9b, 0xf5, - 0xb4, 0xf5, 0x27, 0xef, 0xdd, 0xba, 0x18, 0x2d, 0xf2, 0x54, 0xb1, 0x64, 0x3d, 0xa7, 0xfe, 0xc5, - 0xf0, 0x5c, 0xb1, 0xb1, 0xcf, 0x52, 0x25, 0x95, 0x58, 0xa5, 0xf4, 0x7e, 0xb1, 0xd0, 0x8d, 0x23, - 0xc1, 0xa5, 0x7c, 0x32, 0x4b, 0xf9, 0xe1, 0xf0, 0x39, 0x84, 0x8a, 0xc0, 0x53, 0x10, 0x90, 0x86, - 0x80, 0xf7, 0x51, 0x7b, 0xc4, 0xd2, 0xa8, 0x6b, 0xed, 0x5b, 0x07, 0x57, 0x83, 0x77, 0xce, 0xa6, - 0x6e, 0xa3, 0x98, 0xba, 0xed, 0xaf, 0x58, 0x1a, 0x11, 0x1d, 0x29, 0x11, 0x29, 0x4d, 0xa0, 0xdb, - 0x5c, 0x46, 0x7c, 0x4d, 0x13, 0x20, 0x3a, 0x82, 0x07, 0x08, 0xd1, 0x8c, 0x19, 0x83, 0x6e, 0x4b, - 0xe3, 0xb0, 0xc1, 0xa1, 0xc3, 0x93, 0xfb, 0x26, 0x42, 0x16, 0x50, 0xbd, 0xdf, 0x9b, 0xe8, 0xfa, - 0x3d, 0x2e, 0xd8, 0x0b, 0x9e, 0x2a, 0x3a, 0x3e, 0xe1, 0xd1, 0xa1, 0xe9, 0x30, 0x08, 0xfc, 0x0d, - 0xda, 0x4a, 0x40, 0xd1, 0x88, 0x2a, 0xaa, 0xf3, 0xb2, 0x07, 0x07, 0x5e, 0xed, 0x6c, 0x78, 0x93, - 0xbe, 0x37, 0x7b, 0xd4, 0x31, 0x28, 0x3a, 0xf7, 0x9d, 0xdf, 0x91, 0x4a, 0x0d, 0x3f, 0x43, 0x6d, - 0x99, 0x41, 0xa8, 0xdf, 0x62, 0x0f, 0xee, 0x7a, 0x6f, 0x3c, 0x71, 0x5e, 0x4d, 0xae, 0xa7, 0x19, - 0x84, 0xf3, 0x9a, 0x94, 0x27, 0xa2, 0x1d, 0x70, 0x86, 0xae, 0x48, 0x45, 0x55, 0x2e, 0x75, 0x3d, - 0xec, 0xc1, 0xbd, 0xff, 0xc1, 0x4b, 0xeb, 0x05, 0x3b, 0xc6, 0xed, 0xca, 0xec, 0x4c, 0x8c, 0x4f, - 0xef, 0x6f, 0x0b, 0xdd, 0xa8, 0x61, 0x3e, 0x60, 0x52, 0xe1, 0xef, 0xd6, 0xaa, 0xea, 0x6f, 0xa8, - 0xea, 0xc2, 0x8c, 0x7b, 0x25, 0x5d, 0x17, 0xf7, 0x5d, 0x63, 0xbd, 0xf5, 0xea, 0x66, 0xa1, 0xb4, - 0x31, 0xea, 0x30, 0x05, 0x89, 0xec, 0x36, 0xf7, 0x5b, 0x07, 0xf6, 0x20, 0xf8, 0xef, 0xef, 0x0d, - 0xb6, 0x8d, 0x5d, 0xe7, 0x7e, 0x29, 0x4c, 0x66, 0xfa, 0xbd, 0x7f, 0x9a, 0xb5, 0xef, 0x2c, 0xeb, - 0x8f, 0x7f, 0xb2, 0xd0, 0x8e, 0x3e, 0x3e, 0xa2, 0x22, 0x86, 0x72, 0xd4, 0xcd, 0x73, 0x2f, 0xd3, - 0xee, 0x0d, 0x9f, 0x4c, 0x70, 0xcd, 0xa4, 0xb5, 0x73, 0xba, 0xe4, 0x42, 0x56, 0x5c, 0x71, 0x1f, - 0xd9, 0x09, 0x4b, 0x09, 0x64, 0x63, 0x16, 0x52, 0xa9, 0x67, 0xae, 0x13, 0xec, 0x16, 0x53, 0xd7, - 0x3e, 0x9e, 0x5f, 0x93, 0x45, 0x0c, 0xbe, 0x8d, 0xec, 0x84, 0xfe, 0x50, 0x51, 0x5a, 0x9a, 0xf2, - 0xbe, 0xf1, 0xb3, 0x8f, 0xe7, 0x21, 0xb2, 0x88, 0xc3, 0xcf, 0x91, 0xa3, 0xb4, 0xed, 0xd1, 0xc9, - 0xe3, 0xc7, 0x8a, 0x8d, 0xd9, 0x0b, 0xaa, 0x18, 0x4f, 0x4f, 0x40, 0x84, 0x90, 0x2a, 0x1a, 0x43, - 0xb7, 0xad, 0x95, 0x7a, 0xc5, 0xd4, 0x75, 0x1e, 0x6d, 0x44, 0x92, 0xd7, 0x28, 0xf5, 0x7e, 0x6b, - 0xa1, 0x0f, 0x36, 0x0e, 0x28, 0xbe, 0x8b, 0x30, 0x1f, 0x4a, 0x10, 0x13, 0x88, 0xbe, 0x9c, 0x6d, - 0xa3, 0x72, 0x2d, 0x94, 0x3d, 0x68, 0x05, 0xd7, 0x8a, 0xa9, 0x8b, 0x1f, 0xae, 0x45, 0xc9, 0x05, - 0x0c, 0x1c, 0xa1, 0xed, 0x31, 0x95, 0x6a, 0x56, 0x65, 0x66, 0x36, 0x90, 0x3d, 0xf8, 0xe4, 0x0d, - 0xa7, 0xb6, 0xa4, 0x04, 0xef, 0x15, 0x53, 0x77, 0xfb, 0xc1, 0xa2, 0x0a, 0x59, 0x16, 0xc5, 0x87, - 0x68, 0x37, 0xcc, 0x85, 0x80, 0x54, 0xad, 0x94, 0xfd, 0xba, 0x29, 0xfb, 0xee, 0xd1, 0x72, 0x98, - 0xac, 0xe2, 0x4b, 0x89, 0x08, 0x24, 0x13, 0x10, 0x55, 0x12, 0xed, 0x65, 0x89, 0x2f, 0x96, 0xc3, - 0x64, 0x15, 0x8f, 0x13, 0xe4, 0x1a, 0xd5, 0xda, 0x16, 0x76, 0xb4, 0xe4, 0x87, 0xc5, 0xd4, 0x75, - 0x8f, 0x36, 0x43, 0xc9, 0xeb, 0xb4, 0x7a, 0xbf, 0x36, 0x51, 0x47, 0x97, 0xe0, 0x2d, 0xee, 0xda, - 0x27, 0x4b, 0xbb, 0xf6, 0xd3, 0x4b, 0x7c, 0x7c, 0x3a, 0xb3, 0xda, 0xcd, 0xfa, 0xfd, 0xca, 0x66, - 0xfd, 0xec, 0xd2, 0xca, 0x9b, 0xf7, 0xe8, 0x1d, 0x74, 0xb5, 0x4a, 0x00, 0xdf, 0x44, 0x5b, 0xe2, - 0x55, 0x4f, 0x2d, 0xdd, 0x80, 0x6a, 0x07, 0x56, 0xcd, 0xac, 0x10, 0x3d, 0x86, 0xec, 0x05, 0x87, - 0xcb, 0x91, 0x4b, 0xb4, 0x84, 0x31, 0x84, 0x8a, 0x0b, 0xf3, 0x5f, 0x5b, 0xa1, 0x4f, 0xcd, 0x3d, - 0xa9, 0x10, 0xc1, 0x47, 0x67, 0xe7, 0x4e, 0xe3, 0xe5, 0xb9, 0xd3, 0xf8, 0xe3, 0xdc, 0x69, 0xfc, - 0x58, 0x38, 0xd6, 0x59, 0xe1, 0x58, 0x2f, 0x0b, 0xc7, 0xfa, 0xb3, 0x70, 0xac, 0x9f, 0xff, 0x72, - 0x1a, 0xdf, 0x36, 0x27, 0xfd, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x45, 0xec, 0x9a, 0x15, 0x8e, - 0x09, 0x00, 0x00, + // 845 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x8f, 0xdb, 0x44, + 0x14, 0x8f, 0xf3, 0x51, 0x6d, 0xc7, 0xec, 0x2e, 0x0c, 0x52, 0x1b, 0x6d, 0x85, 0xbd, 0x0a, 0x1c, + 0x16, 0xd1, 0xda, 0x4a, 0xd4, 0x22, 0x7a, 0x5c, 0x2f, 0x2a, 0xad, 0xe8, 0xd2, 0xd5, 0x6c, 0x5b, + 0x21, 0x24, 0x90, 0x26, 0xf6, 0xab, 0x77, 0x9a, 0xf8, 0x43, 0x33, 0xe3, 0x08, 0xf5, 0xc4, 0x89, + 0x33, 0x17, 0x0e, 0xfc, 0x3b, 0x9c, 0xf6, 0x46, 0x8f, 0x9c, 0x22, 0xd6, 0x88, 0xff, 0x82, 0x03, + 0xf2, 0x64, 0xea, 0x38, 0xc9, 0x3a, 0xdd, 0x08, 0xb8, 0x65, 0xe6, 0xfd, 0x3e, 0xde, 0x7b, 0xf3, + 0xfc, 0x82, 0xee, 0x8f, 0x3e, 0x13, 0x0e, 0x4b, 0xdc, 0x51, 0x36, 0x04, 0x1e, 0x83, 0x04, 0xe1, + 0xa6, 0xa3, 0xd0, 0xa5, 0x29, 0x13, 0x2e, 0xcd, 0x64, 0x22, 0x7c, 0x3a, 0x66, 0x71, 0xe8, 0x4e, + 0xfa, 0x6e, 0x08, 0x31, 0x70, 0x2a, 0x21, 0x70, 0x52, 0x9e, 0xc8, 0x04, 0x7f, 0x3c, 0xa3, 0x3a, + 0x73, 0xaa, 0x93, 0x8e, 0x42, 0xa7, 0xa0, 0x3a, 0x15, 0xaa, 0x33, 0xe9, 0xef, 0xdd, 0x09, 0x99, + 0x3c, 0xcb, 0x86, 0x8e, 0x9f, 0x44, 0x6e, 0x98, 0x84, 0x89, 0xab, 0x14, 0x86, 0xd9, 0x0b, 0x75, + 0x52, 0x07, 0xf5, 0x6b, 0xa6, 0xbc, 0x37, 0xa8, 0x4d, 0xca, 0xe5, 0x20, 0x92, 0x8c, 0xfb, 0xb0, + 0x9c, 0xcd, 0xde, 0xbd, 0x7a, 0x4e, 0x16, 0x4f, 0x80, 0x0b, 0x96, 0xc4, 0x10, 0xac, 0xd0, 0x6e, + 0xd7, 0xd3, 0x56, 0x4b, 0xde, 0xbb, 0x73, 0x39, 0x9a, 0x67, 0xb1, 0x64, 0xd1, 0x6a, 0x4e, 0x77, + 0xd7, 0xc3, 0x85, 0x7f, 0x06, 0x11, 0x5d, 0x61, 0xf5, 0x2f, 0x67, 0x65, 0x92, 0x8d, 0x5d, 0x16, + 0x4b, 0x21, 0xf9, 0x32, 0xa5, 0xf7, 0xb3, 0x81, 0x6e, 0x1d, 0xf1, 0x44, 0x88, 0xe7, 0xb3, 0x42, + 0x9f, 0x0c, 0x5f, 0x82, 0x2f, 0x09, 0xbc, 0x00, 0x0e, 0xb1, 0x0f, 0x78, 0x1f, 0xb5, 0x47, 0x2c, + 0x0e, 0xba, 0xc6, 0xbe, 0x71, 0x70, 0xdd, 0x7b, 0xe7, 0x7c, 0x6a, 0x37, 0xf2, 0xa9, 0xdd, 0xfe, + 0x92, 0xc5, 0x01, 0x51, 0x91, 0x02, 0x11, 0xd3, 0x08, 0xba, 0xcd, 0x45, 0xc4, 0x57, 0x34, 0x02, + 0xa2, 0x22, 0x78, 0x80, 0x10, 0x4d, 0x99, 0x36, 0xe8, 0xb6, 0x14, 0x0e, 0x6b, 0x1c, 0x3a, 0x3c, + 0x79, 0xa4, 0x23, 0xa4, 0x82, 0xea, 0xfd, 0xd6, 0x44, 0x37, 0x1f, 0x26, 0x9c, 0xbd, 0x4a, 0x62, + 0x49, 0xc7, 0x27, 0x49, 0x70, 0xa8, 0xe7, 0x02, 0x38, 0xfe, 0x1a, 0x6d, 0x45, 0x20, 0x69, 0x40, + 0x25, 0x55, 0x79, 0x99, 0x83, 0x03, 0xa7, 0x76, 0xa2, 0x9c, 0x49, 0xdf, 0x99, 0x15, 0x75, 0x0c, + 0x92, 0xce, 0x7d, 0xe7, 0x77, 0xa4, 0x54, 0xc3, 0x67, 0xa8, 0x2d, 0x52, 0xf0, 0x55, 0x2d, 0xe6, + 0xe0, 0x81, 0x73, 0xe5, 0x39, 0x75, 0x6a, 0x72, 0x3d, 0x4d, 0xc1, 0x9f, 0xf7, 0xa4, 0x38, 0x11, + 0xe5, 0x80, 0x53, 0x74, 0x4d, 0x48, 0x2a, 0x33, 0xa1, 0xfa, 0x61, 0x0e, 0x1e, 0xfe, 0x07, 0x5e, + 0x4a, 0xcf, 0xdb, 0xd1, 0x6e, 0xd7, 0x66, 0x67, 0xa2, 0x7d, 0x7a, 0x7f, 0x19, 0xe8, 0x56, 0x0d, + 0xf3, 0x31, 0x13, 0x12, 0x7f, 0xbb, 0xd2, 0x55, 0x77, 0x4d, 0x57, 0x2b, 0x5f, 0x86, 0x53, 0xd0, + 0x55, 0x73, 0xdf, 0xd5, 0xd6, 0x5b, 0x6f, 0x6e, 0x2a, 0xad, 0x0d, 0x51, 0x87, 0x49, 0x88, 0x44, + 0xb7, 0xb9, 0xdf, 0x3a, 0x30, 0x07, 0xde, 0xbf, 0xaf, 0xd7, 0xdb, 0xd6, 0x76, 0x9d, 0x47, 0x85, + 0x30, 0x99, 0xe9, 0xf7, 0xfe, 0x6e, 0xd6, 0xd6, 0x59, 0xf4, 0x1f, 0xff, 0x68, 0xa0, 0x1d, 0x75, + 0x7c, 0x4a, 0x79, 0x08, 0xc5, 0xa8, 0xeb, 0x72, 0x37, 0x79, 0xee, 0x35, 0x9f, 0x8c, 0x77, 0x43, + 0xa7, 0xb5, 0x73, 0xba, 0xe0, 0x42, 0x96, 0x5c, 0x71, 0x1f, 0x99, 0x11, 0x8b, 0x09, 0xa4, 0x63, + 0xe6, 0x53, 0xa1, 0x66, 0xae, 0xe3, 0xed, 0xe6, 0x53, 0xdb, 0x3c, 0x9e, 0x5f, 0x93, 0x2a, 0x06, + 0xdf, 0x43, 0x66, 0x44, 0xbf, 0x2f, 0x29, 0x2d, 0x45, 0x79, 0x5f, 0xfb, 0x99, 0xc7, 0xf3, 0x10, + 0xa9, 0xe2, 0xf0, 0x4b, 0x64, 0x49, 0x65, 0x7b, 0x74, 0xf2, 0xec, 0x99, 0x64, 0x63, 0xf6, 0x8a, + 0x4a, 0x96, 0xc4, 0x27, 0xc0, 0x7d, 0x88, 0x25, 0x0d, 0xa1, 0xdb, 0x56, 0x4a, 0xbd, 0x7c, 0x6a, + 0x5b, 0x4f, 0xd7, 0x22, 0xc9, 0x5b, 0x94, 0x7a, 0xbf, 0xb6, 0xd0, 0x07, 0x6b, 0x07, 0x14, 0x3f, + 0x40, 0x38, 0x19, 0x0a, 0xe0, 0x13, 0x08, 0xbe, 0x98, 0x6d, 0xa3, 0x62, 0x2d, 0x14, 0x6f, 0xd0, + 0xf2, 0x6e, 0xe4, 0x53, 0x1b, 0x3f, 0x59, 0x89, 0x92, 0x4b, 0x18, 0x38, 0x40, 0xdb, 0x63, 0x2a, + 0xe4, 0xac, 0xcb, 0x4c, 0x6f, 0x20, 0x73, 0xf0, 0xc9, 0x15, 0xa7, 0xb6, 0xa0, 0x78, 0xef, 0xe5, + 0x53, 0x7b, 0xfb, 0x71, 0x55, 0x85, 0x2c, 0x8a, 0xe2, 0x43, 0xb4, 0xeb, 0x67, 0x9c, 0x43, 0x2c, + 0x97, 0xda, 0x7e, 0x53, 0xb7, 0x7d, 0xf7, 0x68, 0x31, 0x4c, 0x96, 0xf1, 0x85, 0x44, 0x00, 0x82, + 0x71, 0x08, 0x4a, 0x89, 0xf6, 0xa2, 0xc4, 0xe7, 0x8b, 0x61, 0xb2, 0x8c, 0xc7, 0x11, 0xb2, 0xb5, + 0x6a, 0xed, 0x13, 0x76, 0x94, 0xe4, 0x87, 0xf9, 0xd4, 0xb6, 0x8f, 0xd6, 0x43, 0xc9, 0xdb, 0xb4, + 0x7a, 0xbf, 0x34, 0x51, 0x47, 0xb5, 0xe0, 0x7f, 0xdc, 0xb5, 0xcf, 0x17, 0x76, 0xed, 0xdd, 0x0d, + 0x3e, 0x3e, 0x95, 0x59, 0xed, 0x66, 0xfd, 0x6e, 0x69, 0xb3, 0x7e, 0xba, 0xb1, 0xf2, 0xfa, 0x3d, + 0x7a, 0x1f, 0x5d, 0x2f, 0x13, 0xc0, 0xb7, 0xd1, 0x16, 0x7f, 0xf3, 0xa6, 0x86, 0x7a, 0x80, 0x72, + 0x07, 0x96, 0x8f, 0x59, 0x22, 0x7a, 0x0c, 0x99, 0x15, 0x87, 0xcd, 0xc8, 0x05, 0x5a, 0xc0, 0x18, + 0x7c, 0x99, 0x70, 0xfd, 0x5f, 0x5b, 0xa2, 0x4f, 0xf5, 0x3d, 0x29, 0x11, 0xde, 0x47, 0xe7, 0x17, + 0x56, 0xe3, 0xf5, 0x85, 0xd5, 0xf8, 0xfd, 0xc2, 0x6a, 0xfc, 0x90, 0x5b, 0xc6, 0x79, 0x6e, 0x19, + 0xaf, 0x73, 0xcb, 0xf8, 0x23, 0xb7, 0x8c, 0x9f, 0xfe, 0xb4, 0x1a, 0xdf, 0x34, 0x27, 0xfd, 0x7f, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x11, 0x6a, 0xc0, 0x63, 0xc4, 0x09, 0x00, 0x00, } diff --git a/pkg/apis/autoscaling/v1/generated.proto b/pkg/apis/autoscaling/v1/generated.proto index 56d19a9cc95..249ce57252b 100644 --- a/pkg/apis/autoscaling/v1/generated.proto +++ b/pkg/apis/autoscaling/v1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/autoscaling/v1/register.go b/pkg/apis/autoscaling/v1/register.go index 1563a42a58a..9f9d720e0fb 100644 --- a/pkg/apis/autoscaling/v1/register.go +++ b/pkg/apis/autoscaling/v1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "autoscaling" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) diff --git a/pkg/apis/batch/BUILD b/pkg/apis/batch/BUILD index 8df04f8b7f8..0dc50903c11 100644 --- a/pkg/apis/batch/BUILD +++ b/pkg/apis/batch/BUILD @@ -26,6 +26,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/pkg/apis/batch/register.go b/pkg/apis/batch/register.go index 56cc0ec99a0..f066c732459 100644 --- a/pkg/apis/batch/register.go +++ b/pkg/apis/batch/register.go @@ -18,23 +18,23 @@ package batch import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "batch" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/batch/v1/BUILD b/pkg/apis/batch/v1/BUILD index 2011e9176f1..6f8f667aa16 100644 --- a/pkg/apis/batch/v1/BUILD +++ b/pkg/apis/batch/v1/BUILD @@ -34,6 +34,7 @@ go_library( "//pkg/apis/batch:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/watch/versioned:go_default_library", diff --git a/pkg/apis/batch/v1/generated.pb.go b/pkg/apis/batch/v1/generated.pb.go index f5d0adcbc1d..c743232142f 100644 --- a/pkg/apis/batch/v1/generated.pb.go +++ b/pkg/apis/batch/v1/generated.pb.go @@ -1519,59 +1519,60 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 863 bytes of a gzipped FileDescriptorProto + // 872 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0xcf, 0x6f, 0xe3, 0x44, 0x14, 0xce, 0x8f, 0xa6, 0x4d, 0xa6, 0x3f, 0x76, 0x19, 0xa9, 0x52, 0xc8, 0x21, 0x59, 0x05, 0x84, - 0x16, 0xb1, 0x1d, 0x2b, 0x65, 0x91, 0x10, 0x07, 0x24, 0x5c, 0x84, 0x44, 0xd5, 0xb2, 0xd5, 0xa4, - 0x42, 0x2b, 0x10, 0x48, 0x63, 0xfb, 0x6d, 0x3a, 0xd4, 0xf6, 0x58, 0x9e, 0x71, 0xd0, 0xde, 0xb8, - 0x71, 0xe5, 0xaf, 0x01, 0xf1, 0x1f, 0xf4, 0xb8, 0xe2, 0xc4, 0x29, 0xa2, 0xe6, 0xbf, 0xd8, 0x13, - 0xf2, 0x78, 0x62, 0x3b, 0x4d, 0x1a, 0xa5, 0xdc, 0x3c, 0x6f, 0xbe, 0xef, 0x7b, 0xcf, 0xef, 0x7d, - 0xf3, 0xd0, 0xc7, 0xd7, 0x9f, 0x4a, 0xc2, 0x85, 0x75, 0x9d, 0x38, 0x10, 0x87, 0xa0, 0x40, 0x5a, - 0xd1, 0xf5, 0xc4, 0x62, 0x11, 0x97, 0x96, 0xc3, 0x94, 0x7b, 0x65, 0x4d, 0x47, 0xd6, 0x04, 0x42, - 0x88, 0x99, 0x02, 0x8f, 0x44, 0xb1, 0x50, 0x02, 0xbf, 0x97, 0x93, 0x48, 0x49, 0x22, 0xd1, 0xf5, - 0x84, 0x64, 0x24, 0xa2, 0x49, 0x64, 0x3a, 0xea, 0x1d, 0x4d, 0xb8, 0xba, 0x4a, 0x1c, 0xe2, 0x8a, - 0xc0, 0x9a, 0x88, 0x89, 0xb0, 0x34, 0xd7, 0x49, 0x5e, 0xe9, 0x93, 0x3e, 0xe8, 0xaf, 0x5c, 0xb3, - 0x77, 0x7c, 0x6f, 0x21, 0x56, 0x0c, 0x52, 0x24, 0xb1, 0x0b, 0x77, 0xeb, 0xe8, 0x7d, 0x72, 0x3f, - 0x27, 0x09, 0xa7, 0x10, 0x4b, 0x2e, 0x42, 0xf0, 0x96, 0x68, 0xcf, 0xee, 0xa7, 0x2d, 0xff, 0x6c, - 0xef, 0x68, 0x35, 0x3a, 0x4e, 0x42, 0xc5, 0x83, 0xe5, 0x9a, 0x46, 0xab, 0xe1, 0x89, 0xe2, 0xbe, - 0xc5, 0x43, 0x25, 0x55, 0x7c, 0x97, 0x32, 0xfc, 0xb5, 0x81, 0x9a, 0xa7, 0xc2, 0xc1, 0x2f, 0x51, - 0x3b, 0x00, 0xc5, 0x3c, 0xa6, 0x58, 0xb7, 0xfe, 0xa4, 0xfe, 0x74, 0xf7, 0xf8, 0x29, 0xb9, 0xb7, - 0xd3, 0x64, 0x3a, 0x22, 0x2f, 0x9c, 0x9f, 0xc0, 0x55, 0xe7, 0xa0, 0x98, 0x8d, 0x6f, 0x66, 0x83, - 0x5a, 0x3a, 0x1b, 0xa0, 0x32, 0x46, 0x0b, 0x35, 0xfc, 0x0d, 0xda, 0x92, 0x11, 0xb8, 0xdd, 0x86, - 0x56, 0x7d, 0x46, 0x36, 0x98, 0x1f, 0x39, 0x15, 0xce, 0x38, 0x02, 0xd7, 0xde, 0x33, 0xca, 0x5b, - 0xd9, 0x89, 0x6a, 0x1d, 0xfc, 0x2d, 0xda, 0x96, 0x8a, 0xa9, 0x44, 0x76, 0x9b, 0x5a, 0x91, 0x6c, - 0xac, 0xa8, 0x59, 0xf6, 0x81, 0xd1, 0xdc, 0xce, 0xcf, 0xd4, 0xa8, 0x0d, 0xff, 0x6a, 0xa2, 0xbd, - 0x53, 0xe1, 0x9c, 0x88, 0xd0, 0xe3, 0x8a, 0x8b, 0x10, 0x3f, 0x47, 0x5b, 0xea, 0x75, 0x04, 0xba, - 0x1d, 0x1d, 0xfb, 0xc9, 0xbc, 0x94, 0xcb, 0xd7, 0x11, 0xbc, 0x9d, 0x0d, 0x1e, 0x57, 0xb1, 0x59, - 0x8c, 0x6a, 0x74, 0xa5, 0xbc, 0x86, 0xe6, 0x7d, 0xbe, 0x98, 0xee, 0xed, 0x6c, 0xb0, 0xd6, 0x02, - 0xa4, 0xd0, 0x5c, 0x2c, 0x0f, 0x5f, 0xa1, 0x7d, 0x9f, 0x49, 0x75, 0x11, 0x0b, 0x07, 0x2e, 0x79, - 0x00, 0xe6, 0xef, 0x3f, 0x5a, 0x33, 0xa5, 0x8a, 0x0f, 0x49, 0x46, 0xb1, 0x0f, 0x4d, 0x2d, 0xfb, - 0x67, 0x55, 0x25, 0xba, 0x28, 0x8c, 0x7f, 0x46, 0x38, 0x0b, 0x5c, 0xc6, 0x2c, 0x94, 0xf9, 0xdf, - 0x65, 0xe9, 0xb6, 0x1e, 0x9e, 0xae, 0x67, 0xd2, 0xe1, 0xb3, 0x25, 0x39, 0xba, 0x22, 0x05, 0xfe, - 0x00, 0x6d, 0xc7, 0xc0, 0xa4, 0x08, 0xbb, 0x2d, 0xdd, 0xba, 0x62, 0x52, 0x54, 0x47, 0xa9, 0xb9, - 0xc5, 0x1f, 0xa2, 0x9d, 0x00, 0xa4, 0x64, 0x13, 0xe8, 0x6e, 0x6b, 0xe0, 0x23, 0x03, 0xdc, 0x39, - 0xcf, 0xc3, 0x74, 0x7e, 0x3f, 0xfc, 0xa3, 0x8e, 0x76, 0x4e, 0x85, 0x73, 0xc6, 0xa5, 0xc2, 0x3f, - 0x2c, 0x59, 0xdc, 0xda, 0xf0, 0x6f, 0x32, 0xba, 0x76, 0xfa, 0x63, 0x93, 0xa8, 0x3d, 0x8f, 0x54, - 0x7c, 0x7e, 0x8e, 0x5a, 0x5c, 0x41, 0x90, 0xcd, 0xbd, 0xb9, 0xfe, 0xf9, 0x2c, 0xda, 0xd2, 0xde, - 0x37, 0xa2, 0xad, 0xaf, 0x33, 0x3a, 0xcd, 0x55, 0x86, 0x7f, 0x36, 0x75, 0xe5, 0x99, 0xf1, 0xf1, - 0x08, 0xed, 0x46, 0x2c, 0x66, 0xbe, 0x0f, 0x3e, 0x97, 0x81, 0x2e, 0xbe, 0x65, 0x3f, 0x4a, 0x67, - 0x83, 0xdd, 0x8b, 0x32, 0x4c, 0xab, 0x98, 0x8c, 0xe2, 0x8a, 0x20, 0xf2, 0x21, 0xeb, 0x6e, 0xee, - 0x45, 0x43, 0x39, 0x29, 0xc3, 0xb4, 0x8a, 0xc1, 0x2f, 0xd0, 0x21, 0x73, 0x15, 0x9f, 0xc2, 0x97, - 0xc0, 0x3c, 0x9f, 0x87, 0x30, 0x06, 0x57, 0x84, 0x5e, 0xfe, 0xce, 0x9a, 0xf6, 0xbb, 0xe9, 0x6c, - 0x70, 0xf8, 0xc5, 0x2a, 0x00, 0x5d, 0xcd, 0xc3, 0x3f, 0xa2, 0xb6, 0x04, 0x1f, 0x5c, 0x25, 0x62, - 0x63, 0x9f, 0xe7, 0x9b, 0x36, 0x9c, 0x39, 0xe0, 0x8f, 0x0d, 0xd7, 0xde, 0xcb, 0x3a, 0x3e, 0x3f, - 0xd1, 0x42, 0x13, 0x7f, 0x86, 0x0e, 0x02, 0x16, 0x26, 0xac, 0x40, 0x6a, 0xdf, 0xb4, 0x6d, 0x9c, - 0xce, 0x06, 0x07, 0xe7, 0x0b, 0x37, 0xf4, 0x0e, 0x12, 0x7f, 0x8f, 0xda, 0x0a, 0x82, 0xc8, 0x67, - 0x2a, 0x37, 0xd1, 0xee, 0xf1, 0xd1, 0xfa, 0x7d, 0x77, 0x21, 0xbc, 0x4b, 0x43, 0xd0, 0xab, 0xa9, - 0xb0, 0xc2, 0x3c, 0x4a, 0x0b, 0xc1, 0xe1, 0xef, 0x4d, 0xd4, 0x29, 0x16, 0x0e, 0x06, 0x84, 0xdc, - 0xf9, 0xa3, 0x96, 0xdd, 0xba, 0x76, 0xc7, 0x68, 0x53, 0x77, 0x14, 0xeb, 0xa0, 0xdc, 0xb2, 0x45, - 0x48, 0xd2, 0x8a, 0x30, 0x7e, 0x89, 0x3a, 0x52, 0xb1, 0x58, 0xe9, 0xd7, 0xda, 0x78, 0xf8, 0x6b, - 0xdd, 0x4f, 0x67, 0x83, 0xce, 0x78, 0xae, 0x40, 0x4b, 0x31, 0x3c, 0x41, 0x07, 0xa5, 0x4f, 0xfe, - 0xef, 0xee, 0xd1, 0x43, 0x39, 0x59, 0x90, 0xa1, 0x77, 0x64, 0xb3, 0x05, 0x90, 0x3b, 0x49, 0xdb, - 0xa5, 0x55, 0x2e, 0x80, 0xdc, 0x76, 0xd4, 0xdc, 0x62, 0x0b, 0x75, 0x64, 0xe2, 0xba, 0x00, 0x1e, - 0x78, 0x7a, 0xe6, 0x2d, 0xfb, 0x1d, 0x03, 0xed, 0x8c, 0xe7, 0x17, 0xb4, 0xc4, 0x64, 0xc2, 0xaf, - 0x18, 0xf7, 0xc1, 0xd3, 0xb3, 0xae, 0x08, 0x7f, 0xa5, 0xa3, 0xd4, 0xdc, 0xda, 0xef, 0xdf, 0xdc, - 0xf6, 0x6b, 0x6f, 0x6e, 0xfb, 0xb5, 0xbf, 0x6f, 0xfb, 0xb5, 0x5f, 0xd2, 0x7e, 0xfd, 0x26, 0xed, - 0xd7, 0xdf, 0xa4, 0xfd, 0xfa, 0x3f, 0x69, 0xbf, 0xfe, 0xdb, 0xbf, 0xfd, 0xda, 0x77, 0x8d, 0xe9, - 0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x45, 0x86, 0xd9, 0xb8, 0x08, 0x00, 0x00, + 0x16, 0xb1, 0x1d, 0x2b, 0xa5, 0x48, 0x88, 0x03, 0x12, 0x2e, 0x42, 0xa2, 0x6a, 0xd9, 0x6a, 0x52, + 0xa1, 0x15, 0x08, 0xa4, 0xb1, 0xfd, 0x36, 0x1d, 0x6a, 0x7b, 0x2c, 0xcf, 0x38, 0x68, 0x6f, 0xdc, + 0xb8, 0xf2, 0xd7, 0x80, 0xf8, 0x0f, 0x7a, 0x5c, 0x71, 0xe2, 0x14, 0x51, 0xf3, 0x5f, 0xec, 0x09, + 0x79, 0x3c, 0xb1, 0x9d, 0x26, 0x8d, 0xb2, 0xdc, 0x3c, 0xef, 0x7d, 0xdf, 0xf7, 0x9e, 0xe7, 0x7d, + 0xf3, 0xd0, 0xc7, 0x37, 0x9f, 0x4a, 0xc2, 0x85, 0x75, 0x93, 0x38, 0x10, 0x87, 0xa0, 0x40, 0x5a, + 0xd1, 0xcd, 0xc4, 0x62, 0x11, 0x97, 0x96, 0xc3, 0x94, 0x7b, 0x6d, 0x4d, 0x47, 0xd6, 0x04, 0x42, + 0x88, 0x99, 0x02, 0x8f, 0x44, 0xb1, 0x50, 0x02, 0xbf, 0x97, 0x93, 0x48, 0x49, 0x22, 0xd1, 0xcd, + 0x84, 0x64, 0x24, 0xa2, 0x49, 0x64, 0x3a, 0xea, 0x1d, 0x4d, 0xb8, 0xba, 0x4e, 0x1c, 0xe2, 0x8a, + 0xc0, 0x9a, 0x88, 0x89, 0xb0, 0x34, 0xd7, 0x49, 0x5e, 0xea, 0x93, 0x3e, 0xe8, 0xaf, 0x5c, 0xb3, + 0x77, 0xfc, 0x60, 0x23, 0x56, 0x0c, 0x52, 0x24, 0xb1, 0x0b, 0xf7, 0xfb, 0xe8, 0x7d, 0xf2, 0x30, + 0x27, 0x09, 0xa7, 0x10, 0x4b, 0x2e, 0x42, 0xf0, 0x96, 0x68, 0xcf, 0x1e, 0xa6, 0x2d, 0xff, 0x6c, + 0xef, 0x68, 0x35, 0x3a, 0x4e, 0x42, 0xc5, 0x83, 0xe5, 0x9e, 0x4e, 0xd6, 0xc3, 0xa5, 0x7b, 0x0d, + 0x01, 0x5b, 0x62, 0x8d, 0x56, 0xb3, 0x12, 0xc5, 0x7d, 0x8b, 0x87, 0x4a, 0xaa, 0xf8, 0x3e, 0x65, + 0xf8, 0x6b, 0x03, 0x35, 0xcf, 0x84, 0x83, 0x5f, 0xa0, 0x76, 0x00, 0x8a, 0x79, 0x4c, 0xb1, 0x6e, + 0xfd, 0x49, 0xfd, 0xe9, 0xee, 0xf1, 0x53, 0xf2, 0xe0, 0x7c, 0xc8, 0x74, 0x44, 0x9e, 0x3b, 0x3f, + 0x81, 0xab, 0x2e, 0x40, 0x31, 0x1b, 0xdf, 0xce, 0x06, 0xb5, 0x74, 0x36, 0x40, 0x65, 0x8c, 0x16, + 0x6a, 0xf8, 0x1b, 0xb4, 0x25, 0x23, 0x70, 0xbb, 0x0d, 0xad, 0xfa, 0x8c, 0x6c, 0x30, 0x75, 0x72, + 0x26, 0x9c, 0x71, 0x04, 0xae, 0xbd, 0x67, 0x94, 0xb7, 0xb2, 0x13, 0xd5, 0x3a, 0xf8, 0x5b, 0xb4, + 0x2d, 0x15, 0x53, 0x89, 0xec, 0x36, 0xb5, 0x22, 0xd9, 0x58, 0x51, 0xb3, 0xec, 0x03, 0xa3, 0xb9, + 0x9d, 0x9f, 0xa9, 0x51, 0x1b, 0xfe, 0xd5, 0x44, 0x7b, 0x67, 0xc2, 0x39, 0x15, 0xa1, 0xc7, 0x15, + 0x17, 0x21, 0x3e, 0x41, 0x5b, 0xea, 0x55, 0x04, 0xfa, 0x3a, 0x3a, 0xf6, 0x93, 0x79, 0x2b, 0x57, + 0xaf, 0x22, 0x78, 0x33, 0x1b, 0x3c, 0xae, 0x62, 0xb3, 0x18, 0xd5, 0xe8, 0x4a, 0x7b, 0x0d, 0xcd, + 0xfb, 0x7c, 0xb1, 0xdc, 0x9b, 0xd9, 0x60, 0xad, 0x71, 0x48, 0xa1, 0xb9, 0xd8, 0x1e, 0xbe, 0x46, + 0xfb, 0x3e, 0x93, 0xea, 0x32, 0x16, 0x0e, 0x5c, 0xf1, 0x00, 0xcc, 0xdf, 0x7f, 0xb4, 0x66, 0x4a, + 0x15, 0xf7, 0x92, 0x8c, 0x62, 0x1f, 0x9a, 0x5e, 0xf6, 0xcf, 0xab, 0x4a, 0x74, 0x51, 0x18, 0xff, + 0x8c, 0x70, 0x16, 0xb8, 0x8a, 0x59, 0x28, 0xf3, 0xbf, 0xcb, 0xca, 0x6d, 0xbd, 0x7d, 0xb9, 0x9e, + 0x29, 0x87, 0xcf, 0x97, 0xe4, 0xe8, 0x8a, 0x12, 0xf8, 0x03, 0xb4, 0x1d, 0x03, 0x93, 0x22, 0xec, + 0xb6, 0xf4, 0xd5, 0x15, 0x93, 0xa2, 0x3a, 0x4a, 0x4d, 0x16, 0x7f, 0x88, 0x76, 0x02, 0x90, 0x92, + 0x4d, 0xa0, 0xbb, 0xad, 0x81, 0x8f, 0x0c, 0x70, 0xe7, 0x22, 0x0f, 0xd3, 0x79, 0x7e, 0xf8, 0x47, + 0x1d, 0xed, 0x9c, 0x09, 0xe7, 0x9c, 0x4b, 0x85, 0x7f, 0x58, 0xb2, 0xb8, 0xb5, 0xe1, 0xdf, 0x64, + 0x74, 0xed, 0xf4, 0xc7, 0xa6, 0x50, 0x7b, 0x1e, 0xa9, 0xf8, 0xfc, 0x02, 0xb5, 0xb8, 0x82, 0x20, + 0x9b, 0x7b, 0x73, 0xfd, 0xf3, 0x59, 0xb4, 0xa5, 0xbd, 0x6f, 0x44, 0x5b, 0x5f, 0x67, 0x74, 0x9a, + 0xab, 0x0c, 0xff, 0x6c, 0xea, 0xce, 0x33, 0xe3, 0xe3, 0x11, 0xda, 0x8d, 0x58, 0xcc, 0x7c, 0x1f, + 0x7c, 0x2e, 0x03, 0xdd, 0x7c, 0xcb, 0x7e, 0x94, 0xce, 0x06, 0xbb, 0x97, 0x65, 0x98, 0x56, 0x31, + 0x19, 0xc5, 0x15, 0x41, 0xe4, 0x43, 0x76, 0xbb, 0xb9, 0x17, 0x0d, 0xe5, 0xb4, 0x0c, 0xd3, 0x2a, + 0x06, 0x3f, 0x47, 0x87, 0xcc, 0x55, 0x7c, 0x0a, 0x5f, 0x02, 0xf3, 0x7c, 0x1e, 0xc2, 0x18, 0x5c, + 0x11, 0x7a, 0xf9, 0x3b, 0x6b, 0xda, 0xef, 0xa6, 0xb3, 0xc1, 0xe1, 0x17, 0xab, 0x00, 0x74, 0x35, + 0x0f, 0xff, 0x88, 0xda, 0x12, 0x7c, 0x70, 0x95, 0x88, 0x8d, 0x7d, 0x4e, 0x36, 0xbd, 0x70, 0xe6, + 0x80, 0x3f, 0x36, 0x5c, 0x7b, 0x2f, 0xbb, 0xf1, 0xf9, 0x89, 0x16, 0x9a, 0xf8, 0x33, 0x74, 0x10, + 0xb0, 0x30, 0x61, 0x05, 0x52, 0xfb, 0xa6, 0x6d, 0xe3, 0x74, 0x36, 0x38, 0xb8, 0x58, 0xc8, 0xd0, + 0x7b, 0x48, 0xfc, 0x3d, 0x6a, 0x2b, 0x08, 0x22, 0x9f, 0xa9, 0xdc, 0x44, 0xbb, 0xc7, 0x47, 0xeb, + 0xf7, 0xdd, 0xa5, 0xf0, 0xae, 0x0c, 0x41, 0xaf, 0xa6, 0xc2, 0x0a, 0xf3, 0x28, 0x2d, 0x04, 0x87, + 0xbf, 0x37, 0x51, 0xa7, 0x58, 0x38, 0x18, 0x10, 0x72, 0xe7, 0x8f, 0x5a, 0x76, 0xeb, 0xda, 0x1d, + 0xa3, 0x4d, 0xdd, 0x51, 0xac, 0x83, 0x72, 0xcb, 0x16, 0x21, 0x49, 0x2b, 0xc2, 0xf8, 0x05, 0xea, + 0x48, 0xc5, 0x62, 0xa5, 0x5f, 0x6b, 0xe3, 0xed, 0x5f, 0xeb, 0x7e, 0x3a, 0x1b, 0x74, 0xc6, 0x73, + 0x05, 0x5a, 0x8a, 0xe1, 0x09, 0x3a, 0x28, 0x7d, 0xf2, 0x7f, 0x77, 0x8f, 0x1e, 0xca, 0xe9, 0x82, + 0x0c, 0xbd, 0x27, 0x9b, 0x2d, 0x80, 0xdc, 0x49, 0xda, 0x2e, 0xad, 0x72, 0x01, 0xe4, 0xb6, 0xa3, + 0x26, 0x8b, 0x2d, 0xd4, 0x91, 0x89, 0xeb, 0x02, 0x78, 0xe0, 0xe9, 0x99, 0xb7, 0xec, 0x77, 0x0c, + 0xb4, 0x33, 0x9e, 0x27, 0x68, 0x89, 0xc9, 0x84, 0x5f, 0x32, 0xee, 0x83, 0xa7, 0x67, 0x5d, 0x11, + 0xfe, 0x4a, 0x47, 0xa9, 0xc9, 0xda, 0xef, 0xdf, 0xde, 0xf5, 0x6b, 0xaf, 0xef, 0xfa, 0xb5, 0xbf, + 0xef, 0xfa, 0xb5, 0x5f, 0xd2, 0x7e, 0xfd, 0x36, 0xed, 0xd7, 0x5f, 0xa7, 0xfd, 0xfa, 0x3f, 0x69, + 0xbf, 0xfe, 0xdb, 0xbf, 0xfd, 0xda, 0x77, 0x8d, 0xe9, 0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x9f, 0xc8, 0x32, 0x84, 0xee, 0x08, 0x00, 0x00, } diff --git a/pkg/apis/batch/v1/generated.proto b/pkg/apis/batch/v1/generated.proto index 17a6add05ac..25957a999d0 100644 --- a/pkg/apis/batch/v1/generated.proto +++ b/pkg/apis/batch/v1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/batch/v1/register.go b/pkg/apis/batch/v1/register.go index 2d59089ba39..0b07cad94b2 100644 --- a/pkg/apis/batch/v1/register.go +++ b/pkg/apis/batch/v1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "batch" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/pkg/apis/batch/v2alpha1/BUILD b/pkg/apis/batch/v2alpha1/BUILD index ab909339938..948ebd79d78 100644 --- a/pkg/apis/batch/v2alpha1/BUILD +++ b/pkg/apis/batch/v2alpha1/BUILD @@ -34,6 +34,7 @@ go_library( "//pkg/apis/batch:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/watch/versioned:go_default_library", diff --git a/pkg/apis/batch/v2alpha1/generated.pb.go b/pkg/apis/batch/v2alpha1/generated.pb.go index 6dc65a871c9..b4cf1b4c5f8 100644 --- a/pkg/apis/batch/v2alpha1/generated.pb.go +++ b/pkg/apis/batch/v2alpha1/generated.pb.go @@ -2706,77 +2706,77 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1141 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0x4b, 0x6f, 0xe4, 0x44, - 0x10, 0x8e, 0x67, 0x92, 0x79, 0xf4, 0x6c, 0x5e, 0x0d, 0xd1, 0x0e, 0x41, 0x9a, 0x89, 0x46, 0x02, - 0x65, 0x61, 0x63, 0x2b, 0xa3, 0x00, 0xcb, 0x1e, 0x90, 0xd6, 0x41, 0x48, 0x44, 0x89, 0x36, 0xea, - 0xc9, 0x42, 0x04, 0x0b, 0xa2, 0xc7, 0xee, 0xcc, 0x78, 0x63, 0xbb, 0x8d, 0xbb, 0x1d, 0x94, 0x1b, - 0x67, 0x4e, 0x48, 0xfc, 0x00, 0x7e, 0x07, 0x12, 0x1c, 0x38, 0x20, 0xe5, 0xb8, 0x20, 0x21, 0x71, - 0x1a, 0x11, 0xf3, 0x2f, 0x72, 0x42, 0x6e, 0xb7, 0x1f, 0xf3, 0x0a, 0x99, 0xa0, 0x45, 0xe2, 0xe6, - 0xae, 0xae, 0xef, 0xeb, 0xea, 0xaa, 0xaf, 0xab, 0x0c, 0xde, 0x3d, 0x7d, 0xc0, 0x54, 0x8b, 0x6a, - 0xa7, 0x41, 0x97, 0xf8, 0x2e, 0xe1, 0x84, 0x69, 0xde, 0x69, 0x4f, 0xc3, 0x9e, 0xc5, 0xb4, 0x2e, - 0xe6, 0x46, 0x5f, 0x3b, 0x6b, 0x63, 0xdb, 0xeb, 0xe3, 0x6d, 0xad, 0x47, 0x5c, 0xe2, 0x63, 0x4e, - 0x4c, 0xd5, 0xf3, 0x29, 0xa7, 0xf0, 0x5e, 0x0c, 0x55, 0x33, 0xa8, 0xea, 0x9d, 0xf6, 0xd4, 0x08, - 0xaa, 0x0a, 0xa8, 0x9a, 0x40, 0xd7, 0xb7, 0x7a, 0x16, 0xef, 0x07, 0x5d, 0xd5, 0xa0, 0x8e, 0xd6, - 0xa3, 0x3d, 0xaa, 0x09, 0x86, 0x6e, 0x70, 0x22, 0x56, 0x62, 0x21, 0xbe, 0x62, 0xe6, 0xf5, 0xf6, - 0xd4, 0xa0, 0x34, 0x9f, 0x30, 0x1a, 0xf8, 0x06, 0x19, 0x8d, 0x66, 0xfd, 0xad, 0xe9, 0x98, 0xc0, - 0x3d, 0x23, 0x3e, 0xb3, 0xa8, 0x4b, 0xcc, 0x31, 0xd8, 0xfd, 0xe9, 0xb0, 0xb3, 0xb1, 0x2b, 0xaf, - 0x6f, 0x4d, 0xf6, 0xf6, 0x03, 0x97, 0x5b, 0xce, 0x78, 0x4c, 0xdb, 0x93, 0xdd, 0x03, 0x6e, 0xd9, - 0x9a, 0xe5, 0x72, 0xc6, 0xfd, 0x51, 0x48, 0xeb, 0xfb, 0x02, 0x28, 0xef, 0xfa, 0xd4, 0xdd, 0xa3, - 0x5d, 0x78, 0x0c, 0x2a, 0x0e, 0xe1, 0xd8, 0xc4, 0x1c, 0xd7, 0x95, 0x0d, 0x65, 0xb3, 0xd6, 0xde, - 0x54, 0xa7, 0xe6, 0x5c, 0x3d, 0xdb, 0x56, 0x1f, 0x77, 0x9f, 0x11, 0x83, 0x1f, 0x10, 0x8e, 0x75, - 0x78, 0x31, 0x68, 0xce, 0x85, 0x83, 0x26, 0xc8, 0x6c, 0x28, 0x65, 0x83, 0xc7, 0x60, 0x9e, 0x79, - 0xc4, 0xa8, 0x17, 0x04, 0xeb, 0xdb, 0xea, 0x8d, 0x2b, 0xa9, 0xca, 0xd8, 0x3a, 0x1e, 0x31, 0xf4, - 0x3b, 0xf2, 0x8c, 0xf9, 0x68, 0x85, 0x04, 0x23, 0xfc, 0x02, 0x94, 0x18, 0xc7, 0x3c, 0x60, 0xf5, - 0xa2, 0xe0, 0x7e, 0x70, 0x0b, 0x6e, 0x81, 0xd7, 0x97, 0x24, 0x7b, 0x29, 0x5e, 0x23, 0xc9, 0xdb, - 0xfa, 0x45, 0x01, 0x35, 0xe9, 0xb9, 0x6f, 0x31, 0x0e, 0x3f, 0x1b, 0xcb, 0x92, 0x76, 0x4d, 0x96, - 0x72, 0x5a, 0x50, 0x23, 0xb8, 0x48, 0xd6, 0x8a, 0x3c, 0xaa, 0x92, 0x58, 0x72, 0xa9, 0xfa, 0x18, - 0x2c, 0x58, 0x9c, 0x38, 0xac, 0x5e, 0xd8, 0x28, 0x6e, 0xd6, 0xda, 0xed, 0xd9, 0xef, 0xa3, 0x2f, - 0x4a, 0xfa, 0x85, 0x0f, 0x23, 0x22, 0x14, 0xf3, 0xb5, 0xbe, 0x29, 0xa6, 0xf7, 0x88, 0xf2, 0x07, - 0xef, 0x83, 0x0a, 0x33, 0xfa, 0xc4, 0x0c, 0x6c, 0x22, 0xee, 0x51, 0xcd, 0xc2, 0xea, 0x48, 0x3b, - 0x4a, 0x3d, 0xe0, 0x13, 0x70, 0x97, 0x71, 0xec, 0x73, 0xcb, 0xed, 0xbd, 0x4f, 0xb0, 0x69, 0x5b, - 0x2e, 0xe9, 0x10, 0x83, 0xba, 0x26, 0x13, 0x45, 0x2d, 0xea, 0xaf, 0x86, 0x83, 0xe6, 0xdd, 0xce, - 0x64, 0x17, 0x34, 0x0d, 0x0b, 0x9f, 0x82, 0x55, 0x83, 0xba, 0x46, 0xe0, 0xfb, 0xc4, 0x35, 0xce, - 0x0f, 0xa9, 0x6d, 0x19, 0xe7, 0xa2, 0x92, 0x55, 0x5d, 0x95, 0xd1, 0xac, 0xee, 0x8e, 0x3a, 0x5c, - 0x4d, 0x32, 0xa2, 0x71, 0x22, 0xf8, 0x1a, 0x28, 0xb3, 0x80, 0x79, 0xc4, 0x35, 0xeb, 0xf3, 0x1b, - 0xca, 0x66, 0x45, 0xaf, 0x85, 0x83, 0x66, 0xb9, 0x13, 0x9b, 0x50, 0xb2, 0x07, 0xbf, 0x04, 0xb5, - 0x67, 0xb4, 0x7b, 0x44, 0x1c, 0xcf, 0xc6, 0x9c, 0xd4, 0x17, 0x44, 0x51, 0x1f, 0xce, 0x90, 0xf8, - 0xbd, 0x0c, 0x2d, 0x84, 0xfa, 0x92, 0x0c, 0xbd, 0x96, 0xdb, 0x40, 0xf9, 0x33, 0x5a, 0xbf, 0x2b, - 0x60, 0x71, 0x48, 0x7e, 0xf0, 0x09, 0x28, 0x61, 0x83, 0x5b, 0x67, 0x51, 0x31, 0xa2, 0xc2, 0x6f, - 0xdd, 0xe4, 0xe9, 0x21, 0x72, 0x42, 0xa2, 0x0b, 0x93, 0x4c, 0xbd, 0x8f, 0x04, 0x09, 0x92, 0x64, - 0xd0, 0x01, 0x2b, 0x36, 0x66, 0x3c, 0xa9, 0xe8, 0x91, 0xe5, 0x10, 0x91, 0x8b, 0x5a, 0xfb, 0xcd, - 0x1b, 0xaa, 0x36, 0x82, 0xe8, 0x2f, 0x87, 0x83, 0xe6, 0xca, 0xfe, 0x08, 0x11, 0x1a, 0xa3, 0x6e, - 0x7d, 0x57, 0x00, 0xc5, 0x17, 0xdb, 0x4a, 0x8e, 0x86, 0x5a, 0x49, 0x7b, 0xb6, 0x2a, 0x4d, 0x6d, - 0x23, 0x4f, 0x47, 0xda, 0xc8, 0xce, 0x8c, 0xbc, 0xd7, 0xb7, 0x90, 0xdf, 0x8a, 0xe0, 0xce, 0x1e, - 0xed, 0xee, 0x52, 0xd7, 0xb4, 0xb8, 0x45, 0x5d, 0xb8, 0x03, 0xe6, 0xf9, 0xb9, 0x97, 0xbc, 0xbb, - 0x8d, 0x24, 0xa0, 0xa3, 0x73, 0x8f, 0x5c, 0x0d, 0x9a, 0x2b, 0x79, 0xdf, 0xc8, 0x86, 0x84, 0x37, - 0xfc, 0x28, 0x0d, 0xb2, 0x20, 0x70, 0xef, 0x0d, 0x1f, 0x77, 0x35, 0x68, 0x5e, 0x3b, 0x5d, 0xd4, - 0x94, 0x73, 0x38, 0x3c, 0xd8, 0x07, 0x8b, 0x51, 0x21, 0x0f, 0x7d, 0xda, 0x8d, 0x05, 0x52, 0x9c, - 0x5d, 0x20, 0x6b, 0x32, 0x96, 0xc5, 0xfd, 0x3c, 0x13, 0x1a, 0x26, 0x86, 0x5f, 0x01, 0x18, 0x19, - 0x8e, 0x7c, 0xec, 0xb2, 0xf8, 0x76, 0xb7, 0xd4, 0xe3, 0xba, 0x3c, 0x0e, 0xee, 0x8f, 0xd1, 0xa1, - 0x09, 0x47, 0xc0, 0xd7, 0x41, 0xc9, 0x27, 0x98, 0x51, 0x57, 0xbc, 0xee, 0x6a, 0x56, 0x29, 0x24, - 0xac, 0x48, 0xee, 0xc2, 0x7b, 0xa0, 0xec, 0x10, 0xc6, 0x70, 0x8f, 0xd4, 0x4b, 0xc2, 0x71, 0x59, - 0x3a, 0x96, 0x0f, 0x62, 0x33, 0x4a, 0xf6, 0x5b, 0x3f, 0x29, 0xa0, 0xfc, 0x1f, 0xcd, 0x84, 0xce, - 0xf0, 0x4c, 0x50, 0x67, 0x13, 0xe7, 0x94, 0x79, 0xf0, 0x43, 0x51, 0xc4, 0x2f, 0x66, 0xc1, 0x36, - 0xa8, 0x79, 0xd8, 0xc7, 0xb6, 0x4d, 0x6c, 0x8b, 0x39, 0xe2, 0x0a, 0x0b, 0xfa, 0x72, 0xd4, 0xc1, - 0x0e, 0x33, 0x33, 0xca, 0xfb, 0x44, 0x10, 0x83, 0x3a, 0x9e, 0x4d, 0xa2, 0x1c, 0xc7, 0x8a, 0x94, - 0x90, 0xdd, 0xcc, 0x8c, 0xf2, 0x3e, 0xf0, 0x31, 0x58, 0x8b, 0xbb, 0xd2, 0xe8, 0x04, 0x29, 0x8a, - 0x09, 0xf2, 0x4a, 0x38, 0x68, 0xae, 0x3d, 0x9a, 0xe4, 0x80, 0x26, 0xe3, 0xe0, 0xe7, 0xa0, 0xc2, - 0x88, 0x4d, 0x0c, 0x4e, 0x7d, 0x29, 0xa2, 0x9d, 0x9b, 0xa6, 0x1d, 0x77, 0x89, 0xdd, 0x91, 0x58, - 0xfd, 0x8e, 0x18, 0x7a, 0x72, 0x85, 0x52, 0x4e, 0xf8, 0x10, 0x2c, 0x39, 0xd8, 0x0d, 0x70, 0xea, - 0x29, 0xd4, 0x53, 0xd1, 0x61, 0x38, 0x68, 0x2e, 0x1d, 0x0c, 0xed, 0xa0, 0x11, 0x4f, 0xf8, 0x29, - 0xa8, 0xf0, 0x64, 0xa2, 0x94, 0x44, 0x6c, 0xff, 0xd0, 0xd1, 0x0f, 0xa9, 0x39, 0x34, 0x44, 0x52, - 0x41, 0xa4, 0x13, 0x24, 0x25, 0x6c, 0xfd, 0x58, 0x04, 0xd5, 0x6c, 0x74, 0x9c, 0x02, 0x60, 0x24, - 0x4f, 0x9b, 0xc9, 0xf1, 0xf1, 0xce, 0x6c, 0x1a, 0x49, 0x5b, 0x43, 0xd6, 0x7d, 0x53, 0x13, 0x43, - 0x39, 0x7a, 0x78, 0x0c, 0xaa, 0x62, 0x98, 0x8b, 0x97, 0x5b, 0x98, 0xfd, 0xe5, 0x2e, 0x86, 0x83, - 0x66, 0xb5, 0x93, 0x30, 0xa0, 0x8c, 0x0c, 0xf6, 0xc0, 0x52, 0xa6, 0x96, 0xdb, 0xf6, 0x21, 0x51, - 0x9a, 0xdd, 0x21, 0x1a, 0x34, 0x42, 0x1b, 0x35, 0x03, 0x39, 0x6a, 0xe7, 0x85, 0x6a, 0xa7, 0xcd, - 0x4e, 0x0d, 0x54, 0x59, 0x60, 0x18, 0x84, 0x98, 0xc4, 0x14, 0x95, 0x5f, 0xd0, 0x57, 0xa5, 0x6b, - 0xb5, 0x93, 0x6c, 0xa0, 0xcc, 0x27, 0x22, 0x3e, 0xc1, 0x96, 0x4d, 0x4c, 0x51, 0xf1, 0x1c, 0xf1, - 0x07, 0xc2, 0x8a, 0xe4, 0x6e, 0xeb, 0x57, 0x05, 0xe4, 0x7f, 0x0d, 0x5e, 0xe0, 0xb4, 0xec, 0xe7, - 0x54, 0x58, 0xf8, 0xd7, 0xff, 0x35, 0xd7, 0x49, 0xf2, 0x67, 0x05, 0x2c, 0x8f, 0xf8, 0xff, 0xdf, - 0xfe, 0x02, 0xf4, 0x37, 0x2e, 0x2e, 0x1b, 0x73, 0xcf, 0x2f, 0x1b, 0x73, 0x7f, 0x5c, 0x36, 0xe6, - 0xbe, 0x0e, 0x1b, 0xca, 0x45, 0xd8, 0x50, 0x9e, 0x87, 0x0d, 0xe5, 0xcf, 0xb0, 0xa1, 0x7c, 0xfb, - 0x57, 0x63, 0xee, 0x93, 0x4a, 0xc2, 0xf3, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0x4c, 0xf3, - 0xee, 0xc9, 0x0e, 0x00, 0x00, + // 1149 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0xae, 0x93, 0x36, 0x1f, 0x93, 0xed, 0xd7, 0x40, 0xb5, 0xa1, 0x48, 0x49, 0x15, 0x09, 0xd4, + 0x85, 0xad, 0xad, 0x46, 0x05, 0x96, 0x3d, 0x20, 0xad, 0x8b, 0x90, 0xa8, 0x5a, 0x6d, 0x35, 0xe9, + 0x42, 0x05, 0x0b, 0x62, 0x62, 0x4f, 0x13, 0x6f, 0x6d, 0x8f, 0xf1, 0x8c, 0x8b, 0x7a, 0xe3, 0xcc, + 0x09, 0x89, 0x1f, 0xc0, 0xef, 0x40, 0x82, 0x03, 0x07, 0xa4, 0x1e, 0x17, 0x24, 0x24, 0x4e, 0x11, + 0x35, 0xff, 0xa2, 0x27, 0xe4, 0xf1, 0xf8, 0x23, 0x5f, 0xa5, 0x29, 0x5a, 0x24, 0x6e, 0xf1, 0x3b, + 0xcf, 0xf3, 0xcc, 0x3b, 0xf3, 0x3e, 0xf3, 0xbe, 0x01, 0xef, 0x9e, 0x3e, 0x60, 0xaa, 0x45, 0xb5, + 0xd3, 0xa0, 0x4b, 0x7c, 0x97, 0x70, 0xc2, 0x34, 0xef, 0xb4, 0xa7, 0x61, 0xcf, 0x62, 0x5a, 0x17, + 0x73, 0xa3, 0xaf, 0x9d, 0xb5, 0xb1, 0xed, 0xf5, 0xf1, 0xb6, 0xd6, 0x23, 0x2e, 0xf1, 0x31, 0x27, + 0xa6, 0xea, 0xf9, 0x94, 0x53, 0x78, 0x2f, 0xa6, 0xaa, 0x19, 0x55, 0xf5, 0x4e, 0x7b, 0x6a, 0x44, + 0x55, 0x05, 0x55, 0x4d, 0xa8, 0xeb, 0x5b, 0x3d, 0x8b, 0xf7, 0x83, 0xae, 0x6a, 0x50, 0x47, 0xeb, + 0xd1, 0x1e, 0xd5, 0x84, 0x42, 0x37, 0x38, 0x11, 0x5f, 0xe2, 0x43, 0xfc, 0x8a, 0x95, 0xd7, 0xdb, + 0x53, 0x93, 0xd2, 0x7c, 0xc2, 0x68, 0xe0, 0x1b, 0x64, 0x34, 0x9b, 0xf5, 0xb7, 0xa6, 0x73, 0x02, + 0xf7, 0x8c, 0xf8, 0xcc, 0xa2, 0x2e, 0x31, 0xc7, 0x68, 0xf7, 0xa7, 0xd3, 0xce, 0xc6, 0x8e, 0xbc, + 0xbe, 0x35, 0x19, 0xed, 0x07, 0x2e, 0xb7, 0x9c, 0xf1, 0x9c, 0x76, 0xae, 0x87, 0x33, 0xa3, 0x4f, + 0x1c, 0x3c, 0xc6, 0xda, 0x9e, 0xcc, 0x0a, 0xb8, 0x65, 0x6b, 0x96, 0xcb, 0x19, 0xf7, 0x47, 0x29, + 0xad, 0xef, 0x0b, 0xa0, 0xbc, 0xeb, 0x53, 0x77, 0x8f, 0x76, 0xe1, 0x31, 0xa8, 0x38, 0x84, 0x63, + 0x13, 0x73, 0x5c, 0x57, 0x36, 0x94, 0xcd, 0x5a, 0x7b, 0x53, 0x9d, 0x5a, 0x29, 0xf5, 0x6c, 0x5b, + 0x7d, 0xdc, 0x7d, 0x46, 0x0c, 0x7e, 0x40, 0x38, 0xd6, 0xe1, 0xc5, 0xa0, 0x39, 0x17, 0x0e, 0x9a, + 0x20, 0x8b, 0xa1, 0x54, 0x0d, 0x1e, 0x83, 0x79, 0xe6, 0x11, 0xa3, 0x5e, 0x10, 0xaa, 0x6f, 0xab, + 0x37, 0xae, 0xbf, 0x2a, 0x73, 0xeb, 0x78, 0xc4, 0xd0, 0xef, 0xc8, 0x3d, 0xe6, 0xa3, 0x2f, 0x24, + 0x14, 0xe1, 0x17, 0xa0, 0xc4, 0x38, 0xe6, 0x01, 0xab, 0x17, 0x85, 0xf6, 0x83, 0x5b, 0x68, 0x0b, + 0xbe, 0xbe, 0x24, 0xd5, 0x4b, 0xf1, 0x37, 0x92, 0xba, 0xad, 0x5f, 0x14, 0x50, 0x93, 0xc8, 0x7d, + 0x8b, 0x71, 0xf8, 0xd9, 0xd8, 0x2d, 0x69, 0xd7, 0xdc, 0x52, 0xce, 0x41, 0x6a, 0x44, 0x17, 0x97, + 0xb5, 0x22, 0xb7, 0xaa, 0x24, 0x91, 0xdc, 0x55, 0x7d, 0x0c, 0x16, 0x2c, 0x4e, 0x1c, 0x56, 0x2f, + 0x6c, 0x14, 0x37, 0x6b, 0xed, 0xf6, 0xec, 0xe7, 0xd1, 0x17, 0xa5, 0xfc, 0xc2, 0x87, 0x91, 0x10, + 0x8a, 0xf5, 0x5a, 0xdf, 0x14, 0xd3, 0x73, 0x44, 0xf7, 0x07, 0xef, 0x83, 0x4a, 0x64, 0x23, 0x33, + 0xb0, 0x89, 0x38, 0x47, 0x35, 0x4b, 0xab, 0x23, 0xe3, 0x28, 0x45, 0xc0, 0x27, 0xe0, 0x2e, 0xe3, + 0xd8, 0xe7, 0x96, 0xdb, 0x7b, 0x9f, 0x60, 0xd3, 0xb6, 0x5c, 0xd2, 0x21, 0x06, 0x75, 0x4d, 0x26, + 0x8a, 0x5a, 0xd4, 0x5f, 0x0d, 0x07, 0xcd, 0xbb, 0x9d, 0xc9, 0x10, 0x34, 0x8d, 0x0b, 0x9f, 0x82, + 0x55, 0x83, 0xba, 0x46, 0xe0, 0xfb, 0xc4, 0x35, 0xce, 0x0f, 0xa9, 0x6d, 0x19, 0xe7, 0xa2, 0x92, + 0x55, 0x5d, 0x95, 0xd9, 0xac, 0xee, 0x8e, 0x02, 0xae, 0x26, 0x05, 0xd1, 0xb8, 0x10, 0x7c, 0x0d, + 0x94, 0x59, 0xc0, 0x3c, 0xe2, 0x9a, 0xf5, 0xf9, 0x0d, 0x65, 0xb3, 0xa2, 0xd7, 0xc2, 0x41, 0xb3, + 0xdc, 0x89, 0x43, 0x28, 0x59, 0x83, 0x5f, 0x82, 0xda, 0x33, 0xda, 0x3d, 0x22, 0x8e, 0x67, 0x63, + 0x4e, 0xea, 0x0b, 0xa2, 0xa8, 0x0f, 0x67, 0xb8, 0xf8, 0xbd, 0x8c, 0x2d, 0x8c, 0xfa, 0x92, 0x4c, + 0xbd, 0x96, 0x5b, 0x40, 0xf9, 0x3d, 0x5a, 0xbf, 0x2b, 0x60, 0x71, 0xc8, 0x7e, 0xf0, 0x09, 0x28, + 0x61, 0x83, 0x5b, 0x67, 0x51, 0x31, 0xa2, 0xc2, 0x6f, 0xdd, 0xe4, 0xe9, 0x21, 0x72, 0x42, 0xa2, + 0x03, 0x93, 0xcc, 0xbd, 0x8f, 0x84, 0x08, 0x92, 0x62, 0xd0, 0x01, 0x2b, 0x36, 0x66, 0x3c, 0xa9, + 0xe8, 0x91, 0xe5, 0x10, 0x71, 0x17, 0xb5, 0xf6, 0x9b, 0x37, 0x74, 0x6d, 0x44, 0xd1, 0x5f, 0x0e, + 0x07, 0xcd, 0x95, 0xfd, 0x11, 0x21, 0x34, 0x26, 0xdd, 0xfa, 0xae, 0x00, 0x8a, 0x2f, 0xb6, 0x95, + 0x1c, 0x0d, 0xb5, 0x92, 0xf6, 0x6c, 0x55, 0x9a, 0xda, 0x46, 0x9e, 0x8e, 0xb4, 0x91, 0x9d, 0x19, + 0x75, 0xaf, 0x6f, 0x21, 0xbf, 0x15, 0xc1, 0x9d, 0x3d, 0xda, 0xdd, 0xa5, 0xae, 0x69, 0x71, 0x8b, + 0xba, 0x70, 0x07, 0xcc, 0xf3, 0x73, 0x2f, 0x79, 0x77, 0x1b, 0x49, 0x42, 0x47, 0xe7, 0x1e, 0xb9, + 0x1a, 0x34, 0x57, 0xf2, 0xd8, 0x28, 0x86, 0x04, 0x1a, 0x7e, 0x94, 0x26, 0x59, 0x10, 0xbc, 0xf7, + 0x86, 0xb7, 0xbb, 0x1a, 0x34, 0xaf, 0x9d, 0x49, 0x6a, 0xaa, 0x39, 0x9c, 0x1e, 0xec, 0x83, 0xc5, + 0xa8, 0x90, 0x87, 0x3e, 0xed, 0xc6, 0x06, 0x29, 0xce, 0x6e, 0x90, 0x35, 0x99, 0xcb, 0xe2, 0x7e, + 0x5e, 0x09, 0x0d, 0x0b, 0xc3, 0xaf, 0x00, 0x8c, 0x02, 0x47, 0x3e, 0x76, 0x59, 0x7c, 0xba, 0x5b, + 0xfa, 0x71, 0x5d, 0x6e, 0x07, 0xf7, 0xc7, 0xe4, 0xd0, 0x84, 0x2d, 0xe0, 0xeb, 0xa0, 0xe4, 0x13, + 0xcc, 0xa8, 0x2b, 0x5e, 0x77, 0x35, 0xab, 0x14, 0x12, 0x51, 0x24, 0x57, 0xe1, 0x3d, 0x50, 0x76, + 0x08, 0x63, 0xb8, 0x47, 0xea, 0x25, 0x01, 0x5c, 0x96, 0xc0, 0xf2, 0x41, 0x1c, 0x46, 0xc9, 0x7a, + 0xeb, 0x27, 0x05, 0x94, 0xff, 0xa3, 0x99, 0xd0, 0x19, 0x9e, 0x09, 0xea, 0x6c, 0xe6, 0x9c, 0x32, + 0x0f, 0x7e, 0x28, 0x8a, 0xfc, 0xc5, 0x2c, 0xd8, 0x06, 0x35, 0x0f, 0xfb, 0xd8, 0xb6, 0x89, 0x6d, + 0x31, 0x47, 0x1c, 0x61, 0x41, 0x5f, 0x8e, 0x3a, 0xd8, 0x61, 0x16, 0x46, 0x79, 0x4c, 0x44, 0x31, + 0xa8, 0xe3, 0xd9, 0x24, 0xba, 0xe3, 0xd8, 0x91, 0x92, 0xb2, 0x9b, 0x85, 0x51, 0x1e, 0x03, 0x1f, + 0x83, 0xb5, 0xb8, 0x2b, 0x8d, 0x4e, 0x90, 0xa2, 0x98, 0x20, 0xaf, 0x84, 0x83, 0xe6, 0xda, 0xa3, + 0x49, 0x00, 0x34, 0x99, 0x07, 0x3f, 0x07, 0x15, 0x46, 0x6c, 0x62, 0x70, 0xea, 0x4b, 0x13, 0xed, + 0xdc, 0xf4, 0xda, 0x71, 0x97, 0xd8, 0x1d, 0xc9, 0xd5, 0xef, 0x88, 0xa1, 0x27, 0xbf, 0x50, 0xaa, + 0x09, 0x1f, 0x82, 0x25, 0x07, 0xbb, 0x01, 0x4e, 0x91, 0xc2, 0x3d, 0x15, 0x1d, 0x86, 0x83, 0xe6, + 0xd2, 0xc1, 0xd0, 0x0a, 0x1a, 0x41, 0xc2, 0x4f, 0x41, 0x85, 0x27, 0x13, 0xa5, 0x24, 0x72, 0xfb, + 0x87, 0x8e, 0x7e, 0x48, 0xcd, 0xa1, 0x21, 0x92, 0x1a, 0x22, 0x9d, 0x20, 0xa9, 0x60, 0xeb, 0xc7, + 0x22, 0xa8, 0x66, 0xa3, 0xe3, 0x14, 0x00, 0x23, 0x79, 0xda, 0x4c, 0x8e, 0x8f, 0x77, 0x66, 0xf3, + 0x48, 0xda, 0x1a, 0xb2, 0xee, 0x9b, 0x86, 0x18, 0xca, 0xc9, 0xc3, 0x63, 0x50, 0x15, 0xc3, 0x5c, + 0xbc, 0xdc, 0xc2, 0xec, 0x2f, 0x77, 0x31, 0x1c, 0x34, 0xab, 0x9d, 0x44, 0x01, 0x65, 0x62, 0xb0, + 0x07, 0x96, 0x32, 0xb7, 0xdc, 0xb6, 0x0f, 0x89, 0xd2, 0xec, 0x0e, 0xc9, 0xa0, 0x11, 0xd9, 0xa8, + 0x19, 0xc8, 0x51, 0x3b, 0x2f, 0x5c, 0x3b, 0x6d, 0x76, 0x6a, 0xa0, 0xca, 0x02, 0xc3, 0x20, 0xc4, + 0x24, 0xa6, 0xa8, 0xfc, 0x82, 0xbe, 0x2a, 0xa1, 0xd5, 0x4e, 0xb2, 0x80, 0x32, 0x4c, 0x24, 0x7c, + 0x82, 0x2d, 0x9b, 0x98, 0xa2, 0xe2, 0x39, 0xe1, 0x0f, 0x44, 0x14, 0xc9, 0xd5, 0xd6, 0xaf, 0x0a, + 0xc8, 0xff, 0x35, 0x78, 0x81, 0xd3, 0xb2, 0x9f, 0x73, 0x61, 0xe1, 0x5f, 0xff, 0xaf, 0xb9, 0xce, + 0x92, 0x3f, 0x2b, 0x60, 0x79, 0x04, 0xff, 0x7f, 0xfb, 0x17, 0xa0, 0xbf, 0x71, 0x71, 0xd9, 0x98, + 0x7b, 0x7e, 0xd9, 0x98, 0xfb, 0xe3, 0xb2, 0x31, 0xf7, 0x75, 0xd8, 0x50, 0x2e, 0xc2, 0x86, 0xf2, + 0x3c, 0x6c, 0x28, 0x7f, 0x86, 0x0d, 0xe5, 0xdb, 0xbf, 0x1a, 0x73, 0x9f, 0x54, 0x12, 0x9d, 0xbf, + 0x03, 0x00, 0x00, 0xff, 0xff, 0x74, 0x47, 0xe8, 0xb0, 0xff, 0x0e, 0x00, 0x00, } diff --git a/pkg/apis/batch/v2alpha1/generated.proto b/pkg/apis/batch/v2alpha1/generated.proto index 8f4995a5c70..ffa7f5ae4f9 100644 --- a/pkg/apis/batch/v2alpha1/generated.proto +++ b/pkg/apis/batch/v2alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/batch/v2alpha1/register.go b/pkg/apis/batch/v2alpha1/register.go index 236fa8a1474..56ef1e9f665 100644 --- a/pkg/apis/batch/v2alpha1/register.go +++ b/pkg/apis/batch/v2alpha1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v2alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "batch" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v2alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v2alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/pkg/apis/certificates/BUILD b/pkg/apis/certificates/BUILD index d12e144d53b..b52cd12b941 100644 --- a/pkg/apis/certificates/BUILD +++ b/pkg/apis/certificates/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apis/certificates/register.go b/pkg/apis/certificates/register.go index 884044114c4..def8d6b16d3 100644 --- a/pkg/apis/certificates/register.go +++ b/pkg/apis/certificates/register.go @@ -18,8 +18,8 @@ package certificates import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) var ( @@ -31,15 +31,15 @@ var ( const GroupName = "certificates.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -54,5 +54,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *CertificateSigningRequest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *CertificateSigningRequestList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequestList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/certificates/v1alpha1/BUILD b/pkg/apis/certificates/v1alpha1/BUILD index b05ca4b77c5..d791e017bae 100644 --- a/pkg/apis/certificates/v1alpha1/BUILD +++ b/pkg/apis/certificates/v1alpha1/BUILD @@ -31,6 +31,7 @@ go_library( "//pkg/apis/certificates:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/apis/certificates/v1alpha1/generated.pb.go b/pkg/apis/certificates/v1alpha1/generated.pb.go index 164ab9a1108..c6f2e1d7412 100644 --- a/pkg/apis/certificates/v1alpha1/generated.pb.go +++ b/pkg/apis/certificates/v1alpha1/generated.pb.go @@ -1277,49 +1277,49 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 692 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x6e, 0xd3, 0x4a, - 0x14, 0x8e, 0x93, 0x34, 0x4d, 0x26, 0xbd, 0xed, 0xd5, 0xe8, 0xea, 0x2a, 0x37, 0x52, 0x9d, 0x2a, - 0xba, 0xa0, 0x00, 0xed, 0x98, 0x54, 0x42, 0xea, 0x12, 0xb9, 0x48, 0xa8, 0xa2, 0x55, 0xc5, 0xb4, - 0x95, 0x10, 0x12, 0x8b, 0x89, 0x73, 0xea, 0x0e, 0x69, 0x6c, 0xd7, 0x33, 0x8e, 0xd4, 0x1d, 0x4b, - 0x96, 0x3c, 0x01, 0xaf, 0xc1, 0x2b, 0x74, 0xd9, 0x25, 0xab, 0x40, 0xd3, 0x17, 0x60, 0xcd, 0x0a, - 0x79, 0x32, 0x4e, 0x4c, 0x52, 0x17, 0x90, 0xba, 0xcb, 0xf9, 0xe6, 0x9c, 0xef, 0x3b, 0x3f, 0x9f, - 0x83, 0x9e, 0xf6, 0xb6, 0x04, 0xe1, 0xbe, 0xd5, 0x8b, 0x3a, 0x10, 0x7a, 0x20, 0x41, 0x58, 0x41, - 0xcf, 0xb5, 0x58, 0xc0, 0x85, 0xe5, 0x40, 0x28, 0xf9, 0x31, 0x77, 0x58, 0x8c, 0x0e, 0xda, 0xec, - 0x34, 0x38, 0x61, 0x6d, 0xcb, 0x05, 0x0f, 0x42, 0x26, 0xa1, 0x4b, 0x82, 0xd0, 0x97, 0x3e, 0x7e, - 0x3c, 0x66, 0x20, 0x53, 0x06, 0x12, 0xf4, 0x5c, 0x12, 0x33, 0x90, 0x34, 0x03, 0x49, 0x18, 0xea, - 0x1b, 0x2e, 0x97, 0x27, 0x51, 0x87, 0x38, 0x7e, 0xdf, 0x72, 0x7d, 0xd7, 0xb7, 0x14, 0x51, 0x27, - 0x3a, 0x56, 0x91, 0x0a, 0xd4, 0xaf, 0xb1, 0x40, 0x7d, 0x33, 0xb3, 0x45, 0x2b, 0x04, 0xe1, 0x47, - 0xa1, 0x03, 0xb3, 0x4d, 0xd5, 0x9f, 0x64, 0xd7, 0x44, 0xde, 0x00, 0x42, 0xc1, 0x7d, 0x0f, 0xba, - 0x73, 0x65, 0xeb, 0xd9, 0x65, 0x83, 0xb9, 0xc9, 0xeb, 0x1b, 0x37, 0x67, 0x87, 0x91, 0x27, 0x79, - 0x7f, 0xbe, 0xa7, 0xf6, 0xcd, 0xe9, 0x91, 0xe4, 0xa7, 0x16, 0xf7, 0xa4, 0x90, 0xe1, 0x6c, 0x49, - 0xf3, 0x3a, 0x8f, 0xfe, 0xdb, 0x9e, 0xee, 0xf0, 0x80, 0xbb, 0x1e, 0xf7, 0x5c, 0x0a, 0x67, 0x11, - 0x08, 0x89, 0x5f, 0xa1, 0x72, 0x1f, 0x24, 0xeb, 0x32, 0xc9, 0x6a, 0xc6, 0x9a, 0xd1, 0xaa, 0x6e, - 0xb6, 0x48, 0xe6, 0x31, 0xc8, 0xa0, 0x4d, 0xf6, 0x3b, 0x6f, 0xc1, 0x91, 0x7b, 0x20, 0x99, 0x8d, - 0x2f, 0x86, 0x8d, 0xdc, 0x68, 0xd8, 0x40, 0x53, 0x8c, 0x4e, 0xd8, 0xf0, 0x19, 0x2a, 0x8a, 0x00, - 0x9c, 0x5a, 0x5e, 0xb1, 0xee, 0x93, 0x3f, 0x3d, 0x31, 0xc9, 0x6c, 0xfa, 0x20, 0x00, 0xc7, 0x5e, - 0xd2, 0xe2, 0xc5, 0x38, 0xa2, 0x4a, 0x0a, 0x9f, 0xa3, 0x92, 0x90, 0x4c, 0x46, 0xa2, 0x56, 0x50, - 0xa2, 0x2f, 0xef, 0x52, 0x54, 0x11, 0xdb, 0xcb, 0x5a, 0xb6, 0x34, 0x8e, 0xa9, 0x16, 0x6c, 0x7e, - 0xcc, 0xa3, 0x66, 0x66, 0xed, 0xb6, 0xef, 0x75, 0xb9, 0xe4, 0xbe, 0x87, 0xb7, 0x50, 0x51, 0x9e, - 0x07, 0xa0, 0x56, 0x5d, 0xb1, 0xff, 0x4f, 0x66, 0x38, 0x3c, 0x0f, 0xe0, 0xfb, 0xb0, 0xf1, 0xcf, - 0x6c, 0x7e, 0x8c, 0x53, 0x55, 0x81, 0xef, 0xa3, 0x52, 0x08, 0x4c, 0xf8, 0x9e, 0x5a, 0x68, 0x65, - 0xda, 0x08, 0x55, 0x28, 0xd5, 0xaf, 0xf8, 0x01, 0x5a, 0xec, 0x83, 0x10, 0xcc, 0x05, 0xb5, 0x84, - 0x8a, 0xbd, 0xa2, 0x13, 0x17, 0xf7, 0xc6, 0x30, 0x4d, 0xde, 0x71, 0x0f, 0x2d, 0x9f, 0x32, 0x21, - 0x8f, 0x82, 0x2e, 0x93, 0x70, 0xc8, 0xfb, 0x50, 0x2b, 0xaa, 0xb5, 0x3d, 0xba, 0xc5, 0x01, 0x29, - 0xe7, 0x93, 0xb8, 0xc4, 0xfe, 0x57, 0xd3, 0x2f, 0xef, 0xfe, 0x44, 0x45, 0x67, 0xa8, 0x9b, 0xdf, - 0x0c, 0xb4, 0x9a, 0xb9, 0xa0, 0x5d, 0x2e, 0x24, 0x7e, 0x33, 0x67, 0x45, 0xeb, 0x37, 0x1b, 0x89, - 0xcb, 0x95, 0x23, 0xff, 0xd6, 0xcd, 0x94, 0x13, 0x24, 0xe5, 0xc7, 0x00, 0x2d, 0x70, 0x09, 0x7d, - 0x51, 0xcb, 0xaf, 0x15, 0x5a, 0xd5, 0xcd, 0x17, 0x77, 0xe8, 0x0d, 0xfb, 0x2f, 0xad, 0xbb, 0xb0, - 0x13, 0x2b, 0xd0, 0xb1, 0x50, 0xf3, 0xd3, 0x6d, 0x23, 0xc7, 0xb6, 0xc5, 0xf7, 0xd0, 0x62, 0x38, - 0x0e, 0xd5, 0xc4, 0x4b, 0x76, 0x35, 0x3e, 0x94, 0xce, 0xa0, 0xc9, 0x1b, 0x5e, 0x47, 0xe5, 0x48, - 0x40, 0xe8, 0xb1, 0x3e, 0xe8, 0xeb, 0x4f, 0x06, 0x3d, 0xd2, 0x38, 0x9d, 0x64, 0xe0, 0x55, 0x54, - 0x88, 0x78, 0x57, 0x5f, 0xbf, 0xaa, 0x13, 0x0b, 0x47, 0x3b, 0xcf, 0x68, 0x8c, 0xe3, 0x26, 0x2a, - 0xb9, 0xa1, 0x1f, 0x05, 0xa2, 0x56, 0x5c, 0x2b, 0xb4, 0x2a, 0x36, 0x8a, 0x4d, 0xf4, 0x5c, 0x21, - 0x54, 0xbf, 0x34, 0xbf, 0x18, 0xa8, 0xf1, 0x8b, 0x2f, 0x01, 0xbf, 0x37, 0x10, 0x72, 0x12, 0xa3, - 0x8a, 0x9a, 0xa1, 0xb6, 0x7a, 0x78, 0x87, 0x5b, 0x9d, 0x7c, 0x05, 0xd3, 0x3f, 0x9a, 0x09, 0x24, - 0x68, 0x4a, 0x1b, 0xb7, 0x51, 0x35, 0xc5, 0xad, 0x56, 0xb4, 0x64, 0xaf, 0x8c, 0x86, 0x8d, 0x6a, - 0x8a, 0x9c, 0xa6, 0x73, 0xec, 0x87, 0x17, 0x57, 0x66, 0xee, 0xf2, 0xca, 0xcc, 0x7d, 0xbe, 0x32, - 0x73, 0xef, 0x46, 0xa6, 0x71, 0x31, 0x32, 0x8d, 0xcb, 0x91, 0x69, 0x7c, 0x1d, 0x99, 0xc6, 0x87, - 0x6b, 0x33, 0xf7, 0xba, 0x9c, 0x74, 0xf8, 0x23, 0x00, 0x00, 0xff, 0xff, 0x29, 0x0b, 0xef, 0x6d, - 0xe0, 0x06, 0x00, 0x00, + // 700 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x4f, 0x4f, 0x13, 0x41, + 0x14, 0xef, 0xb6, 0xa5, 0xb4, 0x53, 0x04, 0x33, 0x31, 0xa6, 0x36, 0x61, 0x4b, 0x1a, 0x35, 0x55, + 0x61, 0xd6, 0x12, 0x4d, 0x38, 0x9a, 0xc5, 0xc4, 0x10, 0x21, 0xc4, 0x01, 0x12, 0x63, 0xe2, 0x61, + 0xba, 0x7d, 0x2c, 0x63, 0xd9, 0x3f, 0xec, 0xcc, 0x36, 0xe1, 0xe6, 0xd1, 0xa3, 0x9f, 0xc0, 0xaf, + 0xe1, 0x57, 0xe0, 0xc8, 0xd1, 0x53, 0x95, 0xf2, 0x05, 0x3c, 0x7b, 0x32, 0x3b, 0x9d, 0xfe, 0xb1, + 0x65, 0x51, 0x13, 0x6e, 0xfb, 0x7e, 0xf3, 0x7e, 0xbf, 0xdf, 0x7b, 0x6f, 0xde, 0x2c, 0x7a, 0xd1, + 0xd9, 0x10, 0x84, 0x07, 0x56, 0x27, 0x6e, 0x41, 0xe4, 0x83, 0x04, 0x61, 0x85, 0x1d, 0xd7, 0x62, + 0x21, 0x17, 0x96, 0x03, 0x91, 0xe4, 0x87, 0xdc, 0x61, 0x09, 0xda, 0x6d, 0xb2, 0xe3, 0xf0, 0x88, + 0x35, 0x2d, 0x17, 0x7c, 0x88, 0x98, 0x84, 0x36, 0x09, 0xa3, 0x40, 0x06, 0xf8, 0xe9, 0x40, 0x81, + 0x8c, 0x15, 0x48, 0xd8, 0x71, 0x49, 0xa2, 0x40, 0x26, 0x15, 0xc8, 0x50, 0xa1, 0xba, 0xe6, 0x72, + 0x79, 0x14, 0xb7, 0x88, 0x13, 0x78, 0x96, 0x1b, 0xb8, 0x81, 0xa5, 0x84, 0x5a, 0xf1, 0xa1, 0x8a, + 0x54, 0xa0, 0xbe, 0x06, 0x06, 0xd5, 0xf5, 0xd4, 0x12, 0xad, 0x08, 0x44, 0x10, 0x47, 0x0e, 0x4c, + 0x17, 0x55, 0x7d, 0x9e, 0xce, 0x89, 0xfd, 0x2e, 0x44, 0x82, 0x07, 0x3e, 0xb4, 0x67, 0x68, 0xab, + 0xe9, 0xb4, 0xee, 0x4c, 0xe7, 0xd5, 0xb5, 0xab, 0xb3, 0xa3, 0xd8, 0x97, 0xdc, 0x9b, 0xad, 0xe9, + 0xd9, 0xf5, 0xe9, 0xc2, 0x39, 0x02, 0x8f, 0xcd, 0xb0, 0x9a, 0x57, 0xb3, 0x62, 0xc9, 0x8f, 0x2d, + 0xee, 0x4b, 0x21, 0xa3, 0x69, 0x4a, 0xfd, 0x32, 0x8b, 0xee, 0x6d, 0x8e, 0x27, 0xbf, 0xc7, 0x5d, + 0x9f, 0xfb, 0x2e, 0x85, 0x93, 0x18, 0x84, 0xc4, 0x6f, 0x51, 0xd1, 0x03, 0xc9, 0xda, 0x4c, 0xb2, + 0x8a, 0xb1, 0x62, 0x34, 0xca, 0xeb, 0x0d, 0x92, 0x7a, 0x85, 0xa4, 0xdb, 0x24, 0xbb, 0xad, 0x0f, + 0xe0, 0xc8, 0x1d, 0x90, 0xcc, 0xc6, 0x67, 0xbd, 0x5a, 0xa6, 0xdf, 0xab, 0xa1, 0x31, 0x46, 0x47, + 0x6a, 0xf8, 0x04, 0xe5, 0x45, 0x08, 0x4e, 0x25, 0xab, 0x54, 0x77, 0xc9, 0xff, 0x2e, 0x06, 0x49, + 0x2d, 0x7a, 0x2f, 0x04, 0xc7, 0x5e, 0xd0, 0xe6, 0xf9, 0x24, 0xa2, 0xca, 0x0a, 0x9f, 0xa2, 0x82, + 0x90, 0x4c, 0xc6, 0xa2, 0x92, 0x53, 0xa6, 0x6f, 0x6e, 0xd2, 0x54, 0x09, 0xdb, 0x8b, 0xda, 0xb6, + 0x30, 0x88, 0xa9, 0x36, 0xac, 0x7f, 0xc9, 0xa2, 0x7a, 0x2a, 0x77, 0x33, 0xf0, 0xdb, 0x5c, 0xf2, + 0xc0, 0xc7, 0x1b, 0x28, 0x2f, 0x4f, 0x43, 0x50, 0xa3, 0x2e, 0xd9, 0xf7, 0x87, 0x3d, 0xec, 0x9f, + 0x86, 0xf0, 0xab, 0x57, 0xbb, 0x33, 0x9d, 0x9f, 0xe0, 0x54, 0x31, 0xf0, 0x43, 0x54, 0x88, 0x80, + 0x89, 0xc0, 0x57, 0x03, 0x2d, 0x8d, 0x0b, 0xa1, 0x0a, 0xa5, 0xfa, 0x14, 0x3f, 0x42, 0xf3, 0x1e, + 0x08, 0xc1, 0x5c, 0x50, 0x43, 0x28, 0xd9, 0x4b, 0x3a, 0x71, 0x7e, 0x67, 0x00, 0xd3, 0xe1, 0x39, + 0xee, 0xa0, 0xc5, 0x63, 0x26, 0xe4, 0x41, 0xd8, 0x66, 0x12, 0xf6, 0xb9, 0x07, 0x95, 0xbc, 0x1a, + 0xdb, 0x93, 0x6b, 0x36, 0x60, 0xe2, 0xbd, 0x90, 0x84, 0x62, 0xdf, 0xd5, 0xf2, 0x8b, 0xdb, 0x7f, + 0x48, 0xd1, 0x29, 0xe9, 0xfa, 0x4f, 0x03, 0x2d, 0xa7, 0x0e, 0x68, 0x9b, 0x0b, 0x89, 0xdf, 0xcf, + 0xac, 0xa2, 0xf5, 0x8f, 0x85, 0x24, 0x74, 0xb5, 0x91, 0xb7, 0x75, 0x31, 0xc5, 0x21, 0x32, 0xb1, + 0x8f, 0x21, 0x9a, 0xe3, 0x12, 0x3c, 0x51, 0xc9, 0xae, 0xe4, 0x1a, 0xe5, 0xf5, 0xd7, 0x37, 0xb8, + 0x1b, 0xf6, 0x2d, 0xed, 0x3b, 0xb7, 0x95, 0x38, 0xd0, 0x81, 0x51, 0xfd, 0xeb, 0x75, 0x2d, 0x27, + 0x6b, 0x8b, 0x1f, 0xa0, 0xf9, 0x68, 0x10, 0xaa, 0x8e, 0x17, 0xec, 0x72, 0x72, 0x51, 0x3a, 0x83, + 0x0e, 0xcf, 0xf0, 0x2a, 0x2a, 0xc6, 0x02, 0x22, 0x9f, 0x79, 0xa0, 0x6f, 0x7f, 0xd4, 0xe8, 0x81, + 0xc6, 0xe9, 0x28, 0x03, 0x2f, 0xa3, 0x5c, 0xcc, 0xdb, 0xfa, 0xf6, 0xcb, 0x3a, 0x31, 0x77, 0xb0, + 0xf5, 0x92, 0x26, 0x38, 0xae, 0xa3, 0x82, 0x1b, 0x05, 0x71, 0x28, 0x2a, 0xf9, 0x95, 0x5c, 0xa3, + 0x64, 0xa3, 0x64, 0x89, 0x5e, 0x29, 0x84, 0xea, 0x93, 0xfa, 0x77, 0x03, 0xd5, 0xfe, 0xf2, 0x12, + 0xf0, 0x27, 0x03, 0x21, 0x67, 0xb8, 0xa8, 0xa2, 0x62, 0xa8, 0xa9, 0xee, 0xdf, 0xe0, 0x54, 0x47, + 0xaf, 0x60, 0xfc, 0xa3, 0x19, 0x41, 0x82, 0x4e, 0x78, 0xe3, 0x26, 0x2a, 0x4f, 0x68, 0xab, 0x11, + 0x2d, 0xd8, 0x4b, 0xfd, 0x5e, 0xad, 0x3c, 0x21, 0x4e, 0x27, 0x73, 0xec, 0xc7, 0x67, 0x17, 0x66, + 0xe6, 0xfc, 0xc2, 0xcc, 0x7c, 0xbb, 0x30, 0x33, 0x1f, 0xfb, 0xa6, 0x71, 0xd6, 0x37, 0x8d, 0xf3, + 0xbe, 0x69, 0xfc, 0xe8, 0x9b, 0xc6, 0xe7, 0x4b, 0x33, 0xf3, 0xae, 0x38, 0xac, 0xf0, 0x77, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xa5, 0xb0, 0x36, 0xc9, 0x16, 0x07, 0x00, 0x00, } diff --git a/pkg/apis/certificates/v1alpha1/generated.proto b/pkg/apis/certificates/v1alpha1/generated.proto index 5c576a2e291..6939a912fa3 100644 --- a/pkg/apis/certificates/v1alpha1/generated.proto +++ b/pkg/apis/certificates/v1alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/certificates/v1alpha1/register.go b/pkg/apis/certificates/v1alpha1/register.go index c17dd08a977..e82d2b1f5cf 100644 --- a/pkg/apis/certificates/v1alpha1/register.go +++ b/pkg/apis/certificates/v1alpha1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,15 +27,15 @@ import ( const GroupName = "certificates.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -59,5 +59,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *CertificateSigningRequest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *CertificateSigningRequestList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequestList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/componentconfig/BUILD b/pkg/apis/componentconfig/BUILD index d76601bc3ef..2d33359ddf0 100644 --- a/pkg/apis/componentconfig/BUILD +++ b/pkg/apis/componentconfig/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/net:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/pkg/apis/componentconfig/register.go b/pkg/apis/componentconfig/register.go index 77dc749bb1d..d47a90df1d0 100644 --- a/pkg/apis/componentconfig/register.go +++ b/pkg/apis/componentconfig/register.go @@ -17,8 +17,8 @@ limitations under the License. package componentconfig import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) var ( @@ -30,15 +30,15 @@ var ( const GroupName = "componentconfig" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -52,6 +52,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *KubeProxyConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeSchedulerConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeletConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *KubeProxyConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeSchedulerConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeletConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/componentconfig/v1alpha1/BUILD b/pkg/apis/componentconfig/v1alpha1/BUILD index c8edcb54b19..d877888c4da 100644 --- a/pkg/apis/componentconfig/v1alpha1/BUILD +++ b/pkg/apis/componentconfig/v1alpha1/BUILD @@ -31,6 +31,7 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/master/ports:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", ], ) diff --git a/pkg/apis/componentconfig/v1alpha1/register.go b/pkg/apis/componentconfig/v1alpha1/register.go index 7017d9e98b3..3967ed9904d 100644 --- a/pkg/apis/componentconfig/v1alpha1/register.go +++ b/pkg/apis/componentconfig/v1alpha1/register.go @@ -17,15 +17,15 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "componentconfig" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) @@ -41,6 +41,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *KubeProxyConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeSchedulerConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeletConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *KubeProxyConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeSchedulerConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeletConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go index 2f5bc2852a4..1626889d87d 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,10 @@ limitations under the License. package v1alpha1 import ( + reflect "reflect" + conversion "k8s.io/kubernetes/pkg/conversion" runtime "k8s.io/kubernetes/pkg/runtime" - reflect "reflect" ) func init() { diff --git a/pkg/apis/extensions/BUILD b/pkg/apis/extensions/BUILD index d5025da72a9..2433b472790 100644 --- a/pkg/apis/extensions/BUILD +++ b/pkg/apis/extensions/BUILD @@ -29,6 +29,7 @@ go_library( "//pkg/apis/batch:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/pkg/apis/extensions/register.go b/pkg/apis/extensions/register.go index 31fc20a8ae1..18f0a30b178 100644 --- a/pkg/apis/extensions/register.go +++ b/pkg/apis/extensions/register.go @@ -18,25 +18,25 @@ package extensions import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "extensions" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/extensions/v1beta1/BUILD b/pkg/apis/extensions/v1beta1/BUILD index 95f62d1389e..14a574b7bf9 100644 --- a/pkg/apis/extensions/v1beta1/BUILD +++ b/pkg/apis/extensions/v1beta1/BUILD @@ -36,6 +36,7 @@ go_library( "//pkg/apis/extensions:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/watch/versioned:go_default_library", diff --git a/pkg/apis/extensions/v1beta1/generated.pb.go b/pkg/apis/extensions/v1beta1/generated.pb.go index 88f3559acf6..95fa74c4f2e 100644 --- a/pkg/apis/extensions/v1beta1/generated.pb.go +++ b/pkg/apis/extensions/v1beta1/generated.pb.go @@ -13941,7 +13941,7 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 3908 bytes of a gzipped FileDescriptorProto + // 3919 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe4, 0x5b, 0x5d, 0x6c, 0x24, 0xd9, 0x55, 0x9e, 0xea, 0x76, 0xdb, 0xed, 0xd3, 0x63, 0x8f, 0xe7, 0x8e, 0xc7, 0xd3, 0xeb, 0xdd, 0x75, 0x4f, 0x6a, 0xc5, 0x66, 0x22, 0x76, 0xdb, 0xcc, 0xb0, 0x13, 0x36, 0xbb, 0x9b, 0x4d, 0xdc, 0xf6, @@ -13958,233 +13958,233 @@ var fileDescriptorGenerated = []byte{ 0xf6, 0x2c, 0x63, 0xb5, 0x6f, 0xf5, 0xad, 0x55, 0x8e, 0xd2, 0xf5, 0x76, 0xf9, 0x3f, 0xfe, 0x87, 0xff, 0xf2, 0xd1, 0x97, 0x6f, 0xe5, 0x2a, 0xb7, 0xea, 0x10, 0xd7, 0xf2, 0x9c, 0x1e, 0x49, 0x6b, 0xb4, 0x7c, 0x3b, 0x9f, 0xc7, 0x33, 0x0f, 0x88, 0xc3, 0x14, 0x22, 0xea, 0x08, 0xdb, 0x6b, 0xf9, - 0x6c, 0x07, 0x23, 0xcb, 0x5e, 0x7e, 0x3d, 0x9b, 0xda, 0xf1, 0x4c, 0xaa, 0x19, 0xa3, 0x3a, 0xdd, - 0xcc, 0x26, 0xf7, 0xa8, 0xa6, 0xaf, 0x6a, 0x26, 0x75, 0xa9, 0x93, 0x66, 0x91, 0x9b, 0x00, 0x6b, - 0xed, 0x07, 0x4f, 0x7c, 0x7d, 0xd1, 0x75, 0x98, 0x32, 0x15, 0x83, 0xd4, 0xa5, 0xeb, 0xd2, 0x8d, - 0xd9, 0xd6, 0xc5, 0x8f, 0x87, 0x8d, 0x0b, 0x47, 0xc3, 0xc6, 0xd4, 0x23, 0xc5, 0x20, 0x98, 0xcf, - 0xc8, 0xef, 0xc1, 0xe2, 0x7a, 0x7b, 0x67, 0x5b, 0x71, 0xfa, 0x84, 0xee, 0x50, 0x4d, 0xd7, 0xbe, - 0xa5, 0x50, 0xc6, 0xb9, 0x01, 0x0b, 0x94, 0x0f, 0xb6, 0x89, 0xd3, 0x23, 0x26, 0x55, 0xfa, 0x3e, - 0x4a, 0xa5, 0x55, 0x17, 0x28, 0x0b, 0xdb, 0xa9, 0x79, 0x3c, 0xc2, 0x21, 0xff, 0x86, 0x04, 0x2f, - 0xac, 0x7b, 0x2e, 0xb5, 0x8c, 0x2d, 0x42, 0x1d, 0xad, 0xb7, 0xee, 0x39, 0x0e, 0x31, 0x69, 0x87, - 0x2a, 0xd4, 0x73, 0x9f, 0xaf, 0x1d, 0x7a, 0x0a, 0x95, 0x03, 0x45, 0xf7, 0x48, 0xbd, 0x74, 0x5d, - 0xba, 0x51, 0xbb, 0xf5, 0x5a, 0x33, 0xd7, 0x6d, 0x9a, 0xc1, 0x83, 0x6d, 0x7e, 0xc5, 0x53, 0x4c, - 0xaa, 0xd1, 0x41, 0x6b, 0x51, 0x00, 0x5e, 0x14, 0x52, 0x9f, 0x30, 0x24, 0xec, 0x03, 0xca, 0xdf, - 0x93, 0xe0, 0xe5, 0x5c, 0xcd, 0x36, 0x35, 0x97, 0x22, 0x03, 0x2a, 0x1a, 0x25, 0x86, 0x5b, 0x97, - 0xae, 0x97, 0x6f, 0xd4, 0x6e, 0xdd, 0x6f, 0x16, 0x72, 0xd9, 0x66, 0x2e, 0x78, 0x6b, 0x4e, 0xe8, - 0x55, 0x79, 0xc0, 0xe0, 0xb1, 0x2f, 0x45, 0xfe, 0x75, 0x09, 0x50, 0x9c, 0xc7, 0xb7, 0xee, 0x31, - 0x6c, 0xf4, 0xd5, 0x93, 0xd8, 0xe8, 0x8a, 0x00, 0xac, 0xf9, 0xe2, 0x12, 0x26, 0xfa, 0xae, 0x04, - 0x4b, 0xa3, 0x1a, 0x71, 0xdb, 0xec, 0x26, 0x6d, 0xb3, 0x76, 0x02, 0xdb, 0xf8, 0xa8, 0x39, 0x46, - 0xf9, 0x83, 0x12, 0xcc, 0x6e, 0x28, 0xc4, 0xb0, 0xcc, 0x0e, 0xa1, 0xe8, 0x29, 0x54, 0x0d, 0x42, - 0x15, 0x55, 0xa1, 0x0a, 0xb7, 0x47, 0xed, 0xd6, 0x8d, 0x31, 0x8b, 0x3d, 0xb8, 0xd9, 0x7c, 0xdc, - 0xfd, 0x80, 0xf4, 0xe8, 0x16, 0xa1, 0x4a, 0x0b, 0x09, 0x7c, 0x88, 0xc6, 0x70, 0x88, 0x86, 0xde, - 0x87, 0x29, 0xd7, 0x26, 0x3d, 0x61, 0xc2, 0x77, 0x0a, 0x2e, 0x27, 0xd4, 0xb0, 0x63, 0x93, 0x5e, - 0xf4, 0x8c, 0xd8, 0x3f, 0xcc, 0x71, 0xd1, 0x2e, 0x4c, 0xbb, 0xfc, 0xe1, 0xd7, 0xcb, 0x5c, 0xc2, - 0xbb, 0x13, 0x4b, 0xf0, 0x5d, 0x68, 0x5e, 0xc8, 0x98, 0xf6, 0xff, 0x63, 0x81, 0x2e, 0xff, 0xad, - 0x04, 0x73, 0x21, 0x2d, 0x7f, 0x52, 0xdf, 0x18, 0xb1, 0xd9, 0xea, 0x18, 0x9b, 0xc5, 0x22, 0x5d, - 0x93, 0xb1, 0x73, 0xd3, 0x2d, 0x08, 0x61, 0xd5, 0x60, 0x24, 0x66, 0xb8, 0x6f, 0x04, 0x8e, 0x50, - 0xe2, 0x8e, 0xf0, 0xe6, 0xa4, 0xeb, 0xca, 0x79, 0xfe, 0x7f, 0x13, 0x5f, 0x0f, 0xb3, 0x27, 0x7a, - 0x1f, 0xaa, 0x2e, 0xd1, 0x49, 0x8f, 0x5a, 0x8e, 0x58, 0xcf, 0x1b, 0xc7, 0x5d, 0x8f, 0xd2, 0x25, - 0x7a, 0x47, 0xf0, 0xb6, 0x2e, 0xb2, 0x05, 0x05, 0xff, 0x70, 0x88, 0x89, 0xbe, 0x0e, 0x55, 0x4a, - 0x0c, 0x5b, 0x57, 0x68, 0xf0, 0x42, 0xbd, 0x3e, 0xde, 0xc7, 0xda, 0x96, 0xba, 0x2d, 0x18, 0xf8, - 0xe3, 0x0f, 0xad, 0x15, 0x8c, 0xe2, 0x10, 0x50, 0xfe, 0x8b, 0x12, 0x5c, 0x4a, 0x3d, 0x4a, 0xf4, - 0x04, 0x96, 0x7a, 0x7e, 0x78, 0x78, 0xe4, 0x19, 0x5d, 0xe2, 0x74, 0x7a, 0x7b, 0x44, 0xf5, 0x74, - 0xa2, 0x8a, 0x70, 0xbb, 0x22, 0xf0, 0x96, 0xd6, 0x33, 0xa9, 0x70, 0x0e, 0x37, 0x7a, 0x08, 0xc8, - 0xe4, 0x43, 0x5b, 0x9a, 0xeb, 0x86, 0x98, 0x25, 0x8e, 0xb9, 0x2c, 0x30, 0xd1, 0xa3, 0x11, 0x0a, - 0x9c, 0xc1, 0xc5, 0x74, 0x54, 0x89, 0xab, 0x39, 0x44, 0x4d, 0xeb, 0x58, 0x4e, 0xea, 0xb8, 0x91, - 0x49, 0x85, 0x73, 0xb8, 0xd1, 0x6d, 0xa8, 0xf9, 0xd2, 0x30, 0x51, 0xd4, 0x41, 0x7d, 0x8a, 0x83, - 0x85, 0x21, 0xe9, 0x51, 0x34, 0x85, 0xe3, 0x74, 0xf2, 0x1f, 0x96, 0x00, 0x36, 0x88, 0xad, 0x5b, - 0x03, 0x83, 0x98, 0x67, 0x19, 0x16, 0xbe, 0x99, 0x08, 0x0b, 0x5f, 0x2c, 0xea, 0xdc, 0xa1, 0x8a, - 0xb9, 0x71, 0xa1, 0x9f, 0x8a, 0x0b, 0x5f, 0x9a, 0x5c, 0xc4, 0xf8, 0xc0, 0xf0, 0x93, 0x32, 0x5c, - 0x89, 0x88, 0xd7, 0x2d, 0x53, 0xd5, 0x78, 0x9a, 0x7f, 0x1b, 0xa6, 0xe8, 0xc0, 0x0e, 0xd2, 0xcb, - 0x67, 0x03, 0x15, 0xb7, 0x07, 0x36, 0x79, 0x36, 0x6c, 0x5c, 0xcb, 0x60, 0x61, 0x53, 0x98, 0x33, - 0xa1, 0x27, 0xa1, 0xf6, 0x25, 0xce, 0xfe, 0x6e, 0x52, 0xf8, 0xb3, 0x61, 0x63, 0x6c, 0x75, 0xd4, - 0x0c, 0x31, 0x93, 0xca, 0xa2, 0x57, 0x61, 0xda, 0x21, 0x8a, 0x6b, 0x99, 0xdc, 0x23, 0x66, 0xa3, - 0x45, 0x61, 0x3e, 0x8a, 0xc5, 0x2c, 0xfa, 0x1c, 0xcc, 0x18, 0xc4, 0x75, 0x59, 0x69, 0x52, 0xe1, - 0x84, 0x97, 0x04, 0xe1, 0xcc, 0x96, 0x3f, 0x8c, 0x83, 0x79, 0xb4, 0x0f, 0xf3, 0xba, 0xe2, 0xd2, - 0x1d, 0x5b, 0x55, 0x28, 0xd9, 0xd6, 0x0c, 0x52, 0x9f, 0xe6, 0x06, 0xff, 0xd9, 0x63, 0x06, 0x0f, - 0xc6, 0xd2, 0x5a, 0x12, 0xf0, 0xf3, 0x9b, 0x09, 0x28, 0x9c, 0x82, 0x46, 0x1f, 0x01, 0x62, 0x23, - 0xdb, 0x8e, 0x62, 0xba, 0xbe, 0xcd, 0x98, 0xc0, 0x99, 0xe2, 0x02, 0xc3, 0xf7, 0x74, 0x73, 0x04, - 0x0e, 0x67, 0x88, 0x90, 0xff, 0x4e, 0x82, 0xf9, 0xe8, 0x91, 0x9d, 0x47, 0xfc, 0x7f, 0x3f, 0x19, - 0xff, 0xbf, 0x30, 0xb1, 0xff, 0xe6, 0x24, 0x80, 0xdf, 0x2c, 0x03, 0x8a, 0x88, 0xb0, 0xa5, 0xeb, - 0x5d, 0xa5, 0xb7, 0x7f, 0x8c, 0xaa, 0xe8, 0xf7, 0x24, 0x40, 0x1e, 0x7f, 0x24, 0xea, 0x9a, 0x69, - 0x5a, 0x94, 0x57, 0xb5, 0x81, 0x9a, 0xbf, 0x34, 0xb1, 0x9a, 0x81, 0x06, 0xcd, 0x9d, 0x11, 0xec, - 0x3b, 0x26, 0x75, 0x06, 0xd1, 0x23, 0x1b, 0x25, 0xc0, 0x19, 0x0a, 0xa1, 0x0f, 0x01, 0x1c, 0x81, - 0xb9, 0x6d, 0x89, 0x28, 0x50, 0x34, 0xd0, 0x04, 0x4a, 0xad, 0x5b, 0xe6, 0xae, 0xd6, 0x8f, 0x62, - 0x1a, 0x0e, 0x81, 0x71, 0x4c, 0xc8, 0xf2, 0x1d, 0xb8, 0x96, 0xa3, 0x3d, 0x5a, 0x80, 0xf2, 0x3e, - 0x19, 0xf8, 0x66, 0xc5, 0xec, 0x27, 0x5a, 0x8c, 0x57, 0x97, 0xb3, 0xa2, 0x34, 0x7c, 0xab, 0xf4, - 0xa6, 0x24, 0xff, 0xb4, 0x12, 0x77, 0x36, 0x9e, 0x9c, 0x6f, 0x40, 0xd5, 0x21, 0xb6, 0xae, 0xf5, - 0x14, 0x57, 0x64, 0x2f, 0x9e, 0x66, 0xb1, 0x18, 0xc3, 0xe1, 0x6c, 0x22, 0x8d, 0x97, 0xce, 0x38, - 0x8d, 0x97, 0x4f, 0x39, 0x8d, 0x23, 0x0b, 0xaa, 0x2e, 0x65, 0x9b, 0xae, 0xbe, 0x9f, 0xb3, 0x8a, - 0x17, 0xc0, 0xf1, 0xb8, 0xed, 0x03, 0x45, 0x02, 0x83, 0x11, 0x1c, 0x0a, 0x41, 0x6b, 0x70, 0xc9, - 0xd0, 0x4c, 0x9e, 0xfc, 0x3a, 0xa4, 0x67, 0x99, 0xaa, 0xcb, 0x03, 0x5e, 0xa5, 0x75, 0x4d, 0x30, - 0x5d, 0xda, 0x4a, 0x4e, 0xe3, 0x34, 0x3d, 0xda, 0x84, 0x45, 0x87, 0x1c, 0x68, 0x4c, 0x8d, 0xfb, - 0x9a, 0x4b, 0x2d, 0x67, 0xb0, 0xa9, 0x19, 0x1a, 0xe5, 0x61, 0xb0, 0xd2, 0xaa, 0x1f, 0x0d, 0x1b, - 0x8b, 0x38, 0x63, 0x1e, 0x67, 0x72, 0xb1, 0x08, 0x6d, 0x2b, 0x9e, 0x4b, 0x54, 0x1e, 0xd5, 0xaa, - 0x51, 0x84, 0x6e, 0xf3, 0x51, 0x2c, 0x66, 0x91, 0x91, 0xf0, 0xee, 0xea, 0x69, 0x78, 0xf7, 0x7c, - 0xbe, 0x67, 0xa3, 0x1d, 0xb8, 0x66, 0x3b, 0x56, 0xdf, 0x21, 0xae, 0xbb, 0x41, 0x14, 0x55, 0xd7, - 0x4c, 0x12, 0xd8, 0x6b, 0x96, 0xaf, 0xf3, 0xc5, 0xa3, 0x61, 0xe3, 0x5a, 0x3b, 0x9b, 0x04, 0xe7, - 0xf1, 0xca, 0x9f, 0x94, 0x61, 0x21, 0x9d, 0x69, 0x59, 0x7d, 0x65, 0x75, 0x5d, 0xe2, 0x1c, 0x10, - 0xf5, 0x9e, 0xbf, 0x07, 0xd7, 0x2c, 0x93, 0x7b, 0x7d, 0x39, 0x0a, 0x02, 0x8f, 0x47, 0x28, 0x70, - 0x06, 0x17, 0x7a, 0x2d, 0xf6, 0xde, 0xf8, 0x15, 0x5a, 0xe8, 0x0d, 0x19, 0xef, 0xce, 0x1a, 0x5c, - 0x12, 0x81, 0x24, 0x98, 0x14, 0x65, 0x58, 0xe8, 0x0d, 0x3b, 0xc9, 0x69, 0x9c, 0xa6, 0x47, 0xf7, - 0xe0, 0xb2, 0x72, 0xa0, 0x68, 0xba, 0xd2, 0xd5, 0x49, 0x08, 0xe2, 0x97, 0x5f, 0x2f, 0x08, 0x90, - 0xcb, 0x6b, 0x69, 0x02, 0x3c, 0xca, 0x83, 0xb6, 0xe0, 0x8a, 0x67, 0x8e, 0x42, 0xf9, 0xde, 0xf9, - 0xa2, 0x80, 0xba, 0xb2, 0x33, 0x4a, 0x82, 0xb3, 0xf8, 0xd0, 0x01, 0x40, 0x2f, 0x28, 0x0a, 0xdc, - 0xfa, 0x34, 0x0f, 0xd6, 0xad, 0x89, 0xdf, 0xad, 0xb0, 0xbe, 0x88, 0x42, 0x62, 0x38, 0xe4, 0xe2, - 0x98, 0x24, 0xf9, 0xef, 0xa5, 0x78, 0x9a, 0x09, 0xde, 0x40, 0xf4, 0x56, 0xa2, 0x3a, 0x7a, 0x35, - 0x55, 0x1d, 0x2d, 0x8d, 0x72, 0xc4, 0x8a, 0xa3, 0xef, 0xc0, 0x1c, 0xf3, 0x4c, 0xcd, 0xec, 0xfb, - 0x4f, 0x43, 0x84, 0xb9, 0xbb, 0x13, 0x78, 0x7f, 0x88, 0x11, 0x4b, 0x97, 0x97, 0x8f, 0x86, 0x8d, - 0xb9, 0xc4, 0x24, 0x4e, 0xca, 0x93, 0xdf, 0x83, 0xb9, 0x3b, 0x87, 0xb6, 0xe5, 0xd0, 0xc7, 0xb6, - 0x9f, 0x6a, 0x5e, 0x85, 0x69, 0xc2, 0x07, 0xf8, 0x7a, 0x62, 0x2f, 0xad, 0x4f, 0x86, 0xc5, 0x2c, - 0x7a, 0x05, 0x2a, 0xe4, 0x50, 0xe9, 0x51, 0xae, 0x71, 0x35, 0x4a, 0xcc, 0x77, 0xd8, 0x20, 0xf6, - 0xe7, 0xe4, 0x1f, 0x4a, 0xb0, 0x74, 0xb7, 0x73, 0xcf, 0xb1, 0x3c, 0x3b, 0x58, 0x7c, 0x20, 0xe7, - 0x17, 0x60, 0xca, 0xf1, 0xf4, 0xc0, 0x6a, 0xaf, 0x04, 0x56, 0xc3, 0x9e, 0xce, 0xac, 0x76, 0x25, - 0xc5, 0xe5, 0x9b, 0x8c, 0x31, 0xa0, 0xf7, 0x61, 0xda, 0x51, 0xcc, 0x3e, 0x09, 0xd2, 0xf4, 0xe7, - 0x0b, 0xda, 0xea, 0xc1, 0x06, 0x66, 0xec, 0xb1, 0x7a, 0x91, 0xa3, 0x61, 0x81, 0x2a, 0xff, 0x8e, - 0x04, 0x97, 0xee, 0x6f, 0x6f, 0xb7, 0x1f, 0x98, 0xfc, 0x35, 0x6f, 0x2b, 0x74, 0x8f, 0x55, 0x12, - 0xb6, 0x42, 0xf7, 0xd2, 0x95, 0x04, 0x9b, 0xc3, 0x7c, 0x06, 0xed, 0xc1, 0x0c, 0x0b, 0x2f, 0xc4, - 0x54, 0x27, 0xdc, 0x07, 0x08, 0x71, 0x2d, 0x1f, 0x24, 0x2a, 0x52, 0xc5, 0x00, 0x0e, 0xe0, 0xe5, - 0x6f, 0xc3, 0x62, 0x4c, 0x3d, 0x66, 0x2f, 0x7e, 0x1e, 0x83, 0x7a, 0x50, 0x61, 0x9a, 0x04, 0xa7, - 0x2d, 0x45, 0x0f, 0x0f, 0x52, 0x4b, 0x8e, 0x1e, 0x28, 0xfb, 0xe7, 0x62, 0x1f, 0x5b, 0xfe, 0xa7, - 0x12, 0x5c, 0xbb, 0x6f, 0x39, 0xda, 0xb7, 0x2c, 0x93, 0x2a, 0x7a, 0xdb, 0x52, 0xd7, 0x3c, 0x6a, - 0xb9, 0x3d, 0x45, 0x27, 0xce, 0x19, 0xee, 0xb0, 0xf4, 0xc4, 0x0e, 0xeb, 0x61, 0xd1, 0x95, 0x65, - 0xeb, 0x9b, 0xbb, 0xdd, 0xa2, 0xa9, 0xed, 0xd6, 0xe6, 0x29, 0xc9, 0x1b, 0xbf, 0xf7, 0xfa, 0x0f, - 0x09, 0x5e, 0xcc, 0xe1, 0x3c, 0x8f, 0x12, 0x7d, 0x3f, 0x59, 0xa2, 0xdf, 0x3d, 0x9d, 0x35, 0xe7, - 0xd4, 0xeb, 0xff, 0x53, 0xca, 0x5d, 0x2b, 0xaf, 0x10, 0x3f, 0x84, 0x2a, 0xff, 0x87, 0xc9, 0xae, - 0x58, 0xeb, 0x7a, 0x41, 0x7d, 0x3a, 0x5e, 0x37, 0x38, 0xc6, 0xc4, 0x64, 0x97, 0x38, 0xc4, 0xec, - 0x91, 0x58, 0xf1, 0x24, 0xc0, 0x71, 0x28, 0x06, 0xdd, 0x84, 0x1a, 0x2f, 0x86, 0x12, 0xf9, 0xf5, - 0xd2, 0xd1, 0xb0, 0x51, 0xdb, 0x8a, 0x86, 0x71, 0x9c, 0x06, 0xdd, 0x86, 0x9a, 0xa1, 0x1c, 0xa6, - 0xb2, 0x6b, 0x78, 0x2e, 0xb1, 0x15, 0x4d, 0xe1, 0x38, 0x1d, 0xfa, 0x0e, 0xcc, 0xf7, 0x6c, 0x2f, - 0x76, 0x8a, 0x2e, 0xaa, 0xc3, 0xa2, 0x4b, 0xcc, 0x3a, 0x90, 0x6f, 0x21, 0xb6, 0xf1, 0x5c, 0x6f, - 0xef, 0xc4, 0xc6, 0x70, 0x4a, 0x9c, 0xfc, 0xe7, 0x65, 0x78, 0x79, 0xac, 0x8f, 0xa2, 0xbb, 0x63, - 0xaa, 0x96, 0xa5, 0x02, 0x15, 0x8b, 0x0a, 0x73, 0x6c, 0xff, 0xc9, 0xcd, 0xcd, 0x77, 0xb7, 0xa5, - 0xe2, 0xbb, 0x5b, 0x9e, 0xc2, 0x36, 0xe3, 0x28, 0x38, 0x09, 0xca, 0x2a, 0x1d, 0x71, 0xba, 0x95, - 0x57, 0xe9, 0xac, 0x27, 0xa7, 0x71, 0x9a, 0x9e, 0x41, 0x88, 0xc3, 0xa7, 0x54, 0x9d, 0x13, 0x42, - 0x6c, 0x24, 0xa7, 0x71, 0x9a, 0x1e, 0x19, 0xd0, 0x10, 0xa8, 0x49, 0xf3, 0xc7, 0x6e, 0x46, 0xfc, - 0x7a, 0xe7, 0x95, 0xa3, 0x61, 0xa3, 0xb1, 0x3e, 0x9e, 0x14, 0x3f, 0x0f, 0x4b, 0xde, 0x82, 0xb9, - 0xfb, 0x96, 0x4b, 0xdb, 0x2c, 0x25, 0xb3, 0xbc, 0x85, 0x5e, 0x86, 0xb2, 0xa1, 0x99, 0x62, 0x43, - 0x55, 0x13, 0x6a, 0x97, 0x99, 0xf3, 0xb2, 0x71, 0x3e, 0xad, 0x1c, 0x0a, 0xbf, 0x8e, 0xa6, 0x95, - 0x43, 0xcc, 0xc6, 0xe5, 0x7b, 0x30, 0x23, 0xf2, 0x62, 0x1c, 0xa8, 0x3c, 0x1e, 0xa8, 0x9c, 0x01, - 0xf4, 0xfb, 0x25, 0x98, 0x11, 0x69, 0xe4, 0x0c, 0x13, 0xc2, 0x7b, 0x89, 0x84, 0xf0, 0xd6, 0x64, - 0xa9, 0x36, 0x37, 0x01, 0xa8, 0xa9, 0x04, 0xf0, 0xce, 0x84, 0xf8, 0xe3, 0x03, 0xfe, 0x0f, 0x24, - 0x98, 0x4f, 0x26, 0x7d, 0x16, 0x51, 0xd8, 0x3b, 0xa4, 0xf5, 0xc8, 0xa3, 0xe8, 0xdc, 0x22, 0x8c, - 0x28, 0x9d, 0x68, 0x0a, 0xc7, 0xe9, 0x10, 0x09, 0xd9, 0x98, 0x3b, 0x08, 0xa3, 0x34, 0x73, 0x94, - 0xf6, 0xa8, 0xa6, 0x37, 0xfd, 0x6b, 0xc1, 0xe6, 0x03, 0x93, 0x3e, 0x76, 0x3a, 0xd4, 0xd1, 0xcc, - 0xfe, 0x88, 0x18, 0xee, 0x59, 0x71, 0x5c, 0xf9, 0xaf, 0x25, 0xa8, 0x09, 0x85, 0xcf, 0x23, 0x23, - 0x7d, 0x3d, 0x99, 0x91, 0x3e, 0x3f, 0x61, 0x3d, 0x95, 0x9d, 0x81, 0x7e, 0x14, 0xad, 0x85, 0x55, - 0x50, 0xac, 0xc0, 0xdb, 0xb3, 0x5c, 0x9a, 0x2e, 0xf0, 0xd8, 0x2b, 0x86, 0xf9, 0x0c, 0xfa, 0x35, - 0x09, 0x16, 0xb4, 0x54, 0xcd, 0x25, 0x4c, 0xfd, 0xa5, 0xc9, 0x54, 0x0b, 0x61, 0xa2, 0xcb, 0xd2, - 0xf4, 0x0c, 0x1e, 0x11, 0x29, 0x7b, 0x30, 0x42, 0x85, 0x14, 0x98, 0xda, 0xa3, 0xd4, 0x9e, 0x30, - 0x57, 0x66, 0x55, 0x93, 0xad, 0x2a, 0x5f, 0xfe, 0xf6, 0x76, 0x1b, 0x73, 0x68, 0xf9, 0x07, 0xa5, - 0xd0, 0x60, 0x1d, 0xff, 0x1d, 0x09, 0xeb, 0x5d, 0xe9, 0x34, 0xea, 0xdd, 0x5a, 0x56, 0xad, 0x8b, - 0x9e, 0x42, 0x99, 0xea, 0x93, 0x1e, 0x1b, 0x0a, 0x09, 0xdb, 0x9b, 0x9d, 0x28, 0x4e, 0x6d, 0x6f, - 0x76, 0x30, 0x83, 0x44, 0xdf, 0x84, 0x0a, 0xdb, 0x4d, 0xb0, 0x57, 0xbc, 0x3c, 0x79, 0x08, 0x61, - 0xf6, 0x8a, 0x3c, 0x8c, 0xfd, 0x73, 0xb1, 0x8f, 0x2b, 0x7f, 0x1b, 0xe6, 0x12, 0x71, 0x00, 0x7d, - 0x00, 0x17, 0x75, 0x4b, 0x51, 0x5b, 0x8a, 0xae, 0x98, 0x3d, 0x12, 0xdc, 0x4b, 0xfd, 0xdc, 0xf8, - 0x88, 0xb8, 0x19, 0xe3, 0x10, 0xf1, 0x24, 0xbc, 0xb0, 0x8e, 0xcf, 0xe1, 0x04, 0xb6, 0xac, 0x00, - 0x44, 0xab, 0x47, 0x0d, 0xa8, 0x30, 0x17, 0xf6, 0x77, 0x06, 0xb3, 0xad, 0x59, 0xa6, 0x2b, 0xf3, - 0x6c, 0x17, 0xfb, 0xe3, 0xe8, 0x16, 0x80, 0x4b, 0x7a, 0x0e, 0xa1, 0x3c, 0xec, 0xf8, 0xc7, 0xf4, - 0x61, 0x00, 0xee, 0x84, 0x33, 0x38, 0x46, 0x25, 0xff, 0x56, 0x09, 0xca, 0x0f, 0xad, 0xee, 0x19, - 0x06, 0xf9, 0xa7, 0x89, 0x20, 0x5f, 0xf4, 0xfd, 0x7f, 0x68, 0x75, 0x73, 0x03, 0xfc, 0x2f, 0xa7, - 0x02, 0xfc, 0x9b, 0x13, 0x60, 0x8f, 0x0f, 0xee, 0xff, 0x50, 0x86, 0x8b, 0x0f, 0xad, 0x6e, 0x74, - 0x85, 0xf2, 0x46, 0xe2, 0x90, 0xe0, 0x7a, 0xea, 0x90, 0x60, 0x21, 0x4e, 0x7b, 0x0e, 0x77, 0x27, - 0x7b, 0x7e, 0x61, 0xd6, 0x76, 0xac, 0xae, 0x5f, 0x98, 0x95, 0x8b, 0x17, 0x66, 0x57, 0x85, 0x2e, - 0xbc, 0x38, 0x0b, 0x91, 0x70, 0x12, 0x38, 0xe7, 0x96, 0x63, 0xea, 0xcc, 0x6f, 0x39, 0x62, 0xd7, - 0x43, 0x95, 0xe3, 0x5e, 0x0f, 0x4d, 0x8f, 0xbf, 0x1e, 0x92, 0xff, 0x4c, 0x82, 0x99, 0x87, 0x56, - 0xf7, 0x3c, 0x92, 0xdf, 0x57, 0x93, 0xc9, 0xef, 0x56, 0x71, 0x07, 0xcd, 0x49, 0x7c, 0x7f, 0x54, - 0xe6, 0x6b, 0xe0, 0x31, 0xfc, 0x26, 0xd4, 0x6c, 0xc5, 0x51, 0x74, 0x9d, 0xe8, 0x9a, 0x6b, 0x88, - 0xd2, 0x91, 0xef, 0x79, 0xda, 0xd1, 0x30, 0x8e, 0xd3, 0x30, 0x96, 0x9e, 0x65, 0xd8, 0x3a, 0x09, - 0x2e, 0x4a, 0x42, 0x96, 0xf5, 0x68, 0x18, 0xc7, 0x69, 0xd0, 0x63, 0xb8, 0xaa, 0xf4, 0xa8, 0x76, - 0x40, 0xd2, 0x87, 0xad, 0x65, 0x5e, 0x42, 0xbe, 0x70, 0x34, 0x6c, 0x5c, 0x5d, 0xcb, 0x22, 0xc0, - 0xd9, 0x7c, 0x89, 0x5b, 0x81, 0xa9, 0x33, 0xb8, 0x15, 0x78, 0x03, 0x2e, 0x2a, 0x1e, 0xb5, 0x82, - 0x19, 0xee, 0x3f, 0xd5, 0xd6, 0x02, 0x0b, 0xb9, 0x6b, 0xb1, 0x71, 0x9c, 0xa0, 0x4a, 0xdc, 0x25, - 0x4c, 0x9f, 0x76, 0x4b, 0xc0, 0x9f, 0x96, 0x61, 0x36, 0x0c, 0x3a, 0xc8, 0x4a, 0x9c, 0x7f, 0xfa, - 0xc7, 0x3d, 0x6f, 0x17, 0xf7, 0x90, 0x63, 0x1f, 0x7c, 0xa2, 0xa7, 0x30, 0xeb, 0x52, 0xc5, 0xa1, - 0x93, 0xee, 0xe1, 0xe6, 0x8e, 0x86, 0x8d, 0xd9, 0x4e, 0x80, 0x80, 0x23, 0x30, 0xd4, 0x87, 0xf9, - 0xc8, 0x57, 0x26, 0x8d, 0x44, 0xfe, 0xa6, 0x37, 0x01, 0x83, 0x53, 0xb0, 0x2c, 0x1c, 0xf8, 0xde, - 0x24, 0x36, 0x76, 0x61, 0x38, 0xf0, 0x5d, 0x0f, 0x8b, 0x59, 0xb4, 0x0a, 0xb3, 0xae, 0xd7, 0xeb, - 0x11, 0xa2, 0x12, 0x55, 0x6c, 0xd8, 0x2e, 0x0b, 0xd2, 0xd9, 0x4e, 0x30, 0x81, 0x23, 0x1a, 0x06, - 0xbc, 0xab, 0x68, 0x3a, 0x51, 0xc5, 0x25, 0x49, 0x08, 0x7c, 0x97, 0x8f, 0x62, 0x31, 0xcb, 0x9b, - 0x6e, 0x1e, 0x11, 0xfa, 0x91, 0xe5, 0xec, 0xb7, 0x2d, 0x5d, 0xeb, 0x0d, 0xce, 0x30, 0x73, 0x76, - 0x13, 0x99, 0xf3, 0xcb, 0x05, 0x5d, 0x23, 0xa1, 0x65, 0x5e, 0x0e, 0x95, 0xff, 0x5d, 0x82, 0x7a, - 0x82, 0x32, 0x5e, 0x4e, 0x13, 0xa8, 0xd8, 0x96, 0x43, 0x03, 0xe7, 0x3c, 0x91, 0x06, 0x6c, 0xef, - 0x11, 0x3b, 0x8d, 0x64, 0xb0, 0xd8, 0x47, 0x67, 0xeb, 0xdc, 0x75, 0x2c, 0x43, 0x04, 0xc9, 0x93, - 0x49, 0x21, 0xc4, 0x89, 0xd6, 0x79, 0xd7, 0xb1, 0x0c, 0xcc, 0xb1, 0xe5, 0x7f, 0x94, 0xe0, 0x72, - 0x82, 0xf2, 0x3c, 0xc2, 0xbf, 0x92, 0x0c, 0xff, 0xef, 0x9c, 0x64, 0x65, 0x39, 0x89, 0xe0, 0xbf, - 0xd3, 0xeb, 0x62, 0x16, 0x40, 0x7d, 0xa8, 0xd9, 0x96, 0xda, 0x39, 0x8d, 0xde, 0x29, 0x3f, 0x91, - 0x44, 0x60, 0x38, 0x8e, 0x8c, 0x06, 0x70, 0xd9, 0x54, 0x0c, 0xe2, 0xda, 0x4a, 0x8f, 0x74, 0x4e, - 0xe3, 0x8e, 0xf7, 0xea, 0xd1, 0xb0, 0x71, 0xf9, 0x51, 0x1a, 0x12, 0x8f, 0x4a, 0x91, 0xff, 0x78, - 0x64, 0xe5, 0x96, 0x43, 0xd1, 0x57, 0xa0, 0xca, 0x7b, 0x63, 0x7b, 0x96, 0x2e, 0x8a, 0xb4, 0xdb, - 0xec, 0xe1, 0xb4, 0xc5, 0xd8, 0xb3, 0x61, 0xe3, 0x67, 0xc6, 0x96, 0x5a, 0x01, 0x21, 0x0e, 0x61, - 0xd0, 0x26, 0x4c, 0xd9, 0x93, 0x6f, 0xc8, 0xf9, 0x0e, 0x8c, 0xef, 0xc2, 0x39, 0x8a, 0xfc, 0x9f, - 0x69, 0xb5, 0x79, 0x0e, 0xdf, 0x3f, 0xbd, 0x07, 0x16, 0x9e, 0x00, 0xe4, 0x3e, 0x34, 0x07, 0x66, - 0xc4, 0x7e, 0x54, 0x38, 0xe6, 0xbd, 0x93, 0x38, 0x66, 0x7c, 0x0f, 0x15, 0x16, 0x5d, 0xc1, 0x60, - 0x20, 0x88, 0xbf, 0x7f, 0x5c, 0xa1, 0x9e, 0xe7, 0x68, 0x74, 0x70, 0xe6, 0xb1, 0x73, 0x37, 0x11, - 0x3b, 0x37, 0x0a, 0x2e, 0x70, 0x44, 0xd3, 0xdc, 0xf8, 0xf9, 0xaf, 0x12, 0x5c, 0x1d, 0xa1, 0x3e, - 0x8f, 0xd8, 0x42, 0x92, 0xb1, 0xe5, 0xcb, 0x27, 0x5d, 0x61, 0x4e, 0x7c, 0xf9, 0x18, 0x32, 0xd6, - 0xc7, 0x5d, 0xf6, 0x16, 0x80, 0xed, 0x68, 0x07, 0x9a, 0x4e, 0xfa, 0xa2, 0x7f, 0xb1, 0x1a, 0x3d, - 0x93, 0x76, 0x38, 0x83, 0x63, 0x54, 0xe8, 0x57, 0x60, 0x49, 0x25, 0xbb, 0x8a, 0xa7, 0xd3, 0x35, - 0x55, 0x5d, 0x57, 0x6c, 0xa5, 0xab, 0xe9, 0x1a, 0xd5, 0xc4, 0x25, 0xe0, 0x6c, 0xeb, 0x8e, 0xdf, - 0x57, 0x98, 0x45, 0xf1, 0x6c, 0xd8, 0xf8, 0xec, 0xf8, 0x4d, 0x52, 0x40, 0x3c, 0xc0, 0x39, 0x42, - 0xd0, 0xaf, 0x4a, 0x50, 0x77, 0xc8, 0x87, 0x9e, 0xe6, 0x10, 0x75, 0xc3, 0xb1, 0xec, 0x84, 0x06, - 0x65, 0xae, 0xc1, 0xbd, 0xa3, 0x61, 0xa3, 0x8e, 0x73, 0x68, 0x8a, 0xe8, 0x90, 0x2b, 0x08, 0x51, - 0xb8, 0xa2, 0xe8, 0xba, 0xf5, 0x11, 0x49, 0x5a, 0x60, 0x8a, 0xcb, 0x6f, 0x1d, 0x0d, 0x1b, 0x57, - 0xd6, 0x46, 0xa7, 0x8b, 0x88, 0xce, 0x82, 0x47, 0xab, 0x30, 0x73, 0x60, 0xe9, 0x9e, 0x41, 0xdc, - 0x7a, 0x85, 0x4b, 0x62, 0x91, 0x76, 0xe6, 0x89, 0x3f, 0xf4, 0x8c, 0x15, 0x3a, 0x1d, 0xbe, 0x63, - 0x0d, 0xa8, 0xd0, 0x6d, 0xa8, 0xed, 0x59, 0x2e, 0x15, 0xef, 0x3a, 0x2f, 0x8b, 0xaa, 0x51, 0x70, - 0xb9, 0x1f, 0x4d, 0xe1, 0x38, 0x1d, 0x32, 0x60, 0x76, 0x4f, 0x9c, 0x68, 0xbb, 0xf5, 0x99, 0x89, - 0xf2, 0x5e, 0xe2, 0x44, 0x3c, 0xaa, 0xdb, 0x82, 0x61, 0x17, 0x47, 0x12, 0xd8, 0xbe, 0x8f, 0xff, - 0x79, 0xb0, 0xc1, 0x3b, 0x4e, 0xaa, 0x51, 0x08, 0xba, 0xef, 0x0f, 0xe3, 0x60, 0x3e, 0x20, 0x7d, - 0xd0, 0x5e, 0xe7, 0x0d, 0x22, 0x29, 0xd2, 0x07, 0xed, 0x75, 0x1c, 0xcc, 0x23, 0x1b, 0x66, 0x5c, - 0xb2, 0xa9, 0x99, 0xde, 0x61, 0x1d, 0xf8, 0xab, 0x7b, 0xa7, 0xe8, 0xc5, 0xd5, 0x1d, 0xce, 0x9d, - 0xba, 0x2d, 0x8f, 0x24, 0x8a, 0x79, 0x1c, 0x88, 0x41, 0x87, 0x30, 0xeb, 0x78, 0xe6, 0x9a, 0xbb, - 0xe3, 0x12, 0xa7, 0x5e, 0xe3, 0x32, 0x8b, 0x46, 0x65, 0x1c, 0xf0, 0xa7, 0xa5, 0x86, 0x16, 0x0c, - 0x29, 0x70, 0x24, 0x0c, 0xfd, 0xb6, 0x04, 0xc8, 0xf5, 0x6c, 0x5b, 0x27, 0x06, 0x31, 0xa9, 0xa2, - 0xf3, 0x0b, 0x7b, 0xb7, 0x7e, 0x91, 0xeb, 0xd0, 0x2e, 0x7c, 0x61, 0x97, 0x06, 0x4a, 0x2b, 0x13, - 0x1e, 0x00, 0x8c, 0x92, 0xe2, 0x0c, 0x3d, 0xd8, 0xa3, 0xd8, 0x75, 0xf9, 0xef, 0xfa, 0xdc, 0x44, - 0x8f, 0x22, 0xbb, 0x71, 0x21, 0x7a, 0x14, 0x62, 0x1e, 0x07, 0x62, 0xd0, 0x13, 0x58, 0x72, 0x88, - 0xa2, 0x3e, 0x36, 0xf5, 0x01, 0xb6, 0x2c, 0x7a, 0x57, 0xd3, 0x89, 0x3b, 0x70, 0x29, 0x31, 0xea, - 0xf3, 0xdc, 0x6d, 0xc2, 0x06, 0x68, 0x9c, 0x49, 0x85, 0x73, 0xb8, 0x79, 0x27, 0xb3, 0xb8, 0x67, - 0x3a, 0xdb, 0x0f, 0x1c, 0x4e, 0xd6, 0xc9, 0x1c, 0xa9, 0x78, 0x66, 0x9d, 0xcc, 0x31, 0x11, 0xe3, - 0xcf, 0xdf, 0xfe, 0xab, 0x04, 0x57, 0x22, 0xe2, 0x63, 0x77, 0x32, 0x67, 0xb0, 0x9c, 0xc3, 0x69, - 0x5c, 0xf6, 0x19, 0x59, 0xf9, 0x3c, 0xcf, 0xc8, 0x4e, 0xab, 0x85, 0x9a, 0x37, 0x17, 0x47, 0x56, - 0xfc, 0x3f, 0xd0, 0x5c, 0x1c, 0x29, 0x9b, 0x53, 0xc8, 0xfc, 0x49, 0x29, 0xbe, 0xa2, 0xff, 0x4f, - 0x1d, 0xac, 0x19, 0x0d, 0xa5, 0x53, 0xc5, 0x1a, 0x4a, 0xe5, 0x7f, 0x29, 0xc3, 0x42, 0xfa, 0xa5, - 0x4d, 0x34, 0x32, 0x4a, 0xcf, 0x6d, 0x64, 0x6c, 0xc3, 0xe2, 0xae, 0xa7, 0xeb, 0x03, 0x6e, 0x90, - 0xd8, 0x05, 0xbd, 0x7f, 0xf6, 0xf8, 0x92, 0xe0, 0x5c, 0xbc, 0x9b, 0x41, 0x83, 0x33, 0x39, 0x73, - 0x9a, 0x32, 0xcb, 0x13, 0x35, 0x65, 0xbe, 0x0d, 0x73, 0x0e, 0xff, 0xf6, 0x24, 0xd9, 0x37, 0x10, - 0x1e, 0x8e, 0xe3, 0xf8, 0x24, 0x4e, 0xd2, 0x66, 0x37, 0x58, 0x56, 0x26, 0x68, 0xb0, 0x3c, 0x8d, - 0x8e, 0xc8, 0x8c, 0xd8, 0xf7, 0xdc, 0x8e, 0xc8, 0x97, 0x60, 0x59, 0xb0, 0xb1, 0xff, 0xeb, 0x96, - 0x49, 0x1d, 0x4b, 0xd7, 0x89, 0xb3, 0xe1, 0x19, 0xc6, 0x40, 0x7e, 0x17, 0xe6, 0x93, 0x6d, 0xb9, - 0xfe, 0x93, 0xf7, 0x3b, 0x85, 0x45, 0x83, 0x41, 0xec, 0xc9, 0xfb, 0xe3, 0x38, 0xa4, 0x90, 0x3f, - 0x91, 0xe0, 0x5a, 0x4e, 0x67, 0x23, 0xfa, 0x00, 0xe6, 0x0d, 0xe5, 0x30, 0xd6, 0x32, 0x2a, 0x42, - 0x4b, 0xd1, 0x5d, 0x36, 0x3f, 0x3b, 0xdc, 0x4a, 0x20, 0xe1, 0x14, 0x32, 0x4f, 0xb8, 0xca, 0x61, - 0xc7, 0x73, 0xfa, 0x64, 0xc2, 0xbd, 0x3c, 0x7f, 0x7d, 0xb7, 0x04, 0x06, 0x0e, 0xd1, 0xe4, 0x1f, - 0x4a, 0x50, 0xcf, 0xab, 0xbe, 0xd0, 0xed, 0x44, 0x87, 0xe4, 0x67, 0x52, 0x1d, 0x92, 0x97, 0x47, - 0xf8, 0xce, 0xa9, 0x3f, 0xf2, 0x47, 0x12, 0x2c, 0x65, 0x57, 0xa9, 0xe8, 0xe7, 0x13, 0x1a, 0x37, - 0x52, 0x1a, 0x5f, 0x4a, 0x71, 0x09, 0x7d, 0xf7, 0x60, 0x5e, 0xd4, 0xb2, 0x02, 0xe6, 0x18, 0x9f, - 0xa8, 0x1e, 0x84, 0x85, 0x72, 0x50, 0x95, 0xf1, 0xe7, 0x98, 0x1c, 0xc3, 0x29, 0x5c, 0xf9, 0x77, - 0x4b, 0x50, 0xe1, 0x6d, 0x43, 0x67, 0x58, 0x42, 0x7d, 0x2d, 0x51, 0x42, 0x15, 0xbd, 0x58, 0xe4, - 0xda, 0xe5, 0x56, 0x4f, 0xdd, 0x54, 0xf5, 0xf4, 0xd6, 0x44, 0xe8, 0xe3, 0x0b, 0xa7, 0x2f, 0xc0, - 0x6c, 0xa8, 0x44, 0xb1, 0x40, 0xcd, 0xca, 0xd4, 0x5a, 0x4c, 0x44, 0xc1, 0x30, 0x7f, 0x90, 0xc8, - 0x94, 0x93, 0x7c, 0x4b, 0x1d, 0x93, 0xdd, 0x0c, 0x52, 0xa5, 0xff, 0xb9, 0x4d, 0xd4, 0xf8, 0x37, - 0x9a, 0x41, 0xdf, 0x85, 0x79, 0xff, 0x83, 0xf4, 0xf0, 0x0c, 0xad, 0xcc, 0xbd, 0x37, 0xfc, 0x8c, - 0x6b, 0x3b, 0x31, 0x8b, 0x53, 0xd4, 0xcb, 0x6f, 0xc3, 0x5c, 0x42, 0x58, 0xa1, 0xaf, 0x63, 0xfe, - 0x52, 0x82, 0xc5, 0xac, 0x56, 0x45, 0x74, 0x1d, 0xa6, 0xf6, 0x35, 0xd1, 0x5b, 0x11, 0xeb, 0x47, - 0xf9, 0x45, 0xcd, 0x54, 0x31, 0x9f, 0x09, 0x3f, 0x6e, 0x2a, 0xe5, 0x7e, 0xdc, 0x74, 0x0b, 0x40, - 0xb1, 0x35, 0xf1, 0x91, 0xbf, 0x58, 0x55, 0xe8, 0xbc, 0xd1, 0xe7, 0xff, 0x38, 0x46, 0xc5, 0x3b, - 0x90, 0x22, 0x7d, 0x44, 0x59, 0x18, 0xb5, 0x06, 0xc5, 0x54, 0x8d, 0xd3, 0xc9, 0x7f, 0x25, 0xc1, - 0x67, 0x9e, 0xbb, 0x83, 0x43, 0xad, 0x44, 0x78, 0x68, 0xa6, 0xc2, 0xc3, 0x4a, 0x3e, 0xc0, 0x39, - 0x76, 0x7f, 0x7f, 0xaf, 0x04, 0x68, 0x7b, 0x4f, 0x73, 0xd4, 0xb6, 0xe2, 0xd0, 0x01, 0x16, 0x0b, - 0x3c, 0xc3, 0x80, 0x71, 0x1b, 0x6a, 0x2a, 0x71, 0x7b, 0x8e, 0xc6, 0x8d, 0x24, 0x1e, 0x67, 0x68, - 0xf1, 0x8d, 0x68, 0x0a, 0xc7, 0xe9, 0x50, 0x1f, 0xaa, 0xa2, 0x56, 0x0c, 0x5a, 0x58, 0x8a, 0x16, - 0xbe, 0x91, 0x07, 0x44, 0xef, 0x87, 0x18, 0x70, 0x71, 0x08, 0x2e, 0x7f, 0x5f, 0x82, 0xa5, 0x51, - 0x83, 0x6c, 0xf8, 0x0d, 0x1a, 0x67, 0x65, 0x94, 0x97, 0x60, 0x8a, 0xa3, 0x32, 0x6b, 0x5c, 0xf4, - 0x4f, 0xc2, 0x99, 0x44, 0xcc, 0x47, 0xe5, 0x9f, 0x4a, 0xb0, 0x9c, 0xad, 0xd2, 0x79, 0xec, 0x37, - 0x3e, 0x48, 0xee, 0x37, 0x8a, 0x9e, 0x2a, 0x64, 0x2b, 0x9e, 0xb3, 0xf7, 0xf8, 0x24, 0xd3, 0xf8, - 0xe7, 0xb1, 0xca, 0xdd, 0xe4, 0x2a, 0xd7, 0x4e, 0xbc, 0xca, 0xec, 0x15, 0xb6, 0x3e, 0xf7, 0xf1, - 0xa7, 0x2b, 0x17, 0x7e, 0xfc, 0xe9, 0xca, 0x85, 0x7f, 0xfe, 0x74, 0xe5, 0xc2, 0x77, 0x8f, 0x56, - 0xa4, 0x8f, 0x8f, 0x56, 0xa4, 0x1f, 0x1f, 0xad, 0x48, 0xff, 0x76, 0xb4, 0x22, 0x7d, 0xff, 0x27, - 0x2b, 0x17, 0xbe, 0x36, 0x23, 0x30, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0x18, 0x07, 0xfd, 0xe8, - 0x4d, 0x46, 0x00, 0x00, + 0x6c, 0x07, 0x23, 0xcb, 0x5e, 0x7e, 0x3d, 0x9b, 0xda, 0xf1, 0x4c, 0xaa, 0x19, 0xa3, 0x3a, 0xbd, + 0x31, 0x9e, 0xdc, 0xed, 0xed, 0x11, 0x43, 0x19, 0xe1, 0xba, 0x99, 0xcd, 0xe5, 0x51, 0x4d, 0x5f, + 0xd5, 0x4c, 0xea, 0x52, 0x27, 0xcd, 0x22, 0x37, 0x01, 0xd6, 0xda, 0x0f, 0x9e, 0xf8, 0xab, 0x44, + 0xd7, 0x61, 0xca, 0x54, 0x0c, 0x52, 0x97, 0xae, 0x4b, 0x37, 0x66, 0x5b, 0x17, 0x3f, 0x1e, 0x36, + 0x2e, 0x1c, 0x0d, 0x1b, 0x53, 0x8f, 0x14, 0x83, 0x60, 0x3e, 0x23, 0xbf, 0x07, 0x8b, 0xeb, 0xed, + 0x9d, 0x6d, 0xc5, 0xe9, 0x13, 0xba, 0x43, 0x35, 0x5d, 0xfb, 0x96, 0x42, 0x19, 0xe7, 0x06, 0x2c, + 0x50, 0x3e, 0xd8, 0x26, 0x4e, 0x8f, 0x98, 0x54, 0xe9, 0xfb, 0x28, 0x95, 0x56, 0x5d, 0xa0, 0x2c, + 0x6c, 0xa7, 0xe6, 0xf1, 0x08, 0x87, 0xfc, 0x1b, 0x12, 0xbc, 0xb0, 0xee, 0xb9, 0xd4, 0x32, 0xb6, + 0x08, 0x75, 0xb4, 0xde, 0xba, 0xe7, 0x38, 0xc4, 0xa4, 0x1d, 0xaa, 0x50, 0xcf, 0x7d, 0xbe, 0x76, + 0xe8, 0x29, 0x54, 0x0e, 0x14, 0xdd, 0x23, 0xf5, 0xd2, 0x75, 0xe9, 0x46, 0xed, 0xd6, 0x6b, 0xcd, + 0x5c, 0x67, 0x6b, 0x06, 0xee, 0xd0, 0xfc, 0x8a, 0xa7, 0x98, 0x54, 0xa3, 0x83, 0xd6, 0xa2, 0x00, + 0xbc, 0x28, 0xa4, 0x3e, 0x61, 0x48, 0xd8, 0x07, 0x94, 0xbf, 0x27, 0xc1, 0xcb, 0xb9, 0x9a, 0x6d, + 0x6a, 0x2e, 0x45, 0x06, 0x54, 0x34, 0x4a, 0x0c, 0xb7, 0x2e, 0x5d, 0x2f, 0xdf, 0xa8, 0xdd, 0xba, + 0xdf, 0x2c, 0xe4, 0xe8, 0xcd, 0x5c, 0xf0, 0xd6, 0x9c, 0xd0, 0xab, 0xf2, 0x80, 0xc1, 0x63, 0x5f, + 0x8a, 0xfc, 0xeb, 0x12, 0xa0, 0x38, 0x8f, 0x6f, 0xdd, 0x63, 0xd8, 0xe8, 0xab, 0x27, 0xb1, 0xd1, + 0x15, 0x01, 0x58, 0xf3, 0xc5, 0x25, 0x4c, 0xf4, 0x5d, 0x09, 0x96, 0x46, 0x35, 0xe2, 0xb6, 0xd9, + 0x4d, 0xda, 0x66, 0xed, 0x04, 0xb6, 0xf1, 0x51, 0x73, 0x8c, 0xf2, 0x07, 0x25, 0x98, 0xdd, 0x50, + 0x88, 0x61, 0x99, 0x1d, 0x42, 0xd1, 0x53, 0xa8, 0x1a, 0x84, 0x2a, 0xaa, 0x42, 0x15, 0x6e, 0x8f, + 0xda, 0xad, 0x1b, 0x63, 0x16, 0x7b, 0x70, 0xb3, 0xf9, 0xb8, 0xfb, 0x01, 0xe9, 0xd1, 0x2d, 0x42, + 0x95, 0x16, 0x12, 0xf8, 0x10, 0x8d, 0xe1, 0x10, 0x0d, 0xbd, 0x0f, 0x53, 0xae, 0x4d, 0x7a, 0xc2, + 0x84, 0xef, 0x14, 0x5c, 0x4e, 0xa8, 0x61, 0xc7, 0x26, 0xbd, 0xe8, 0x19, 0xb1, 0x7f, 0x98, 0xe3, + 0xa2, 0x5d, 0x98, 0x76, 0xf9, 0xc3, 0xaf, 0x97, 0xb9, 0x84, 0x77, 0x27, 0x96, 0xe0, 0xbb, 0xd0, + 0xbc, 0x90, 0x31, 0xed, 0xff, 0xc7, 0x02, 0x5d, 0xfe, 0x5b, 0x09, 0xe6, 0x42, 0x5a, 0xfe, 0xa4, + 0xbe, 0x31, 0x62, 0xb3, 0xd5, 0x31, 0x36, 0x8b, 0xc5, 0xc7, 0x26, 0x63, 0xe7, 0xa6, 0x5b, 0x10, + 0xc2, 0xaa, 0xc1, 0x48, 0xcc, 0x70, 0xdf, 0x08, 0x1c, 0xa1, 0xc4, 0x1d, 0xe1, 0xcd, 0x49, 0xd7, + 0x95, 0xf3, 0xfc, 0xff, 0x26, 0xbe, 0x1e, 0x66, 0x4f, 0xf4, 0x3e, 0x54, 0x5d, 0xa2, 0x93, 0x1e, + 0xb5, 0x1c, 0xb1, 0x9e, 0x37, 0x8e, 0xbb, 0x1e, 0xa5, 0x4b, 0xf4, 0x8e, 0xe0, 0x6d, 0x5d, 0x64, + 0x0b, 0x0a, 0xfe, 0xe1, 0x10, 0x13, 0x7d, 0x1d, 0xaa, 0x94, 0x18, 0xb6, 0xae, 0xd0, 0xe0, 0x85, + 0x7a, 0x7d, 0xbc, 0x8f, 0xb5, 0x2d, 0x75, 0x5b, 0x30, 0xf0, 0xc7, 0x1f, 0x5a, 0x2b, 0x18, 0xc5, + 0x21, 0xa0, 0xfc, 0x17, 0x25, 0xb8, 0x94, 0x7a, 0x94, 0xe8, 0x09, 0x2c, 0xf5, 0xfc, 0xf0, 0xf0, + 0xc8, 0x33, 0xba, 0xc4, 0xe9, 0xf4, 0xf6, 0x88, 0xea, 0xe9, 0x44, 0x15, 0xe1, 0x76, 0x45, 0xe0, + 0x2d, 0xad, 0x67, 0x52, 0xe1, 0x1c, 0x6e, 0xf4, 0x10, 0x90, 0xc9, 0x87, 0xb6, 0x34, 0xd7, 0x0d, + 0x31, 0x4b, 0x1c, 0x73, 0x59, 0x60, 0xa2, 0x47, 0x23, 0x14, 0x38, 0x83, 0x8b, 0xe9, 0xa8, 0x12, + 0x57, 0x73, 0x88, 0x9a, 0xd6, 0xb1, 0x9c, 0xd4, 0x71, 0x23, 0x93, 0x0a, 0xe7, 0x70, 0xa3, 0xdb, + 0x50, 0xf3, 0xa5, 0x61, 0xa2, 0xa8, 0x83, 0xfa, 0x14, 0x07, 0x0b, 0x43, 0xd2, 0xa3, 0x68, 0x0a, + 0xc7, 0xe9, 0xe4, 0x3f, 0x2c, 0x01, 0x6c, 0x10, 0x5b, 0xb7, 0x06, 0x06, 0x31, 0xcf, 0x32, 0x2c, + 0x7c, 0x33, 0x11, 0x16, 0xbe, 0x58, 0xd4, 0xb9, 0x43, 0x15, 0x73, 0xe3, 0x42, 0x3f, 0x15, 0x17, + 0xbe, 0x34, 0xb9, 0x88, 0xf1, 0x81, 0xe1, 0x27, 0x65, 0xb8, 0x12, 0x11, 0xaf, 0x5b, 0xa6, 0xaa, + 0xf1, 0x34, 0xff, 0x36, 0x4c, 0xd1, 0x81, 0x1d, 0xa4, 0x97, 0xcf, 0x06, 0x2a, 0x6e, 0x0f, 0x6c, + 0xf2, 0x6c, 0xd8, 0xb8, 0x96, 0xc1, 0xc2, 0xa6, 0x30, 0x67, 0x42, 0x4f, 0x42, 0xed, 0x4b, 0x9c, + 0xfd, 0xdd, 0xa4, 0xf0, 0x67, 0xc3, 0xc6, 0xd8, 0x9a, 0xaa, 0x19, 0x62, 0x26, 0x95, 0x45, 0xaf, + 0xc2, 0xb4, 0x43, 0x14, 0xd7, 0x32, 0xb9, 0x47, 0xcc, 0x46, 0x8b, 0xc2, 0x7c, 0x14, 0x8b, 0x59, + 0xf4, 0x39, 0x98, 0x31, 0x88, 0xeb, 0xb2, 0xd2, 0xa4, 0xc2, 0x09, 0x2f, 0x09, 0xc2, 0x99, 0x2d, + 0x7f, 0x18, 0x07, 0xf3, 0x68, 0x1f, 0xe6, 0x75, 0xc5, 0xa5, 0x3b, 0xb6, 0xaa, 0x50, 0xb2, 0xad, + 0x19, 0xa4, 0x3e, 0xcd, 0x0d, 0xfe, 0xb3, 0xc7, 0x0c, 0x1e, 0x8c, 0xa5, 0xb5, 0x24, 0xe0, 0xe7, + 0x37, 0x13, 0x50, 0x38, 0x05, 0x8d, 0x3e, 0x02, 0xc4, 0x46, 0xb6, 0x1d, 0xc5, 0x74, 0x7d, 0x9b, + 0x31, 0x81, 0x33, 0xc5, 0x05, 0x86, 0xef, 0xe9, 0xe6, 0x08, 0x1c, 0xce, 0x10, 0x21, 0xff, 0x9d, + 0x04, 0xf3, 0xd1, 0x23, 0x3b, 0x8f, 0xf8, 0xff, 0x7e, 0x32, 0xfe, 0x7f, 0x61, 0x62, 0xff, 0xcd, + 0x49, 0x00, 0xbf, 0x59, 0x06, 0x14, 0x11, 0x61, 0x4b, 0xd7, 0xbb, 0x4a, 0x6f, 0xff, 0x18, 0x55, + 0xd1, 0xef, 0x49, 0x80, 0x3c, 0xfe, 0x48, 0xd4, 0x35, 0xd3, 0xb4, 0x28, 0xaf, 0x6a, 0x03, 0x35, + 0x7f, 0x69, 0x62, 0x35, 0x03, 0x0d, 0x9a, 0x3b, 0x23, 0xd8, 0x77, 0x4c, 0xea, 0x0c, 0xa2, 0x47, + 0x36, 0x4a, 0x80, 0x33, 0x14, 0x42, 0x1f, 0x02, 0x38, 0x02, 0x73, 0xdb, 0x12, 0x51, 0xa0, 0x68, + 0xa0, 0x09, 0x94, 0x5a, 0xb7, 0xcc, 0x5d, 0xad, 0x1f, 0xc5, 0x34, 0x1c, 0x02, 0xe3, 0x98, 0x90, + 0xe5, 0x3b, 0x70, 0x2d, 0x47, 0x7b, 0xb4, 0x00, 0xe5, 0x7d, 0x32, 0xf0, 0xcd, 0x8a, 0xd9, 0x4f, + 0xb4, 0x18, 0xaf, 0x2e, 0x67, 0x45, 0x69, 0xf8, 0x56, 0xe9, 0x4d, 0x49, 0xfe, 0x69, 0x25, 0xee, + 0x6c, 0x3c, 0x39, 0xdf, 0x80, 0xaa, 0x43, 0x6c, 0x5d, 0xeb, 0x29, 0xae, 0xc8, 0x5e, 0x3c, 0xcd, + 0x62, 0x31, 0x86, 0xc3, 0xd9, 0x44, 0x1a, 0x2f, 0x9d, 0x71, 0x1a, 0x2f, 0x9f, 0x72, 0x1a, 0x47, + 0x16, 0x54, 0x5d, 0xca, 0x36, 0x5d, 0x7d, 0x3f, 0x67, 0x15, 0x2f, 0x80, 0xe3, 0x71, 0xdb, 0x07, + 0x8a, 0x04, 0x06, 0x23, 0x38, 0x14, 0x82, 0xd6, 0xe0, 0x92, 0xa1, 0x99, 0x3c, 0xf9, 0x75, 0x48, + 0xcf, 0x32, 0x55, 0x97, 0x07, 0xbc, 0x4a, 0xeb, 0x9a, 0x60, 0xba, 0xb4, 0x95, 0x9c, 0xc6, 0x69, + 0x7a, 0xb4, 0x09, 0x8b, 0x0e, 0x39, 0xd0, 0x98, 0x1a, 0xf7, 0x35, 0x97, 0x5a, 0xce, 0x60, 0x53, + 0x33, 0x34, 0xca, 0xc3, 0x60, 0xa5, 0x55, 0x3f, 0x1a, 0x36, 0x16, 0x71, 0xc6, 0x3c, 0xce, 0xe4, + 0x62, 0x11, 0xda, 0x56, 0x3c, 0x97, 0xa8, 0x3c, 0xaa, 0x55, 0xa3, 0x08, 0xdd, 0xe6, 0xa3, 0x58, + 0xcc, 0x22, 0x23, 0xe1, 0xdd, 0xd5, 0xd3, 0xf0, 0xee, 0xf9, 0x7c, 0xcf, 0x46, 0x3b, 0x70, 0xcd, + 0x76, 0xac, 0xbe, 0x43, 0x5c, 0x77, 0x83, 0x28, 0xaa, 0xae, 0x99, 0x24, 0xb0, 0xd7, 0x2c, 0x5f, + 0xe7, 0x8b, 0x47, 0xc3, 0xc6, 0xb5, 0x76, 0x36, 0x09, 0xce, 0xe3, 0x95, 0x3f, 0x29, 0xc3, 0x42, + 0x3a, 0xd3, 0xb2, 0xfa, 0xca, 0xea, 0xba, 0xc4, 0x39, 0x20, 0xea, 0x3d, 0x7f, 0x0f, 0xae, 0x59, + 0x26, 0xf7, 0xfa, 0x72, 0x14, 0x04, 0x1e, 0x8f, 0x50, 0xe0, 0x0c, 0x2e, 0xf4, 0x5a, 0xec, 0xbd, + 0xf1, 0x2b, 0xb4, 0xd0, 0x1b, 0x32, 0xde, 0x9d, 0x35, 0xb8, 0x24, 0x02, 0x49, 0x30, 0x29, 0xca, + 0xb0, 0xd0, 0x1b, 0x76, 0x92, 0xd3, 0x38, 0x4d, 0x8f, 0xee, 0xc1, 0x65, 0xe5, 0x40, 0xd1, 0x74, + 0xa5, 0xab, 0x93, 0x10, 0xc4, 0x2f, 0xbf, 0x5e, 0x10, 0x20, 0x97, 0xd7, 0xd2, 0x04, 0x78, 0x94, + 0x07, 0x6d, 0xc1, 0x15, 0xcf, 0x1c, 0x85, 0xf2, 0xbd, 0xf3, 0x45, 0x01, 0x75, 0x65, 0x67, 0x94, + 0x04, 0x67, 0xf1, 0xa1, 0x03, 0x80, 0x5e, 0x50, 0x14, 0xb8, 0xf5, 0x69, 0x1e, 0xac, 0x5b, 0x13, + 0xbf, 0x5b, 0x61, 0x7d, 0x11, 0x85, 0xc4, 0x70, 0xc8, 0xc5, 0x31, 0x49, 0xf2, 0xdf, 0x4b, 0xf1, + 0x34, 0x13, 0xbc, 0x81, 0xe8, 0xad, 0x44, 0x75, 0xf4, 0x6a, 0xaa, 0x3a, 0x5a, 0x1a, 0xe5, 0x88, + 0x15, 0x47, 0xdf, 0x81, 0x39, 0xe6, 0x99, 0x9a, 0xd9, 0xf7, 0x9f, 0x86, 0x08, 0x73, 0x77, 0x27, + 0xf0, 0xfe, 0x10, 0x23, 0x96, 0x2e, 0x2f, 0x1f, 0x0d, 0x1b, 0x73, 0x89, 0x49, 0x9c, 0x94, 0x27, + 0xbf, 0x07, 0x73, 0x77, 0x0e, 0x6d, 0xcb, 0xa1, 0x8f, 0x6d, 0x3f, 0xd5, 0xbc, 0x0a, 0xd3, 0x84, + 0x0f, 0xf0, 0xf5, 0xc4, 0x5e, 0x5a, 0x9f, 0x0c, 0x8b, 0x59, 0xf4, 0x0a, 0x54, 0xc8, 0xa1, 0xd2, + 0xa3, 0x5c, 0xe3, 0x6a, 0x94, 0x98, 0xef, 0xb0, 0x41, 0xec, 0xcf, 0xc9, 0x3f, 0x94, 0x60, 0xe9, + 0x6e, 0xe7, 0x9e, 0x63, 0x79, 0x76, 0xb0, 0xf8, 0x40, 0xce, 0x2f, 0xc0, 0x94, 0xe3, 0xe9, 0x81, + 0xd5, 0x5e, 0x09, 0xac, 0x86, 0x3d, 0x9d, 0x59, 0xed, 0x4a, 0x8a, 0xcb, 0x37, 0x19, 0x63, 0x40, + 0xef, 0xc3, 0xb4, 0xa3, 0x98, 0x7d, 0x12, 0xa4, 0xe9, 0xcf, 0x17, 0xb4, 0xd5, 0x83, 0x0d, 0xcc, + 0xd8, 0x63, 0xf5, 0x22, 0x47, 0xc3, 0x02, 0x55, 0xfe, 0x1d, 0x09, 0x2e, 0xdd, 0xdf, 0xde, 0x6e, + 0x3f, 0x30, 0xf9, 0x6b, 0xde, 0x56, 0xe8, 0x1e, 0xab, 0x24, 0x6c, 0x85, 0xee, 0xa5, 0x2b, 0x09, + 0x36, 0x87, 0xf9, 0x0c, 0xda, 0x83, 0x19, 0x16, 0x5e, 0x88, 0xa9, 0x4e, 0xb8, 0x0f, 0x10, 0xe2, + 0x5a, 0x3e, 0x48, 0x54, 0xa4, 0x8a, 0x01, 0x1c, 0xc0, 0xcb, 0xdf, 0x86, 0xc5, 0x98, 0x7a, 0xcc, + 0x5e, 0xfc, 0x3c, 0x06, 0xf5, 0xa0, 0xc2, 0x34, 0x09, 0x4e, 0x5b, 0x8a, 0x1e, 0x1e, 0xa4, 0x96, + 0x1c, 0x3d, 0x50, 0xf6, 0xcf, 0xc5, 0x3e, 0xb6, 0xfc, 0x4f, 0x25, 0xb8, 0x76, 0xdf, 0x72, 0xb4, + 0x6f, 0x59, 0x26, 0x55, 0xf4, 0xb6, 0xa5, 0xae, 0x79, 0xd4, 0x72, 0x7b, 0x8a, 0x4e, 0x9c, 0x33, + 0xdc, 0x61, 0xe9, 0x89, 0x1d, 0xd6, 0xc3, 0xa2, 0x2b, 0xcb, 0xd6, 0x37, 0x77, 0xbb, 0x45, 0x53, + 0xdb, 0xad, 0xcd, 0x53, 0x92, 0x37, 0x7e, 0xef, 0xf5, 0x1f, 0x12, 0xbc, 0x98, 0xc3, 0x79, 0x1e, + 0x25, 0xfa, 0x7e, 0xb2, 0x44, 0xbf, 0x7b, 0x3a, 0x6b, 0xce, 0xa9, 0xd7, 0xff, 0xa7, 0x94, 0xbb, + 0x56, 0x5e, 0x21, 0x7e, 0x08, 0x55, 0xfe, 0x0f, 0x93, 0x5d, 0xb1, 0xd6, 0xf5, 0x82, 0xfa, 0x74, + 0xbc, 0x6e, 0x70, 0x8c, 0x89, 0xc9, 0x2e, 0x71, 0x88, 0xd9, 0x23, 0xb1, 0xe2, 0x49, 0x80, 0xe3, + 0x50, 0x0c, 0xba, 0x09, 0x35, 0x5e, 0x0c, 0x25, 0xf2, 0xeb, 0xa5, 0xa3, 0x61, 0xa3, 0xb6, 0x15, + 0x0d, 0xe3, 0x38, 0x0d, 0xba, 0x0d, 0x35, 0x43, 0x39, 0x4c, 0x65, 0xd7, 0xf0, 0x5c, 0x62, 0x2b, + 0x9a, 0xc2, 0x71, 0x3a, 0xf4, 0x1d, 0x98, 0xef, 0xd9, 0x5e, 0xec, 0x14, 0x5d, 0x54, 0x87, 0x45, + 0x97, 0x98, 0x75, 0x20, 0xdf, 0x42, 0x6c, 0xe3, 0xb9, 0xde, 0xde, 0x89, 0x8d, 0xe1, 0x94, 0x38, + 0xf9, 0xcf, 0xcb, 0xf0, 0xf2, 0x58, 0x1f, 0x45, 0x77, 0xc7, 0x54, 0x2d, 0x4b, 0x05, 0x2a, 0x16, + 0x15, 0xe6, 0xd8, 0xfe, 0x93, 0x9b, 0x9b, 0xef, 0x6e, 0x4b, 0xc5, 0x77, 0xb7, 0x3c, 0x85, 0x6d, + 0xc6, 0x51, 0x70, 0x12, 0x94, 0x55, 0x3a, 0xe2, 0x74, 0x2b, 0xaf, 0xd2, 0x59, 0x4f, 0x4e, 0xe3, + 0x34, 0x3d, 0x83, 0x10, 0x87, 0x4f, 0xa9, 0x3a, 0x27, 0x84, 0xd8, 0x48, 0x4e, 0xe3, 0x34, 0x3d, + 0x32, 0xa0, 0x21, 0x50, 0x93, 0xe6, 0x8f, 0xdd, 0x8c, 0xf8, 0xf5, 0xce, 0x2b, 0x47, 0xc3, 0x46, + 0x63, 0x7d, 0x3c, 0x29, 0x7e, 0x1e, 0x96, 0xbc, 0x05, 0x73, 0xf7, 0x2d, 0x97, 0xb6, 0x59, 0x4a, + 0x66, 0x79, 0x0b, 0xbd, 0x0c, 0x65, 0x43, 0x33, 0xc5, 0x86, 0xaa, 0x26, 0xd4, 0x2e, 0x33, 0xe7, + 0x65, 0xe3, 0x7c, 0x5a, 0x39, 0x14, 0x7e, 0x1d, 0x4d, 0x2b, 0x87, 0x98, 0x8d, 0xcb, 0xf7, 0x60, + 0x46, 0xe4, 0xc5, 0x38, 0x50, 0x79, 0x3c, 0x50, 0x39, 0x03, 0xe8, 0xf7, 0x4b, 0x30, 0x23, 0xd2, + 0xc8, 0x19, 0x26, 0x84, 0xf7, 0x12, 0x09, 0xe1, 0xad, 0xc9, 0x52, 0x6d, 0x6e, 0x02, 0x50, 0x53, + 0x09, 0xe0, 0x9d, 0x09, 0xf1, 0xc7, 0x07, 0xfc, 0x1f, 0x48, 0x30, 0x9f, 0x4c, 0xfa, 0x2c, 0xa2, + 0xb0, 0x77, 0x48, 0xeb, 0x91, 0x47, 0xd1, 0xb9, 0x45, 0x18, 0x51, 0x3a, 0xd1, 0x14, 0x8e, 0xd3, + 0x21, 0x12, 0xb2, 0x31, 0x77, 0x10, 0x46, 0x69, 0xe6, 0x28, 0xed, 0x51, 0x4d, 0x6f, 0xfa, 0xd7, + 0x82, 0xcd, 0x07, 0x26, 0x7d, 0xec, 0x74, 0xa8, 0xa3, 0x99, 0xfd, 0x11, 0x31, 0xdc, 0xb3, 0xe2, + 0xb8, 0xf2, 0x5f, 0x4b, 0x50, 0x13, 0x0a, 0x9f, 0x47, 0x46, 0xfa, 0x7a, 0x32, 0x23, 0x7d, 0x7e, + 0xc2, 0x7a, 0x2a, 0x3b, 0x03, 0xfd, 0x28, 0x5a, 0x0b, 0xab, 0xa0, 0x58, 0x81, 0xb7, 0x67, 0xb9, + 0x34, 0x5d, 0xe0, 0xb1, 0x57, 0x0c, 0xf3, 0x19, 0xf4, 0x6b, 0x12, 0x2c, 0x68, 0xa9, 0x9a, 0x4b, + 0x98, 0xfa, 0x4b, 0x93, 0xa9, 0x16, 0xc2, 0x44, 0x97, 0xa5, 0xe9, 0x19, 0x3c, 0x22, 0x52, 0xf6, + 0x60, 0x84, 0x0a, 0x29, 0x30, 0xb5, 0x47, 0xa9, 0x3d, 0x61, 0xae, 0xcc, 0xaa, 0x26, 0x5b, 0x55, + 0xbe, 0xfc, 0xed, 0xed, 0x36, 0xe6, 0xd0, 0xf2, 0x0f, 0x4a, 0xa1, 0xc1, 0x3a, 0xfe, 0x3b, 0x12, + 0xd6, 0xbb, 0xd2, 0x69, 0xd4, 0xbb, 0xb5, 0xac, 0x5a, 0x17, 0x3d, 0x85, 0x32, 0xd5, 0x27, 0x3d, + 0x36, 0x14, 0x12, 0xb6, 0x37, 0x3b, 0x51, 0x9c, 0xda, 0xde, 0xec, 0x60, 0x06, 0x89, 0xbe, 0x09, + 0x15, 0xb6, 0x9b, 0x60, 0xaf, 0x78, 0x79, 0xf2, 0x10, 0xc2, 0xec, 0x15, 0x79, 0x18, 0xfb, 0xe7, + 0x62, 0x1f, 0x57, 0xfe, 0x36, 0xcc, 0x25, 0xe2, 0x00, 0xfa, 0x00, 0x2e, 0xea, 0x96, 0xa2, 0xb6, + 0x14, 0x5d, 0x31, 0x7b, 0x24, 0xb8, 0x97, 0xfa, 0xb9, 0xf1, 0x11, 0x71, 0x33, 0xc6, 0x21, 0xe2, + 0x49, 0x78, 0x61, 0x1d, 0x9f, 0xc3, 0x09, 0x6c, 0x59, 0x01, 0x88, 0x56, 0x8f, 0x1a, 0x50, 0x61, + 0x2e, 0xec, 0xef, 0x0c, 0x66, 0x5b, 0xb3, 0x4c, 0x57, 0xe6, 0xd9, 0x2e, 0xf6, 0xc7, 0xd1, 0x2d, + 0x00, 0x97, 0xf4, 0x1c, 0x42, 0x79, 0xd8, 0xf1, 0x8f, 0xe9, 0xc3, 0x00, 0xdc, 0x09, 0x67, 0x70, + 0x8c, 0x4a, 0xfe, 0xad, 0x12, 0x94, 0x1f, 0x5a, 0xdd, 0x33, 0x0c, 0xf2, 0x4f, 0x13, 0x41, 0xbe, + 0xe8, 0xfb, 0xff, 0xd0, 0xea, 0xe6, 0x06, 0xf8, 0x5f, 0x4e, 0x05, 0xf8, 0x37, 0x27, 0xc0, 0x1e, + 0x1f, 0xdc, 0xff, 0xa1, 0x0c, 0x17, 0x1f, 0x5a, 0xdd, 0xe8, 0x0a, 0xe5, 0x8d, 0xc4, 0x21, 0xc1, + 0xf5, 0xd4, 0x21, 0xc1, 0x42, 0x9c, 0xf6, 0x1c, 0xee, 0x4e, 0xf6, 0xfc, 0xc2, 0xac, 0xed, 0x58, + 0x5d, 0xbf, 0x30, 0x2b, 0x17, 0x2f, 0xcc, 0xae, 0x0a, 0x5d, 0x78, 0x71, 0x16, 0x22, 0xe1, 0x24, + 0x70, 0xce, 0x2d, 0xc7, 0xd4, 0x99, 0xdf, 0x72, 0xc4, 0xae, 0x87, 0x2a, 0xc7, 0xbd, 0x1e, 0x9a, + 0x1e, 0x7f, 0x3d, 0x24, 0xff, 0x99, 0x04, 0x33, 0x0f, 0xad, 0xee, 0x79, 0x24, 0xbf, 0xaf, 0x26, + 0x93, 0xdf, 0xad, 0xe2, 0x0e, 0x9a, 0x93, 0xf8, 0xfe, 0xa8, 0xcc, 0xd7, 0xc0, 0x63, 0xf8, 0x4d, + 0xa8, 0xd9, 0x8a, 0xa3, 0xe8, 0x3a, 0xd1, 0x35, 0xd7, 0x10, 0xa5, 0x23, 0xdf, 0xf3, 0xb4, 0xa3, + 0x61, 0x1c, 0xa7, 0x61, 0x2c, 0x3d, 0xcb, 0xb0, 0x75, 0x12, 0x5c, 0x94, 0x84, 0x2c, 0xeb, 0xd1, + 0x30, 0x8e, 0xd3, 0xa0, 0xc7, 0x70, 0x55, 0xe9, 0x51, 0xed, 0x80, 0xa4, 0x0f, 0x5b, 0xcb, 0xbc, + 0x84, 0x7c, 0xe1, 0x68, 0xd8, 0xb8, 0xba, 0x96, 0x45, 0x80, 0xb3, 0xf9, 0x12, 0xb7, 0x02, 0x53, + 0x67, 0x70, 0x2b, 0xf0, 0x06, 0x5c, 0x54, 0x3c, 0x6a, 0x05, 0x33, 0xdc, 0x7f, 0xaa, 0xad, 0x05, + 0x16, 0x72, 0xd7, 0x62, 0xe3, 0x38, 0x41, 0x95, 0xb8, 0x4b, 0x98, 0x3e, 0xed, 0x96, 0x80, 0x3f, + 0x2d, 0xc3, 0x6c, 0x18, 0x74, 0x90, 0x95, 0x38, 0xff, 0xf4, 0x8f, 0x7b, 0xde, 0x2e, 0xee, 0x21, + 0xc7, 0x3e, 0xf8, 0x44, 0x4f, 0x61, 0xd6, 0xa5, 0x8a, 0x43, 0x27, 0xdd, 0xc3, 0xcd, 0x1d, 0x0d, + 0x1b, 0xb3, 0x9d, 0x00, 0x01, 0x47, 0x60, 0xa8, 0x0f, 0xf3, 0x91, 0xaf, 0x4c, 0x1a, 0x89, 0xfc, + 0x4d, 0x6f, 0x02, 0x06, 0xa7, 0x60, 0x59, 0x38, 0xf0, 0xbd, 0x49, 0x6c, 0xec, 0xc2, 0x70, 0xe0, + 0xbb, 0x1e, 0x16, 0xb3, 0x68, 0x15, 0x66, 0x5d, 0xaf, 0xd7, 0x23, 0x44, 0x25, 0xaa, 0xd8, 0xb0, + 0x5d, 0x16, 0xa4, 0xb3, 0x9d, 0x60, 0x02, 0x47, 0x34, 0x0c, 0x78, 0x57, 0xd1, 0x74, 0xa2, 0x8a, + 0x4b, 0x92, 0x10, 0xf8, 0x2e, 0x1f, 0xc5, 0x62, 0x96, 0x37, 0xdd, 0x3c, 0x22, 0xf4, 0x23, 0xcb, + 0xd9, 0x6f, 0x5b, 0xba, 0xd6, 0x1b, 0x9c, 0x61, 0xe6, 0xec, 0x26, 0x32, 0xe7, 0x97, 0x0b, 0xba, + 0x46, 0x42, 0xcb, 0xbc, 0x1c, 0x2a, 0xff, 0xbb, 0x04, 0xf5, 0x04, 0x65, 0xbc, 0x9c, 0x26, 0x50, + 0xb1, 0x2d, 0x87, 0x06, 0xce, 0x79, 0x22, 0x0d, 0xd8, 0xde, 0x23, 0x76, 0x1a, 0xc9, 0x60, 0xb1, + 0x8f, 0xce, 0xd6, 0xb9, 0xeb, 0x58, 0x86, 0x08, 0x92, 0x27, 0x93, 0x42, 0x88, 0x13, 0xad, 0xf3, + 0xae, 0x63, 0x19, 0x98, 0x63, 0xcb, 0xff, 0x28, 0xc1, 0xe5, 0x04, 0xe5, 0x79, 0x84, 0x7f, 0x25, + 0x19, 0xfe, 0xdf, 0x39, 0xc9, 0xca, 0x72, 0x12, 0xc1, 0x7f, 0xa7, 0xd7, 0xc5, 0x2c, 0x80, 0xfa, + 0x50, 0xb3, 0x2d, 0xb5, 0x73, 0x1a, 0xbd, 0x53, 0x7e, 0x22, 0x89, 0xc0, 0x70, 0x1c, 0x19, 0x0d, + 0xe0, 0xb2, 0xa9, 0x18, 0xc4, 0xb5, 0x95, 0x1e, 0xe9, 0x9c, 0xc6, 0x1d, 0xef, 0xd5, 0xa3, 0x61, + 0xe3, 0xf2, 0xa3, 0x34, 0x24, 0x1e, 0x95, 0x22, 0xff, 0xf1, 0xc8, 0xca, 0x2d, 0x87, 0xa2, 0xaf, + 0x40, 0x95, 0xf7, 0xc6, 0xf6, 0x2c, 0x5d, 0x14, 0x69, 0xb7, 0xd9, 0xc3, 0x69, 0x8b, 0xb1, 0x67, + 0xc3, 0xc6, 0xcf, 0x8c, 0x2d, 0xb5, 0x02, 0x42, 0x1c, 0xc2, 0xa0, 0x4d, 0x98, 0xb2, 0x27, 0xdf, + 0x90, 0xf3, 0x1d, 0x18, 0xdf, 0x85, 0x73, 0x14, 0xf9, 0x3f, 0xd3, 0x6a, 0xf3, 0x1c, 0xbe, 0x7f, + 0x7a, 0x0f, 0x2c, 0x3c, 0x01, 0xc8, 0x7d, 0x68, 0x0e, 0xcc, 0x88, 0xfd, 0xa8, 0x70, 0xcc, 0x7b, + 0x27, 0x71, 0xcc, 0xf8, 0x1e, 0x2a, 0x2c, 0xba, 0x82, 0xc1, 0x40, 0x10, 0x7f, 0xff, 0xb8, 0x42, + 0x3d, 0xcf, 0xd1, 0xe8, 0xe0, 0xcc, 0x63, 0xe7, 0x6e, 0x22, 0x76, 0x6e, 0x14, 0x5c, 0xe0, 0x88, + 0xa6, 0xb9, 0xf1, 0xf3, 0x5f, 0x25, 0xb8, 0x3a, 0x42, 0x7d, 0x1e, 0xb1, 0x85, 0x24, 0x63, 0xcb, + 0x97, 0x4f, 0xba, 0xc2, 0x9c, 0xf8, 0xf2, 0x31, 0x64, 0xac, 0x8f, 0xbb, 0xec, 0x2d, 0x00, 0xdb, + 0xd1, 0x0e, 0x34, 0x9d, 0xf4, 0x45, 0xff, 0x62, 0x35, 0x7a, 0x26, 0xed, 0x70, 0x06, 0xc7, 0xa8, + 0xd0, 0xaf, 0xc0, 0x92, 0x4a, 0x76, 0x15, 0x4f, 0xa7, 0x6b, 0xaa, 0xba, 0xae, 0xd8, 0x4a, 0x57, + 0xd3, 0x35, 0xaa, 0x89, 0x4b, 0xc0, 0xd9, 0xd6, 0x1d, 0xbf, 0xaf, 0x30, 0x8b, 0xe2, 0xd9, 0xb0, + 0xf1, 0xd9, 0xf1, 0x9b, 0xa4, 0x80, 0x78, 0x80, 0x73, 0x84, 0xa0, 0x5f, 0x95, 0xa0, 0xee, 0x90, + 0x0f, 0x3d, 0xcd, 0x21, 0xea, 0x86, 0x63, 0xd9, 0x09, 0x0d, 0xca, 0x5c, 0x83, 0x7b, 0x47, 0xc3, + 0x46, 0x1d, 0xe7, 0xd0, 0x14, 0xd1, 0x21, 0x57, 0x10, 0xa2, 0x70, 0x45, 0xd1, 0x75, 0xeb, 0x23, + 0x92, 0xb4, 0xc0, 0x14, 0x97, 0xdf, 0x3a, 0x1a, 0x36, 0xae, 0xac, 0x8d, 0x4e, 0x17, 0x11, 0x9d, + 0x05, 0x8f, 0x56, 0x61, 0xe6, 0xc0, 0xd2, 0x3d, 0x83, 0xb8, 0xf5, 0x0a, 0x97, 0xc4, 0x22, 0xed, + 0xcc, 0x13, 0x7f, 0xe8, 0x19, 0x2b, 0x74, 0x3a, 0x7c, 0xc7, 0x1a, 0x50, 0xa1, 0xdb, 0x50, 0xdb, + 0xb3, 0x5c, 0x2a, 0xde, 0x75, 0x5e, 0x16, 0x55, 0xa3, 0xe0, 0x72, 0x3f, 0x9a, 0xc2, 0x71, 0x3a, + 0x64, 0xc0, 0xec, 0x9e, 0x38, 0xd1, 0x76, 0xeb, 0x33, 0x13, 0xe5, 0xbd, 0xc4, 0x89, 0x78, 0x54, + 0xb7, 0x05, 0xc3, 0x2e, 0x8e, 0x24, 0xb0, 0x7d, 0x1f, 0xff, 0xf3, 0x60, 0x83, 0x77, 0x9c, 0x54, + 0xa3, 0x10, 0x74, 0xdf, 0x1f, 0xc6, 0xc1, 0x7c, 0x40, 0xfa, 0xa0, 0xbd, 0xce, 0x1b, 0x44, 0x52, + 0xa4, 0x0f, 0xda, 0xeb, 0x38, 0x98, 0x47, 0x36, 0xcc, 0xb8, 0x64, 0x53, 0x33, 0xbd, 0xc3, 0x3a, + 0xf0, 0x57, 0xf7, 0x4e, 0xd1, 0x8b, 0xab, 0x3b, 0x9c, 0x3b, 0x75, 0x5b, 0x1e, 0x49, 0x14, 0xf3, + 0x38, 0x10, 0x83, 0x0e, 0x61, 0xd6, 0xf1, 0xcc, 0x35, 0x77, 0xc7, 0x25, 0x4e, 0xbd, 0xc6, 0x65, + 0x16, 0x8d, 0xca, 0x38, 0xe0, 0x4f, 0x4b, 0x0d, 0x2d, 0x18, 0x52, 0xe0, 0x48, 0x18, 0xfa, 0x6d, + 0x09, 0x90, 0xeb, 0xd9, 0xb6, 0x4e, 0x0c, 0x62, 0x52, 0x45, 0xe7, 0x17, 0xf6, 0x6e, 0xfd, 0x22, + 0xd7, 0xa1, 0x5d, 0xf8, 0xc2, 0x2e, 0x0d, 0x94, 0x56, 0x26, 0x3c, 0x00, 0x18, 0x25, 0xc5, 0x19, + 0x7a, 0xb0, 0x47, 0xb1, 0xeb, 0xf2, 0xdf, 0xf5, 0xb9, 0x89, 0x1e, 0x45, 0x76, 0xe3, 0x42, 0xf4, + 0x28, 0xc4, 0x3c, 0x0e, 0xc4, 0xa0, 0x27, 0xb0, 0xe4, 0x10, 0x45, 0x7d, 0x6c, 0xea, 0x03, 0x6c, + 0x59, 0xf4, 0xae, 0xa6, 0x13, 0x77, 0xe0, 0x52, 0x62, 0xd4, 0xe7, 0xb9, 0xdb, 0x84, 0x0d, 0xd0, + 0x38, 0x93, 0x0a, 0xe7, 0x70, 0xf3, 0x4e, 0x66, 0x71, 0xcf, 0x74, 0xb6, 0x1f, 0x38, 0x9c, 0xac, + 0x93, 0x39, 0x52, 0xf1, 0xcc, 0x3a, 0x99, 0x63, 0x22, 0xc6, 0x9f, 0xbf, 0xfd, 0x57, 0x09, 0xae, + 0x44, 0xc4, 0xc7, 0xee, 0x64, 0xce, 0x60, 0x39, 0x87, 0xd3, 0xb8, 0xec, 0x33, 0xb2, 0xf2, 0x79, + 0x9e, 0x91, 0x9d, 0x56, 0x0b, 0x35, 0x6f, 0x2e, 0x8e, 0xac, 0xf8, 0x7f, 0xa0, 0xb9, 0x38, 0x52, + 0x36, 0xa7, 0x90, 0xf9, 0x93, 0x52, 0x7c, 0x45, 0xff, 0x9f, 0x3a, 0x58, 0x33, 0x1a, 0x4a, 0xa7, + 0x8a, 0x35, 0x94, 0xca, 0xff, 0x52, 0x86, 0x85, 0xf4, 0x4b, 0x9b, 0x68, 0x64, 0x94, 0x9e, 0xdb, + 0xc8, 0xd8, 0x86, 0xc5, 0x5d, 0x4f, 0xd7, 0x07, 0xdc, 0x20, 0xb1, 0x0b, 0x7a, 0xff, 0xec, 0xf1, + 0x25, 0xc1, 0xb9, 0x78, 0x37, 0x83, 0x06, 0x67, 0x72, 0xe6, 0x34, 0x65, 0x96, 0x27, 0x6a, 0xca, + 0x7c, 0x1b, 0xe6, 0x1c, 0xfe, 0xed, 0x49, 0xb2, 0x6f, 0x20, 0x3c, 0x1c, 0xc7, 0xf1, 0x49, 0x9c, + 0xa4, 0xcd, 0x6e, 0xb0, 0xac, 0x4c, 0xd0, 0x60, 0x79, 0x1a, 0x1d, 0x91, 0x19, 0xb1, 0xef, 0xb9, + 0x1d, 0x91, 0x2f, 0xc1, 0xb2, 0x60, 0x63, 0xff, 0xd7, 0x2d, 0x93, 0x3a, 0x96, 0xae, 0x13, 0x67, + 0xc3, 0x33, 0x8c, 0x81, 0xfc, 0x2e, 0xcc, 0x27, 0xdb, 0x72, 0xfd, 0x27, 0xef, 0x77, 0x0a, 0x8b, + 0x06, 0x83, 0xd8, 0x93, 0xf7, 0xc7, 0x71, 0x48, 0x21, 0x7f, 0x22, 0xc1, 0xb5, 0x9c, 0xce, 0x46, + 0xf4, 0x01, 0xcc, 0x1b, 0xca, 0x61, 0xac, 0x65, 0x54, 0x84, 0x96, 0xa2, 0xbb, 0x6c, 0x7e, 0x76, + 0xb8, 0x95, 0x40, 0xc2, 0x29, 0x64, 0x9e, 0x70, 0x95, 0xc3, 0x8e, 0xe7, 0xf4, 0xc9, 0x84, 0x7b, + 0x79, 0xfe, 0xfa, 0x6e, 0x09, 0x0c, 0x1c, 0xa2, 0xc9, 0x3f, 0x94, 0xa0, 0x9e, 0x57, 0x7d, 0xa1, + 0xdb, 0x89, 0x0e, 0xc9, 0xcf, 0xa4, 0x3a, 0x24, 0x2f, 0x8f, 0xf0, 0x9d, 0x53, 0x7f, 0xe4, 0x8f, + 0x24, 0x58, 0xca, 0xae, 0x52, 0xd1, 0xcf, 0x27, 0x34, 0x6e, 0xa4, 0x34, 0xbe, 0x94, 0xe2, 0x12, + 0xfa, 0xee, 0xc1, 0xbc, 0xa8, 0x65, 0x05, 0xcc, 0x31, 0x3e, 0x51, 0x3d, 0x08, 0x0b, 0xe5, 0xa0, + 0x2a, 0xe3, 0xcf, 0x31, 0x39, 0x86, 0x53, 0xb8, 0xf2, 0xef, 0x96, 0xa0, 0xc2, 0xdb, 0x86, 0xce, + 0xb0, 0x84, 0xfa, 0x5a, 0xa2, 0x84, 0x2a, 0x7a, 0xb1, 0xc8, 0xb5, 0xcb, 0xad, 0x9e, 0xba, 0xa9, + 0xea, 0xe9, 0xad, 0x89, 0xd0, 0xc7, 0x17, 0x4e, 0x5f, 0x80, 0xd9, 0x50, 0x89, 0x62, 0x81, 0x9a, + 0x95, 0xa9, 0xb5, 0x98, 0x88, 0x82, 0x61, 0xfe, 0x20, 0x91, 0x29, 0x27, 0xf9, 0x96, 0x3a, 0x26, + 0xbb, 0x19, 0xa4, 0x4a, 0xff, 0x73, 0x9b, 0xa8, 0xf1, 0x6f, 0x34, 0x83, 0xbe, 0x0b, 0xf3, 0xfe, + 0x07, 0xe9, 0xe1, 0x19, 0x5a, 0x99, 0x7b, 0x6f, 0xf8, 0x19, 0xd7, 0x76, 0x62, 0x16, 0xa7, 0xa8, + 0x97, 0xdf, 0x86, 0xb9, 0x84, 0xb0, 0x42, 0x5f, 0xc7, 0xfc, 0xa5, 0x04, 0x8b, 0x59, 0xad, 0x8a, + 0xe8, 0x3a, 0x4c, 0xed, 0x6b, 0xa2, 0xb7, 0x22, 0xd6, 0x8f, 0xf2, 0x8b, 0x9a, 0xa9, 0x62, 0x3e, + 0x13, 0x7e, 0xdc, 0x54, 0xca, 0xfd, 0xb8, 0xe9, 0x16, 0x80, 0x62, 0x6b, 0xe2, 0x23, 0x7f, 0xb1, + 0xaa, 0xd0, 0x79, 0xa3, 0xcf, 0xff, 0x71, 0x8c, 0x8a, 0x77, 0x20, 0x45, 0xfa, 0x88, 0xb2, 0x30, + 0x6a, 0x0d, 0x8a, 0xa9, 0x1a, 0xa7, 0x93, 0xff, 0x4a, 0x82, 0xcf, 0x3c, 0x77, 0x07, 0x87, 0x5a, + 0x89, 0xf0, 0xd0, 0x4c, 0x85, 0x87, 0x95, 0x7c, 0x80, 0x73, 0xec, 0xfe, 0xfe, 0x5e, 0x09, 0xd0, + 0xf6, 0x9e, 0xe6, 0xa8, 0x6d, 0xc5, 0xa1, 0x03, 0x2c, 0x16, 0x78, 0x86, 0x01, 0xe3, 0x36, 0xd4, + 0x54, 0xe2, 0xf6, 0x1c, 0x8d, 0x1b, 0x49, 0x3c, 0xce, 0xd0, 0xe2, 0x1b, 0xd1, 0x14, 0x8e, 0xd3, + 0xa1, 0x3e, 0x54, 0x45, 0xad, 0x18, 0xb4, 0xb0, 0x14, 0x2d, 0x7c, 0x23, 0x0f, 0x88, 0xde, 0x0f, + 0x31, 0xe0, 0xe2, 0x10, 0x5c, 0xfe, 0xbe, 0x04, 0x4b, 0xa3, 0x06, 0xd9, 0xf0, 0x1b, 0x34, 0xce, + 0xca, 0x28, 0x2f, 0xc1, 0x14, 0x47, 0x65, 0xd6, 0xb8, 0xe8, 0x9f, 0x84, 0x33, 0x89, 0x98, 0x8f, + 0xca, 0x3f, 0x95, 0x60, 0x39, 0x5b, 0xa5, 0xf3, 0xd8, 0x6f, 0x7c, 0x90, 0xdc, 0x6f, 0x14, 0x3d, + 0x55, 0xc8, 0x56, 0x3c, 0x67, 0xef, 0xf1, 0x49, 0xa6, 0xf1, 0xcf, 0x63, 0x95, 0xbb, 0xc9, 0x55, + 0xae, 0x9d, 0x78, 0x95, 0xd9, 0x2b, 0x6c, 0x7d, 0xee, 0xe3, 0x4f, 0x57, 0x2e, 0xfc, 0xf8, 0xd3, + 0x95, 0x0b, 0xff, 0xfc, 0xe9, 0xca, 0x85, 0xef, 0x1e, 0xad, 0x48, 0x1f, 0x1f, 0xad, 0x48, 0x3f, + 0x3e, 0x5a, 0x91, 0xfe, 0xed, 0x68, 0x45, 0xfa, 0xfe, 0x4f, 0x56, 0x2e, 0x7c, 0x6d, 0x46, 0x60, + 0xfe, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x92, 0xb7, 0x3c, 0x83, 0x46, 0x00, 0x00, } diff --git a/pkg/apis/extensions/v1beta1/generated.proto b/pkg/apis/extensions/v1beta1/generated.proto index da5d6d3bd7d..933264e1110 100644 --- a/pkg/apis/extensions/v1beta1/generated.proto +++ b/pkg/apis/extensions/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/extensions/v1beta1/register.go b/pkg/apis/extensions/v1beta1/register.go index 6d8bb24e999..e0c7c7c8ff4 100644 --- a/pkg/apis/extensions/v1beta1/register.go +++ b/pkg/apis/extensions/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "extensions" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/pkg/apis/imagepolicy/BUILD b/pkg/apis/imagepolicy/BUILD index d12e144d53b..b52cd12b941 100644 --- a/pkg/apis/imagepolicy/BUILD +++ b/pkg/apis/imagepolicy/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apis/imagepolicy/register.go b/pkg/apis/imagepolicy/register.go index 89e961ded62..4238b35135f 100644 --- a/pkg/apis/imagepolicy/register.go +++ b/pkg/apis/imagepolicy/register.go @@ -18,23 +18,23 @@ package imagepolicy import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "imagepolicy.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/imagepolicy/v1alpha1/BUILD b/pkg/apis/imagepolicy/v1alpha1/BUILD index 5bb15bc9e4f..e5cbc28f207 100644 --- a/pkg/apis/imagepolicy/v1alpha1/BUILD +++ b/pkg/apis/imagepolicy/v1alpha1/BUILD @@ -29,6 +29,7 @@ go_library( "//pkg/apis/imagepolicy:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", diff --git a/pkg/apis/imagepolicy/v1alpha1/generated.pb.go b/pkg/apis/imagepolicy/v1alpha1/generated.pb.go index a7a1437a41e..42dcd1ab8cf 100644 --- a/pkg/apis/imagepolicy/v1alpha1/generated.pb.go +++ b/pkg/apis/imagepolicy/v1alpha1/generated.pb.go @@ -1019,41 +1019,42 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 573 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x3f, 0x6f, 0xd3, 0x4e, - 0x18, 0xc7, 0xe3, 0xa4, 0xff, 0x72, 0xf9, 0xfd, 0x68, 0x7b, 0x30, 0x58, 0x19, 0xdc, 0x2a, 0x48, - 0xa8, 0x20, 0x7a, 0xa7, 0x54, 0x42, 0xaa, 0x18, 0x28, 0x35, 0x62, 0xe8, 0x00, 0x88, 0x63, 0x41, - 0x6c, 0x17, 0xe7, 0xa9, 0x7b, 0x8d, 0x73, 0x67, 0xf9, 0xce, 0xae, 0x3a, 0x20, 0x31, 0x32, 0x30, - 0xf0, 0x6e, 0x78, 0x0b, 0x1d, 0x3b, 0x32, 0x55, 0x24, 0xbc, 0x11, 0x94, 0xb3, 0x53, 0x9b, 0xa4, - 0x19, 0x50, 0x36, 0x3f, 0xff, 0x3e, 0xdf, 0xef, 0x3d, 0x8f, 0xd1, 0xd1, 0xe0, 0x50, 0x13, 0xa1, - 0xe8, 0x20, 0xed, 0x41, 0x22, 0xc1, 0x80, 0xa6, 0xf1, 0x20, 0xa4, 0x3c, 0x16, 0x9a, 0x8a, 0x21, - 0x0f, 0x21, 0x56, 0x91, 0x08, 0x2e, 0x69, 0xd6, 0xe5, 0x51, 0x7c, 0xc6, 0xbb, 0x34, 0x04, 0x09, - 0x09, 0x37, 0xd0, 0x27, 0x71, 0xa2, 0x8c, 0xc2, 0x34, 0x07, 0x90, 0x12, 0x40, 0xe2, 0x41, 0x48, - 0x26, 0x00, 0x52, 0x01, 0x90, 0x29, 0xa0, 0xbd, 0x1f, 0x0a, 0x73, 0x96, 0xf6, 0x48, 0xa0, 0x86, - 0x34, 0x54, 0xa1, 0xa2, 0x96, 0xd3, 0x4b, 0x4f, 0x6d, 0x64, 0x03, 0xfb, 0x95, 0xf3, 0xdb, 0x07, - 0x0b, 0x0d, 0xd2, 0x04, 0xb4, 0x4a, 0x93, 0x00, 0x66, 0x3d, 0xb5, 0x9f, 0x2d, 0x9e, 0x49, 0x65, - 0x06, 0x89, 0x16, 0x4a, 0x42, 0x7f, 0x6e, 0xec, 0xe9, 0xe2, 0xb1, 0x6c, 0xee, 0xe1, 0xed, 0xfd, - 0xbb, 0xbb, 0x93, 0x54, 0x1a, 0x31, 0x9c, 0xf7, 0xd4, 0xbd, 0xbb, 0x3d, 0x35, 0x22, 0xa2, 0x42, - 0x1a, 0x6d, 0x92, 0xd9, 0x91, 0xce, 0x8f, 0x3a, 0x6a, 0x9d, 0x4c, 0x56, 0xc8, 0x20, 0x13, 0x70, - 0x81, 0x3f, 0xa2, 0x8d, 0x21, 0x18, 0xde, 0xe7, 0x86, 0xbb, 0xce, 0xae, 0xb3, 0xd7, 0x3a, 0xd8, - 0x23, 0x0b, 0xb7, 0x4f, 0xb2, 0x2e, 0x79, 0xd7, 0x3b, 0x87, 0xc0, 0xbc, 0x01, 0xc3, 0x7d, 0x7c, - 0x75, 0xb3, 0x53, 0x1b, 0xdf, 0xec, 0xa0, 0x32, 0xc7, 0x6e, 0x69, 0xb8, 0x87, 0x56, 0x74, 0x0c, - 0x81, 0x5b, 0xb7, 0xd4, 0x97, 0xe4, 0x1f, 0x6f, 0x4a, 0x2a, 0x2e, 0x3f, 0xc4, 0x10, 0xf8, 0xff, - 0x15, 0x6a, 0x2b, 0x93, 0x88, 0x59, 0x36, 0x3e, 0x47, 0x6b, 0xda, 0x70, 0x93, 0x6a, 0xb7, 0x61, - 0x55, 0xfc, 0xa5, 0x54, 0x2c, 0xc9, 0xbf, 0x57, 0xe8, 0xac, 0xe5, 0x31, 0x2b, 0x14, 0x3a, 0x47, - 0xc8, 0xad, 0x34, 0xbf, 0x52, 0xd2, 0x70, 0x21, 0x21, 0x99, 0xb8, 0xc1, 0x0f, 0xd1, 0xaa, 0xa5, - 0xdb, 0x15, 0x36, 0xfd, 0xff, 0x0b, 0xc4, 0x6a, 0x3e, 0x90, 0xd7, 0x3a, 0xdf, 0x1a, 0x68, 0x73, - 0xe6, 0x51, 0xf8, 0x33, 0x42, 0xc1, 0x94, 0xa4, 0x5d, 0x67, 0xb7, 0xb1, 0xd7, 0x3a, 0x38, 0x59, - 0xe6, 0x11, 0x7f, 0xf9, 0x2a, 0x2f, 0x74, 0x9b, 0xd6, 0xac, 0x22, 0x88, 0xbf, 0x3a, 0xa8, 0xc5, - 0xa5, 0x54, 0x86, 0x1b, 0xa1, 0xa4, 0x76, 0xeb, 0xd6, 0xc0, 0xfb, 0x65, 0x6f, 0x45, 0x8e, 0x4b, - 0xe6, 0x6b, 0x69, 0x92, 0x4b, 0xff, 0x7e, 0x61, 0xa4, 0x55, 0xa9, 0xb0, 0xaa, 0x34, 0xa6, 0xa8, - 0x29, 0xf9, 0x10, 0x74, 0xcc, 0x03, 0xb0, 0xd7, 0x6c, 0xfa, 0xdb, 0xc5, 0x50, 0xf3, 0xed, 0xb4, - 0xc0, 0xca, 0x9e, 0xf6, 0x0b, 0xb4, 0x35, 0x2b, 0x83, 0xb7, 0x50, 0x63, 0x00, 0x97, 0xf9, 0x15, - 0xd8, 0xe4, 0x13, 0x3f, 0x40, 0xab, 0x19, 0x8f, 0x52, 0xb0, 0xbf, 0x61, 0x93, 0xe5, 0xc1, 0xf3, - 0xfa, 0xa1, 0xd3, 0x39, 0x45, 0xdb, 0x73, 0xc7, 0xc7, 0x8f, 0xd1, 0x3a, 0x8f, 0x22, 0x75, 0x01, - 0x7d, 0x0b, 0xd9, 0xf0, 0x37, 0x0b, 0x0f, 0xeb, 0xc7, 0x79, 0x9a, 0x4d, 0xeb, 0xf8, 0x11, 0x5a, - 0x4b, 0x80, 0x6b, 0x25, 0x73, 0x74, 0xf9, 0xdf, 0x30, 0x9b, 0x65, 0x45, 0xd5, 0x7f, 0x72, 0x35, - 0xf2, 0x6a, 0xd7, 0x23, 0xaf, 0xf6, 0x73, 0xe4, 0xd5, 0xbe, 0x8c, 0x3d, 0xe7, 0x6a, 0xec, 0x39, - 0xd7, 0x63, 0xcf, 0xf9, 0x35, 0xf6, 0x9c, 0xef, 0xbf, 0xbd, 0xda, 0xa7, 0x8d, 0xe9, 0x1e, 0xff, - 0x04, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xde, 0x19, 0x74, 0x3a, 0x05, 0x00, 0x00, + // 585 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x3f, 0x6f, 0x13, 0x3f, + 0x18, 0xc7, 0x73, 0x49, 0xff, 0xc5, 0xf9, 0xfd, 0x68, 0x6b, 0x18, 0xa2, 0x0c, 0xd7, 0x2a, 0x48, + 0xa8, 0x20, 0x6a, 0x2b, 0x15, 0x48, 0x15, 0x03, 0xa5, 0x87, 0x18, 0x3a, 0x00, 0xc2, 0x2c, 0x88, + 0xcd, 0xb9, 0x3c, 0xbd, 0xba, 0xb9, 0xb3, 0x4f, 0x67, 0xdf, 0x55, 0x1d, 0x90, 0x18, 0x19, 0x18, + 0x78, 0x37, 0xbc, 0x85, 0x8e, 0x1d, 0x99, 0x2a, 0x1a, 0xde, 0x08, 0x8a, 0xef, 0xd2, 0x3b, 0x92, + 0x06, 0x09, 0x65, 0xf3, 0xe3, 0xc7, 0xdf, 0xcf, 0xf7, 0x6b, 0x3f, 0x46, 0x07, 0xc3, 0x7d, 0x4d, + 0x84, 0xa2, 0xc3, 0xb4, 0x0f, 0x89, 0x04, 0x03, 0x9a, 0xc6, 0xc3, 0x80, 0xf2, 0x58, 0x68, 0x2a, + 0x22, 0x1e, 0x40, 0xac, 0x42, 0xe1, 0x9f, 0xd3, 0xac, 0xc7, 0xc3, 0xf8, 0x84, 0xf7, 0x68, 0x00, + 0x12, 0x12, 0x6e, 0x60, 0x40, 0xe2, 0x44, 0x19, 0x85, 0x69, 0x0e, 0x20, 0x25, 0x80, 0xc4, 0xc3, + 0x80, 0x8c, 0x01, 0xa4, 0x02, 0x20, 0x13, 0x40, 0x67, 0x37, 0x10, 0xe6, 0x24, 0xed, 0x13, 0x5f, + 0x45, 0x34, 0x50, 0x81, 0xa2, 0x96, 0xd3, 0x4f, 0x8f, 0x6d, 0x65, 0x0b, 0xbb, 0xca, 0xf9, 0x9d, + 0xbd, 0xb9, 0x01, 0x69, 0x02, 0x5a, 0xa5, 0x89, 0x0f, 0xd3, 0x99, 0x3a, 0x4f, 0xe7, 0x6b, 0x52, + 0x99, 0x41, 0xa2, 0x85, 0x92, 0x30, 0x98, 0x91, 0x3d, 0x9e, 0x2f, 0xcb, 0x66, 0x2e, 0xde, 0xd9, + 0xbd, 0xfd, 0x74, 0x92, 0x4a, 0x23, 0xa2, 0xd9, 0x4c, 0x4f, 0xfe, 0x7e, 0x5c, 0xfb, 0x27, 0x10, + 0xf1, 0x19, 0x55, 0xef, 0x76, 0x55, 0x6a, 0x44, 0x48, 0x85, 0x34, 0xda, 0x24, 0xd3, 0x92, 0xee, + 0xf7, 0x3a, 0x6a, 0x1d, 0x8d, 0x1f, 0x9e, 0x41, 0x26, 0xe0, 0x0c, 0x7f, 0x40, 0x6b, 0x11, 0x18, + 0x3e, 0xe0, 0x86, 0xb7, 0x9d, 0x6d, 0x67, 0xa7, 0xb5, 0xb7, 0x43, 0xe6, 0xce, 0x8c, 0x64, 0x3d, + 0xf2, 0xb6, 0x7f, 0x0a, 0xbe, 0x79, 0x0d, 0x86, 0x7b, 0xf8, 0xe2, 0x6a, 0xab, 0x36, 0xba, 0xda, + 0x42, 0xe5, 0x1e, 0xbb, 0xa1, 0xe1, 0x3e, 0x5a, 0xd2, 0x31, 0xf8, 0xed, 0xba, 0xa5, 0xbe, 0x20, + 0xff, 0xf8, 0x13, 0x48, 0x25, 0xe5, 0xfb, 0x18, 0x7c, 0xef, 0xbf, 0xc2, 0x6d, 0x69, 0x5c, 0x31, + 0xcb, 0xc6, 0xa7, 0x68, 0x45, 0x1b, 0x6e, 0x52, 0xdd, 0x6e, 0x58, 0x17, 0x6f, 0x21, 0x17, 0x4b, + 0xf2, 0xee, 0x14, 0x3e, 0x2b, 0x79, 0xcd, 0x0a, 0x87, 0xee, 0x01, 0x6a, 0x57, 0x0e, 0xbf, 0x54, + 0xd2, 0x70, 0x21, 0x21, 0x19, 0xa7, 0xc1, 0xf7, 0xd1, 0xb2, 0xa5, 0xdb, 0x27, 0x6c, 0x7a, 0xff, + 0x17, 0x88, 0xe5, 0x5c, 0x90, 0xf7, 0xba, 0x5f, 0x1b, 0x68, 0x7d, 0xea, 0x52, 0xf8, 0x13, 0x42, + 0xfe, 0x84, 0xa4, 0xdb, 0xce, 0x76, 0x63, 0xa7, 0xb5, 0x77, 0xb4, 0xc8, 0x25, 0xfe, 0xc8, 0x55, + 0x4e, 0xe8, 0x66, 0x5b, 0xb3, 0x8a, 0x21, 0xfe, 0xe2, 0xa0, 0x16, 0x97, 0x52, 0x19, 0x6e, 0x84, + 0x92, 0xba, 0x5d, 0xb7, 0x01, 0xde, 0x2d, 0x3a, 0x2b, 0x72, 0x58, 0x32, 0x5f, 0x49, 0x93, 0x9c, + 0x7b, 0x77, 0x8b, 0x20, 0xad, 0x4a, 0x87, 0x55, 0xad, 0x31, 0x45, 0x4d, 0xc9, 0x23, 0xd0, 0x31, + 0xf7, 0xc1, 0x4e, 0xb3, 0xe9, 0x6d, 0x16, 0xa2, 0xe6, 0x9b, 0x49, 0x83, 0x95, 0x67, 0x3a, 0xcf, + 0xd1, 0xc6, 0xb4, 0x0d, 0xde, 0x40, 0x8d, 0x21, 0x9c, 0xe7, 0x53, 0x60, 0xe3, 0x25, 0xbe, 0x87, + 0x96, 0x33, 0x1e, 0xa6, 0x60, 0xbf, 0x61, 0x93, 0xe5, 0xc5, 0xb3, 0xfa, 0xbe, 0xd3, 0x3d, 0x46, + 0x9b, 0x33, 0xc3, 0xc7, 0x0f, 0xd1, 0x2a, 0x0f, 0x43, 0x75, 0x06, 0x03, 0x0b, 0x59, 0xf3, 0xd6, + 0x8b, 0x0c, 0xab, 0x87, 0xf9, 0x36, 0x9b, 0xf4, 0xf1, 0x03, 0xb4, 0x92, 0x00, 0xd7, 0x4a, 0xe6, + 0xe8, 0xf2, 0xdf, 0x30, 0xbb, 0xcb, 0x8a, 0xae, 0xf7, 0xe8, 0xe2, 0xda, 0xad, 0x5d, 0x5e, 0xbb, + 0xb5, 0x1f, 0xd7, 0x6e, 0xed, 0xf3, 0xc8, 0x75, 0x2e, 0x46, 0xae, 0x73, 0x39, 0x72, 0x9d, 0x9f, + 0x23, 0xd7, 0xf9, 0xf6, 0xcb, 0xad, 0x7d, 0x5c, 0x9b, 0xbc, 0xe3, 0xef, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x16, 0xa4, 0x8e, 0xac, 0x70, 0x05, 0x00, 0x00, } diff --git a/pkg/apis/imagepolicy/v1alpha1/generated.proto b/pkg/apis/imagepolicy/v1alpha1/generated.proto index 7b26db93535..06419a135a0 100644 --- a/pkg/apis/imagepolicy/v1alpha1/generated.proto +++ b/pkg/apis/imagepolicy/v1alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/imagepolicy/v1alpha1/register.go b/pkg/apis/imagepolicy/v1alpha1/register.go index 88848b8ac8a..ad4cc5a8cd6 100644 --- a/pkg/apis/imagepolicy/v1alpha1/register.go +++ b/pkg/apis/imagepolicy/v1alpha1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name for this API. const GroupName = "imagepolicy.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/pkg/apis/policy/BUILD b/pkg/apis/policy/BUILD index a753dab29bf..fe2a06583a0 100644 --- a/pkg/apis/policy/BUILD +++ b/pkg/apis/policy/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/pkg/apis/policy/register.go b/pkg/apis/policy/register.go index 40d8c0895c2..f792a1370ef 100644 --- a/pkg/apis/policy/register.go +++ b/pkg/apis/policy/register.go @@ -18,23 +18,23 @@ package policy import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "policy" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/policy/v1alpha1/BUILD b/pkg/apis/policy/v1alpha1/BUILD index 31c7a9cbcb7..d3681c6e0bc 100644 --- a/pkg/apis/policy/v1alpha1/BUILD +++ b/pkg/apis/policy/v1alpha1/BUILD @@ -22,6 +22,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/watch/versioned:go_default_library", ], diff --git a/pkg/apis/policy/v1alpha1/register.go b/pkg/apis/policy/v1alpha1/register.go index 34418c10b2f..c3f2f5b09b2 100644 --- a/pkg/apis/policy/v1alpha1/register.go +++ b/pkg/apis/policy/v1alpha1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "policy" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/pkg/apis/policy/v1beta1/BUILD b/pkg/apis/policy/v1beta1/BUILD index dc3cb8ff4eb..dd6de45216e 100644 --- a/pkg/apis/policy/v1beta1/BUILD +++ b/pkg/apis/policy/v1beta1/BUILD @@ -30,6 +30,7 @@ go_library( "//pkg/apis/policy:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/watch/versioned:go_default_library", diff --git a/pkg/apis/policy/v1beta1/generated.pb.go b/pkg/apis/policy/v1beta1/generated.pb.go index 4e261576694..0fa1cab7184 100644 --- a/pkg/apis/policy/v1beta1/generated.pb.go +++ b/pkg/apis/policy/v1beta1/generated.pb.go @@ -1323,53 +1323,53 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 758 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0xcf, 0x6f, 0xdb, 0x36, - 0x14, 0xc7, 0xad, 0xd8, 0xce, 0x3c, 0xc6, 0x0e, 0x32, 0x6e, 0xd9, 0x3c, 0x03, 0x53, 0x06, 0x9f, - 0x12, 0x6c, 0xa1, 0xe0, 0x60, 0x03, 0xb2, 0x1d, 0x02, 0x44, 0x73, 0xb0, 0x65, 0x58, 0xe0, 0x40, - 0x19, 0xb0, 0x61, 0xc0, 0x0a, 0xe8, 0xc7, 0xab, 0xc2, 0x5a, 0x16, 0x05, 0x92, 0x52, 0xeb, 0x5b, - 0xff, 0x84, 0x1e, 0xfa, 0x1f, 0xf5, 0x12, 0xf4, 0x94, 0x63, 0x2f, 0x0d, 0x1a, 0xe7, 0x7f, 0xe8, - 0xb9, 0x90, 0x44, 0x3b, 0x96, 0x7f, 0x04, 0x01, 0xd2, 0xde, 0x44, 0xf2, 0x7d, 0xbe, 0xdf, 0xf7, - 0x1e, 0x1f, 0x85, 0x7e, 0xe9, 0xef, 0x0b, 0x42, 0x99, 0xd1, 0x8f, 0x1d, 0xe0, 0x21, 0x48, 0x10, - 0x46, 0xd4, 0xf7, 0x0d, 0x3b, 0xa2, 0xc2, 0x88, 0x58, 0x40, 0xdd, 0xa1, 0x91, 0x74, 0x1c, 0x90, - 0x76, 0xc7, 0xf0, 0x21, 0x04, 0x6e, 0x4b, 0xf0, 0x48, 0xc4, 0x99, 0x64, 0x78, 0x27, 0x47, 0xc9, - 0x2d, 0x4a, 0xa2, 0xbe, 0x4f, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0x6b, 0xd7, 0xa7, 0xf2, 0x3c, - 0x76, 0x88, 0xcb, 0x06, 0x86, 0xcf, 0x7c, 0x66, 0x64, 0x0a, 0x4e, 0xfc, 0x38, 0x5b, 0x65, 0x8b, - 0xec, 0x2b, 0x57, 0x6e, 0xed, 0x2d, 0x4d, 0xca, 0xe0, 0x20, 0x58, 0xcc, 0x5d, 0x98, 0xcd, 0xa6, - 0xf5, 0xf3, 0x72, 0x26, 0x0e, 0x13, 0xe0, 0x82, 0xb2, 0x10, 0xbc, 0x39, 0xec, 0xc7, 0xe5, 0x58, - 0x32, 0x57, 0x72, 0x6b, 0x77, 0x71, 0x34, 0x8f, 0x43, 0x49, 0x07, 0xf3, 0x39, 0x75, 0x16, 0x87, - 0xc7, 0x92, 0x06, 0x06, 0x0d, 0xa5, 0x90, 0x7c, 0x16, 0x69, 0xbf, 0xd6, 0x50, 0xed, 0x28, 0xa1, - 0xae, 0xa4, 0x2c, 0xc4, 0xff, 0xa2, 0xda, 0x00, 0xa4, 0xed, 0xd9, 0xd2, 0x6e, 0x6a, 0xdf, 0x6b, - 0xdb, 0x6b, 0x7b, 0xdb, 0x64, 0x69, 0xd3, 0x49, 0xd2, 0x21, 0x3d, 0xe7, 0x09, 0xb8, 0xf2, 0x04, - 0xa4, 0x6d, 0xe2, 0x8b, 0xab, 0xad, 0xd2, 0xe8, 0x6a, 0x0b, 0xdd, 0xee, 0x59, 0x13, 0x35, 0xec, - 0xa1, 0x86, 0x07, 0x01, 0x48, 0xe8, 0x45, 0xa9, 0x93, 0x68, 0xae, 0x64, 0xf2, 0x3f, 0xdc, 0x2d, - 0xdf, 0x9d, 0x46, 0xcc, 0x2f, 0x46, 0x57, 0x5b, 0x8d, 0xc2, 0x96, 0x55, 0x14, 0x6d, 0xbf, 0x5a, - 0x41, 0x5f, 0x9e, 0x32, 0xaf, 0x4b, 0x05, 0x8f, 0xb3, 0x2d, 0x33, 0xf6, 0x7c, 0x90, 0x9f, 0xb4, - 0xae, 0x8a, 0x88, 0xc0, 0x55, 0xe5, 0x98, 0xe4, 0xde, 0x23, 0x4a, 0x16, 0xe4, 0x79, 0x16, 0x81, - 0x6b, 0xd6, 0x95, 0x5f, 0x25, 0x5d, 0x59, 0x99, 0x3a, 0x0e, 0xd0, 0xaa, 0x90, 0xb6, 0x8c, 0x45, - 0xb3, 0x9c, 0xf9, 0x74, 0x1f, 0xe8, 0x93, 0x69, 0x99, 0xeb, 0xca, 0x69, 0x35, 0x5f, 0x5b, 0xca, - 0xa3, 0xfd, 0x56, 0x43, 0xdf, 0x2c, 0xa0, 0xfe, 0xa2, 0x42, 0xe2, 0xff, 0xe7, 0x3a, 0x69, 0xdc, - 0xd1, 0xc9, 0xa9, 0x87, 0x40, 0x52, 0x3c, 0x6b, 0xe8, 0x86, 0xb2, 0xad, 0x8d, 0x77, 0xa6, 0xda, - 0xe9, 0xa2, 0x2a, 0x95, 0x30, 0x48, 0xc7, 0xa3, 0xbc, 0xbd, 0xb6, 0x77, 0xf0, 0xb0, 0x3a, 0xcd, - 0x86, 0xb2, 0xaa, 0x1e, 0xa7, 0xa2, 0x56, 0xae, 0xdd, 0xbe, 0x59, 0x5c, 0x5f, 0xda, 0x6f, 0x7c, - 0x8e, 0xea, 0x03, 0x1a, 0x1e, 0x26, 0x36, 0x0d, 0x6c, 0x27, 0x00, 0x55, 0x23, 0x59, 0x92, 0x47, - 0xfa, 0xb0, 0x48, 0xfe, 0xb0, 0xc8, 0x71, 0x28, 0x7b, 0xfc, 0x4c, 0x72, 0x1a, 0xfa, 0xe6, 0x57, - 0xca, 0xb7, 0x7e, 0x32, 0xa5, 0x65, 0x15, 0x94, 0xf1, 0x23, 0x54, 0x13, 0x10, 0x80, 0x2b, 0x19, - 0x57, 0xd3, 0xf3, 0xd3, 0x7d, 0x3b, 0x69, 0x3b, 0x10, 0x9c, 0x29, 0xd6, 0xac, 0xa7, 0xad, 0x1c, - 0xaf, 0xac, 0x89, 0x66, 0xfb, 0x7d, 0x05, 0x7d, 0xbb, 0xf4, 0xee, 0xf1, 0x9f, 0x08, 0x33, 0x47, - 0x00, 0x4f, 0xc0, 0xfb, 0x3d, 0xff, 0x23, 0x50, 0x16, 0x66, 0xd5, 0x96, 0xcd, 0x96, 0xca, 0x1e, - 0xf7, 0xe6, 0x22, 0xac, 0x05, 0x14, 0x7e, 0xa9, 0xa1, 0x86, 0x97, 0xdb, 0x80, 0x77, 0xca, 0xbc, - 0xf1, 0xed, 0xfd, 0xf3, 0x31, 0xa6, 0x94, 0x74, 0xa7, 0x95, 0x8f, 0x42, 0xc9, 0x87, 0xe6, 0xa6, - 0x4a, 0xb0, 0x51, 0x38, 0xb3, 0x8a, 0x49, 0xe0, 0x13, 0x84, 0xbd, 0x89, 0xa4, 0x38, 0x0c, 0x02, - 0xf6, 0x14, 0xbc, 0xec, 0x01, 0x55, 0xcd, 0xef, 0x94, 0xc2, 0x66, 0xc1, 0x77, 0x1c, 0x64, 0x2d, - 0x00, 0xf1, 0x01, 0x5a, 0x77, 0x63, 0xce, 0x21, 0x94, 0x7f, 0x80, 0x1d, 0xc8, 0xf3, 0x61, 0xb3, - 0x92, 0x49, 0x7d, 0xad, 0xa4, 0xd6, 0x7f, 0x2b, 0x9c, 0x5a, 0x33, 0xd1, 0x29, 0xef, 0x81, 0xa0, - 0x1c, 0xbc, 0x31, 0x5f, 0x2d, 0xf2, 0xdd, 0xc2, 0xa9, 0x35, 0x13, 0x8d, 0xf7, 0x51, 0x1d, 0x9e, - 0x45, 0xe0, 0x8e, 0x7b, 0xbc, 0x9a, 0xd1, 0x93, 0x49, 0x3b, 0x9a, 0x3a, 0xb3, 0x0a, 0x91, 0xad, - 0x01, 0xc2, 0xf3, 0x4d, 0xc4, 0x1b, 0xa8, 0xdc, 0x87, 0x61, 0x76, 0xe5, 0x9f, 0x5b, 0xe9, 0x27, - 0x3e, 0x44, 0xd5, 0xc4, 0x0e, 0x62, 0xb8, 0xc7, 0xbf, 0x79, 0x7a, 0x1c, 0xff, 0xa6, 0x03, 0xb0, - 0x72, 0xf2, 0xd7, 0x95, 0x7d, 0xcd, 0xdc, 0xb9, 0xb8, 0xd6, 0x4b, 0x97, 0xd7, 0x7a, 0xe9, 0xcd, - 0xb5, 0x5e, 0x7a, 0x3e, 0xd2, 0xb5, 0x8b, 0x91, 0xae, 0x5d, 0x8e, 0x74, 0xed, 0xdd, 0x48, 0xd7, - 0x5e, 0xdc, 0xe8, 0xa5, 0xff, 0x3e, 0x53, 0xb7, 0xfe, 0x21, 0x00, 0x00, 0xff, 0xff, 0x59, 0x3e, - 0xe1, 0xf8, 0x0d, 0x08, 0x00, 0x00, + // 764 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0x4d, 0x6f, 0xf3, 0x44, + 0x10, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9b, 0x54, 0x65, 0xa1, 0x10, 0x22, 0xe1, 0xa2, 0x9c, 0x5a, + 0x41, 0xd7, 0x4a, 0x55, 0xa4, 0xc2, 0xa1, 0x52, 0x4d, 0x2a, 0x28, 0xa2, 0x4a, 0xe5, 0x22, 0x81, + 0x90, 0x40, 0xf2, 0xcb, 0xe0, 0x2c, 0xb1, 0xbd, 0xd6, 0xee, 0xda, 0x90, 0x1b, 0x1f, 0x81, 0x03, + 0xdf, 0x88, 0x4b, 0xc5, 0xa9, 0x47, 0x2e, 0x54, 0x34, 0xfd, 0x0e, 0x9c, 0x91, 0xed, 0x4d, 0x1a, + 0xe7, 0xa5, 0xaa, 0xd4, 0xe7, 0xb9, 0x79, 0x77, 0xe7, 0xf7, 0xff, 0xcf, 0xcc, 0xce, 0x1a, 0x7d, + 0x3a, 0x3a, 0x11, 0x84, 0x32, 0x63, 0x94, 0x38, 0xc0, 0x23, 0x90, 0x20, 0x8c, 0x78, 0xe4, 0x1b, + 0x76, 0x4c, 0x85, 0x11, 0xb3, 0x80, 0xba, 0x63, 0x23, 0xed, 0x39, 0x20, 0xed, 0x9e, 0xe1, 0x43, + 0x04, 0xdc, 0x96, 0xe0, 0x91, 0x98, 0x33, 0xc9, 0xf0, 0x41, 0x81, 0x92, 0x47, 0x94, 0xc4, 0x23, + 0x9f, 0x64, 0x28, 0x29, 0x50, 0xa2, 0xd0, 0xce, 0xa1, 0x4f, 0xe5, 0x30, 0x71, 0x88, 0xcb, 0x42, + 0xc3, 0x67, 0x3e, 0x33, 0x72, 0x05, 0x27, 0xf9, 0x29, 0x5f, 0xe5, 0x8b, 0xfc, 0xab, 0x50, 0xee, + 0x1c, 0xad, 0x4d, 0xca, 0xe0, 0x20, 0x58, 0xc2, 0x5d, 0x58, 0xcc, 0xa6, 0xf3, 0xc9, 0x7a, 0x26, + 0x89, 0x52, 0xe0, 0x82, 0xb2, 0x08, 0xbc, 0x25, 0xec, 0xe3, 0xf5, 0x58, 0xba, 0x54, 0x72, 0xe7, + 0x70, 0x75, 0x34, 0x4f, 0x22, 0x49, 0xc3, 0xe5, 0x9c, 0x8e, 0x9f, 0x0e, 0x17, 0xee, 0x10, 0x42, + 0x7b, 0x89, 0xea, 0xad, 0xa6, 0x12, 0x49, 0x03, 0x83, 0x46, 0x52, 0x48, 0xbe, 0x88, 0x74, 0xff, + 0xd2, 0x50, 0xe3, 0x3c, 0xa5, 0xae, 0xa4, 0x2c, 0xc2, 0xdf, 0xa1, 0x46, 0x08, 0xd2, 0xf6, 0x6c, + 0x69, 0xb7, 0xb5, 0x0f, 0xb5, 0xfd, 0xad, 0xa3, 0x7d, 0xb2, 0xf6, 0xaa, 0x48, 0xda, 0x23, 0x03, + 0xe7, 0x67, 0x70, 0xe5, 0x25, 0x48, 0xdb, 0xc4, 0x37, 0x77, 0x7b, 0x95, 0xc9, 0xdd, 0x1e, 0x7a, + 0xdc, 0xb3, 0x66, 0x6a, 0xd8, 0x43, 0x2d, 0x0f, 0x02, 0x90, 0x30, 0x88, 0x33, 0x27, 0xd1, 0xde, + 0xc8, 0xe5, 0x3f, 0x7a, 0x5a, 0xbe, 0x3f, 0x8f, 0x98, 0x6f, 0x4d, 0xee, 0xf6, 0x5a, 0xa5, 0x2d, + 0xab, 0x2c, 0xda, 0xfd, 0x73, 0x03, 0xbd, 0x7d, 0xc5, 0xbc, 0x3e, 0x15, 0x3c, 0xc9, 0xb7, 0xcc, + 0xc4, 0xf3, 0x41, 0xbe, 0xd6, 0xba, 0x6a, 0x22, 0x06, 0x57, 0x95, 0x63, 0x92, 0x67, 0x0f, 0x36, + 0x59, 0x91, 0xe7, 0x75, 0x0c, 0xae, 0xd9, 0x54, 0x7e, 0xb5, 0x6c, 0x65, 0xe5, 0xea, 0x38, 0x40, + 0x9b, 0x42, 0xda, 0x32, 0x11, 0xed, 0x6a, 0xee, 0xd3, 0x7f, 0xa1, 0x4f, 0xae, 0x65, 0x6e, 0x2b, + 0xa7, 0xcd, 0x62, 0x6d, 0x29, 0x8f, 0xee, 0x3f, 0x1a, 0x7a, 0x6f, 0x05, 0xf5, 0x35, 0x15, 0x12, + 0xff, 0xb0, 0xd4, 0x49, 0xe3, 0x89, 0x4e, 0xce, 0x3d, 0x1f, 0x92, 0xe1, 0x79, 0x43, 0x77, 0x94, + 0x6d, 0x63, 0xba, 0x33, 0xd7, 0x4e, 0x17, 0xd5, 0xa9, 0x84, 0x30, 0x1b, 0x8f, 0xea, 0xfe, 0xd6, + 0xd1, 0xe9, 0xcb, 0xea, 0x34, 0x5b, 0xca, 0xaa, 0x7e, 0x91, 0x89, 0x5a, 0x85, 0x76, 0xf7, 0x61, + 0x75, 0x7d, 0x59, 0xbf, 0xf1, 0x10, 0x35, 0x43, 0x1a, 0x9d, 0xa5, 0x36, 0x0d, 0x6c, 0x27, 0x00, + 0x55, 0x23, 0x59, 0x93, 0x47, 0xf6, 0xb0, 0x48, 0xf1, 0xb0, 0xc8, 0x45, 0x24, 0x07, 0xfc, 0x5a, + 0x72, 0x1a, 0xf9, 0xe6, 0x3b, 0xca, 0xb7, 0x79, 0x39, 0xa7, 0x65, 0x95, 0x94, 0xf1, 0x8f, 0xa8, + 0x21, 0x20, 0x00, 0x57, 0x32, 0xae, 0xa6, 0xe7, 0xf8, 0xb9, 0x9d, 0xb4, 0x1d, 0x08, 0xae, 0x15, + 0x6b, 0x36, 0xb3, 0x56, 0x4e, 0x57, 0xd6, 0x4c, 0xb3, 0xfb, 0x5f, 0x0d, 0xbd, 0xbf, 0xf6, 0xee, + 0xf1, 0x57, 0x08, 0x33, 0x47, 0x00, 0x4f, 0xc1, 0xfb, 0xa2, 0xf8, 0x23, 0x50, 0x16, 0xe5, 0xd5, + 0x56, 0xcd, 0x8e, 0xca, 0x1e, 0x0f, 0x96, 0x22, 0xac, 0x15, 0x14, 0xfe, 0x43, 0x43, 0x2d, 0xaf, + 0xb0, 0x01, 0xef, 0x8a, 0x79, 0xd3, 0xdb, 0xfb, 0xf6, 0x55, 0x4c, 0x29, 0xe9, 0xcf, 0x2b, 0x9f, + 0x47, 0x92, 0x8f, 0xcd, 0x5d, 0x95, 0x60, 0xab, 0x74, 0x66, 0x95, 0x93, 0xc0, 0x97, 0x08, 0x7b, + 0x33, 0x49, 0x71, 0x16, 0x04, 0xec, 0x17, 0xf0, 0xf2, 0x07, 0x54, 0x37, 0x3f, 0x50, 0x0a, 0xbb, + 0x25, 0xdf, 0x69, 0x90, 0xb5, 0x02, 0xc4, 0xa7, 0x68, 0xdb, 0x4d, 0x38, 0x87, 0x48, 0x7e, 0x09, + 0x76, 0x20, 0x87, 0xe3, 0x76, 0x2d, 0x97, 0x7a, 0x57, 0x49, 0x6d, 0x7f, 0x5e, 0x3a, 0xb5, 0x16, + 0xa2, 0x33, 0xde, 0x03, 0x41, 0x39, 0x78, 0x53, 0xbe, 0x5e, 0xe6, 0xfb, 0xa5, 0x53, 0x6b, 0x21, + 0x1a, 0x9f, 0xa0, 0x26, 0xfc, 0x1a, 0x83, 0x3b, 0xed, 0xf1, 0x66, 0x4e, 0xcf, 0x26, 0xed, 0x7c, + 0xee, 0xcc, 0x2a, 0x45, 0x76, 0x42, 0x84, 0x97, 0x9b, 0x88, 0x77, 0x50, 0x75, 0x04, 0xe3, 0xfc, + 0xca, 0xdf, 0xb4, 0xb2, 0x4f, 0x7c, 0x86, 0xea, 0xa9, 0x1d, 0x24, 0xf0, 0x8c, 0x7f, 0xf3, 0xfc, + 0x38, 0x7e, 0x43, 0x43, 0xb0, 0x0a, 0xf2, 0xb3, 0x8d, 0x13, 0xcd, 0x3c, 0xb8, 0xb9, 0xd7, 0x2b, + 0xb7, 0xf7, 0x7a, 0xe5, 0xef, 0x7b, 0xbd, 0xf2, 0xdb, 0x44, 0xd7, 0x6e, 0x26, 0xba, 0x76, 0x3b, + 0xd1, 0xb5, 0x7f, 0x27, 0xba, 0xf6, 0xfb, 0x83, 0x5e, 0xf9, 0xfe, 0x0d, 0x75, 0xeb, 0xff, 0x07, + 0x00, 0x00, 0xff, 0xff, 0x5e, 0x98, 0x33, 0x48, 0x43, 0x08, 0x00, 0x00, } diff --git a/pkg/apis/policy/v1beta1/generated.proto b/pkg/apis/policy/v1beta1/generated.proto index 7782fd52538..560850ea4cc 100644 --- a/pkg/apis/policy/v1beta1/generated.proto +++ b/pkg/apis/policy/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/policy/v1beta1/register.go b/pkg/apis/policy/v1beta1/register.go index d293f80497f..b9b8aee44fa 100644 --- a/pkg/apis/policy/v1beta1/register.go +++ b/pkg/apis/policy/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "policy" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/pkg/apis/rbac/BUILD b/pkg/apis/rbac/BUILD index 25f9b664af5..9f78c2230e2 100644 --- a/pkg/apis/rbac/BUILD +++ b/pkg/apis/rbac/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch/versioned:go_default_library", ], ) diff --git a/pkg/apis/rbac/helpers.go b/pkg/apis/rbac/helpers.go index 93ed6f99546..67b676886ba 100644 --- a/pkg/apis/rbac/helpers.go +++ b/pkg/apis/rbac/helpers.go @@ -21,11 +21,11 @@ import ( "strings" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) -func RoleRefGroupKind(roleRef RoleRef) unversioned.GroupKind { - return unversioned.GroupKind{Group: roleRef.APIGroup, Kind: roleRef.Kind} +func RoleRefGroupKind(roleRef RoleRef) schema.GroupKind { + return schema.GroupKind{Group: roleRef.APIGroup, Kind: roleRef.Kind} } func VerbMatches(rule PolicyRule, requestedVerb string) bool { diff --git a/pkg/apis/rbac/register.go b/pkg/apis/rbac/register.go index f854cfac2c6..b502947513f 100644 --- a/pkg/apis/rbac/register.go +++ b/pkg/apis/rbac/register.go @@ -18,23 +18,23 @@ package rbac import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch/versioned" ) const GroupName = "rbac.authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/rbac/v1alpha1/BUILD b/pkg/apis/rbac/v1alpha1/BUILD index a6001d43e4a..ddfcf17eac9 100644 --- a/pkg/apis/rbac/v1alpha1/BUILD +++ b/pkg/apis/rbac/v1alpha1/BUILD @@ -32,6 +32,7 @@ go_library( "//pkg/apis/rbac:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/apis/rbac/v1alpha1/generated.pb.go b/pkg/apis/rbac/v1alpha1/generated.pb.go index e8138819fb8..ca02dda62ea 100644 --- a/pkg/apis/rbac/v1alpha1/generated.pb.go +++ b/pkg/apis/rbac/v1alpha1/generated.pb.go @@ -2801,60 +2801,61 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 875 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x55, 0xcf, 0x8b, 0x23, 0x45, - 0x14, 0x4e, 0x4d, 0x12, 0x27, 0x79, 0xe3, 0x30, 0x4e, 0xc9, 0x4a, 0x1b, 0x30, 0x19, 0x72, 0x0a, - 0xee, 0x6e, 0x37, 0x19, 0x5c, 0xdc, 0x83, 0x1e, 0xa6, 0x45, 0x64, 0x70, 0x1d, 0x87, 0x5a, 0x5c, - 0x74, 0x51, 0xa4, 0x92, 0xd4, 0x66, 0xca, 0x74, 0xba, 0x9b, 0xaa, 0xea, 0xa8, 0x88, 0xb0, 0x78, - 0xf2, 0xe8, 0x5f, 0xb1, 0x37, 0x2f, 0x5e, 0x05, 0x0f, 0x9e, 0xe6, 0xe0, 0x61, 0x8f, 0xe2, 0x21, - 0x38, 0xf1, 0x1f, 0x91, 0xae, 0xae, 0xfe, 0x31, 0x93, 0x8e, 0x9b, 0x19, 0x71, 0x40, 0xd8, 0x53, - 0xd2, 0xef, 0x7d, 0xdf, 0x57, 0xef, 0xab, 0x57, 0xf5, 0x0a, 0xee, 0x4e, 0xee, 0x4a, 0x9b, 0x07, - 0xce, 0x24, 0x1a, 0x30, 0xe1, 0x33, 0xc5, 0xa4, 0x13, 0x4e, 0xc6, 0x0e, 0x0d, 0xb9, 0x74, 0xc4, - 0x80, 0x0e, 0x9d, 0x59, 0x9f, 0x7a, 0xe1, 0x09, 0xed, 0x3b, 0x63, 0xe6, 0x33, 0x41, 0x15, 0x1b, - 0xd9, 0xa1, 0x08, 0x54, 0x80, 0x7b, 0x09, 0xd3, 0xce, 0x99, 0x76, 0x38, 0x19, 0xdb, 0x31, 0xd3, - 0x8e, 0x99, 0x76, 0xca, 0x6c, 0xdd, 0x1e, 0x73, 0x75, 0x12, 0x0d, 0xec, 0x61, 0x30, 0x75, 0xc6, - 0xc1, 0x38, 0x70, 0xb4, 0xc0, 0x20, 0x7a, 0xa4, 0xbf, 0xf4, 0x87, 0xfe, 0x97, 0x08, 0xb7, 0xf6, - 0x57, 0x96, 0xe4, 0x08, 0x26, 0x83, 0x48, 0x0c, 0xd9, 0xc5, 0x62, 0x5a, 0x77, 0x56, 0x73, 0x22, - 0x7f, 0xc6, 0x84, 0xe4, 0x81, 0xcf, 0x46, 0x4b, 0xb4, 0x5b, 0xab, 0x69, 0xb3, 0x25, 0xc7, 0xad, - 0xdb, 0xe5, 0x68, 0x11, 0xf9, 0x8a, 0x4f, 0x97, 0x6b, 0xea, 0x97, 0xc3, 0x23, 0xc5, 0x3d, 0x87, - 0xfb, 0x4a, 0x2a, 0x71, 0x91, 0xd2, 0xfd, 0x15, 0xc1, 0xd6, 0x3b, 0x5e, 0x24, 0x15, 0x13, 0x24, - 0xf0, 0x18, 0xfe, 0x18, 0x1a, 0x53, 0xa6, 0xe8, 0x88, 0x2a, 0x6a, 0xa1, 0x3d, 0xd4, 0xdb, 0xda, - 0xef, 0xd9, 0x2b, 0xb7, 0xdd, 0x9e, 0xf5, 0xed, 0x0f, 0x07, 0x5f, 0xb0, 0xa1, 0xfa, 0x80, 0x29, - 0xea, 0xe2, 0xd3, 0x79, 0xa7, 0xb2, 0x98, 0x77, 0x20, 0x8f, 0x91, 0x4c, 0x0d, 0x7f, 0x02, 0x75, - 0x11, 0x79, 0x4c, 0x5a, 0x1b, 0x7b, 0xd5, 0xde, 0xd6, 0xfe, 0x1b, 0xf6, 0xba, 0xdd, 0xb4, 0x8f, - 0x03, 0x8f, 0x0f, 0xbf, 0x26, 0x91, 0xc7, 0xdc, 0x6d, 0xb3, 0x44, 0x3d, 0xfe, 0x92, 0x24, 0x51, - 0xec, 0xfe, 0xb8, 0x01, 0xb8, 0x60, 0xc2, 0xe5, 0xfe, 0x88, 0xfb, 0xe3, 0xff, 0xd0, 0xcb, 0xe7, - 0xd0, 0x90, 0x91, 0x4e, 0xa4, 0x76, 0xfa, 0xeb, 0xdb, 0xb9, 0x9f, 0x30, 0xdd, 0x97, 0xcc, 0x12, - 0x0d, 0x13, 0x90, 0x24, 0x13, 0xc5, 0x9f, 0xc2, 0xa6, 0x08, 0x3c, 0x46, 0xd8, 0x23, 0xab, 0xaa, - 0x2b, 0xbf, 0x84, 0x3e, 0x49, 0x88, 0xee, 0x8e, 0xd1, 0xdf, 0x34, 0x01, 0x92, 0x4a, 0x76, 0x9f, - 0x20, 0x78, 0x75, 0x79, 0xbf, 0xdc, 0x88, 0x7b, 0x23, 0x26, 0xf0, 0xf7, 0x08, 0xf0, 0x70, 0x29, - 0x6b, 0x76, 0xf0, 0xad, 0xf5, 0xeb, 0x28, 0x59, 0xa1, 0x65, 0x4a, 0x2a, 0xe9, 0x16, 0x29, 0x59, - 0xb3, 0xfb, 0x07, 0x82, 0x57, 0x96, 0xa1, 0xf7, 0xb8, 0x54, 0xf8, 0xb3, 0xa5, 0xe6, 0x3a, 0xff, - 0xd0, 0xdc, 0xc2, 0x95, 0xb4, 0x63, 0xba, 0xee, 0x71, 0xd6, 0x80, 0x34, 0x52, 0xe8, 0x30, 0x85, - 0x3a, 0x57, 0x6c, 0x9a, 0xb6, 0xf7, 0xdf, 0xd9, 0xce, 0x4e, 0xed, 0x61, 0x2c, 0x49, 0x12, 0xe5, - 0xee, 0x6f, 0x08, 0x76, 0x0a, 0xe0, 0xeb, 0x70, 0xf5, 0xf0, 0xbc, 0xab, 0x3b, 0x57, 0x73, 0x55, - 0x6e, 0xe7, 0xbb, 0x2a, 0x40, 0x7e, 0x53, 0x71, 0x07, 0xea, 0x33, 0x26, 0x06, 0xd2, 0x42, 0x7b, - 0xd5, 0x5e, 0xd3, 0x6d, 0xc6, 0xf8, 0x07, 0x71, 0x80, 0x24, 0x71, 0xfc, 0x18, 0xc1, 0x0d, 0xaa, - 0x94, 0xe0, 0x83, 0x48, 0x31, 0xc2, 0xa4, 0x12, 0x7c, 0xa8, 0x78, 0xe0, 0xc7, 0xc5, 0xc5, 0xc6, - 0x6f, 0xae, 0x28, 0xce, 0x0c, 0x3f, 0x9b, 0xd0, 0x2f, 0xdf, 0xfd, 0x4a, 0x31, 0x3f, 0xf6, 0xef, - 0xbe, 0x66, 0x4a, 0xba, 0x71, 0x50, 0xa6, 0x48, 0xca, 0x17, 0xc2, 0x37, 0xa1, 0x49, 0x43, 0xfe, - 0x9e, 0x08, 0xa2, 0x50, 0x5a, 0x55, 0x5d, 0xe7, 0xf6, 0x62, 0xde, 0x69, 0x1e, 0x1c, 0x1f, 0x26, - 0x41, 0x92, 0xe7, 0x63, 0x70, 0xfa, 0x18, 0x48, 0xab, 0x96, 0x83, 0x49, 0x1a, 0x24, 0x79, 0x1e, - 0xbf, 0x09, 0xdb, 0xe9, 0xc7, 0x11, 0x9d, 0x32, 0x69, 0xd5, 0x35, 0x61, 0x77, 0x31, 0xef, 0x6c, - 0x93, 0x62, 0x82, 0x9c, 0xc7, 0xe1, 0xb7, 0x61, 0xc7, 0x0f, 0xfc, 0x14, 0xf2, 0x11, 0xb9, 0x27, - 0xad, 0x17, 0x34, 0xf5, 0xe5, 0xc5, 0xbc, 0xb3, 0x73, 0x74, 0x3e, 0x45, 0x2e, 0x62, 0xbb, 0xdf, - 0xc2, 0x6e, 0x61, 0x5a, 0x9a, 0x0b, 0x7d, 0x02, 0x10, 0x66, 0x41, 0x73, 0xac, 0xae, 0x36, 0x7e, - 0xb3, 0xa9, 0x98, 0xc7, 0x48, 0x41, 0xbb, 0xfb, 0x33, 0x82, 0xda, 0xff, 0xf7, 0x19, 0x79, 0xb2, - 0x01, 0x5b, 0xcf, 0xdf, 0x8f, 0x35, 0xde, 0x8f, 0x78, 0x72, 0x5d, 0xf3, 0x3c, 0xbe, 0xfa, 0xe4, - 0x7a, 0xf6, 0x20, 0xfe, 0x05, 0x41, 0xe3, 0xba, 0x26, 0xf0, 0xfd, 0xf3, 0x3e, 0xec, 0x4b, 0xfa, - 0x28, 0x37, 0xf0, 0x0d, 0xa4, 0x3d, 0xc2, 0xb7, 0xa0, 0x91, 0x8e, 0x2c, 0x5d, 0x7e, 0x33, 0xaf, - 0x26, 0x9d, 0x6a, 0x24, 0x43, 0xe0, 0x3d, 0xa8, 0x4d, 0xb8, 0x3f, 0xd2, 0x13, 0xb7, 0xe9, 0xbe, - 0x68, 0x90, 0xb5, 0xf7, 0xb9, 0x3f, 0x22, 0x3a, 0x13, 0x23, 0x7c, 0x3a, 0x65, 0xfa, 0x14, 0x15, - 0x10, 0xf1, 0xb0, 0x22, 0x3a, 0xd3, 0xfd, 0x09, 0xc1, 0xa6, 0x39, 0x81, 0x99, 0x1e, 0x5a, 0xa9, - 0xb7, 0x0f, 0x40, 0x43, 0xfe, 0x20, 0xd9, 0x34, 0xb3, 0x6e, 0x76, 0x57, 0x0e, 0x8e, 0x0f, 0x4d, - 0x86, 0x14, 0x50, 0xcf, 0xae, 0x01, 0x3b, 0xd0, 0x8c, 0x7f, 0x65, 0x48, 0x87, 0xcc, 0xaa, 0x69, - 0xd8, 0xae, 0x81, 0x35, 0x8f, 0xd2, 0x04, 0xc9, 0x31, 0xee, 0xeb, 0xa7, 0x67, 0xed, 0xca, 0xd3, - 0xb3, 0x76, 0xe5, 0xf7, 0xb3, 0x76, 0xe5, 0xf1, 0xa2, 0x8d, 0x4e, 0x17, 0x6d, 0xf4, 0x74, 0xd1, - 0x46, 0x7f, 0x2e, 0xda, 0xe8, 0x87, 0xbf, 0xda, 0x95, 0x87, 0x8d, 0x74, 0xe3, 0xff, 0x0e, 0x00, - 0x00, 0xff, 0xff, 0x90, 0x88, 0x4e, 0x35, 0xb1, 0x0c, 0x00, 0x00, + // 886 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x55, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xc4, 0x36, 0xb1, 0x5f, 0x88, 0x42, 0x06, 0x15, 0x2d, 0x96, 0xb0, 0x23, 0x9f, 0x2c, + 0xda, 0xee, 0xca, 0x51, 0x2b, 0x7a, 0x80, 0x43, 0x16, 0x21, 0x14, 0x51, 0x42, 0x34, 0x15, 0x15, + 0x54, 0x20, 0x34, 0x5e, 0x4f, 0x9d, 0xc1, 0xeb, 0xdd, 0xd5, 0xcc, 0xac, 0x01, 0x21, 0xa4, 0x8a, + 0x13, 0x47, 0xfe, 0x8a, 0xde, 0xb8, 0x70, 0x45, 0xe2, 0xc0, 0x29, 0x07, 0x0e, 0x3d, 0x22, 0x0e, + 0x16, 0x31, 0xff, 0x08, 0xda, 0xdd, 0xd9, 0x1f, 0xc9, 0xae, 0x5b, 0x37, 0x88, 0x48, 0x48, 0x3d, + 0xd9, 0xfb, 0xde, 0xf7, 0x7d, 0xf3, 0xbe, 0x79, 0x33, 0x6f, 0xe0, 0xce, 0xf4, 0x8e, 0x34, 0xb9, + 0x6f, 0x4d, 0xc3, 0x11, 0x13, 0x1e, 0x53, 0x4c, 0x5a, 0xc1, 0x74, 0x62, 0xd1, 0x80, 0x4b, 0x4b, + 0x8c, 0xa8, 0x63, 0xcd, 0x87, 0xd4, 0x0d, 0x4e, 0xe8, 0xd0, 0x9a, 0x30, 0x8f, 0x09, 0xaa, 0xd8, + 0xd8, 0x0c, 0x84, 0xaf, 0x7c, 0x3c, 0x48, 0x98, 0x66, 0xce, 0x34, 0x83, 0xe9, 0xc4, 0x8c, 0x98, + 0x66, 0xc4, 0x34, 0x53, 0x66, 0xe7, 0xe6, 0x84, 0xab, 0x93, 0x70, 0x64, 0x3a, 0xfe, 0xcc, 0x9a, + 0xf8, 0x13, 0xdf, 0x8a, 0x05, 0x46, 0xe1, 0xc3, 0xf8, 0x2b, 0xfe, 0x88, 0xff, 0x25, 0xc2, 0x9d, + 0xfd, 0x95, 0x25, 0x59, 0x82, 0x49, 0x3f, 0x14, 0x0e, 0xbb, 0x58, 0x4c, 0xe7, 0xf6, 0x6a, 0x4e, + 0xe8, 0xcd, 0x99, 0x90, 0xdc, 0xf7, 0xd8, 0xb8, 0x44, 0xbb, 0xb1, 0x9a, 0x36, 0x2f, 0x39, 0xee, + 0xdc, 0xac, 0x46, 0x8b, 0xd0, 0x53, 0x7c, 0x56, 0xae, 0xe9, 0xd6, 0xd3, 0xe1, 0xd2, 0x39, 0x61, + 0x33, 0x5a, 0x62, 0x0d, 0xab, 0x59, 0xa1, 0xe2, 0xae, 0xc5, 0x3d, 0x25, 0x95, 0xb8, 0x48, 0xe9, + 0xff, 0x86, 0x60, 0xeb, 0x5d, 0x37, 0x94, 0x8a, 0x09, 0xe2, 0xbb, 0x0c, 0x7f, 0x02, 0xad, 0x19, + 0x53, 0x74, 0x4c, 0x15, 0x35, 0xd0, 0x1e, 0x1a, 0x6c, 0xed, 0x0f, 0xcc, 0x95, 0xcd, 0x32, 0xe7, + 0x43, 0xf3, 0xa3, 0xd1, 0x97, 0xcc, 0x51, 0x1f, 0x32, 0x45, 0x6d, 0x7c, 0xba, 0xe8, 0xd5, 0x96, + 0x8b, 0x1e, 0xe4, 0x31, 0x92, 0xa9, 0xe1, 0x4f, 0xa1, 0x29, 0x42, 0x97, 0x49, 0x63, 0x63, 0xaf, + 0x3e, 0xd8, 0xda, 0xbf, 0x65, 0xae, 0x7b, 0x06, 0xcc, 0x63, 0xdf, 0xe5, 0xce, 0x37, 0x24, 0x74, + 0x99, 0xbd, 0xad, 0x97, 0x68, 0x46, 0x5f, 0x92, 0x24, 0x8a, 0xfd, 0x9f, 0x36, 0x00, 0x17, 0x4c, + 0xd8, 0xdc, 0x1b, 0x73, 0x6f, 0xf2, 0x1f, 0x7a, 0xf9, 0x02, 0x5a, 0x32, 0x8c, 0x13, 0xa9, 0x9d, + 0xe1, 0xfa, 0x76, 0xee, 0x25, 0x4c, 0xfb, 0x15, 0xbd, 0x44, 0x4b, 0x07, 0x24, 0xc9, 0x44, 0xf1, + 0x67, 0xb0, 0x29, 0x7c, 0x97, 0x11, 0xf6, 0xd0, 0xa8, 0xc7, 0x95, 0x3f, 0x87, 0x3e, 0x49, 0x88, + 0xf6, 0x8e, 0xd6, 0xdf, 0xd4, 0x01, 0x92, 0x4a, 0xf6, 0x1f, 0x23, 0x78, 0xbd, 0xbc, 0x5f, 0x76, + 0xc8, 0xdd, 0x31, 0x13, 0xf8, 0x07, 0x04, 0xd8, 0x29, 0x65, 0xf5, 0x0e, 0xbe, 0xbd, 0x7e, 0x1d, + 0x15, 0x2b, 0x74, 0x74, 0x49, 0x15, 0xdd, 0x22, 0x15, 0x6b, 0xf6, 0xff, 0x44, 0xf0, 0x5a, 0x19, + 0x7a, 0x97, 0x4b, 0x85, 0x3f, 0x2f, 0x35, 0xd7, 0x7a, 0x4a, 0x73, 0x0b, 0x17, 0xd9, 0x8c, 0xe8, + 0x71, 0x8f, 0xb3, 0x06, 0xa4, 0x91, 0x42, 0x87, 0x29, 0x34, 0xb9, 0x62, 0xb3, 0xb4, 0xbd, 0xff, + 0xce, 0x76, 0x76, 0x6a, 0x0f, 0x23, 0x49, 0x92, 0x28, 0xf7, 0x7f, 0x47, 0xb0, 0x53, 0x00, 0x5f, + 0x85, 0xab, 0x07, 0xe7, 0x5d, 0xdd, 0xbe, 0x9c, 0xab, 0x6a, 0x3b, 0xdf, 0xd7, 0x01, 0xf2, 0x9b, + 0x8a, 0x7b, 0xd0, 0x9c, 0x33, 0x31, 0x92, 0x06, 0xda, 0xab, 0x0f, 0xda, 0x76, 0x3b, 0xc2, 0xdf, + 0x8f, 0x02, 0x24, 0x89, 0xe3, 0x47, 0x08, 0xae, 0x51, 0xa5, 0x04, 0x1f, 0x85, 0x8a, 0x11, 0x26, + 0x95, 0xe0, 0x8e, 0xe2, 0xbe, 0x17, 0x15, 0x17, 0x19, 0xbf, 0xbe, 0xa2, 0x38, 0x3d, 0x03, 0x4d, + 0x42, 0xbf, 0x7a, 0xef, 0x6b, 0xc5, 0xbc, 0xc8, 0xbf, 0xfd, 0x86, 0x2e, 0xe9, 0xda, 0x41, 0x95, + 0x22, 0xa9, 0x5e, 0x08, 0x5f, 0x87, 0x36, 0x0d, 0xf8, 0xfb, 0xc2, 0x0f, 0x03, 0x69, 0xd4, 0xe3, + 0x3a, 0xb7, 0x97, 0x8b, 0x5e, 0xfb, 0xe0, 0xf8, 0x30, 0x09, 0x92, 0x3c, 0x1f, 0x81, 0xd3, 0x27, + 0x44, 0x1a, 0x8d, 0x1c, 0x4c, 0xd2, 0x20, 0xc9, 0xf3, 0xf8, 0x2d, 0xd8, 0x4e, 0x3f, 0x8e, 0xe8, + 0x8c, 0x49, 0xa3, 0x19, 0x13, 0x76, 0x97, 0x8b, 0xde, 0x36, 0x29, 0x26, 0xc8, 0x79, 0x1c, 0x7e, + 0x07, 0x76, 0x3c, 0xdf, 0x4b, 0x21, 0x1f, 0x93, 0xbb, 0xd2, 0x78, 0x29, 0xa6, 0xbe, 0xba, 0x5c, + 0xf4, 0x76, 0x8e, 0xce, 0xa7, 0xc8, 0x45, 0x6c, 0xff, 0x3b, 0xd8, 0x2d, 0x4c, 0x4b, 0x7d, 0xa1, + 0x4f, 0x00, 0x82, 0x2c, 0xa8, 0x8f, 0xd5, 0xe5, 0xc6, 0x6f, 0x36, 0x15, 0xf3, 0x18, 0x29, 0x68, + 0xf7, 0x7f, 0x41, 0xd0, 0xf8, 0xff, 0x3e, 0x23, 0x8f, 0x37, 0x60, 0xeb, 0xc5, 0xfb, 0xb1, 0xc6, + 0xfb, 0x11, 0x4d, 0xae, 0x2b, 0x9e, 0xc7, 0x97, 0x9f, 0x5c, 0xcf, 0x1e, 0xc4, 0xbf, 0x22, 0x68, + 0x5d, 0xd5, 0x04, 0xbe, 0x77, 0xde, 0x87, 0xf9, 0x9c, 0x3e, 0xaa, 0x0d, 0x7c, 0x0b, 0x69, 0x8f, + 0xf0, 0x0d, 0x68, 0xa5, 0x23, 0x2b, 0x2e, 0xbf, 0x9d, 0x57, 0x93, 0x4e, 0x35, 0x92, 0x21, 0xf0, + 0x1e, 0x34, 0xa6, 0xdc, 0x1b, 0xc7, 0x13, 0xb7, 0x6d, 0xbf, 0xac, 0x91, 0x8d, 0x0f, 0xb8, 0x37, + 0x26, 0x71, 0x26, 0x42, 0x78, 0x74, 0xc6, 0xe2, 0x53, 0x54, 0x40, 0x44, 0xc3, 0x8a, 0xc4, 0x99, + 0xfe, 0xcf, 0x08, 0x36, 0xf5, 0x09, 0xcc, 0xf4, 0xd0, 0x4a, 0xbd, 0x7d, 0x00, 0x1a, 0xf0, 0xfb, + 0xc9, 0xa6, 0xe9, 0x75, 0xb3, 0xbb, 0x72, 0x70, 0x7c, 0xa8, 0x33, 0xa4, 0x80, 0x7a, 0x76, 0x0d, + 0xd8, 0x82, 0x76, 0xf4, 0x2b, 0x03, 0xea, 0x30, 0xa3, 0x11, 0xc3, 0x76, 0x35, 0xac, 0x7d, 0x94, + 0x26, 0x48, 0x8e, 0xb1, 0xdf, 0x3c, 0x3d, 0xeb, 0xd6, 0x9e, 0x9c, 0x75, 0x6b, 0x7f, 0x9c, 0x75, + 0x6b, 0x8f, 0x96, 0x5d, 0x74, 0xba, 0xec, 0xa2, 0x27, 0xcb, 0x2e, 0xfa, 0x6b, 0xd9, 0x45, 0x3f, + 0xfe, 0xdd, 0xad, 0x3d, 0x68, 0xa5, 0x1b, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x90, 0xdd, + 0x28, 0xaf, 0xe7, 0x0c, 0x00, 0x00, } diff --git a/pkg/apis/rbac/v1alpha1/generated.proto b/pkg/apis/rbac/v1alpha1/generated.proto index 7ff93edcfa9..c265441f965 100644 --- a/pkg/apis/rbac/v1alpha1/generated.proto +++ b/pkg/apis/rbac/v1alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/rbac/v1alpha1/helpers.go b/pkg/apis/rbac/v1alpha1/helpers.go index f424e57b040..78ca3a12985 100644 --- a/pkg/apis/rbac/v1alpha1/helpers.go +++ b/pkg/apis/rbac/v1alpha1/helpers.go @@ -27,7 +27,7 @@ import ( // We use it to construct rules in code. It's more compact than trying to write them // out in a literal and allows us to perform some basic checking during construction type PolicyRuleBuilder struct { - PolicyRule PolicyRule + PolicyRule PolicyRule `protobuf:"bytes,1,opt,name=policyRule"` } func NewRule(verbs ...string) *PolicyRuleBuilder { @@ -94,7 +94,7 @@ func (r *PolicyRuleBuilder) Rule() (PolicyRule, error) { // We use it to construct bindings in code. It's more compact than trying to write them // out in a literal. type ClusterRoleBindingBuilder struct { - ClusterRoleBinding ClusterRoleBinding + ClusterRoleBinding ClusterRoleBinding `protobuf:"bytes,1,opt,name=clusterRoleBinding"` } func NewClusterBinding(clusterRoleName string) *ClusterRoleBindingBuilder { diff --git a/pkg/apis/rbac/v1alpha1/register.go b/pkg/apis/rbac/v1alpha1/register.go index 5b76247d794..31221ade413 100644 --- a/pkg/apis/rbac/v1alpha1/register.go +++ b/pkg/apis/rbac/v1alpha1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch/versioned" ) const GroupName = "rbac.authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) diff --git a/pkg/apis/rbac/zz_generated.deepcopy.go b/pkg/apis/rbac/zz_generated.deepcopy.go index a216d2c0528..09b0d57b953 100644 --- a/pkg/apis/rbac/zz_generated.deepcopy.go +++ b/pkg/apis/rbac/zz_generated.deepcopy.go @@ -21,10 +21,11 @@ limitations under the License. package rbac import ( + reflect "reflect" + api "k8s.io/kubernetes/pkg/api" conversion "k8s.io/kubernetes/pkg/conversion" runtime "k8s.io/kubernetes/pkg/runtime" - reflect "reflect" ) func init() { diff --git a/pkg/apis/storage/BUILD b/pkg/apis/storage/BUILD index d12e144d53b..b52cd12b941 100644 --- a/pkg/apis/storage/BUILD +++ b/pkg/apis/storage/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apis/storage/register.go b/pkg/apis/storage/register.go index 2da8d17c2c8..93452b46488 100644 --- a/pkg/apis/storage/register.go +++ b/pkg/apis/storage/register.go @@ -18,23 +18,23 @@ package storage import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "storage.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/pkg/apis/storage/v1beta1/BUILD b/pkg/apis/storage/v1beta1/BUILD index 83d3c4363c4..5f8b7c52afb 100644 --- a/pkg/apis/storage/v1beta1/BUILD +++ b/pkg/apis/storage/v1beta1/BUILD @@ -29,6 +29,7 @@ go_library( "//pkg/apis/storage:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/watch/versioned:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/apis/storage/v1beta1/generated.pb.go b/pkg/apis/storage/v1beta1/generated.pb.go index 0a22e648f0b..0dd6295c712 100644 --- a/pkg/apis/storage/v1beta1/generated.pb.go +++ b/pkg/apis/storage/v1beta1/generated.pb.go @@ -696,34 +696,35 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 462 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xcf, 0x8b, 0xd3, 0x40, - 0x14, 0xc7, 0x33, 0x2d, 0xc5, 0xdd, 0xa9, 0x62, 0x89, 0x1e, 0x4a, 0x0e, 0xd9, 0xb2, 0xa7, 0x2a, - 0xee, 0x0c, 0x2d, 0x2c, 0x94, 0x05, 0x2f, 0x15, 0x41, 0x41, 0x71, 0x89, 0x17, 0x11, 0xf6, 0x30, - 0x69, 0x9f, 0x71, 0x4c, 0x93, 0x09, 0x33, 0x2f, 0x81, 0x05, 0x0f, 0xfe, 0x09, 0xfe, 0x59, 0x3d, - 0xf6, 0xe8, 0x41, 0x16, 0x1b, 0xff, 0x11, 0x69, 0x12, 0x37, 0xa1, 0x3f, 0x44, 0xf6, 0x36, 0x6f, - 0xe6, 0x7d, 0xbe, 0xef, 0xfb, 0xbe, 0x0c, 0xbd, 0x08, 0x27, 0x86, 0x49, 0xc5, 0xc3, 0xd4, 0x07, - 0x1d, 0x03, 0x82, 0xe1, 0x49, 0x18, 0x70, 0x91, 0x48, 0xc3, 0x0d, 0x2a, 0x2d, 0x02, 0xe0, 0xd9, - 0xc8, 0x07, 0x14, 0x23, 0x1e, 0x40, 0x0c, 0x5a, 0x20, 0xcc, 0x59, 0xa2, 0x15, 0x2a, 0xfb, 0x69, - 0xc9, 0xb2, 0x9a, 0x65, 0x49, 0x18, 0xb0, 0x0d, 0xcb, 0x2a, 0x96, 0x55, 0xac, 0x73, 0x16, 0x48, - 0xfc, 0x9c, 0xfa, 0x6c, 0xa6, 0x22, 0x1e, 0xa8, 0x40, 0xf1, 0x42, 0xc2, 0x4f, 0x3f, 0x15, 0x55, - 0x51, 0x14, 0xa7, 0x52, 0xda, 0x19, 0x1f, 0xb4, 0xc5, 0x35, 0x18, 0x95, 0xea, 0x19, 0x6c, 0xdb, - 0x71, 0xce, 0x0f, 0x33, 0x69, 0x9c, 0x81, 0x36, 0x52, 0xc5, 0x30, 0xdf, 0xc1, 0x9e, 0x1d, 0xc6, - 0xb2, 0x9d, 0x9d, 0x9d, 0xb3, 0xfd, 0xdd, 0x3a, 0x8d, 0x51, 0x46, 0xbb, 0x9e, 0x46, 0xfb, 0xdb, - 0x53, 0x94, 0x0b, 0x2e, 0x63, 0x34, 0xa8, 0xb7, 0x91, 0xd3, 0x9f, 0x2d, 0x7a, 0xff, 0x7d, 0x99, - 0xde, 0x8b, 0x85, 0x30, 0xc6, 0xfe, 0x40, 0x8f, 0x22, 0x40, 0x31, 0x17, 0x28, 0xfa, 0x64, 0x40, - 0x86, 0xdd, 0xf1, 0x90, 0x1d, 0x4c, 0x9e, 0x65, 0x23, 0xf6, 0xce, 0xff, 0x02, 0x33, 0x7c, 0x0b, - 0x28, 0xa6, 0xf6, 0xf2, 0xe6, 0xc4, 0xca, 0x6f, 0x4e, 0x68, 0x7d, 0xe7, 0xdd, 0xaa, 0xd9, 0xe7, - 0xb4, 0x9b, 0x68, 0x95, 0xc9, 0x22, 0x19, 0xdd, 0x6f, 0x0d, 0xc8, 0xf0, 0x78, 0xfa, 0xa8, 0x42, - 0xba, 0x97, 0xf5, 0x93, 0xd7, 0xec, 0xb3, 0xbf, 0x52, 0x9a, 0x08, 0x2d, 0x22, 0x40, 0xd0, 0xa6, - 0xdf, 0x1e, 0xb4, 0x87, 0xdd, 0xf1, 0x2b, 0xf6, 0xff, 0x9f, 0x81, 0x35, 0xd7, 0x63, 0x97, 0xb7, - 0x52, 0x2f, 0x63, 0xd4, 0xd7, 0xb5, 0xe5, 0xfa, 0xc1, 0x6b, 0xcc, 0x73, 0x9e, 0xd3, 0x87, 0x5b, - 0x88, 0xdd, 0xa3, 0xed, 0x10, 0xae, 0x8b, 0x70, 0x8e, 0xbd, 0xcd, 0xd1, 0x7e, 0x4c, 0x3b, 0x99, - 0x58, 0xa4, 0x50, 0xee, 0xe4, 0x95, 0xc5, 0x45, 0x6b, 0x42, 0x4e, 0x57, 0x84, 0xf6, 0x9a, 0xf3, - 0xdf, 0x48, 0x83, 0xf6, 0xd5, 0x4e, 0xc4, 0xfc, 0x1f, 0x11, 0x37, 0x7e, 0x13, 0xdb, 0xe0, 0x45, - 0xd2, 0xbd, 0xca, 0xf6, 0xd1, 0xdf, 0x9b, 0x46, 0xce, 0x57, 0xb4, 0x23, 0x11, 0x22, 0xd3, 0x6f, - 0x15, 0x59, 0x4d, 0xee, 0x9a, 0xd5, 0xf4, 0x41, 0x35, 0xa4, 0xf3, 0x7a, 0x23, 0xe7, 0x95, 0xaa, - 0xd3, 0x27, 0xcb, 0xb5, 0x6b, 0xad, 0xd6, 0xae, 0xf5, 0x63, 0xed, 0x5a, 0xdf, 0x72, 0x97, 0x2c, - 0x73, 0x97, 0xac, 0x72, 0x97, 0xfc, 0xca, 0x5d, 0xf2, 0xfd, 0xb7, 0x6b, 0x7d, 0xbc, 0x57, 0xa9, - 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x86, 0x21, 0xa9, 0x43, 0xef, 0x03, 0x00, 0x00, + // 472 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x8b, 0xd3, 0x40, + 0x14, 0xc7, 0x3b, 0x2d, 0xc5, 0xdd, 0xa9, 0x62, 0x89, 0x1e, 0x4a, 0x0e, 0xd9, 0xb2, 0xa7, 0x2a, + 0xee, 0x0c, 0x2d, 0x2e, 0x94, 0x05, 0x2f, 0x15, 0x41, 0x41, 0x71, 0x89, 0x17, 0x11, 0xf6, 0x30, + 0x69, 0x9f, 0xd9, 0x31, 0x4d, 0x26, 0xcc, 0xbc, 0x04, 0x16, 0x3c, 0xf8, 0x11, 0xfc, 0x58, 0x3d, + 0xf6, 0xe8, 0x41, 0x16, 0x1b, 0xbf, 0x88, 0x34, 0x89, 0x9b, 0xd0, 0x6c, 0x17, 0xf1, 0x96, 0x37, + 0xf3, 0x7e, 0xff, 0xf7, 0x7f, 0xff, 0x0c, 0x3d, 0x0b, 0xa6, 0x86, 0x49, 0xc5, 0x83, 0xc4, 0x03, + 0x1d, 0x01, 0x82, 0xe1, 0x71, 0xe0, 0x73, 0x11, 0x4b, 0xc3, 0x0d, 0x2a, 0x2d, 0x7c, 0xe0, 0xe9, + 0xd8, 0x03, 0x14, 0x63, 0xee, 0x43, 0x04, 0x5a, 0x20, 0x2c, 0x58, 0xac, 0x15, 0x2a, 0xeb, 0x69, + 0xc1, 0xb2, 0x8a, 0x65, 0x71, 0xe0, 0xb3, 0x2d, 0xcb, 0x4a, 0x96, 0x95, 0xac, 0x7d, 0xe2, 0x4b, + 0xbc, 0x4c, 0x3c, 0x36, 0x57, 0x21, 0xf7, 0x95, 0xaf, 0x78, 0x2e, 0xe1, 0x25, 0x9f, 0xf3, 0x2a, + 0x2f, 0xf2, 0xaf, 0x42, 0xda, 0x9e, 0xec, 0xb5, 0xc5, 0x35, 0x18, 0x95, 0xe8, 0x39, 0xec, 0xda, + 0xb1, 0x4f, 0xf7, 0x33, 0x49, 0x94, 0x82, 0x36, 0x52, 0x45, 0xb0, 0x68, 0x60, 0xcf, 0xf6, 0x63, + 0x69, 0x63, 0x67, 0xfb, 0xe4, 0xf6, 0x6e, 0x9d, 0x44, 0x28, 0xc3, 0xa6, 0xa7, 0xe7, 0x77, 0xb7, + 0x9b, 0xf9, 0x25, 0x84, 0xa2, 0x41, 0x8d, 0x6f, 0xa7, 0x12, 0x94, 0x4b, 0x2e, 0x23, 0x34, 0xa8, + 0x77, 0x91, 0xe3, 0x9f, 0x6d, 0x7a, 0xff, 0x43, 0x91, 0xf9, 0xcb, 0xa5, 0x30, 0xc6, 0xfa, 0x48, + 0x0f, 0x42, 0x40, 0xb1, 0x10, 0x28, 0x06, 0x64, 0x48, 0x46, 0xbd, 0xc9, 0x88, 0xed, 0xfd, 0x5f, + 0x2c, 0x1d, 0xb3, 0xf7, 0xde, 0x17, 0x98, 0xe3, 0x3b, 0x40, 0x31, 0xb3, 0x56, 0xd7, 0x47, 0xad, + 0xec, 0xfa, 0x88, 0x56, 0x67, 0xee, 0x8d, 0x9a, 0x75, 0x4a, 0x7b, 0xb1, 0x56, 0xa9, 0xcc, 0xf3, + 0xd4, 0x83, 0xf6, 0x90, 0x8c, 0x0e, 0x67, 0x8f, 0x4a, 0xa4, 0x77, 0x5e, 0x5d, 0xb9, 0xf5, 0x3e, + 0xeb, 0x2b, 0xa5, 0xb1, 0xd0, 0x22, 0x04, 0x04, 0x6d, 0x06, 0x9d, 0x61, 0x67, 0xd4, 0x9b, 0xbc, + 0x66, 0xff, 0xfe, 0x84, 0x58, 0x7d, 0x3d, 0x76, 0x7e, 0x23, 0xf5, 0x2a, 0x42, 0x7d, 0x55, 0x59, + 0xae, 0x2e, 0xdc, 0xda, 0x3c, 0xfb, 0x05, 0x7d, 0xb8, 0x83, 0x58, 0x7d, 0xda, 0x09, 0xe0, 0x2a, + 0x0f, 0xe7, 0xd0, 0xdd, 0x7e, 0x5a, 0x8f, 0x69, 0x37, 0x15, 0xcb, 0x04, 0x8a, 0x9d, 0xdc, 0xa2, + 0x38, 0x6b, 0x4f, 0xc9, 0xf1, 0x9a, 0xd0, 0x7e, 0x7d, 0xfe, 0x5b, 0x69, 0xd0, 0xba, 0x68, 0x44, + 0xcc, 0xef, 0x88, 0xb8, 0xf6, 0x06, 0xd9, 0x16, 0xcf, 0x93, 0xee, 0x97, 0xb6, 0x0f, 0xfe, 0x9e, + 0xd4, 0x72, 0xbe, 0xa0, 0x5d, 0x89, 0x10, 0x9a, 0x41, 0x3b, 0xcf, 0x6a, 0xfa, 0xbf, 0x59, 0xcd, + 0x1e, 0x94, 0x43, 0xba, 0x6f, 0xb6, 0x72, 0x6e, 0xa1, 0x3a, 0x7b, 0xb2, 0xda, 0x38, 0xad, 0xf5, + 0xc6, 0x69, 0xfd, 0xd8, 0x38, 0xad, 0x6f, 0x99, 0x43, 0x56, 0x99, 0x43, 0xd6, 0x99, 0x43, 0x7e, + 0x65, 0x0e, 0xf9, 0xfe, 0xdb, 0x69, 0x7d, 0xba, 0x57, 0xaa, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, + 0x0a, 0x07, 0x46, 0xe4, 0x25, 0x04, 0x00, 0x00, } diff --git a/pkg/apis/storage/v1beta1/generated.proto b/pkg/apis/storage/v1beta1/generated.proto index bdc0631cf2f..efc3b806d3f 100644 --- a/pkg/apis/storage/v1beta1/generated.proto +++ b/pkg/apis/storage/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/apis/storage/v1beta1/register.go b/pkg/apis/storage/v1beta1/register.go index e850a634d3a..6dbb8017f52 100644 --- a/pkg/apis/storage/v1beta1/register.go +++ b/pkg/apis/storage/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" versionedwatch "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "storage.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/pkg/apiserver/BUILD b/pkg/apiserver/BUILD index 2d2fc091ed5..635a99af2d9 100644 --- a/pkg/apiserver/BUILD +++ b/pkg/apiserver/BUILD @@ -41,6 +41,7 @@ go_library( "//pkg/probe:go_default_library", "//pkg/probe/http:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/storage:go_default_library", "//pkg/util:go_default_library", @@ -96,6 +97,7 @@ go_test( "//pkg/labels:go_default_library", "//pkg/probe:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/types:go_default_library", "//pkg/util/diff:go_default_library", diff --git a/pkg/apiserver/api_installer.go b/pkg/apiserver/api_installer.go index 07a5b066e09..2c52c4ce3a7 100644 --- a/pkg/apiserver/api_installer.go +++ b/pkg/apiserver/api_installer.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/apiserver/metrics" "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilstrings "k8s.io/kubernetes/pkg/util/strings" "github.com/emicklei/go-restful" @@ -115,7 +116,7 @@ func (a *APIInstaller) NewWebService() *restful.WebService { // getResourceKind returns the external group version kind registered for the given storage // object. If the storage object is a subresource and has an override supplied for it, it returns // the group version kind supplied in the override. -func (a *APIInstaller) getResourceKind(path string, storage rest.Storage) (unversioned.GroupVersionKind, error) { +func (a *APIInstaller) getResourceKind(path string, storage rest.Storage) (schema.GroupVersionKind, error) { if fqKindToRegister, ok := a.group.SubresourceGroupVersionKind[path]; ok { return fqKindToRegister, nil } @@ -123,12 +124,12 @@ func (a *APIInstaller) getResourceKind(path string, storage rest.Storage) (unver object := storage.New() fqKinds, _, err := a.group.Typer.ObjectKinds(object) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } // a given go type can have multiple potential fully qualified kinds. Find the one that corresponds with the group // we're trying to register here - fqKindToRegister := unversioned.GroupVersionKind{} + fqKindToRegister := schema.GroupVersionKind{} for _, fqKind := range fqKinds { if fqKind.Group == a.group.GroupVersion.Group { fqKindToRegister = a.group.GroupVersion.WithKind(fqKind.Kind) @@ -141,7 +142,7 @@ func (a *APIInstaller) getResourceKind(path string, storage rest.Storage) (unver } } if fqKindToRegister.Empty() { - return unversioned.GroupVersionKind{}, fmt.Errorf("unable to locate fully qualified kind for %v: found %v when registering for %v", reflect.TypeOf(object), fqKinds, a.group.GroupVersion) + return schema.GroupVersionKind{}, fmt.Errorf("unable to locate fully qualified kind for %v: found %v when registering for %v", reflect.TypeOf(object), fqKinds, a.group.GroupVersion) } return fqKindToRegister, nil } @@ -274,7 +275,7 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag var ( getOptions runtime.Object versionedGetOptions runtime.Object - getOptionsInternalKind unversioned.GroupVersionKind + getOptionsInternalKind schema.GroupVersionKind getSubpath bool ) if isGetterWithOptions { @@ -303,7 +304,7 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag var ( connectOptions runtime.Object versionedConnectOptions runtime.Object - connectOptionsInternalKind unversioned.GroupVersionKind + connectOptionsInternalKind schema.GroupVersionKind connectSubpath bool ) if isConnecter { diff --git a/pkg/apiserver/apiserver.go b/pkg/apiserver/apiserver.go index e05bc7d891d..69695d35ae4 100644 --- a/pkg/apiserver/apiserver.go +++ b/pkg/apiserver/apiserver.go @@ -38,6 +38,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apiserver/metrics" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/flushwriter" utilruntime "k8s.io/kubernetes/pkg/util/runtime" @@ -68,13 +69,13 @@ type APIGroupVersion struct { Root string // GroupVersion is the external group version - GroupVersion unversioned.GroupVersion + GroupVersion schema.GroupVersion // OptionsExternalVersion controls the Kubernetes APIVersion used for common objects in the apiserver // schema like api.Status, api.DeleteOptions, and api.ListOptions. Other implementors may // define a version "v1beta1" but want to use the Kubernetes "v1" internal objects. If // empty, defaults to GroupVersion. - OptionsExternalVersion *unversioned.GroupVersion + OptionsExternalVersion *schema.GroupVersion Mapper meta.RESTMapper @@ -98,7 +99,7 @@ type APIGroupVersion struct { // accessible from this API group version. The GroupVersionKind is that of the external version of // the subresource. The key of this map should be the path of the subresource. The keys here should // match the keys in the Storage map above for subresources. - SubresourceGroupVersionKind map[string]unversioned.GroupVersionKind + SubresourceGroupVersionKind map[string]schema.GroupVersionKind // ResourceLister is an interface that knows how to list resources // for this API Group. @@ -204,7 +205,7 @@ func logStackOnRecover(s runtime.NegotiatedSerializer, panicReason interface{}, if ct := w.Header().Get("Content-Type"); len(ct) > 0 { headers.Set("Accept", ct) } - errorNegotiated(apierrors.NewGenericServerResponse(http.StatusInternalServerError, "", api.Resource(""), "", "", 0, false), s, unversioned.GroupVersion{}, w, &http.Request{Header: headers}) + errorNegotiated(apierrors.NewGenericServerResponse(http.StatusInternalServerError, "", api.Resource(""), "", "", 0, false), s, schema.GroupVersion{}, w, &http.Request{Header: headers}) } // Adds a service to return the supported api versions at the legacy /api. @@ -321,7 +322,7 @@ func NewGroupWebService(s runtime.NegotiatedSerializer, path string, group unver // Adds a service to return the supported resources, E.g., a such web service // will be registered at /apis/extensions/v1. -func AddSupportedResourcesWebService(s runtime.NegotiatedSerializer, ws *restful.WebService, groupVersion unversioned.GroupVersion, lister APIResourceLister) { +func AddSupportedResourcesWebService(s runtime.NegotiatedSerializer, ws *restful.WebService, groupVersion schema.GroupVersion, lister APIResourceLister) { ss := s if keepUnversioned(groupVersion.Group) { // Because in release 1.1, /apis/extensions/v1beta1 returns response @@ -342,7 +343,7 @@ func AddSupportedResourcesWebService(s runtime.NegotiatedSerializer, ws *restful // APIVersionHandler returns a handler which will list the provided versions as available. func APIVersionHandler(s runtime.NegotiatedSerializer, getAPIVersionsFunc func(req *restful.Request) *unversioned.APIVersions) restful.RouteFunction { return func(req *restful.Request, resp *restful.Response) { - writeNegotiated(s, unversioned.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, getAPIVersionsFunc(req)) + writeNegotiated(s, schema.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, getAPIVersionsFunc(req)) } } @@ -387,7 +388,7 @@ func filterAPIGroups(req *restful.Request, groups []unversioned.APIGroup) []unve // RootAPIHandler returns a handler which will list the provided groups and versions as available. func RootAPIHandler(s runtime.NegotiatedSerializer, f func(req *restful.Request) []unversioned.APIGroup) restful.RouteFunction { return func(req *restful.Request, resp *restful.Response) { - writeNegotiated(s, unversioned.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, &unversioned.APIGroupList{Groups: filterAPIGroups(req, f(req))}) + writeNegotiated(s, schema.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, &unversioned.APIGroupList{Groups: filterAPIGroups(req, f(req))}) } } @@ -395,14 +396,14 @@ func RootAPIHandler(s runtime.NegotiatedSerializer, f func(req *restful.Request) // the group. func GroupHandler(s runtime.NegotiatedSerializer, group unversioned.APIGroup) restful.RouteFunction { return func(req *restful.Request, resp *restful.Response) { - writeNegotiated(s, unversioned.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, &group) + writeNegotiated(s, schema.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, &group) } } // SupportedResourcesHandler returns a handler which will list the provided resources as available. -func SupportedResourcesHandler(s runtime.NegotiatedSerializer, groupVersion unversioned.GroupVersion, lister APIResourceLister) restful.RouteFunction { +func SupportedResourcesHandler(s runtime.NegotiatedSerializer, groupVersion schema.GroupVersion, lister APIResourceLister) restful.RouteFunction { return func(req *restful.Request, resp *restful.Response) { - writeNegotiated(s, unversioned.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, &unversioned.APIResourceList{GroupVersion: groupVersion.String(), APIResources: lister.ListAPIResources()}) + writeNegotiated(s, schema.GroupVersion{}, resp.ResponseWriter, req.Request, http.StatusOK, &unversioned.APIResourceList{GroupVersion: groupVersion.String(), APIResources: lister.ListAPIResources()}) } } @@ -411,7 +412,7 @@ func SupportedResourcesHandler(s runtime.NegotiatedSerializer, groupVersion unve // response. The Accept header and current API version will be passed in, and the output will be copied // directly to the response body. If content type is returned it is used, otherwise the content type will // be "application/octet-stream". All other objects are sent to standard JSON serialization. -func write(statusCode int, gv unversioned.GroupVersion, s runtime.NegotiatedSerializer, object runtime.Object, w http.ResponseWriter, req *http.Request) { +func write(statusCode int, gv schema.GroupVersion, s runtime.NegotiatedSerializer, object runtime.Object, w http.ResponseWriter, req *http.Request) { stream, ok := object.(rest.ResourceStreamer) if !ok { writeNegotiated(s, gv, w, req, statusCode, object) @@ -451,7 +452,7 @@ func write(statusCode int, gv unversioned.GroupVersion, s runtime.NegotiatedSeri } // writeNegotiated renders an object in the content type negotiated by the client -func writeNegotiated(s runtime.NegotiatedSerializer, gv unversioned.GroupVersion, w http.ResponseWriter, req *http.Request, statusCode int, object runtime.Object) { +func writeNegotiated(s runtime.NegotiatedSerializer, gv schema.GroupVersion, w http.ResponseWriter, req *http.Request, statusCode int, object runtime.Object) { serializer, err := negotiateOutputSerializer(req, s) if err != nil { status := errToAPIStatus(err) @@ -469,7 +470,7 @@ func writeNegotiated(s runtime.NegotiatedSerializer, gv unversioned.GroupVersion } // errorNegotiated renders an error to the response. Returns the HTTP status code of the error. -func errorNegotiated(err error, s runtime.NegotiatedSerializer, gv unversioned.GroupVersion, w http.ResponseWriter, req *http.Request) int { +func errorNegotiated(err error, s runtime.NegotiatedSerializer, gv schema.GroupVersion, w http.ResponseWriter, req *http.Request) int { status := errToAPIStatus(err) code := int(status.Code) // when writing an error, check to see if the status indicates a retry after period diff --git a/pkg/apiserver/apiserver_test.go b/pkg/apiserver/apiserver_test.go index 23ccd3ae860..3d472396373 100644 --- a/pkg/apiserver/apiserver_test.go +++ b/pkg/apiserver/apiserver_test.go @@ -46,6 +46,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/watch" @@ -63,18 +64,18 @@ func convert(obj runtime.Object) (runtime.Object, error) { // This creates fake API versions, similar to api/latest.go. var testAPIGroup = "test.group" var testAPIGroup2 = "test.group2" -var testInternalGroupVersion = unversioned.GroupVersion{Group: testAPIGroup, Version: runtime.APIVersionInternal} -var testGroupVersion = unversioned.GroupVersion{Group: testAPIGroup, Version: "version"} -var newGroupVersion = unversioned.GroupVersion{Group: testAPIGroup, Version: "version2"} -var testGroup2Version = unversioned.GroupVersion{Group: testAPIGroup2, Version: "version"} -var testInternalGroup2Version = unversioned.GroupVersion{Group: testAPIGroup2, Version: runtime.APIVersionInternal} +var testInternalGroupVersion = schema.GroupVersion{Group: testAPIGroup, Version: runtime.APIVersionInternal} +var testGroupVersion = schema.GroupVersion{Group: testAPIGroup, Version: "version"} +var newGroupVersion = schema.GroupVersion{Group: testAPIGroup, Version: "version2"} +var testGroup2Version = schema.GroupVersion{Group: testAPIGroup2, Version: "version"} +var testInternalGroup2Version = schema.GroupVersion{Group: testAPIGroup2, Version: runtime.APIVersionInternal} var prefix = "apis" -var grouplessGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"} -var grouplessInternalGroupVersion = unversioned.GroupVersion{Group: "", Version: runtime.APIVersionInternal} +var grouplessGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} +var grouplessInternalGroupVersion = schema.GroupVersion{Group: "", Version: runtime.APIVersionInternal} var grouplessPrefix = "api" -var groupVersions = []unversioned.GroupVersion{grouplessGroupVersion, testGroupVersion, newGroupVersion} +var groupVersions = []schema.GroupVersion{grouplessGroupVersion, testGroupVersion, newGroupVersion} var codec = api.Codecs.LegacyCodec(groupVersions...) var grouplessCodec = api.Codecs.LegacyCodec(grouplessGroupVersion) @@ -88,7 +89,7 @@ var mapper, namespaceMapper meta.RESTMapper // The mappers with namespace and wi var admissionControl admission.Interface var requestContextMapper api.RequestContextMapper -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case testGroupVersion: return &meta.VersionInterfaces{ @@ -116,7 +117,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } func newMapper() *meta.DefaultRESTMapper { - return meta.NewDefaultRESTMapper([]unversioned.GroupVersion{testGroupVersion, newGroupVersion}, interfacesFor) + return meta.NewDefaultRESTMapper([]schema.GroupVersion{testGroupVersion, newGroupVersion}, interfacesFor) } func addGrouplessTypes() { @@ -427,7 +428,7 @@ func (s *SimpleStream) Close() error { return nil } -func (obj *SimpleStream) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *SimpleStream) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func (s *SimpleStream) InputStream(version, accept string) (io.ReadCloser, bool, string, error) { s.version = version @@ -1983,7 +1984,7 @@ func TestDeleteWithOptions(t *testing.T) { if simpleStorage.deleted != ID { t.Errorf("Unexpected delete: %s, expected %s", simpleStorage.deleted, ID) } - simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) if !api.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { t.Errorf("unexpected delete options: %s", diff.ObjectDiff(simpleStorage.deleteOptions, item)) } @@ -2020,7 +2021,7 @@ func TestDeleteWithOptionsQuery(t *testing.T) { if simpleStorage.deleted != ID { t.Errorf("Unexpected delete: %s, expected %s", simpleStorage.deleted, ID) } - simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) if !api.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { t.Errorf("unexpected delete options: %s", diff.ObjectDiff(simpleStorage.deleteOptions, item)) } @@ -2060,7 +2061,7 @@ func TestDeleteWithOptionsQueryAndBody(t *testing.T) { if simpleStorage.deleted != ID { t.Errorf("Unexpected delete: %s, expected %s", simpleStorage.deleted, ID) } - simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) if !api.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { t.Errorf("unexpected delete options: %s", diff.ObjectDiff(simpleStorage.deleteOptions, item)) } @@ -2847,7 +2848,7 @@ func TestCreate(t *testing.T) { t.Errorf("unexpected error: %v %#v", err, response) } - itemOut.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + itemOut.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) if !reflect.DeepEqual(&itemOut, simple) { t.Errorf("Unexpected data: %#v, expected %#v (%s)", itemOut, simple, string(body)) } @@ -2917,7 +2918,7 @@ func TestCreateYAML(t *testing.T) { t.Fatalf("unexpected error: %v %#v", err, response) } - itemOut.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + itemOut.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) if !reflect.DeepEqual(&itemOut, simple) { t.Errorf("Unexpected data: %#v, expected %#v (%s)", itemOut, simple, string(body)) } @@ -2976,7 +2977,7 @@ func TestCreateInNamespace(t *testing.T) { t.Fatalf("unexpected error: %v\n%s", err, data) } - itemOut.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + itemOut.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) if !reflect.DeepEqual(&itemOut, simple) { t.Errorf("Unexpected data: %#v, expected %#v (%s)", itemOut, simple, string(body)) } @@ -3077,8 +3078,8 @@ type UnregisteredAPIObject struct { Value string } -func (obj *UnregisteredAPIObject) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj *UnregisteredAPIObject) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } func TestWriteJSONDecodeError(t *testing.T) { @@ -3254,7 +3255,7 @@ type SimpleXGSubresource struct { Labels map[string]string `json:"labels,omitempty"` } -func (obj *SimpleXGSubresource) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *SimpleXGSubresource) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } type SimpleXGSubresourceRESTStorage struct { item SimpleXGSubresource @@ -3308,7 +3309,7 @@ func TestXGSubresource(t *testing.T) { OptionsExternalVersion: &testGroupVersion, Serializer: api.Codecs, - SubresourceGroupVersionKind: map[string]unversioned.GroupVersionKind{ + SubresourceGroupVersionKind: map[string]schema.GroupVersionKind{ "simple/subsimple": testGroup2Version.WithKind("SimpleXGSubresource"), }, } diff --git a/pkg/apiserver/errors_test.go b/pkg/apiserver/errors_test.go index d6efb4fa085..a3d4b7c8948 100644 --- a/pkg/apiserver/errors_test.go +++ b/pkg/apiserver/errors_test.go @@ -25,11 +25,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestErrorsToAPIStatus(t *testing.T) { cases := map[error]unversioned.Status{ - errors.NewNotFound(unversioned.GroupResource{Group: "legacy.kubernetes.io", Resource: "foos"}, "bar"): { + errors.NewNotFound(schema.GroupResource{Group: "legacy.kubernetes.io", Resource: "foos"}, "bar"): { Status: unversioned.StatusFailure, Code: http.StatusNotFound, Reason: unversioned.StatusReasonNotFound, diff --git a/pkg/apiserver/negotiate.go b/pkg/apiserver/negotiate.go index 6656e5c34e6..cac7325ddd1 100644 --- a/pkg/apiserver/negotiate.go +++ b/pkg/apiserver/negotiate.go @@ -24,8 +24,8 @@ import ( "bitbucket.org/ww/goautoneg" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // mediaTypesForSerializer returns a list of media and stream media types for the server. @@ -136,7 +136,7 @@ func negotiate(header string, alternatives []string) (goautoneg.Accept, bool) { type endpointRestrictions interface { // AllowsConversion should return true if the specified group version kind // is an allowed target object. - AllowsConversion(unversioned.GroupVersionKind) bool + AllowsConversion(schema.GroupVersionKind) bool // AllowsServerVersion should return true if the specified version is valid // for the server group. AllowsServerVersion(version string) bool @@ -149,9 +149,9 @@ var defaultEndpointRestrictions = emptyEndpointRestrictions{} type emptyEndpointRestrictions struct{} -func (emptyEndpointRestrictions) AllowsConversion(unversioned.GroupVersionKind) bool { return false } -func (emptyEndpointRestrictions) AllowsServerVersion(string) bool { return false } -func (emptyEndpointRestrictions) AllowsStreamSchema(s string) bool { return s == "watch" } +func (emptyEndpointRestrictions) AllowsConversion(schema.GroupVersionKind) bool { return false } +func (emptyEndpointRestrictions) AllowsServerVersion(string) bool { return false } +func (emptyEndpointRestrictions) AllowsStreamSchema(s string) bool { return s == "watch" } // acceptedMediaType contains information about a valid media type that the // server can serialize. @@ -178,7 +178,7 @@ type mediaTypeOptions struct { // convert is a request to alter the type of object returned by the server from the // normal response - convert *unversioned.GroupVersionKind + convert *schema.GroupVersionKind // useServerVersion is an optional version for the server group useServerVersion string @@ -206,17 +206,17 @@ func acceptMediaTypeOptions(params map[string]string, accepts *acceptedMediaType // controls transformation of the object when returned case "as": if options.convert == nil { - options.convert = &unversioned.GroupVersionKind{} + options.convert = &schema.GroupVersionKind{} } options.convert.Kind = v case "g": if options.convert == nil { - options.convert = &unversioned.GroupVersionKind{} + options.convert = &schema.GroupVersionKind{} } options.convert.Group = v case "v": if options.convert == nil { - options.convert = &unversioned.GroupVersionKind{} + options.convert = &schema.GroupVersionKind{} } options.convert.Version = v diff --git a/pkg/apiserver/proxy.go b/pkg/apiserver/proxy.go index 8f49c23945f..0b252186b03 100644 --- a/pkg/apiserver/proxy.go +++ b/pkg/apiserver/proxy.go @@ -30,10 +30,10 @@ import ( "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apiserver/metrics" "k8s.io/kubernetes/pkg/httplog" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/net" proxyutil "k8s.io/kubernetes/pkg/util/proxy" @@ -108,7 +108,7 @@ func (r *ProxyHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { } apiResource = resource - gv := unversioned.GroupVersion{Group: requestInfo.APIGroup, Version: requestInfo.APIVersion} + gv := schema.GroupVersion{Group: requestInfo.APIGroup, Version: requestInfo.APIVersion} redirector, ok := storage.(rest.Redirector) if !ok { @@ -215,7 +215,7 @@ func (r *ProxyHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { } // tryUpgrade returns true if the request was handled. -func (r *ProxyHandler) tryUpgrade(w http.ResponseWriter, req, newReq *http.Request, location *url.URL, transport http.RoundTripper, gv unversioned.GroupVersion) bool { +func (r *ProxyHandler) tryUpgrade(w http.ResponseWriter, req, newReq *http.Request, location *url.URL, transport http.RoundTripper, gv schema.GroupVersion) bool { if !httpstream.IsUpgradeRequest(req) { return false } diff --git a/pkg/apiserver/resthandler.go b/pkg/apiserver/resthandler.go index 4ad837260d0..575af989e08 100644 --- a/pkg/apiserver/resthandler.go +++ b/pkg/apiserver/resthandler.go @@ -34,6 +34,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util" utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/strategicpatch" @@ -79,8 +80,8 @@ type RequestScope struct { Convertor runtime.ObjectConvertor Copier runtime.ObjectCopier - Resource unversioned.GroupVersionResource - Kind unversioned.GroupVersionKind + Resource schema.GroupVersionResource + Kind schema.GroupVersionKind Subresource string } @@ -133,7 +134,7 @@ func GetResource(r rest.Getter, e rest.Exporter, scope RequestScope) restful.Rou if values := req.Request.URL.Query(); len(values) > 0 { // TODO: this is internal version, not unversioned exports := unversioned.ExportOptions{} - if err := scope.ParameterCodec.DecodeParameters(values, unversioned.GroupVersion{Version: "v1"}, &exports); err != nil { + if err := scope.ParameterCodec.DecodeParameters(values, schema.GroupVersion{Version: "v1"}, &exports); err != nil { return nil, err } if exports.Export { @@ -365,7 +366,7 @@ func createHandler(r rest.NamedCreater, scope RequestScope, typer runtime.Object scope.err(err, res.ResponseWriter, req.Request) return } - decoder := scope.Serializer.DecoderToVersion(s.Serializer, unversioned.GroupVersion{Group: gv.Group, Version: runtime.APIVersionInternal}) + decoder := scope.Serializer.DecoderToVersion(s.Serializer, schema.GroupVersion{Group: gv.Group, Version: runtime.APIVersionInternal}) body, err := readBody(req.Request) if err != nil { @@ -489,7 +490,7 @@ func PatchResource(r rest.Patcher, scope RequestScope, typer runtime.ObjectTyper gv := scope.Kind.GroupVersion() codec := runtime.NewCodec( scope.Serializer.EncoderForVersion(s.Serializer, gv), - scope.Serializer.DecoderToVersion(s.Serializer, unversioned.GroupVersion{Group: gv.Group, Version: runtime.APIVersionInternal}), + scope.Serializer.DecoderToVersion(s.Serializer, schema.GroupVersion{Group: gv.Group, Version: runtime.APIVersionInternal}), ) updateAdmit := func(updatedObject runtime.Object, currentObject runtime.Object) error { @@ -531,7 +532,7 @@ func patchResource( patchJS []byte, namer ScopeNamer, copier runtime.ObjectCopier, - resource unversioned.GroupVersionResource, + resource schema.GroupVersionResource, codec runtime.Codec, ) (runtime.Object, error) { @@ -981,7 +982,7 @@ func finishRequest(timeout time.Duration, fn resultFunc) (result runtime.Object, } // transformDecodeError adds additional information when a decode fails. -func transformDecodeError(typer runtime.ObjectTyper, baseErr error, into runtime.Object, gvk *unversioned.GroupVersionKind, body []byte) error { +func transformDecodeError(typer runtime.ObjectTyper, baseErr error, into runtime.Object, gvk *schema.GroupVersionKind, body []byte) error { objGVKs, _, err := typer.ObjectKinds(into) if err != nil { return err diff --git a/pkg/apiserver/resthandler_test.go b/pkg/apiserver/resthandler_test.go index fe85840541c..7a010e7f6d6 100644 --- a/pkg/apiserver/resthandler_test.go +++ b/pkg/apiserver/resthandler_test.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/strategicpatch" @@ -50,7 +51,7 @@ type TestPatchSubType struct { StringField string `json:"theField"` } -func (obj *testPatchType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *testPatchType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } func TestPatchAnonymousField(t *testing.T) { originalJS := `{"kind":"testPatchType","theField":"my-value"}` @@ -186,7 +187,7 @@ func (tc *patchTestCase) Run(t *testing.T) { namer := &testNamer{namespace, name} copier := runtime.ObjectCopier(api.Scheme) - resource := unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"} + resource := schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"} versionedObj := &v1.Pod{} for _, patchType := range []api.PatchType{api.JSONPatchType, api.MergePatchType, api.StrategicMergePatchType} { diff --git a/pkg/apiserver/serviceerror.go b/pkg/apiserver/serviceerror.go index 7a28d52db3c..e3e2b0d4c1b 100644 --- a/pkg/apiserver/serviceerror.go +++ b/pkg/apiserver/serviceerror.go @@ -21,8 +21,8 @@ import ( "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) func InstallServiceErrorHandler(s runtime.NegotiatedSerializer, container *restful.Container) { @@ -35,7 +35,7 @@ func serviceErrorHandler(s runtime.NegotiatedSerializer, serviceErr restful.Serv errorNegotiated( apierrors.NewGenericServerResponse(serviceErr.Code, "", api.Resource(""), "", serviceErr.Message, 0, false), s, - unversioned.GroupVersion{}, + schema.GroupVersion{}, response.ResponseWriter, request.Request, ) diff --git a/pkg/apiserver/testing/BUILD b/pkg/apiserver/testing/BUILD index e4efd099034..ac432f5e484 100644 --- a/pkg/apiserver/testing/BUILD +++ b/pkg/apiserver/testing/BUILD @@ -20,6 +20,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/unversioned:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/apiserver/testing/types.go b/pkg/apiserver/testing/types.go index 2c7ccd8f271..d7ae7561a30 100644 --- a/pkg/apiserver/testing/types.go +++ b/pkg/apiserver/testing/types.go @@ -19,6 +19,7 @@ package testing import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) type Simple struct { @@ -30,7 +31,7 @@ type Simple struct { Labels map[string]string `json:"labels,omitempty"` } -func (obj *Simple) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Simple) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } type SimpleRoot struct { unversioned.TypeMeta `json:",inline"` @@ -41,7 +42,7 @@ type SimpleRoot struct { Labels map[string]string `json:"labels,omitempty"` } -func (obj *SimpleRoot) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *SimpleRoot) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } type SimpleGetOptions struct { unversioned.TypeMeta `json:",inline"` @@ -57,7 +58,7 @@ func (SimpleGetOptions) SwaggerDoc() map[string]string { } } -func (obj *SimpleGetOptions) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *SimpleGetOptions) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } type SimpleList struct { unversioned.TypeMeta `json:",inline"` @@ -66,4 +67,4 @@ type SimpleList struct { Items []Simple `json:"items,omitempty"` } -func (obj *SimpleList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *SimpleList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/client/cache/BUILD b/pkg/client/cache/BUILD index 11d43efc6ea..ff635370e9a 100644 --- a/pkg/client/cache/BUILD +++ b/pkg/client/cache/BUILD @@ -52,6 +52,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/diff:go_default_library", "//pkg/util/runtime:go_default_library", diff --git a/pkg/client/cache/listers.go b/pkg/client/cache/listers.go index e6cd930c725..c8e42605400 100644 --- a/pkg/client/cache/listers.go +++ b/pkg/client/cache/listers.go @@ -32,6 +32,7 @@ import ( storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // AppendFunc is used to add a matching item to whatever list the caller is using @@ -111,13 +112,13 @@ type GenericNamespaceLister interface { Get(name string) (runtime.Object, error) } -func NewGenericLister(indexer Indexer, resource unversioned.GroupResource) GenericLister { +func NewGenericLister(indexer Indexer, resource schema.GroupResource) GenericLister { return &genericLister{indexer: indexer, resource: resource} } type genericLister struct { indexer Indexer - resource unversioned.GroupResource + resource schema.GroupResource } func (s *genericLister) List(selector labels.Selector) (ret []runtime.Object, err error) { @@ -145,7 +146,7 @@ func (s *genericLister) Get(name string) (runtime.Object, error) { type genericNamespaceLister struct { indexer Indexer namespace string - resource unversioned.GroupResource + resource schema.GroupResource } func (s *genericNamespaceLister) List(selector labels.Selector) (ret []runtime.Object, err error) { diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD index dcf23b3687e..f2934f84c52 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD @@ -20,12 +20,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go index be5392632a6..c0710d345b2 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" apps "k8s.io/kubernetes/pkg/apis/apps" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeStatefulSets struct { ns string } -var statefulsetsResource = unversioned.GroupVersionResource{Group: "apps", Version: "", Resource: "statefulsets"} +var statefulsetsResource = schema.GroupVersionResource{Group: "apps", Version: "", Resource: "statefulsets"} func (c *FakeStatefulSets) Create(statefulSet *apps.StatefulSet) (result *apps.StatefulSet, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD index 88190760f5d..261d833436d 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD @@ -20,12 +20,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go index 408d39b71a0..8bdcac924e3 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeHorizontalPodAutoscalers struct { ns string } -var horizontalpodautoscalersResource = unversioned.GroupVersionResource{Group: "autoscaling", Version: "", Resource: "horizontalpodautoscalers"} +var horizontalpodautoscalersResource = schema.GroupVersionResource{Group: "autoscaling", Version: "", Resource: "horizontalpodautoscalers"} func (c *FakeHorizontalPodAutoscalers) Create(horizontalPodAutoscaler *autoscaling.HorizontalPodAutoscaler) (result *autoscaling.HorizontalPodAutoscaler, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD index 28b1ec20a7c..7c83f0a9559 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD @@ -21,12 +21,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go index aa2d7e5b9ec..a988e838ed8 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" batch "k8s.io/kubernetes/pkg/apis/batch" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeCronJobs struct { ns string } -var cronjobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "", Resource: "cronjobs"} +var cronjobsResource = schema.GroupVersionResource{Group: "batch", Version: "", Resource: "cronjobs"} func (c *FakeCronJobs) Create(cronJob *batch.CronJob) (result *batch.CronJob, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go index 1914c73b1e3..43453a11f43 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" batch "k8s.io/kubernetes/pkg/apis/batch" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "batch", Version: "", Resource: "jobs"} func (c *FakeJobs) Create(job *batch.Job) (result *batch.Job, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD index e6bb476da11..a6c41bbc5a3 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD @@ -21,12 +21,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go index 482d41930e0..af19bb2695e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" certificates "k8s.io/kubernetes/pkg/apis/certificates" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeCertificateSigningRequests struct { Fake *FakeCertificates } -var certificatesigningrequestsResource = unversioned.GroupVersionResource{Group: "certificates.k8s.io", Version: "", Resource: "certificatesigningrequests"} +var certificatesigningrequestsResource = schema.GroupVersionResource{Group: "certificates.k8s.io", Version: "", Resource: "certificatesigningrequests"} func (c *FakeCertificateSigningRequests) Create(certificateSigningRequest *certificates.CertificateSigningRequest) (result *certificates.CertificateSigningRequest, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD index 62161dbd450..2500c981126 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD @@ -40,13 +40,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go index da32f6f8c24..3b8972f20e9 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -29,7 +29,7 @@ type FakeComponentStatuses struct { Fake *FakeCore } -var componentstatusesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "componentstatuses"} +var componentstatusesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "componentstatuses"} func (c *FakeComponentStatuses) Create(componentStatus *api.ComponentStatus) (result *api.ComponentStatus, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go index 2e00fabb5bd..2bd1e8fb5e5 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeConfigMaps struct { ns string } -var configmapsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "configmaps"} +var configmapsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "configmaps"} func (c *FakeConfigMaps) Create(configMap *api.ConfigMap) (result *api.ConfigMap, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go index 2705a25e8b5..3162672d0d1 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeEndpoints struct { ns string } -var endpointsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "endpoints"} +var endpointsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "endpoints"} func (c *FakeEndpoints) Create(endpoints *api.Endpoints) (result *api.Endpoints, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go index 21980a7a7d3..159af35aa70 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeEvents struct { ns string } -var eventsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "events"} +var eventsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "events"} func (c *FakeEvents) Create(event *api.Event) (result *api.Event, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go index 1706df0c82a..59abd875724 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeLimitRanges struct { ns string } -var limitrangesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "limitranges"} +var limitrangesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "limitranges"} func (c *FakeLimitRanges) Create(limitRange *api.LimitRange) (result *api.LimitRange, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go index e5c4ceca054..876dc88ec50 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -29,7 +29,7 @@ type FakeNamespaces struct { Fake *FakeCore } -var namespacesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "namespaces"} +var namespacesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "namespaces"} func (c *FakeNamespaces) Create(namespace *api.Namespace) (result *api.Namespace, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go index 2788608c722..6206ffd7192 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -29,7 +29,7 @@ type FakeNodes struct { Fake *FakeCore } -var nodesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "nodes"} +var nodesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "nodes"} func (c *FakeNodes) Create(node *api.Node) (result *api.Node, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go index e7d0446cdeb..a192a71e1dc 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -29,7 +29,7 @@ type FakePersistentVolumes struct { Fake *FakeCore } -var persistentvolumesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "persistentvolumes"} +var persistentvolumesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "persistentvolumes"} func (c *FakePersistentVolumes) Create(persistentVolume *api.PersistentVolume) (result *api.PersistentVolume, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go index c394f43c95c..a4787e9ae63 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakePersistentVolumeClaims struct { ns string } -var persistentvolumeclaimsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "persistentvolumeclaims"} +var persistentvolumeclaimsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "persistentvolumeclaims"} func (c *FakePersistentVolumeClaims) Create(persistentVolumeClaim *api.PersistentVolumeClaim) (result *api.PersistentVolumeClaim, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go index dd50f12ccb2..8e0e5f31f0a 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakePods struct { ns string } -var podsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "pods"} +var podsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "pods"} func (c *FakePods) Create(pod *api.Pod) (result *api.Pod, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go index 57a95a21dd1..f295b112806 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakePodTemplates struct { ns string } -var podtemplatesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "podtemplates"} +var podtemplatesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "podtemplates"} func (c *FakePodTemplates) Create(podTemplate *api.PodTemplate) (result *api.PodTemplate, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go index 935dc1f1268..d9ca6dd2ee7 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeReplicationControllers struct { ns string } -var replicationcontrollersResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "replicationcontrollers"} +var replicationcontrollersResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "replicationcontrollers"} func (c *FakeReplicationControllers) Create(replicationController *api.ReplicationController) (result *api.ReplicationController, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go index 40188d77adf..f14513c63d2 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeResourceQuotas struct { ns string } -var resourcequotasResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "resourcequotas"} +var resourcequotasResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "resourcequotas"} func (c *FakeResourceQuotas) Create(resourceQuota *api.ResourceQuota) (result *api.ResourceQuota, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go index b0c339ce56d..e8b914d72bc 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeSecrets struct { ns string } -var secretsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "secrets"} +var secretsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "secrets"} func (c *FakeSecrets) Create(secret *api.Secret) (result *api.Secret, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go index 20d81829f79..c690a44b98d 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeServices struct { ns string } -var servicesResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "services"} +var servicesResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "services"} func (c *FakeServices) Create(service *api.Service) (result *api.Service, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go index 5c70cf4b1ff..34245fc8eea 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeServiceAccounts struct { ns string } -var serviceaccountsResource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "serviceaccounts"} +var serviceaccountsResource = schema.GroupVersionResource{Group: "", Version: "", Resource: "serviceaccounts"} func (c *FakeServiceAccounts) Create(serviceAccount *api.ServiceAccount) (result *api.ServiceAccount, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD index 56c4089dcfd..c268de61dbd 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD @@ -31,10 +31,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD index 2b21d6406fc..85c80591ff8 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD @@ -29,12 +29,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go index 6b193b5f2a4..b38db49421e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeDaemonSets struct { ns string } -var daemonsetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "daemonsets"} +var daemonsetsResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "daemonsets"} func (c *FakeDaemonSets) Create(daemonSet *extensions.DaemonSet) (result *extensions.DaemonSet, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go index d001e6048ac..00095b5ff73 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeDeployments struct { ns string } -var deploymentsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "deployments"} +var deploymentsResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "deployments"} func (c *FakeDeployments) Create(deployment *extensions.Deployment) (result *extensions.Deployment, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go index 12d6b27db94..43fe13e3330 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeIngresses struct { ns string } -var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "ingresses"} +var ingressesResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "ingresses"} func (c *FakeIngresses) Create(ingress *extensions.Ingress) (result *extensions.Ingress, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go index 6e86fe8e953..22661c2accd 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeNetworkPolicies struct { ns string } -var networkpoliciesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "networkpolicies"} +var networkpoliciesResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "networkpolicies"} func (c *FakeNetworkPolicies) Create(networkPolicy *extensions.NetworkPolicy) (result *extensions.NetworkPolicy, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go index ce469529a44..b4f7a4d47ce 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakePodSecurityPolicies struct { Fake *FakeExtensions } -var podsecuritypoliciesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "podsecuritypolicies"} +var podsecuritypoliciesResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "podsecuritypolicies"} func (c *FakePodSecurityPolicies) Create(podSecurityPolicy *extensions.PodSecurityPolicy) (result *extensions.PodSecurityPolicy, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go index 52779dd09c6..a3f7a68e69a 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeReplicaSets struct { ns string } -var replicasetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "replicasets"} +var replicasetsResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "replicasets"} func (c *FakeReplicaSets) Create(replicaSet *extensions.ReplicaSet) (result *extensions.ReplicaSet, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go index 481b8197f0d..06a3238dda3 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go @@ -17,16 +17,16 @@ limitations under the License. package fake import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/testing/core" + "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeScales) Get(kind string, name string) (result *extensions.Scale, err error) { action := core.GetActionImpl{} action.Verb = "get" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Resource: kind} + action.Resource = schema.GroupVersionResource{Resource: kind} action.Subresource = "scale" action.Name = name obj, err := c.Fake.Invokes(action, &extensions.Scale{}) @@ -38,7 +38,7 @@ func (c *FakeScales) Update(kind string, scale *extensions.Scale) (result *exten action := core.UpdateActionImpl{} action.Verb = "update" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Resource: kind} + action.Resource = schema.GroupVersionResource{Resource: kind} action.Subresource = "scale" action.Object = scale obj, err := c.Fake.Invokes(action, scale) diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go index 196120566cc..bad15f9a365 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" extensions "k8s.io/kubernetes/pkg/apis/extensions" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeThirdPartyResources struct { Fake *FakeExtensions } -var thirdpartyresourcesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "", Resource: "thirdpartyresources"} +var thirdpartyresourcesResource = schema.GroupVersionResource{Group: "extensions", Version: "", Resource: "thirdpartyresources"} func (c *FakeThirdPartyResources) Create(thirdPartyResource *extensions.ThirdPartyResource) (result *extensions.ThirdPartyResource, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go index 6b1e64dd865..85c2db9b4b7 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go @@ -18,8 +18,8 @@ package internalversion import ( "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions" + "k8s.io/kubernetes/pkg/runtime/schema" ) // The ScaleExpansion interface allows manually adding extra methods to the ScaleInterface. @@ -33,7 +33,7 @@ func (c *scales) Get(kind string, name string) (result *extensions.Scale, err er result = &extensions.Scale{} // TODO this method needs to take a proper unambiguous kind - fullyQualifiedKind := unversioned.GroupVersionKind{Kind: kind} + fullyQualifiedKind := schema.GroupVersionKind{Kind: kind} resource, _ := meta.KindToResource(fullyQualifiedKind) err = c.client.Get(). @@ -50,7 +50,7 @@ func (c *scales) Update(kind string, scale *extensions.Scale) (result *extension result = &extensions.Scale{} // TODO this method needs to take a proper unambiguous kind - fullyQualifiedKind := unversioned.GroupVersionKind{Kind: kind} + fullyQualifiedKind := schema.GroupVersionKind{Kind: kind} resource, _ := meta.KindToResource(fullyQualifiedKind) err = c.client.Put(). diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD index 38d87c65e65..369237d2dbe 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD @@ -22,12 +22,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/policy/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go index ff6093872f5..ec264ea1fa4 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go @@ -17,16 +17,16 @@ limitations under the License. package fake import ( - unversioned "k8s.io/kubernetes/pkg/api/unversioned" policy "k8s.io/kubernetes/pkg/apis/policy" core "k8s.io/kubernetes/pkg/client/testing/core" + "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeEvictions) Evict(eviction *policy.Eviction) error { action := core.GetActionImpl{} action.Verb = "post" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Group: "", Version: "", Resource: "pods"} + action.Resource = schema.GroupVersionResource{Group: "", Version: "", Resource: "pods"} action.Subresource = "eviction" _, err := c.Fake.Invokes(action, eviction) return err diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go index d5c2337ea47..8c2a3cfd4aa 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" policy "k8s.io/kubernetes/pkg/apis/policy" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakePodDisruptionBudgets struct { ns string } -var poddisruptionbudgetsResource = unversioned.GroupVersionResource{Group: "policy", Version: "", Resource: "poddisruptionbudgets"} +var poddisruptionbudgetsResource = schema.GroupVersionResource{Group: "policy", Version: "", Resource: "poddisruptionbudgets"} func (c *FakePodDisruptionBudgets) Create(podDisruptionBudget *policy.PodDisruptionBudget) (result *policy.PodDisruptionBudget, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD index 6bd5c0179a0..03182d0083f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD @@ -23,12 +23,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go index 10fe274ced1..5cf374f9387 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeClusterRoles struct { Fake *FakeRbac } -var clusterrolesResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "clusterroles"} +var clusterrolesResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "clusterroles"} func (c *FakeClusterRoles) Create(clusterRole *rbac.ClusterRole) (result *rbac.ClusterRole, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go index 1e59d657100..f6dc6ca8b3e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeClusterRoleBindings struct { Fake *FakeRbac } -var clusterrolebindingsResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "clusterrolebindings"} +var clusterrolebindingsResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "clusterrolebindings"} func (c *FakeClusterRoleBindings) Create(clusterRoleBinding *rbac.ClusterRoleBinding) (result *rbac.ClusterRoleBinding, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go index b1a197f6df9..ba9baa52310 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeRoles struct { ns string } -var rolesResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "roles"} +var rolesResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "roles"} func (c *FakeRoles) Create(role *rbac.Role) (result *rbac.Role, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go index dd80ede851c..1991e9e3ca0 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeRoleBindings struct { ns string } -var rolebindingsResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "rolebindings"} +var rolebindingsResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "", Resource: "rolebindings"} func (c *FakeRoleBindings) Create(roleBinding *rbac.RoleBinding) (result *rbac.RoleBinding, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD index 73f10374410..aad25c5233e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD @@ -20,12 +20,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/storage/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go index c6cc03375f9..40926cab575 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" storage "k8s.io/kubernetes/pkg/apis/storage" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeStorageClasses struct { Fake *FakeStorage } -var storageclassesResource = unversioned.GroupVersionResource{Group: "storage.k8s.io", Version: "", Resource: "storageclasses"} +var storageclassesResource = schema.GroupVersionResource{Group: "storage.k8s.io", Version: "", Resource: "storageclasses"} func (c *FakeStorageClasses) Create(storageClass *storage.StorageClass) (result *storage.StorageClass, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/BUILD index 705494b2d74..e38514f61ad 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/apps_client.go b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/apps_client.go index 92fa144eb3a..3903bdcce53 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/apps_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/apps_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *AppsV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("apps/v1beta1") + gv, err := schema.ParseGroupVersion("apps/v1beta1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/BUILD index 676e1ff89cf..862d9e28b78 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/BUILD @@ -20,13 +20,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/fake_statefulset.go b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/fake_statefulset.go index 2bd2e033fa8..d186914d977 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/fake_statefulset.go +++ b/pkg/client/clientset_generated/release_1_5/typed/apps/v1beta1/fake/fake_statefulset.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeStatefulSets struct { ns string } -var statefulsetsResource = unversioned.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "statefulsets"} +var statefulsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "statefulsets"} func (c *FakeStatefulSets) Create(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/BUILD index 8c479620d14..91d5a161bf4 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/BUILD @@ -22,10 +22,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/authentication_client.go b/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/authentication_client.go index beb50ce729e..5ee02282896 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/authentication_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1/authentication_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *AuthenticationV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("authentication.k8s.io/v1beta1") + gv, err := schema.ParseGroupVersion("authentication.k8s.io/v1beta1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/BUILD index e141539eae3..6a21b58dbfe 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/BUILD @@ -26,10 +26,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/authorization_client.go b/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/authorization_client.go index 1011939784f..ed0553c85ef 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/authorization_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1/authorization_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -78,7 +78,7 @@ func New(c restclient.Interface) *AuthorizationV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("authorization.k8s.io/v1beta1") + gv, err := schema.ParseGroupVersion("authorization.k8s.io/v1beta1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/BUILD index 5392ea4b8ca..6a077acc359 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/autoscaling_client.go b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/autoscaling_client.go index 1b271a42f59..2ad5403bcfb 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/autoscaling_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/autoscaling_client.go @@ -19,9 +19,9 @@ package v1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *AutoscalingV1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("autoscaling/v1") + gv, err := schema.ParseGroupVersion("autoscaling/v1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/BUILD index be7dc29769c..62564088100 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/BUILD @@ -20,13 +20,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go index 0783df3fa71..7aac9c8077b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go +++ b/pkg/client/clientset_generated/release_1_5/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeHorizontalPodAutoscalers struct { ns string } -var horizontalpodautoscalersResource = unversioned.GroupVersionResource{Group: "autoscaling", Version: "v1", Resource: "horizontalpodautoscalers"} +var horizontalpodautoscalersResource = schema.GroupVersionResource{Group: "autoscaling", Version: "v1", Resource: "horizontalpodautoscalers"} func (c *FakeHorizontalPodAutoscalers) Create(horizontalPodAutoscaler *v1.HorizontalPodAutoscaler) (result *v1.HorizontalPodAutoscaler, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/BUILD index f5a1ffce49d..1ed0b7170bb 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/batch_client.go b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/batch_client.go index 221d3cf28f3..a4c59c1559b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/batch_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/batch_client.go @@ -19,9 +19,9 @@ package v1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *BatchV1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("batch/v1") + gv, err := schema.ParseGroupVersion("batch/v1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/BUILD index 9151eb1b5e3..1eebc68f8ea 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/BUILD @@ -20,13 +20,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/batch/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/fake_job.go b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/fake_job.go index ee2baf219d6..8e85f27e63a 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/fake_job.go +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v1/fake/fake_job.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "v1", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "batch", Version: "v1", Resource: "jobs"} func (c *FakeJobs) Create(job *v1.Job) (result *v1.Job, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/BUILD index 04d77b14797..ddcd816c25d 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/BUILD @@ -22,11 +22,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/batch_client.go b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/batch_client.go index 81c27dec7c9..ede8c149346 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/batch_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/batch_client.go @@ -19,9 +19,9 @@ package v2alpha1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -73,7 +73,7 @@ func New(c restclient.Interface) *BatchV2alpha1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("batch/v2alpha1") + gv, err := schema.ParseGroupVersion("batch/v2alpha1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/BUILD index a95256d779c..b758c9b5dc7 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/BUILD @@ -21,13 +21,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_cronjob.go b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_cronjob.go index 9fd084e1740..0928fa89c17 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_cronjob.go +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_cronjob.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeCronJobs struct { ns string } -var cronjobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "cronjobs"} +var cronjobsResource = schema.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "cronjobs"} func (c *FakeCronJobs) Create(cronJob *v2alpha1.CronJob) (result *v2alpha1.CronJob, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_job.go b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_job.go index 08d35083a97..fe2e1fedc9d 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_job.go +++ b/pkg/client/clientset_generated/release_1_5/typed/batch/v2alpha1/fake/fake_job.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "jobs"} func (c *FakeJobs) Create(job *v2alpha1.Job) (result *v2alpha1.Job, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/BUILD index 8bd970733e3..0249eb65aeb 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/BUILD @@ -22,11 +22,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/certificates_client.go b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/certificates_client.go index b348a9ff788..7fe435d2f91 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/certificates_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/certificates_client.go @@ -19,9 +19,9 @@ package v1alpha1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *CertificatesV1alpha1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("certificates.k8s.io/v1alpha1") + gv, err := schema.ParseGroupVersion("certificates.k8s.io/v1alpha1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/BUILD index 50fe2c864b8..58534349497 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/BUILD @@ -21,13 +21,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go index 53bb575867f..4bd866f2338 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go +++ b/pkg/client/clientset_generated/release_1_5/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeCertificateSigningRequests struct { Fake *FakeCertificatesV1alpha1 } -var certificatesigningrequestsResource = unversioned.GroupVersionResource{Group: "certificates.k8s.io", Version: "v1alpha1", Resource: "certificatesigningrequests"} +var certificatesigningrequestsResource = schema.GroupVersionResource{Group: "certificates.k8s.io", Version: "v1alpha1", Resource: "certificatesigningrequests"} func (c *FakeCertificateSigningRequests) Create(certificateSigningRequest *v1alpha1.CertificateSigningRequest) (result *v1alpha1.CertificateSigningRequest, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/core/v1/BUILD index 8169d60e534..fb94d663b04 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/BUILD @@ -41,13 +41,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/util/net:go_default_library", "//pkg/watch:go_default_library", diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/core_client.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/core_client.go index edadf1dd687..1ca25a80f6c 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/core_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/core_client.go @@ -19,9 +19,9 @@ package v1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -143,7 +143,7 @@ func New(c restclient.Interface) *CoreV1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("/v1") + gv, err := schema.ParseGroupVersion("/v1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/BUILD index cef28be3741..bc787a0ed0a 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/BUILD @@ -40,7 +40,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/core/v1:go_default_library", @@ -49,6 +48,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_componentstatus.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_componentstatus.go index d3dda3d00dc..25fb6cf4838 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_componentstatus.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_componentstatus.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeComponentStatuses struct { Fake *FakeCoreV1 } -var componentstatusesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "componentstatuses"} +var componentstatusesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "componentstatuses"} func (c *FakeComponentStatuses) Create(componentStatus *v1.ComponentStatus) (result *v1.ComponentStatus, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_configmap.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_configmap.go index d9ea0c3e5e2..a694eb920b0 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_configmap.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_configmap.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeConfigMaps struct { ns string } -var configmapsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "configmaps"} +var configmapsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "configmaps"} func (c *FakeConfigMaps) Create(configMap *v1.ConfigMap) (result *v1.ConfigMap, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_endpoints.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_endpoints.go index 94650243b97..eae74239f2b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_endpoints.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_endpoints.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeEndpoints struct { ns string } -var endpointsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "endpoints"} +var endpointsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "endpoints"} func (c *FakeEndpoints) Create(endpoints *v1.Endpoints) (result *v1.Endpoints, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_event.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_event.go index 6f53ab4a949..b6f4ca04ebd 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_event.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_event.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeEvents struct { ns string } -var eventsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "events"} +var eventsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "events"} func (c *FakeEvents) Create(event *v1.Event) (result *v1.Event, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_limitrange.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_limitrange.go index 0b528a65ab1..8eecfaeae3c 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_limitrange.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_limitrange.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeLimitRanges struct { ns string } -var limitrangesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "limitranges"} +var limitrangesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "limitranges"} func (c *FakeLimitRanges) Create(limitRange *v1.LimitRange) (result *v1.LimitRange, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_namespace.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_namespace.go index 1b552c340c5..fb4fe64a090 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_namespace.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_namespace.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeNamespaces struct { Fake *FakeCoreV1 } -var namespacesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"} +var namespacesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"} func (c *FakeNamespaces) Create(namespace *v1.Namespace) (result *v1.Namespace, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_node.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_node.go index 1bc3aa3c030..e972cc9c7c7 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_node.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_node.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakeNodes struct { Fake *FakeCoreV1 } -var nodesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "nodes"} +var nodesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "nodes"} func (c *FakeNodes) Create(node *v1.Node) (result *v1.Node, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolume.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolume.go index e8e69a579c1..5e716a91864 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolume.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolume.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -30,7 +30,7 @@ type FakePersistentVolumes struct { Fake *FakeCoreV1 } -var persistentvolumesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumes"} +var persistentvolumesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumes"} func (c *FakePersistentVolumes) Create(persistentVolume *v1.PersistentVolume) (result *v1.PersistentVolume, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolumeclaim.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolumeclaim.go index 5d83e7dd4e2..480af320afb 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolumeclaim.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_persistentvolumeclaim.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakePersistentVolumeClaims struct { ns string } -var persistentvolumeclaimsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumeclaims"} +var persistentvolumeclaimsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumeclaims"} func (c *FakePersistentVolumeClaims) Create(persistentVolumeClaim *v1.PersistentVolumeClaim) (result *v1.PersistentVolumeClaim, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_pod.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_pod.go index 37af032576c..c4ee49dac2b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_pod.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_pod.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakePods struct { ns string } -var podsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"} +var podsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"} func (c *FakePods) Create(pod *v1.Pod) (result *v1.Pod, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_podtemplate.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_podtemplate.go index c0442852529..9eefee79fb5 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_podtemplate.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_podtemplate.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakePodTemplates struct { ns string } -var podtemplatesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "podtemplates"} +var podtemplatesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "podtemplates"} func (c *FakePodTemplates) Create(podTemplate *v1.PodTemplate) (result *v1.PodTemplate, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_replicationcontroller.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_replicationcontroller.go index cbdee11390c..a7c1c571a96 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_replicationcontroller.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_replicationcontroller.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeReplicationControllers struct { ns string } -var replicationcontrollersResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "replicationcontrollers"} +var replicationcontrollersResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "replicationcontrollers"} func (c *FakeReplicationControllers) Create(replicationController *v1.ReplicationController) (result *v1.ReplicationController, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_resourcequota.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_resourcequota.go index 9cc49762f90..bb386b17558 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_resourcequota.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_resourcequota.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeResourceQuotas struct { ns string } -var resourcequotasResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "resourcequotas"} +var resourcequotasResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "resourcequotas"} func (c *FakeResourceQuotas) Create(resourceQuota *v1.ResourceQuota) (result *v1.ResourceQuota, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_secret.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_secret.go index d70ff878396..7c4c230c6bb 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_secret.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_secret.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeSecrets struct { ns string } -var secretsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "secrets"} +var secretsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "secrets"} func (c *FakeSecrets) Create(secret *v1.Secret) (result *v1.Secret, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_service.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_service.go index 6893267c835..5fe1576c893 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_service.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_service.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeServices struct { ns string } -var servicesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "services"} +var servicesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "services"} func (c *FakeServices) Create(service *v1.Service) (result *v1.Service, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_serviceaccount.go b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_serviceaccount.go index b15d85e56a2..1edf152ed26 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_serviceaccount.go +++ b/pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_serviceaccount.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeServiceAccounts struct { ns string } -var serviceaccountsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "serviceaccounts"} +var serviceaccountsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "serviceaccounts"} func (c *FakeServiceAccounts) Create(serviceAccount *v1.ServiceAccount) (result *v1.ServiceAccount, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/BUILD index 52925d0ddfa..328b32229e6 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/BUILD @@ -31,11 +31,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/extensions_client.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/extensions_client.go index 23b12123079..de1608c0ba9 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/extensions_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/extensions_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -103,7 +103,7 @@ func New(c restclient.Interface) *ExtensionsV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("extensions/v1beta1") + gv, err := schema.ParseGroupVersion("extensions/v1beta1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/BUILD index e00b068b5c5..c48358f5e34 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/BUILD @@ -29,13 +29,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go index 372081663c5..71315779062 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_daemonset.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeDaemonSets struct { ns string } -var daemonsetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "daemonsets"} +var daemonsetsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "daemonsets"} func (c *FakeDaemonSets) Create(daemonSet *v1beta1.DaemonSet) (result *v1beta1.DaemonSet, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go index 7df64acb30c..6ef929e0d09 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_deployment.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeDeployments struct { ns string } -var deploymentsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"} +var deploymentsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"} func (c *FakeDeployments) Create(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go index a82e393cfdd..30187536464 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_ingress.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeIngresses struct { ns string } -var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} +var ingressesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} func (c *FakeIngresses) Create(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_job.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_job.go index a35c7aaa772..398eb62ecb3 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_job.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_job.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "jobs"} func (c *FakeJobs) Create(job *v1beta1.Job) (result *v1beta1.Job, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go index 38b10e4bca9..d94bb9a6c2f 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakePodSecurityPolicies struct { Fake *FakeExtensionsV1beta1 } -var podsecuritypoliciesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "podsecuritypolicies"} +var podsecuritypoliciesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "podsecuritypolicies"} func (c *FakePodSecurityPolicies) Create(podSecurityPolicy *v1beta1.PodSecurityPolicy) (result *v1beta1.PodSecurityPolicy, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go index 75a4c2cd8b1..798e8c54a29 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_replicaset.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeReplicaSets struct { ns string } -var replicasetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicasets"} +var replicasetsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicasets"} func (c *FakeReplicaSets) Create(replicaSet *v1beta1.ReplicaSet) (result *v1beta1.ReplicaSet, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_scale_expansion.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_scale_expansion.go index c83fde6bd38..a16be4f7e6b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_scale_expansion.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_scale_expansion.go @@ -17,16 +17,16 @@ limitations under the License. package fake import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/testing/core" + "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeScales) Get(kind string, name string) (result *v1beta1.Scale, err error) { action := core.GetActionImpl{} action.Verb = "get" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Resource: kind} + action.Resource = schema.GroupVersionResource{Resource: kind} action.Subresource = "scale" action.Name = name obj, err := c.Fake.Invokes(action, &v1beta1.Scale{}) @@ -38,7 +38,7 @@ func (c *FakeScales) Update(kind string, scale *v1beta1.Scale) (result *v1beta1. action := core.UpdateActionImpl{} action.Verb = "update" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Resource: kind} + action.Resource = schema.GroupVersionResource{Resource: kind} action.Subresource = "scale" action.Object = scale obj, err := c.Fake.Invokes(action, scale) diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go index a87ba06dd24..65c6a86a412 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeThirdPartyResources struct { Fake *FakeExtensionsV1beta1 } -var thirdpartyresourcesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "thirdpartyresources"} +var thirdpartyresourcesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "thirdpartyresources"} func (c *FakeThirdPartyResources) Create(thirdPartyResource *v1beta1.ThirdPartyResource) (result *v1beta1.ThirdPartyResource, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/scale_expansion.go b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/scale_expansion.go index 648b2f1c182..94d4ad121f5 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/scale_expansion.go +++ b/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1/scale_expansion.go @@ -18,8 +18,8 @@ package v1beta1 import ( "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" + "k8s.io/kubernetes/pkg/runtime/schema" ) // The ScaleExpansion interface allows manually adding extra methods to the ScaleInterface. @@ -33,7 +33,7 @@ func (c *scales) Get(kind string, name string) (result *v1beta1.Scale, err error result = &v1beta1.Scale{} // TODO this method needs to take a proper unambiguous kind - fullyQualifiedKind := unversioned.GroupVersionKind{Kind: kind} + fullyQualifiedKind := schema.GroupVersionKind{Kind: kind} resource, _ := meta.KindToResource(fullyQualifiedKind) err = c.client.Get(). @@ -50,7 +50,7 @@ func (c *scales) Update(kind string, scale *v1beta1.Scale) (result *v1beta1.Scal result = &v1beta1.Scale{} // TODO this method needs to take a proper unambiguous kind - fullyQualifiedKind := unversioned.GroupVersionKind{Kind: kind} + fullyQualifiedKind := schema.GroupVersionKind{Kind: kind} resource, _ := meta.KindToResource(fullyQualifiedKind) err = c.client.Put(). diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/BUILD index fefa72e78dc..e95723d3710 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/policy/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/BUILD index a79239ba627..f13c082c3d2 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/BUILD @@ -20,13 +20,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/policy/v1alpha1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go index 76229748a01..9dc6d85c57a 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakePodDisruptionBudgets struct { ns string } -var poddisruptionbudgetsResource = unversioned.GroupVersionResource{Group: "policy", Version: "v1alpha1", Resource: "poddisruptionbudgets"} +var poddisruptionbudgetsResource = schema.GroupVersionResource{Group: "policy", Version: "v1alpha1", Resource: "poddisruptionbudgets"} func (c *FakePodDisruptionBudgets) Create(podDisruptionBudget *v1alpha1.PodDisruptionBudget) (result *v1alpha1.PodDisruptionBudget, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/policy_client.go b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/policy_client.go index f72b3871ecb..61218608f06 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/policy_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1alpha1/policy_client.go @@ -18,10 +18,11 @@ package v1alpha1 import ( fmt "fmt" + api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +69,7 @@ func New(c restclient.Interface) *PolicyV1alpha1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("policy/v1alpha1") + gv, err := schema.ParseGroupVersion("policy/v1alpha1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/BUILD index dce48ee1783..2c5bc912bdb 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/BUILD index b35ccb6b001..f9427fe0a53 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/BUILD @@ -20,13 +20,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go index d9899c43502..bd7247dd611 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakePodDisruptionBudgets struct { ns string } -var poddisruptionbudgetsResource = unversioned.GroupVersionResource{Group: "policy", Version: "v1beta1", Resource: "poddisruptionbudgets"} +var poddisruptionbudgetsResource = schema.GroupVersionResource{Group: "policy", Version: "v1beta1", Resource: "poddisruptionbudgets"} func (c *FakePodDisruptionBudgets) Create(podDisruptionBudget *v1beta1.PodDisruptionBudget) (result *v1beta1.PodDisruptionBudget, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/policy_client.go b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/policy_client.go index 009845406be..c827a2a0b6b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/policy_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/policy/v1beta1/policy_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *PolicyV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("policy/v1beta1") + gv, err := schema.ParseGroupVersion("policy/v1beta1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/BUILD index 7a02349207a..ca0daf87d97 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/BUILD @@ -24,11 +24,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/BUILD index ef3399545cc..884f22c7545 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/BUILD @@ -23,13 +23,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrole.go b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrole.go index 084ab43afc7..05930c53c3b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrole.go +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrole.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeClusterRoles struct { Fake *FakeRbacV1alpha1 } -var clusterrolesResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterroles"} +var clusterrolesResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterroles"} func (c *FakeClusterRoles) Create(clusterRole *v1alpha1.ClusterRole) (result *v1alpha1.ClusterRole, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go index fef8ac3cdf9..b4852fc3b27 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeClusterRoleBindings struct { Fake *FakeRbacV1alpha1 } -var clusterrolebindingsResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterrolebindings"} +var clusterrolebindingsResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterrolebindings"} func (c *FakeClusterRoleBindings) Create(clusterRoleBinding *v1alpha1.ClusterRoleBinding) (result *v1alpha1.ClusterRoleBinding, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_role.go b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_role.go index b599913130d..2e82cfdba01 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_role.go +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_role.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeRoles struct { ns string } -var rolesResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "roles"} +var rolesResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "roles"} func (c *FakeRoles) Create(role *v1alpha1.Role) (result *v1alpha1.Role, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_rolebinding.go b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_rolebinding.go index c07ea11a1ef..43681e34ad7 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_rolebinding.go +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/fake/fake_rolebinding.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -32,7 +32,7 @@ type FakeRoleBindings struct { ns string } -var rolebindingsResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "rolebindings"} +var rolebindingsResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "rolebindings"} func (c *FakeRoleBindings) Create(roleBinding *v1alpha1.RoleBinding) (result *v1alpha1.RoleBinding, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/rbac_client.go b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/rbac_client.go index 1f8ccff198b..2134f56c0ed 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/rbac_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/rbac/v1alpha1/rbac_client.go @@ -19,9 +19,9 @@ package v1alpha1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -83,7 +83,7 @@ func New(c restclient.Interface) *RbacV1alpha1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("rbac.authorization.k8s.io/v1alpha1") + gv, err := schema.ParseGroupVersion("rbac.authorization.k8s.io/v1alpha1") if err != nil { return err } diff --git a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/BUILD b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/BUILD index 51c87078a42..b6863d38cd0 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/BUILD b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/BUILD index 02798010f6d..9f3a7bde6dd 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/BUILD @@ -20,13 +20,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/fake_storageclass.go b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/fake_storageclass.go index 58f209ff89c..b6a341eaa8b 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/fake_storageclass.go +++ b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/fake/fake_storageclass.go @@ -18,11 +18,11 @@ package fake import ( api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" labels "k8s.io/kubernetes/pkg/labels" + schema "k8s.io/kubernetes/pkg/runtime/schema" watch "k8s.io/kubernetes/pkg/watch" ) @@ -31,7 +31,7 @@ type FakeStorageClasses struct { Fake *FakeStorageV1beta1 } -var storageclassesResource = unversioned.GroupVersionResource{Group: "storage.k8s.io", Version: "v1beta1", Resource: "storageclasses"} +var storageclassesResource = schema.GroupVersionResource{Group: "storage.k8s.io", Version: "v1beta1", Resource: "storageclasses"} func (c *FakeStorageClasses) Create(storageClass *v1beta1.StorageClass) (result *v1beta1.StorageClass, err error) { obj, err := c.Fake. diff --git a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/storage_client.go b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/storage_client.go index e757c23894b..e2bf68e1567 100644 --- a/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/storage_client.go +++ b/pkg/client/clientset_generated/release_1_5/typed/storage/v1beta1/storage_client.go @@ -19,9 +19,9 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/kubernetes/pkg/api" - unversioned "k8s.io/kubernetes/pkg/api/unversioned" registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" + schema "k8s.io/kubernetes/pkg/runtime/schema" serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -68,7 +68,7 @@ func New(c restclient.Interface) *StorageV1beta1Client { } func setConfigDefaults(config *restclient.Config) error { - gv, err := unversioned.ParseGroupVersion("storage.k8s.io/v1beta1") + gv, err := schema.ParseGroupVersion("storage.k8s.io/v1beta1") if err != nil { return err } diff --git a/pkg/client/conditions/BUILD b/pkg/client/conditions/BUILD index b8789ade21e..8326792fcd2 100644 --- a/pkg/client/conditions/BUILD +++ b/pkg/client/conditions/BUILD @@ -16,8 +16,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/client/conditions/conditions.go b/pkg/client/conditions/conditions.go index 8d304b48a89..42c29a8fe35 100644 --- a/pkg/client/conditions/conditions.go +++ b/pkg/client/conditions/conditions.go @@ -20,8 +20,8 @@ import ( "fmt" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch" ) @@ -38,7 +38,7 @@ var ErrContainerTerminated = fmt.Errorf("container terminated") func PodRunning(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: @@ -57,7 +57,7 @@ func PodRunning(event watch.Event) (bool, error) { func PodCompleted(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: @@ -75,7 +75,7 @@ func PodCompleted(event watch.Event) (bool, error) { func PodRunningAndReady(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: @@ -94,7 +94,7 @@ func PodRunningAndReady(event watch.Event) (bool, error) { func PodNotPending(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: @@ -114,7 +114,7 @@ func PodContainerRunning(containerName string) watch.ConditionFunc { return func(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: @@ -154,7 +154,7 @@ func PodContainerRunning(containerName string) watch.ConditionFunc { func ServiceAccountHasSecrets(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "serviceaccounts"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "serviceaccounts"}, "") } switch t := event.Object.(type) { case *v1.ServiceAccount: diff --git a/pkg/client/restclient/BUILD b/pkg/client/restclient/BUILD index 1ad99a9d892..bec7964e56e 100644 --- a/pkg/client/restclient/BUILD +++ b/pkg/client/restclient/BUILD @@ -35,6 +35,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/flowcontrol:go_default_library", @@ -69,6 +70,7 @@ go_test( "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/diff:go_default_library", diff --git a/pkg/client/restclient/client.go b/pkg/client/restclient/client.go index 69759f7a0fb..ad79d784a2f 100644 --- a/pkg/client/restclient/client.go +++ b/pkg/client/restclient/client.go @@ -27,8 +27,8 @@ import ( "time" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/flowcontrol" ) @@ -48,7 +48,7 @@ type Interface interface { Patch(pt api.PatchType) *Request Get() *Request Delete() *Request - APIVersion() unversioned.GroupVersion + APIVersion() schema.GroupVersion } // RESTClient imposes common Kubernetes API conventions on a set of resource paths. @@ -100,7 +100,7 @@ func NewRESTClient(baseURL *url.URL, versionedAPIPath string, config ContentConf base.Fragment = "" if config.GroupVersion == nil { - config.GroupVersion = &unversioned.GroupVersion{} + config.GroupVersion = &schema.GroupVersion{} } if len(config.ContentType) == 0 { config.ContentType = "application/json" @@ -173,7 +173,7 @@ func createSerializers(config ContentConfig) (*Serializers, error) { info = mediaTypes[0] } - internalGV := unversioned.GroupVersions{ + internalGV := schema.GroupVersions{ { Group: config.GroupVersion.Group, Version: runtime.APIVersionInternal, @@ -253,6 +253,6 @@ func (c *RESTClient) Delete() *Request { } // APIVersion returns the APIVersion this RESTClient is expected to use. -func (c *RESTClient) APIVersion() unversioned.GroupVersion { +func (c *RESTClient) APIVersion() schema.GroupVersion { return *c.contentConfig.GroupVersion } diff --git a/pkg/client/restclient/client_test.go b/pkg/client/restclient/client_test.go index 4aad48a0ef7..f4239d1586c 100644 --- a/pkg/client/restclient/client_test.go +++ b/pkg/client/restclient/client_test.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) @@ -51,7 +52,7 @@ type TestParam struct { func TestSerializer(t *testing.T) { contentConfig := ContentConfig{ ContentType: "application/json", - GroupVersion: &unversioned.GroupVersion{Group: "other", Version: runtime.APIVersionInternal}, + GroupVersion: &schema.GroupVersion{Group: "other", Version: runtime.APIVersionInternal}, NegotiatedSerializer: api.Codecs, } diff --git a/pkg/client/restclient/config.go b/pkg/client/restclient/config.go index e739d796afb..87434ce0caf 100644 --- a/pkg/client/restclient/config.go +++ b/pkg/client/restclient/config.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" certutil "k8s.io/kubernetes/pkg/util/cert" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/version" @@ -150,7 +151,7 @@ type ContentConfig struct { // GroupVersion is the API version to talk to. Must be provided when initializing // a RESTClient directly. When initializing a Client, will be set with the default // code version. - GroupVersion *unversioned.GroupVersion + GroupVersion *schema.GroupVersion // NegotiatedSerializer is used for obtaining encoders and decoders for multiple // supported media types. NegotiatedSerializer runtime.NegotiatedSerializer diff --git a/pkg/client/restclient/config_test.go b/pkg/client/restclient/config_test.go index e1518ace24f..570db82dcb3 100644 --- a/pkg/client/restclient/config_test.go +++ b/pkg/client/restclient/config_test.go @@ -27,10 +27,10 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/flowcontrol" ) @@ -133,7 +133,7 @@ func (t *fakeLimiter) Accept() {} type fakeCodec struct{} -func (c *fakeCodec) Decode([]byte, *unversioned.GroupVersionKind, runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (c *fakeCodec) Decode([]byte, *schema.GroupVersionKind, runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { return nil, nil, nil } diff --git a/pkg/client/restclient/fake/BUILD b/pkg/client/restclient/fake/BUILD index f70440d4777..b630e004d5d 100644 --- a/pkg/client/restclient/fake/BUILD +++ b/pkg/client/restclient/fake/BUILD @@ -17,10 +17,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/flowcontrol:go_default_library", ], ) diff --git a/pkg/client/restclient/fake/fake.go b/pkg/client/restclient/fake/fake.go index 462566d3ff3..64885667242 100644 --- a/pkg/client/restclient/fake/fake.go +++ b/pkg/client/restclient/fake/fake.go @@ -24,10 +24,10 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/flowcontrol" ) @@ -78,7 +78,7 @@ func (c *RESTClient) Verb(verb string) *restclient.Request { return c.request(verb) } -func (c *RESTClient) APIVersion() unversioned.GroupVersion { +func (c *RESTClient) APIVersion() schema.GroupVersion { return *(testapi.Default.GroupVersion()) } @@ -99,7 +99,7 @@ func (c *RESTClient) request(verb string) *restclient.Request { } ns := c.NegotiatedSerializer info, _ := runtime.SerializerInfoForMediaType(ns.SupportedMediaTypes(), runtime.ContentTypeJSON) - internalVersion := unversioned.GroupVersion{ + internalVersion := schema.GroupVersion{ Group: registered.GroupOrDie(groupName).GroupVersion.Group, Version: runtime.APIVersionInternal, } diff --git a/pkg/client/restclient/request.go b/pkg/client/restclient/request.go index 0f17d0badc0..548985b5595 100644 --- a/pkg/client/restclient/request.go +++ b/pkg/client/restclient/request.go @@ -40,6 +40,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/net" @@ -333,10 +334,10 @@ func (r resourceTypeToFieldMapping) filterField(resourceType, field, value strin return fMapping.filterField(field, value) } -type versionToResourceToFieldMapping map[unversioned.GroupVersion]resourceTypeToFieldMapping +type versionToResourceToFieldMapping map[schema.GroupVersion]resourceTypeToFieldMapping // filterField transforms the given field/value selector for the given groupVersion and resource -func (v versionToResourceToFieldMapping) filterField(groupVersion *unversioned.GroupVersion, resourceType, field, value string) (newField, newValue string, err error) { +func (v versionToResourceToFieldMapping) filterField(groupVersion *schema.GroupVersion, resourceType, field, value string) (newField, newValue string, err error) { rMapping, ok := v[*groupVersion] if !ok { // no groupVersion overrides registered, default to identity mapping @@ -1001,7 +1002,7 @@ func (r *Request) newUnstructuredResponseError(body []byte, isTextResponse bool, return errors.NewGenericServerResponse( statusCode, method, - unversioned.GroupResource{ + schema.GroupResource{ Group: r.content.GroupVersion.Group, Resource: r.resource, }, @@ -1146,7 +1147,7 @@ func (r Result) Error() error { // attempt to convert the body into a Status object // to be backwards compatible with old servers that do not return a version, default to "v1" - out, _, err := r.decoder.Decode(r.body, &unversioned.GroupVersionKind{Version: "v1"}, nil) + out, _, err := r.decoder.Decode(r.body, &schema.GroupVersionKind{Version: "v1"}, nil) if err != nil { glog.V(5).Infof("body was not decodable (unable to check for Status): %v", err) return r.err diff --git a/pkg/client/restclient/request_test.go b/pkg/client/restclient/request_test.go index 514be7c2be0..a0e1bc8b20b 100755 --- a/pkg/client/restclient/request_test.go +++ b/pkg/client/restclient/request_test.go @@ -39,6 +39,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/util/clock" "k8s.io/kubernetes/pkg/util/diff" @@ -270,8 +271,8 @@ func TestRequestURI(t *testing.T) { type NotAnAPIObject struct{} -func (obj NotAnAPIObject) GroupVersionKind() *unversioned.GroupVersionKind { return nil } -func (obj NotAnAPIObject) SetGroupVersionKind(gvk *unversioned.GroupVersionKind) {} +func (obj NotAnAPIObject) GroupVersionKind() *schema.GroupVersionKind { return nil } +func (obj NotAnAPIObject) SetGroupVersionKind(gvk *schema.GroupVersionKind) {} func defaultContentConfig() ContentConfig { return ContentConfig{ @@ -327,7 +328,7 @@ func TestResultIntoWithErrReturnsErr(t *testing.T) { func TestURLTemplate(t *testing.T) { uri, _ := url.Parse("http://localhost") - r := NewRequest(nil, "POST", uri, "", ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "test"}}, Serializers{}, nil, nil) + r := NewRequest(nil, "POST", uri, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil) r.Prefix("pre1").Resource("r1").Namespace("ns").Name("nm").Param("p0", "v0") full := r.URL() if full.String() != "http://localhost/pre1/namespaces/ns/r1/nm?p0=v0" { @@ -1412,7 +1413,7 @@ func TestAbsPath(t *testing.T) { {"/p1/api/p2", "/api/r1", "/api/", "/p1/api/p2/api/"}, } { u, _ := url.Parse("http://localhost:123" + tc.configPrefix) - r := NewRequest(nil, "POST", u, "", ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).Prefix(tc.resourcePrefix).AbsPath(tc.absPath) + r := NewRequest(nil, "POST", u, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).Prefix(tc.resourcePrefix).AbsPath(tc.absPath) if r.pathPrefix != tc.wantsAbsPath { t.Errorf("test case %d failed, unexpected path: %q, expected %q", i, r.pathPrefix, tc.wantsAbsPath) } @@ -1432,7 +1433,7 @@ func TestUintParam(t *testing.T) { for _, item := range table { u, _ := url.Parse("http://localhost") - r := NewRequest(nil, "GET", u, "", ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).AbsPath("").UintParam(item.name, item.testVal) + r := NewRequest(nil, "GET", u, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).AbsPath("").UintParam(item.name, item.testVal) if e, a := item.expectStr, r.URL().String(); e != a { t.Errorf("expected %v, got %v", e, a) } diff --git a/pkg/client/restclient/url_utils.go b/pkg/client/restclient/url_utils.go index 81f16d63eaf..1f65e4b5b80 100644 --- a/pkg/client/restclient/url_utils.go +++ b/pkg/client/restclient/url_utils.go @@ -21,13 +21,13 @@ import ( "net/url" "path" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) // DefaultServerURL converts a host, host:port, or URL string to the default base server API path // to use with a Client at a given API version following the standard conventions for a // Kubernetes API. -func DefaultServerURL(host, apiPath string, groupVersion unversioned.GroupVersion, defaultTLS bool) (*url.URL, string, error) { +func DefaultServerURL(host, apiPath string, groupVersion schema.GroupVersion, defaultTLS bool) (*url.URL, string, error) { if host == "" { return nil, "", fmt.Errorf("host must be a URL or a host:port pair") } @@ -89,5 +89,5 @@ func defaultServerUrlFor(config *Config) (*url.URL, string, error) { if config.GroupVersion != nil { return DefaultServerURL(host, config.APIPath, *config.GroupVersion, defaultTLS) } - return DefaultServerURL(host, config.APIPath, unversioned.GroupVersion{}, defaultTLS) + return DefaultServerURL(host, config.APIPath, schema.GroupVersion{}, defaultTLS) } diff --git a/pkg/client/retry/BUILD b/pkg/client/retry/BUILD index 9d268ba57e2..a3097609cf0 100644 --- a/pkg/client/retry/BUILD +++ b/pkg/client/retry/BUILD @@ -27,7 +27,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/wait:go_default_library", ], ) diff --git a/pkg/client/retry/util_test.go b/pkg/client/retry/util_test.go index 4775aebad3b..6be5d005fde 100644 --- a/pkg/client/retry/util_test.go +++ b/pkg/client/retry/util_test.go @@ -21,13 +21,13 @@ import ( "testing" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" ) func TestRetryOnConflict(t *testing.T) { opts := wait.Backoff{Factor: 1.0, Steps: 3} - conflictErr := errors.NewConflict(unversioned.GroupResource{Resource: "test"}, "other", nil) + conflictErr := errors.NewConflict(schema.GroupResource{Resource: "test"}, "other", nil) // never returns err := RetryOnConflict(opts, func() error { @@ -61,7 +61,7 @@ func TestRetryOnConflict(t *testing.T) { err = RetryOnConflict(opts, func() error { if i < 2 { i++ - return errors.NewConflict(unversioned.GroupResource{Resource: "test"}, "other", nil) + return errors.NewConflict(schema.GroupResource{Resource: "test"}, "other", nil) } return nil }) diff --git a/pkg/client/testing/core/BUILD b/pkg/client/testing/core/BUILD index ce9d02aa393..dd50b9c626b 100644 --- a/pkg/client/testing/core/BUILD +++ b/pkg/client/testing/core/BUILD @@ -29,6 +29,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/version:go_default_library", "//pkg/watch:go_default_library", ], diff --git a/pkg/client/testing/core/actions.go b/pkg/client/testing/core/actions.go index 534517f6e84..a9dc317e7de 100644 --- a/pkg/client/testing/core/actions.go +++ b/pkg/client/testing/core/actions.go @@ -22,14 +22,14 @@ import ( "strings" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) -func NewRootGetAction(resource unversioned.GroupVersionResource, name string) GetActionImpl { +func NewRootGetAction(resource schema.GroupVersionResource, name string) GetActionImpl { action := GetActionImpl{} action.Verb = "get" action.Resource = resource @@ -38,7 +38,7 @@ func NewRootGetAction(resource unversioned.GroupVersionResource, name string) Ge return action } -func NewGetAction(resource unversioned.GroupVersionResource, namespace, name string) GetActionImpl { +func NewGetAction(resource schema.GroupVersionResource, namespace, name string) GetActionImpl { action := GetActionImpl{} action.Verb = "get" action.Resource = resource @@ -48,7 +48,7 @@ func NewGetAction(resource unversioned.GroupVersionResource, namespace, name str return action } -func NewRootListAction(resource unversioned.GroupVersionResource, opts interface{}) ListActionImpl { +func NewRootListAction(resource schema.GroupVersionResource, opts interface{}) ListActionImpl { action := ListActionImpl{} action.Verb = "list" action.Resource = resource @@ -58,7 +58,7 @@ func NewRootListAction(resource unversioned.GroupVersionResource, opts interface return action } -func NewListAction(resource unversioned.GroupVersionResource, namespace string, opts interface{}) ListActionImpl { +func NewListAction(resource schema.GroupVersionResource, namespace string, opts interface{}) ListActionImpl { action := ListActionImpl{} action.Verb = "list" action.Resource = resource @@ -69,7 +69,7 @@ func NewListAction(resource unversioned.GroupVersionResource, namespace string, return action } -func NewRootCreateAction(resource unversioned.GroupVersionResource, object runtime.Object) CreateActionImpl { +func NewRootCreateAction(resource schema.GroupVersionResource, object runtime.Object) CreateActionImpl { action := CreateActionImpl{} action.Verb = "create" action.Resource = resource @@ -78,7 +78,7 @@ func NewRootCreateAction(resource unversioned.GroupVersionResource, object runti return action } -func NewCreateAction(resource unversioned.GroupVersionResource, namespace string, object runtime.Object) CreateActionImpl { +func NewCreateAction(resource schema.GroupVersionResource, namespace string, object runtime.Object) CreateActionImpl { action := CreateActionImpl{} action.Verb = "create" action.Resource = resource @@ -88,7 +88,7 @@ func NewCreateAction(resource unversioned.GroupVersionResource, namespace string return action } -func NewRootUpdateAction(resource unversioned.GroupVersionResource, object runtime.Object) UpdateActionImpl { +func NewRootUpdateAction(resource schema.GroupVersionResource, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -97,7 +97,7 @@ func NewRootUpdateAction(resource unversioned.GroupVersionResource, object runti return action } -func NewUpdateAction(resource unversioned.GroupVersionResource, namespace string, object runtime.Object) UpdateActionImpl { +func NewUpdateAction(resource schema.GroupVersionResource, namespace string, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -107,7 +107,7 @@ func NewUpdateAction(resource unversioned.GroupVersionResource, namespace string return action } -func NewRootPatchAction(resource unversioned.GroupVersionResource, name string, patch []byte) PatchActionImpl { +func NewRootPatchAction(resource schema.GroupVersionResource, name string, patch []byte) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -117,7 +117,7 @@ func NewRootPatchAction(resource unversioned.GroupVersionResource, name string, return action } -func NewPatchAction(resource unversioned.GroupVersionResource, namespace string, name string, patch []byte) PatchActionImpl { +func NewPatchAction(resource schema.GroupVersionResource, namespace string, name string, patch []byte) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -128,7 +128,7 @@ func NewPatchAction(resource unversioned.GroupVersionResource, namespace string, return action } -func NewRootPatchSubresourceAction(resource unversioned.GroupVersionResource, name string, patch []byte, subresources ...string) PatchActionImpl { +func NewRootPatchSubresourceAction(resource schema.GroupVersionResource, name string, patch []byte, subresources ...string) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -139,7 +139,7 @@ func NewRootPatchSubresourceAction(resource unversioned.GroupVersionResource, na return action } -func NewPatchSubresourceAction(resource unversioned.GroupVersionResource, namespace, name string, patch []byte, subresources ...string) PatchActionImpl { +func NewPatchSubresourceAction(resource schema.GroupVersionResource, namespace, name string, patch []byte, subresources ...string) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -151,7 +151,7 @@ func NewPatchSubresourceAction(resource unversioned.GroupVersionResource, namesp return action } -func NewRootUpdateSubresourceAction(resource unversioned.GroupVersionResource, subresource string, object runtime.Object) UpdateActionImpl { +func NewRootUpdateSubresourceAction(resource schema.GroupVersionResource, subresource string, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -160,7 +160,7 @@ func NewRootUpdateSubresourceAction(resource unversioned.GroupVersionResource, s return action } -func NewUpdateSubresourceAction(resource unversioned.GroupVersionResource, subresource string, namespace string, object runtime.Object) UpdateActionImpl { +func NewUpdateSubresourceAction(resource schema.GroupVersionResource, subresource string, namespace string, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -171,7 +171,7 @@ func NewUpdateSubresourceAction(resource unversioned.GroupVersionResource, subre return action } -func NewRootDeleteAction(resource unversioned.GroupVersionResource, name string) DeleteActionImpl { +func NewRootDeleteAction(resource schema.GroupVersionResource, name string) DeleteActionImpl { action := DeleteActionImpl{} action.Verb = "delete" action.Resource = resource @@ -180,7 +180,7 @@ func NewRootDeleteAction(resource unversioned.GroupVersionResource, name string) return action } -func NewDeleteAction(resource unversioned.GroupVersionResource, namespace, name string) DeleteActionImpl { +func NewDeleteAction(resource schema.GroupVersionResource, namespace, name string) DeleteActionImpl { action := DeleteActionImpl{} action.Verb = "delete" action.Resource = resource @@ -190,7 +190,7 @@ func NewDeleteAction(resource unversioned.GroupVersionResource, namespace, name return action } -func NewRootDeleteCollectionAction(resource unversioned.GroupVersionResource, opts interface{}) DeleteCollectionActionImpl { +func NewRootDeleteCollectionAction(resource schema.GroupVersionResource, opts interface{}) DeleteCollectionActionImpl { action := DeleteCollectionActionImpl{} action.Verb = "delete-collection" action.Resource = resource @@ -200,7 +200,7 @@ func NewRootDeleteCollectionAction(resource unversioned.GroupVersionResource, op return action } -func NewDeleteCollectionAction(resource unversioned.GroupVersionResource, namespace string, opts interface{}) DeleteCollectionActionImpl { +func NewDeleteCollectionAction(resource schema.GroupVersionResource, namespace string, opts interface{}) DeleteCollectionActionImpl { action := DeleteCollectionActionImpl{} action.Verb = "delete-collection" action.Resource = resource @@ -211,7 +211,7 @@ func NewDeleteCollectionAction(resource unversioned.GroupVersionResource, namesp return action } -func NewRootWatchAction(resource unversioned.GroupVersionResource, opts interface{}) WatchActionImpl { +func NewRootWatchAction(resource schema.GroupVersionResource, opts interface{}) WatchActionImpl { action := WatchActionImpl{} action.Verb = "watch" action.Resource = resource @@ -250,7 +250,7 @@ func ExtractFromListOptions(opts interface{}) (labelSelector labels.Selector, fi return labelSelector, fieldSelector, resourceVersion } -func NewWatchAction(resource unversioned.GroupVersionResource, namespace string, opts interface{}) WatchActionImpl { +func NewWatchAction(resource schema.GroupVersionResource, namespace string, opts interface{}) WatchActionImpl { action := WatchActionImpl{} action.Verb = "watch" action.Resource = resource @@ -261,7 +261,7 @@ func NewWatchAction(resource unversioned.GroupVersionResource, namespace string, return action } -func NewProxyGetAction(resource unversioned.GroupVersionResource, namespace, scheme, name, port, path string, params map[string]string) ProxyGetActionImpl { +func NewProxyGetAction(resource schema.GroupVersionResource, namespace, scheme, name, port, path string, params map[string]string) ProxyGetActionImpl { action := ProxyGetActionImpl{} action.Verb = "get" action.Resource = resource @@ -287,7 +287,7 @@ type WatchRestrictions struct { type Action interface { GetNamespace() string GetVerb() string - GetResource() unversioned.GroupVersionResource + GetResource() schema.GroupVersionResource GetSubresource() string Matches(verb, resource string) bool } @@ -339,7 +339,7 @@ type ProxyGetAction interface { type ActionImpl struct { Namespace string Verb string - Resource unversioned.GroupVersionResource + Resource schema.GroupVersionResource Subresource string } @@ -349,7 +349,7 @@ func (a ActionImpl) GetNamespace() string { func (a ActionImpl) GetVerb() string { return a.Verb } -func (a ActionImpl) GetResource() unversioned.GroupVersionResource { +func (a ActionImpl) GetResource() schema.GroupVersionResource { return a.Resource } func (a ActionImpl) GetSubresource() string { diff --git a/pkg/client/testing/core/fake.go b/pkg/client/testing/core/fake.go index 9ff59dbcd6b..b25ad095375 100644 --- a/pkg/client/testing/core/fake.go +++ b/pkg/client/testing/core/fake.go @@ -23,6 +23,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" "k8s.io/kubernetes/pkg/watch" ) @@ -221,7 +222,7 @@ type FakeDiscovery struct { func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*unversioned.APIResourceList, error) { action := ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources[groupVersion], nil @@ -230,7 +231,7 @@ func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*un func (c *FakeDiscovery) ServerResources() (map[string]*unversioned.APIResourceList, error) { action := ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources, nil @@ -243,7 +244,7 @@ func (c *FakeDiscovery) ServerGroups() (*unversioned.APIGroupList, error) { func (c *FakeDiscovery) ServerVersion() (*version.Info, error) { action := ActionImpl{} action.Verb = "get" - action.Resource = unversioned.GroupVersionResource{Resource: "version"} + action.Resource = schema.GroupVersionResource{Resource: "version"} c.Invokes(action, nil) versionInfo := version.Get() diff --git a/pkg/client/testing/core/fixture.go b/pkg/client/testing/core/fixture.go index 9bc6a278077..3528adfbbf1 100644 --- a/pkg/client/testing/core/fixture.go +++ b/pkg/client/testing/core/fixture.go @@ -26,6 +26,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch" ) @@ -38,19 +39,19 @@ type ObjectTracker interface { Add(obj runtime.Object) error // Get retrieves the object by its kind, namespace and name. - Get(gvk unversioned.GroupVersionKind, ns, name string) (runtime.Object, error) + Get(gvk schema.GroupVersionKind, ns, name string) (runtime.Object, error) // Update updates an existing object in the tracker. Update(obj runtime.Object) error // List retrieves all objects of a given kind in the given // namespace. Only non-List kinds are accepted. - List(gvk unversioned.GroupVersionKind, ns string) (runtime.Object, error) + List(gvk schema.GroupVersionKind, ns string) (runtime.Object, error) // Delete deletes an existing object from the tracker. If object // didn't exist in the tracker prior to deletion, Delete returns // no error. - Delete(gvk unversioned.GroupVersionKind, ns, name string) error + Delete(gvk schema.GroupVersionKind, ns, name string) error } // ObjectScheme abstracts the implementation of common operations on objects. @@ -143,7 +144,7 @@ type tracker struct { scheme ObjectScheme decoder runtime.Decoder lock sync.RWMutex - objects map[unversioned.GroupVersionKind][]runtime.Object + objects map[schema.GroupVersionKind][]runtime.Object } var _ ObjectTracker = &tracker{} @@ -154,11 +155,11 @@ func NewObjectTracker(scheme ObjectScheme, decoder runtime.Decoder) ObjectTracke return &tracker{ scheme: scheme, decoder: decoder, - objects: make(map[unversioned.GroupVersionKind][]runtime.Object), + objects: make(map[schema.GroupVersionKind][]runtime.Object), } } -func (t *tracker) List(gvk unversioned.GroupVersionKind, ns string) (runtime.Object, error) { +func (t *tracker) List(gvk schema.GroupVersionKind, ns string) (runtime.Object, error) { // Heuristic for list kind: original kind + List suffix. Might // not always be true but this tracker has a pretty limited // understanding of the actual API model. @@ -195,12 +196,12 @@ func (t *tracker) List(gvk unversioned.GroupVersionKind, ns string) (runtime.Obj return list, nil } -func (t *tracker) Get(gvk unversioned.GroupVersionKind, ns, name string) (runtime.Object, error) { +func (t *tracker) Get(gvk schema.GroupVersionKind, ns, name string) (runtime.Object, error) { if err := checkNamespace(gvk, ns); err != nil { return nil, err } - errNotFound := errors.NewNotFound(unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) + errNotFound := errors.NewNotFound(schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) t.lock.RLock() defer t.lock.RUnlock() @@ -266,7 +267,7 @@ func (t *tracker) add(obj runtime.Object, replaceExisting bool) error { defer t.lock.Unlock() for _, gvk := range gvks { - gr := unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind} + gr := schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind} // To avoid the object from being accidentally modified by caller // after it's been added to the tracker, we always store the deep @@ -332,7 +333,7 @@ func (t *tracker) addList(obj runtime.Object, replaceExisting bool) error { return nil } -func (t *tracker) Delete(gvk unversioned.GroupVersionKind, ns, name string) error { +func (t *tracker) Delete(gvk schema.GroupVersionKind, ns, name string) error { if err := checkNamespace(gvk, ns); err != nil { return err } @@ -358,7 +359,7 @@ func (t *tracker) Delete(gvk unversioned.GroupVersionKind, ns, name string) erro return nil } - return errors.NewNotFound(unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) + return errors.NewNotFound(schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) } // filterByNamespaceAndName returns all objects in the collection that @@ -387,7 +388,7 @@ func filterByNamespaceAndName(objs []runtime.Object, ns, name string) ([]runtime // checkNamespace makes sure that the scope of gvk matches ns. It // returns an error if namespace is empty but gvk is a namespaced // kind, or if ns is non-empty and gvk is a namespaced kind. -func checkNamespace(gvk unversioned.GroupVersionKind, ns string) error { +func checkNamespace(gvk schema.GroupVersionKind, ns string) error { group, err := registered.Group(gvk.Group) if err != nil { return err diff --git a/pkg/client/typed/discovery/BUILD b/pkg/client/typed/discovery/BUILD index eb8e5624eb7..ba1e444204e 100644 --- a/pkg/client/typed/discovery/BUILD +++ b/pkg/client/typed/discovery/BUILD @@ -27,6 +27,7 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/util/sets:go_default_library", "//pkg/version:go_default_library", @@ -51,6 +52,7 @@ go_test( "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/stretchr/testify/assert", @@ -70,5 +72,6 @@ go_test( "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/client/typed/discovery/discovery_client.go b/pkg/client/typed/discovery/discovery_client.go index 377bbfd3b47..ede47596269 100644 --- a/pkg/client/typed/discovery/discovery_client.go +++ b/pkg/client/typed/discovery/discovery_client.go @@ -31,6 +31,7 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/version" ) @@ -69,10 +70,10 @@ type ServerResourcesInterface interface { ServerResources() (map[string]*unversioned.APIResourceList, error) // ServerPreferredResources returns the supported resources with the version preferred by the // server. - ServerPreferredResources() ([]unversioned.GroupVersionResource, error) + ServerPreferredResources() ([]schema.GroupVersionResource, error) // ServerPreferredNamespacedResources returns the supported namespaced resources with the // version preferred by the server. - ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) + ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) } // ServerVersionInterface has a method for retrieving the server's version. @@ -84,7 +85,7 @@ type ServerVersionInterface interface { // SwaggerSchemaInterface has a method to retrieve the swagger schema. type SwaggerSchemaInterface interface { // SwaggerSchema retrieves and parses the swagger API schema the server supports. - SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) + SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) } // DiscoveryClient implements the functions that discover server-supported API groups, @@ -186,7 +187,7 @@ func (d *DiscoveryClient) ServerResources() (map[string]*unversioned.APIResource // ErrGroupDiscoveryFailed is returned if one or more API groups fail to load. type ErrGroupDiscoveryFailed struct { // Groups is a list of the groups that failed to load and the error cause - Groups map[unversioned.GroupVersion]error + Groups map[schema.GroupVersion]error } // Error implements the error interface @@ -208,17 +209,17 @@ func IsGroupDiscoveryFailedError(err error) bool { // serverPreferredResources returns the supported resources with the version preferred by the // server. If namespaced is true, only namespaced resources will be returned. -func (d *DiscoveryClient) serverPreferredResources(namespaced bool) ([]unversioned.GroupVersionResource, error) { +func (d *DiscoveryClient) serverPreferredResources(namespaced bool) ([]schema.GroupVersionResource, error) { // retry in case the groups supported by the server change after ServerGroup() returns. const maxRetries = 2 - var failedGroups map[unversioned.GroupVersion]error - var results []unversioned.GroupVersionResource - var resources map[unversioned.GroupResource]string + var failedGroups map[schema.GroupVersion]error + var results []schema.GroupVersionResource + var resources map[schema.GroupResource]string RetrieveGroups: for i := 0; i < maxRetries; i++ { - results = []unversioned.GroupVersionResource{} - resources = map[unversioned.GroupResource]string{} - failedGroups = make(map[unversioned.GroupVersion]error) + results = []schema.GroupVersionResource{} + resources = map[schema.GroupResource]string{} + failedGroups = make(map[schema.GroupVersion]error) serverGroupList, err := d.ServerGroups() if err != nil { return results, err @@ -227,7 +228,7 @@ RetrieveGroups: for _, apiGroup := range serverGroupList.Groups { versions := apiGroup.Versions for _, version := range versions { - groupVersion := unversioned.GroupVersion{Group: apiGroup.Name, Version: version.Version} + groupVersion := schema.GroupVersion{Group: apiGroup.Name, Version: version.Version} apiResourceList, err := d.ServerResourcesForGroupVersion(version.GroupVersion) if err != nil { if i < maxRetries-1 { @@ -270,13 +271,13 @@ RetrieveGroups: // ServerPreferredResources returns the supported resources with the version preferred by the // server. -func (d *DiscoveryClient) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (d *DiscoveryClient) ServerPreferredResources() ([]schema.GroupVersionResource, error) { return d.serverPreferredResources(false) } // ServerPreferredNamespacedResources returns the supported namespaced resources with the // version preferred by the server. -func (d *DiscoveryClient) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { +func (d *DiscoveryClient) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { return d.serverPreferredResources(true) } @@ -295,7 +296,7 @@ func (d *DiscoveryClient) ServerVersion() (*version.Info, error) { } // SwaggerSchema retrieves and parses the swagger API schema the server supports. -func (d *DiscoveryClient) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (d *DiscoveryClient) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { if version.Empty() { return nil, fmt.Errorf("groupVersion cannot be empty") } diff --git a/pkg/client/typed/discovery/discovery_client_test.go b/pkg/client/typed/discovery/discovery_client_test.go index a4ab56853ac..86b875f6138 100644 --- a/pkg/client/typed/discovery/discovery_client_test.go +++ b/pkg/client/typed/discovery/discovery_client_test.go @@ -28,6 +28,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/restclient" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) @@ -312,7 +313,7 @@ func TestGetSwaggerSchemaFail(t *testing.T) { defer server.Close() client := NewDiscoveryClientForConfigOrDie(&restclient.Config{Host: server.URL}) - got, err := client.SwaggerSchema(unversioned.GroupVersion{Group: "api.group", Version: "v4"}) + got, err := client.SwaggerSchema(schema.GroupVersion{Group: "api.group", Version: "v4"}) if got != nil { t.Fatalf("unexpected response: %v", got) } @@ -574,7 +575,7 @@ func TestServerPreferredNamespacedResources(t *testing.T) { } tests := []struct { response func(w http.ResponseWriter, req *http.Request) - expected []unversioned.GroupVersionResource + expected []schema.GroupVersionResource }{ { response: func(w http.ResponseWriter, req *http.Request) { @@ -602,7 +603,7 @@ func TestServerPreferredNamespacedResources(t *testing.T) { w.WriteHeader(http.StatusOK) w.Write(output) }, - expected: []unversioned.GroupVersionResource{ + expected: []schema.GroupVersionResource{ {Group: "", Version: "v1", Resource: "pods"}, {Group: "", Version: "v1", Resource: "services"}, }, @@ -645,7 +646,7 @@ func TestServerPreferredNamespacedResources(t *testing.T) { w.WriteHeader(http.StatusOK) w.Write(output) }, - expected: []unversioned.GroupVersionResource{ + expected: []schema.GroupVersionResource{ {Group: "batch", Version: "v1", Resource: "jobs"}, {Group: "batch", Version: "v2alpha1", Resource: "cronjobs"}, }, @@ -688,7 +689,7 @@ func TestServerPreferredNamespacedResources(t *testing.T) { w.WriteHeader(http.StatusOK) w.Write(output) }, - expected: []unversioned.GroupVersionResource{ + expected: []schema.GroupVersionResource{ {Group: "batch", Version: "v2alpha1", Resource: "jobs"}, {Group: "batch", Version: "v2alpha1", Resource: "cronjobs"}, }, diff --git a/pkg/client/typed/discovery/fake/BUILD b/pkg/client/typed/discovery/fake/BUILD index 8e78b2c7d40..825c8373b98 100644 --- a/pkg/client/typed/discovery/fake/BUILD +++ b/pkg/client/typed/discovery/fake/BUILD @@ -19,6 +19,7 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", ], diff --git a/pkg/client/typed/discovery/fake/discovery.go b/pkg/client/typed/discovery/fake/discovery.go index 596a51aac50..a0cce856f94 100644 --- a/pkg/client/typed/discovery/fake/discovery.go +++ b/pkg/client/typed/discovery/fake/discovery.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) @@ -32,7 +33,7 @@ type FakeDiscovery struct { func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*unversioned.APIResourceList, error) { action := core.ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources[groupVersion], nil @@ -41,17 +42,17 @@ func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*un func (c *FakeDiscovery) ServerResources() (map[string]*unversioned.APIResourceList, error) { action := core.ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources, nil } -func (c *FakeDiscovery) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (c *FakeDiscovery) ServerPreferredResources() ([]schema.GroupVersionResource, error) { return nil, nil } -func (c *FakeDiscovery) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { +func (c *FakeDiscovery) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { return nil, nil } @@ -62,20 +63,20 @@ func (c *FakeDiscovery) ServerGroups() (*unversioned.APIGroupList, error) { func (c *FakeDiscovery) ServerVersion() (*version.Info, error) { action := core.ActionImpl{} action.Verb = "get" - action.Resource = unversioned.GroupVersionResource{Resource: "version"} + action.Resource = schema.GroupVersionResource{Resource: "version"} c.Invokes(action, nil) versionInfo := version.Get() return &versionInfo, nil } -func (c *FakeDiscovery) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (c *FakeDiscovery) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { action := core.ActionImpl{} action.Verb = "get" if version == v1.SchemeGroupVersion { - action.Resource = unversioned.GroupVersionResource{Resource: "/swaggerapi/api/" + version.Version} + action.Resource = schema.GroupVersionResource{Resource: "/swaggerapi/api/" + version.Version} } else { - action.Resource = unversioned.GroupVersionResource{Resource: "/swaggerapi/apis/" + version.Group + "/" + version.Version} + action.Resource = schema.GroupVersionResource{Resource: "/swaggerapi/apis/" + version.Group + "/" + version.Version} } c.Invokes(action, nil) diff --git a/pkg/client/typed/discovery/helper.go b/pkg/client/typed/discovery/helper.go index 1ac4a25a410..be9eac24026 100644 --- a/pkg/client/typed/discovery/helper.go +++ b/pkg/client/typed/discovery/helper.go @@ -20,6 +20,7 @@ import ( "fmt" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/version" // Import solely to initialize client auth plugins. @@ -49,7 +50,7 @@ func MatchesServerVersion(client DiscoveryInterface) error { // preference. // - If version is provided and the server does not support it, // return an error. -func NegotiateVersion(client DiscoveryInterface, requiredGV *unversioned.GroupVersion, clientRegisteredGVs []unversioned.GroupVersion) (*unversioned.GroupVersion, error) { +func NegotiateVersion(client DiscoveryInterface, requiredGV *schema.GroupVersion, clientRegisteredGVs []schema.GroupVersion) (*schema.GroupVersion, error) { clientVersions := sets.String{} for _, gv := range clientRegisteredGVs { clientVersions.Insert(gv.String()) diff --git a/pkg/client/typed/discovery/helper_blackbox_test.go b/pkg/client/typed/discovery/helper_blackbox_test.go index cfc8b1934d1..5cfad05ac63 100644 --- a/pkg/client/typed/discovery/helper_blackbox_test.go +++ b/pkg/client/typed/discovery/helper_blackbox_test.go @@ -34,6 +34,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) func objBody(object interface{}) io.ReadCloser { @@ -47,10 +48,10 @@ func objBody(object interface{}) io.ReadCloser { func TestNegotiateVersion(t *testing.T) { tests := []struct { name string - requiredVersion *uapi.GroupVersion - expectedVersion *uapi.GroupVersion + requiredVersion *schema.GroupVersion + expectedVersion *schema.GroupVersion serverVersions []string - clientVersions []uapi.GroupVersion + clientVersions []schema.GroupVersion expectErr func(err error) bool sendErr error statusCode int @@ -58,60 +59,60 @@ func TestNegotiateVersion(t *testing.T) { { name: "server supports client default", serverVersions: []string{"version1", registered.GroupOrDie(api.GroupName).GroupVersion.String()}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusOK, }, { name: "server falls back to client supported", serverVersions: []string{"version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusOK, }, { name: "explicit version supported", - requiredVersion: &uapi.GroupVersion{Version: "v1"}, + requiredVersion: &schema.GroupVersion{Version: "v1"}, serverVersions: []string{"/version1", registered.GroupOrDie(api.GroupName).GroupVersion.String()}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "v1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "v1"}, statusCode: http.StatusOK, }, { name: "explicit version not supported on server", - requiredVersion: &uapi.GroupVersion{Version: "v1"}, + requiredVersion: &schema.GroupVersion{Version: "v1"}, serverVersions: []string{"version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, expectErr: func(err error) bool { return strings.Contains(err.Error(), `server does not support API version "v1"`) }, statusCode: http.StatusOK, }, { name: "explicit version not supported on client", - requiredVersion: &uapi.GroupVersion{Version: "v1"}, + requiredVersion: &schema.GroupVersion{Version: "v1"}, serverVersions: []string{"v1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}}, + clientVersions: []schema.GroupVersion{{Version: "version1"}}, expectErr: func(err error) bool { return strings.Contains(err.Error(), `client does not support API version "v1"`) }, statusCode: http.StatusOK, }, { name: "connection refused error", serverVersions: []string{"version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, sendErr: errors.New("connection refused"), expectErr: func(err error) bool { return strings.Contains(err.Error(), "connection refused") }, statusCode: http.StatusOK, }, { name: "discovery fails due to 403 Forbidden errors and thus serverVersions is empty, use default GroupVersion", - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusForbidden, }, { name: "discovery fails due to 404 Not Found errors and thus serverVersions is empty, use requested GroupVersion", - requiredVersion: &uapi.GroupVersion{Version: "version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + requiredVersion: &schema.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusNotFound, }, { diff --git a/pkg/client/typed/discovery/restmapper.go b/pkg/client/typed/discovery/restmapper.go index 793dd017ffb..53866584f1c 100644 --- a/pkg/client/typed/discovery/restmapper.go +++ b/pkg/client/typed/discovery/restmapper.go @@ -23,6 +23,7 @@ import ( "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "github.com/golang/glog" ) @@ -42,8 +43,8 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V unionMapper := meta.MultiRESTMapper{} var groupPriority []string - var resourcePriority []unversioned.GroupVersionResource - var kindPriority []unversioned.GroupVersionKind + var resourcePriority []schema.GroupVersionResource + var kindPriority []schema.GroupVersionKind for _, group := range groupResources { groupPriority = append(groupPriority, group.Group.Name) @@ -51,13 +52,13 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V if len(group.Group.PreferredVersion.Version) != 0 { preferred := group.Group.PreferredVersion.Version if _, ok := group.VersionedResources[preferred]; ok { - resourcePriority = append(resourcePriority, unversioned.GroupVersionResource{ + resourcePriority = append(resourcePriority, schema.GroupVersionResource{ Group: group.Group.Name, Version: group.Group.PreferredVersion.Version, Resource: meta.AnyResource, }) - kindPriority = append(kindPriority, unversioned.GroupVersionKind{ + kindPriority = append(kindPriority, schema.GroupVersionKind{ Group: group.Group.Name, Version: group.Group.PreferredVersion.Version, Kind: meta.AnyKind, @@ -71,8 +72,8 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V continue } - gv := unversioned.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} - versionMapper := meta.NewDefaultRESTMapper([]unversioned.GroupVersion{gv}, versionInterfaces) + gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} + versionMapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{gv}, versionInterfaces) for _, resource := range resources { scope := meta.RESTScopeNamespace @@ -90,12 +91,12 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V } for _, group := range groupPriority { - resourcePriority = append(resourcePriority, unversioned.GroupVersionResource{ + resourcePriority = append(resourcePriority, schema.GroupVersionResource{ Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource, }) - kindPriority = append(kindPriority, unversioned.GroupVersionKind{ + kindPriority = append(kindPriority, schema.GroupVersionKind{ Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind, @@ -188,10 +189,10 @@ func (d *DeferredDiscoveryRESTMapper) Reset() { // KindFor takes a partial resource and returns back the single match. // It returns an error if there are multiple matches. -func (d *DeferredDiscoveryRESTMapper) KindFor(resource unversioned.GroupVersionResource) (gvk unversioned.GroupVersionKind, err error) { +func (d *DeferredDiscoveryRESTMapper) KindFor(resource schema.GroupVersionResource) (gvk schema.GroupVersionKind, err error) { del, err := d.getDelegate() if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } gvk, err = del.KindFor(resource) if err != nil && !d.cl.Fresh() { @@ -203,7 +204,7 @@ func (d *DeferredDiscoveryRESTMapper) KindFor(resource unversioned.GroupVersionR // KindsFor takes a partial resource and returns back the list of // potential kinds in priority order. -func (d *DeferredDiscoveryRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gvks []unversioned.GroupVersionKind, err error) { +func (d *DeferredDiscoveryRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvks []schema.GroupVersionKind, err error) { del, err := d.getDelegate() if err != nil { return nil, err @@ -218,10 +219,10 @@ func (d *DeferredDiscoveryRESTMapper) KindsFor(resource unversioned.GroupVersion // ResourceFor takes a partial resource and returns back the single // match. It returns an error if there are multiple matches. -func (d *DeferredDiscoveryRESTMapper) ResourceFor(input unversioned.GroupVersionResource) (gvr unversioned.GroupVersionResource, err error) { +func (d *DeferredDiscoveryRESTMapper) ResourceFor(input schema.GroupVersionResource) (gvr schema.GroupVersionResource, err error) { del, err := d.getDelegate() if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } gvr, err = del.ResourceFor(input) if err != nil && !d.cl.Fresh() { @@ -233,7 +234,7 @@ func (d *DeferredDiscoveryRESTMapper) ResourceFor(input unversioned.GroupVersion // ResourcesFor takes a partial resource and returns back the list of // potential resource in priority order. -func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) (gvrs []unversioned.GroupVersionResource, err error) { +func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input schema.GroupVersionResource) (gvrs []schema.GroupVersionResource, err error) { del, err := d.getDelegate() if err != nil { return nil, err @@ -248,7 +249,7 @@ func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input unversioned.GroupVersio // RESTMapping identifies a preferred resource mapping for the // provided group kind. -func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (m *meta.RESTMapping, err error) { +func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (m *meta.RESTMapping, err error) { del, err := d.getDelegate() if err != nil { return nil, err @@ -264,7 +265,7 @@ func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk unversioned.GroupKind, vers // RESTMappings returns the RESTMappings for the provided group kind // in a rough internal preferred order. If no kind is found, it will // return a NoResourceMatchError. -func (d *DeferredDiscoveryRESTMapper) RESTMappings(gk unversioned.GroupKind) (ms []*meta.RESTMapping, err error) { +func (d *DeferredDiscoveryRESTMapper) RESTMappings(gk schema.GroupKind) (ms []*meta.RESTMapping, err error) { del, err := d.getDelegate() if err != nil { return nil, err diff --git a/pkg/client/typed/discovery/restmapper_test.go b/pkg/client/typed/discovery/restmapper_test.go index 98e908a16bc..352817628cc 100644 --- a/pkg/client/typed/discovery/restmapper_test.go +++ b/pkg/client/typed/discovery/restmapper_test.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" "github.com/emicklei/go-restful/swagger" @@ -69,43 +70,43 @@ func TestRESTMapper(t *testing.T) { restMapper := NewRESTMapper(resources, nil) kindTCs := []struct { - input unversioned.GroupVersionResource - want unversioned.GroupVersionKind + input schema.GroupVersionResource + want schema.GroupVersionKind }{ { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Version: "v1", Kind: "Pod", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v2", Resource: "pods", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Version: "v2", Kind: "Pod", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "pods", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Version: "v1", Kind: "Pod", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "jobs", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Group: "extensions", Version: "v1beta", Kind: "Job", @@ -126,43 +127,43 @@ func TestRESTMapper(t *testing.T) { } resourceTCs := []struct { - input unversioned.GroupVersionResource - want unversioned.GroupVersionResource + input schema.GroupVersionResource + want schema.GroupVersionResource }{ { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v2", Resource: "pods", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Version: "v2", Resource: "pods", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "pods", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "jobs", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Group: "extensions", Version: "v1beta", Resource: "jobs", @@ -191,7 +192,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.False(cdc.fresh, "should NOT be fresh after instantiation") assert.Zero(cdc.invalidateCalls, "should not have called Invalidate()") - gvk, err := m.KindFor(unversioned.GroupVersionResource{ + gvk, err := m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "foo", @@ -201,7 +202,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.Equal(cdc.invalidateCalls, 1, "should have called Invalidate() once") assert.Equal(gvk.Kind, "Foo") - gvk, err = m.KindFor(unversioned.GroupVersionResource{ + gvk, err = m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "foo", @@ -209,7 +210,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.NoError(err) assert.Equal(cdc.invalidateCalls, 1, "should NOT have called Invalidate() again") - gvk, err = m.KindFor(unversioned.GroupVersionResource{ + gvk, err = m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "bar", @@ -218,7 +219,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.Equal(cdc.invalidateCalls, 1, "should NOT have called Invalidate() again after another cache-miss, but with fresh==true") cdc.fresh = false - gvk, err = m.KindFor(unversioned.GroupVersionResource{ + gvk, err = m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "bar", @@ -286,7 +287,7 @@ func (c *fakeCachedDiscoveryInterface) ServerResourcesForGroupVersion(groupVersi }, nil } - return nil, errors.NewNotFound(unversioned.GroupResource{}, "") + return nil, errors.NewNotFound(schema.GroupResource{}, "") } func (c *fakeCachedDiscoveryInterface) ServerResources() (map[string]*unversioned.APIResourceList, error) { @@ -299,9 +300,9 @@ func (c *fakeCachedDiscoveryInterface) ServerResources() (map[string]*unversione return map[string]*unversioned.APIResourceList{}, nil } -func (c *fakeCachedDiscoveryInterface) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (c *fakeCachedDiscoveryInterface) ServerPreferredResources() ([]schema.GroupVersionResource, error) { if c.enabledA { - return []unversioned.GroupVersionResource{ + return []schema.GroupVersionResource{ { Group: "a", Version: "v1", @@ -309,17 +310,17 @@ func (c *fakeCachedDiscoveryInterface) ServerPreferredResources() ([]unversioned }, }, nil } - return []unversioned.GroupVersionResource{}, nil + return []schema.GroupVersionResource{}, nil } -func (c *fakeCachedDiscoveryInterface) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { - return []unversioned.GroupVersionResource{}, nil +func (c *fakeCachedDiscoveryInterface) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { + return []schema.GroupVersionResource{}, nil } func (c *fakeCachedDiscoveryInterface) ServerVersion() (*version.Info, error) { return &version.Info{}, nil } -func (c *fakeCachedDiscoveryInterface) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (c *fakeCachedDiscoveryInterface) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { return &swagger.ApiDeclaration{}, nil } diff --git a/pkg/client/typed/discovery/unstructured.go b/pkg/client/typed/discovery/unstructured.go index afa74e7dee2..bd886e5ef1b 100644 --- a/pkg/client/typed/discovery/unstructured.go +++ b/pkg/client/typed/discovery/unstructured.go @@ -19,20 +19,20 @@ package discovery import ( "fmt" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // UnstructuredObjectTyper provides a runtime.ObjectTyper implmentation for // runtime.Unstructured object based on discovery information. type UnstructuredObjectTyper struct { - registered map[unversioned.GroupVersionKind]bool + registered map[schema.GroupVersionKind]bool } // NewUnstructuredObjectTyper returns a runtime.ObjectTyper for // unstructred objects based on discovery information. func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *UnstructuredObjectTyper { - dot := &UnstructuredObjectTyper{registered: make(map[unversioned.GroupVersionKind]bool)} + dot := &UnstructuredObjectTyper{registered: make(map[schema.GroupVersionKind]bool)} for _, group := range groupResources { for _, discoveryVersion := range group.Group.Versions { resources, ok := group.VersionedResources[discoveryVersion.Version] @@ -40,7 +40,7 @@ func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *Unstructur continue } - gv := unversioned.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} + gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} for _, resource := range resources { dot.registered[gv.WithKind(resource.Kind)] = true } @@ -52,9 +52,9 @@ func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *Unstructur // ObjectKind returns the group,version,kind of the provided object, or an error // if the object in not *runtime.Unstructured or has no group,version,kind // information. -func (d *UnstructuredObjectTyper) ObjectKind(obj runtime.Object) (unversioned.GroupVersionKind, error) { +func (d *UnstructuredObjectTyper) ObjectKind(obj runtime.Object) (schema.GroupVersionKind, error) { if _, ok := obj.(*runtime.Unstructured); !ok { - return unversioned.GroupVersionKind{}, fmt.Errorf("type %T is invalid for dynamic object typer", obj) + return schema.GroupVersionKind{}, fmt.Errorf("type %T is invalid for dynamic object typer", obj) } return obj.GetObjectKind().GroupVersionKind(), nil @@ -65,18 +65,18 @@ func (d *UnstructuredObjectTyper) ObjectKind(obj runtime.Object) (unversioned.Gr // has no group,version,kind information. unversionedType will always be false // because runtime.Unstructured object should always have group,version,kind // information set. -func (d *UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) (gvks []unversioned.GroupVersionKind, unversionedType bool, err error) { +func (d *UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) (gvks []schema.GroupVersionKind, unversionedType bool, err error) { gvk, err := d.ObjectKind(obj) if err != nil { return nil, false, err } - return []unversioned.GroupVersionKind{gvk}, false, nil + return []schema.GroupVersionKind{gvk}, false, nil } // Recognizes returns true if the provided group,version,kind was in the // discovery information. -func (d *UnstructuredObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (d *UnstructuredObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { return d.registered[gvk] } diff --git a/pkg/client/typed/dynamic/BUILD b/pkg/client/typed/dynamic/BUILD index 5f2803a627c..a74ba41c8ee 100644 --- a/pkg/client/typed/dynamic/BUILD +++ b/pkg/client/typed/dynamic/BUILD @@ -26,6 +26,7 @@ go_library( "//pkg/client/restclient:go_default_library", "//pkg/conversion/queryparams:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/watch:go_default_library", @@ -46,6 +47,7 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/watch:go_default_library", "//pkg/watch/versioned:go_default_library", diff --git a/pkg/client/typed/dynamic/client.go b/pkg/client/typed/dynamic/client.go index 362fce5f4c9..8fdb9a9232b 100644 --- a/pkg/client/typed/dynamic/client.go +++ b/pkg/client/typed/dynamic/client.go @@ -32,6 +32,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/conversion/queryparams" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/watch" @@ -218,7 +219,7 @@ func (rc *ResourceClient) Patch(name string, pt api.PatchType, data []byte) (*ru // with special handling for Status objects. type dynamicCodec struct{} -func (dynamicCodec) Decode(data []byte, gvk *unversioned.GroupVersionKind, obj runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (dynamicCodec) Decode(data []byte, gvk *schema.GroupVersionKind, obj runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { obj, gvk, err := runtime.UnstructuredJSONScheme.Decode(data, gvk, obj) if err != nil { return nil, nil, err @@ -264,11 +265,11 @@ func ContentConfig() restclient.ContentConfig { // parameters without trying to convert to the target version. type parameterCodec struct{} -func (parameterCodec) EncodeParameters(obj runtime.Object, to unversioned.GroupVersion) (url.Values, error) { +func (parameterCodec) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) { return queryparams.Convert(obj) } -func (parameterCodec) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into runtime.Object) error { +func (parameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into runtime.Object) error { return errors.New("DecodeParameters not implemented on dynamic parameterCodec") } @@ -276,7 +277,7 @@ var defaultParameterEncoder runtime.ParameterCodec = parameterCodec{} type versionedParameterEncoderWithV1Fallback struct{} -func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Object, to unversioned.GroupVersion) (url.Values, error) { +func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) { ret, err := api.ParameterCodec.EncodeParameters(obj, to) if err != nil && runtime.IsNotRegisteredError(err) { // fallback to v1 @@ -285,7 +286,7 @@ func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Obje return ret, err } -func (versionedParameterEncoderWithV1Fallback) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into runtime.Object) error { +func (versionedParameterEncoderWithV1Fallback) DecodeParameters(parameters url.Values, from schema.GroupVersion, into runtime.Object) error { return errors.New("DecodeParameters not implemented on versionedParameterEncoderWithV1Fallback") } diff --git a/pkg/client/typed/dynamic/client_pool.go b/pkg/client/typed/dynamic/client_pool.go index 85f59cac507..9b21f8a1ea5 100644 --- a/pkg/client/typed/dynamic/client_pool.go +++ b/pkg/client/typed/dynamic/client_pool.go @@ -20,26 +20,26 @@ import ( "sync" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/restclient" + "k8s.io/kubernetes/pkg/runtime/schema" ) // ClientPool manages a pool of dynamic clients. type ClientPool interface { // ClientForGroupVersionKind returns a client configured for the specified groupVersionResource. // Resource may be empty. - ClientForGroupVersionResource(resource unversioned.GroupVersionResource) (*Client, error) + ClientForGroupVersionResource(resource schema.GroupVersionResource) (*Client, error) // ClientForGroupVersionKind returns a client configured for the specified groupVersionKind. // Kind may be empty. - ClientForGroupVersionKind(kind unversioned.GroupVersionKind) (*Client, error) + ClientForGroupVersionKind(kind schema.GroupVersionKind) (*Client, error) } // APIPathResolverFunc knows how to convert a groupVersion to its API path. The Kind field is // optional. -type APIPathResolverFunc func(kind unversioned.GroupVersionKind) string +type APIPathResolverFunc func(kind schema.GroupVersionKind) string // LegacyAPIPathResolverFunc can resolve paths properly with the legacy API. -func LegacyAPIPathResolverFunc(kind unversioned.GroupVersionKind) string { +func LegacyAPIPathResolverFunc(kind schema.GroupVersionKind) string { if len(kind.Group) == 0 { return "/api" } @@ -51,7 +51,7 @@ func LegacyAPIPathResolverFunc(kind unversioned.GroupVersionKind) string { type clientPoolImpl struct { lock sync.RWMutex config *restclient.Config - clients map[unversioned.GroupVersion]*Client + clients map[schema.GroupVersion]*Client apiPathResolverFunc APIPathResolverFunc mapper meta.RESTMapper } @@ -64,7 +64,7 @@ func NewClientPool(config *restclient.Config, mapper meta.RESTMapper, apiPathRes return &clientPoolImpl{ config: &confCopy, - clients: map[unversioned.GroupVersion]*Client{}, + clients: map[schema.GroupVersion]*Client{}, apiPathResolverFunc: apiPathResolverFunc, mapper: mapper, } @@ -72,11 +72,11 @@ func NewClientPool(config *restclient.Config, mapper meta.RESTMapper, apiPathRes // ClientForGroupVersionResource uses the provided RESTMapper to identify the appropriate resource. Resource may // be empty. If no matching kind is found the underlying client for that group is still returned. -func (c *clientPoolImpl) ClientForGroupVersionResource(resource unversioned.GroupVersionResource) (*Client, error) { +func (c *clientPoolImpl) ClientForGroupVersionResource(resource schema.GroupVersionResource) (*Client, error) { kinds, err := c.mapper.KindsFor(resource) if err != nil { if meta.IsNoMatchError(err) { - return c.ClientForGroupVersionKind(unversioned.GroupVersionKind{Group: resource.Group, Version: resource.Version}) + return c.ClientForGroupVersionKind(schema.GroupVersionKind{Group: resource.Group, Version: resource.Version}) } return nil, err } @@ -85,7 +85,7 @@ func (c *clientPoolImpl) ClientForGroupVersionResource(resource unversioned.Grou // ClientForGroupVersion returns a client for the specified groupVersion, creates one if none exists. Kind // in the GroupVersionKind may be empty. -func (c *clientPoolImpl) ClientForGroupVersionKind(kind unversioned.GroupVersionKind) (*Client, error) { +func (c *clientPoolImpl) ClientForGroupVersionKind(kind schema.GroupVersionKind) (*Client, error) { c.lock.Lock() defer c.lock.Unlock() diff --git a/pkg/client/typed/dynamic/client_test.go b/pkg/client/typed/dynamic/client_test.go index 04449ae0f13..5e0abdc9265 100644 --- a/pkg/client/typed/dynamic/client_test.go +++ b/pkg/client/typed/dynamic/client_test.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/pkg/watch/versioned" @@ -57,7 +58,7 @@ func getObject(version, kind, name string) *runtime.Unstructured { } } -func getClientServer(gv *unversioned.GroupVersion, h func(http.ResponseWriter, *http.Request)) (*Client, *httptest.Server, error) { +func getClientServer(gv *schema.GroupVersion, h func(http.ResponseWriter, *http.Request)) (*Client, *httptest.Server, error) { srv := httptest.NewServer(http.HandlerFunc(h)) cl, err := NewClient(&restclient.Config{ Host: srv.URL, @@ -115,7 +116,7 @@ func TestList(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { @@ -170,7 +171,7 @@ func TestGet(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { @@ -223,7 +224,7 @@ func TestDelete(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "DELETE" { @@ -272,7 +273,7 @@ func TestDeleteCollection(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "DELETE" { @@ -320,7 +321,7 @@ func TestCreate(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "POST" { @@ -379,7 +380,7 @@ func TestUpdate(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "PUT" { @@ -446,7 +447,7 @@ func TestWatch(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { @@ -506,7 +507,7 @@ func TestPatch(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "PATCH" { diff --git a/pkg/client/typed/dynamic/dynamic_util.go b/pkg/client/typed/dynamic/dynamic_util.go index 4ffe313e61e..bc362a7f473 100644 --- a/pkg/client/typed/dynamic/dynamic_util.go +++ b/pkg/client/typed/dynamic/dynamic_util.go @@ -22,11 +22,12 @@ import ( "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // VersionInterfaces provides an object converter and metadata // accessor appropriate for use with unstructured objects. -func VersionInterfaces(unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func VersionInterfaces(schema.GroupVersion) (*meta.VersionInterfaces, error) { return &meta.VersionInterfaces{ ObjectConvertor: &runtime.UnstructuredObjectConverter{}, MetadataAccessor: meta.NewAccessor(), @@ -37,7 +38,7 @@ func VersionInterfaces(unversioned.GroupVersion) (*meta.VersionInterfaces, error func NewDiscoveryRESTMapper(resources []*unversioned.APIResourceList, versionFunc meta.VersionInterfacesFunc) (*meta.DefaultRESTMapper, error) { rm := meta.NewDefaultRESTMapper(nil, versionFunc) for _, resourceList := range resources { - gv, err := unversioned.ParseGroupVersion(resourceList.GroupVersion) + gv, err := schema.ParseGroupVersion(resourceList.GroupVersion) if err != nil { return nil, err } @@ -57,14 +58,14 @@ func NewDiscoveryRESTMapper(resources []*unversioned.APIResourceList, versionFun // ObjectTyper provides an ObjectTyper implementation for // runtime.Unstructured object based on discovery information. type ObjectTyper struct { - registered map[unversioned.GroupVersionKind]bool + registered map[schema.GroupVersionKind]bool } // NewObjectTyper constructs an ObjectTyper from discovery information. func NewObjectTyper(resources []*unversioned.APIResourceList) (runtime.ObjectTyper, error) { - ot := &ObjectTyper{registered: make(map[unversioned.GroupVersionKind]bool)} + ot := &ObjectTyper{registered: make(map[schema.GroupVersionKind]bool)} for _, resourceList := range resources { - gv, err := unversioned.ParseGroupVersion(resourceList.GroupVersion) + gv, err := schema.ParseGroupVersion(resourceList.GroupVersion) if err != nil { return nil, err } @@ -80,15 +81,15 @@ func NewObjectTyper(resources []*unversioned.APIResourceList) (runtime.ObjectTyp // group,version,kind of the provided object, or an error if the // object is not *runtime.Unstructured or has no group,version,kind // information. -func (ot *ObjectTyper) ObjectKinds(obj runtime.Object) ([]unversioned.GroupVersionKind, bool, error) { +func (ot *ObjectTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { if _, ok := obj.(*runtime.Unstructured); !ok { return nil, false, fmt.Errorf("type %T is invalid for dynamic object typer", obj) } - return []unversioned.GroupVersionKind{obj.GetObjectKind().GroupVersionKind()}, false, nil + return []schema.GroupVersionKind{obj.GetObjectKind().GroupVersionKind()}, false, nil } // Recognizes returns true if the provided group,version,kind was in // the discovery information. -func (ot *ObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (ot *ObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { return ot.registered[gvk] } diff --git a/pkg/client/typed/dynamic/dynamic_util_test.go b/pkg/client/typed/dynamic/dynamic_util_test.go index 0d3ed2934fc..3f4661562d0 100644 --- a/pkg/client/typed/dynamic/dynamic_util_test.go +++ b/pkg/client/typed/dynamic/dynamic_util_test.go @@ -20,6 +20,7 @@ import ( "testing" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestDiscoveryRESTMapper(t *testing.T) { @@ -36,7 +37,7 @@ func TestDiscoveryRESTMapper(t *testing.T) { }, } - gvk := unversioned.GroupVersionKind{ + gvk := schema.GroupVersionKind{ Group: "test", Version: "beta1", Kind: "test_kind", @@ -47,7 +48,7 @@ func TestDiscoveryRESTMapper(t *testing.T) { t.Fatalf("unexpected error creating mapper: %s", err) } - for _, res := range []unversioned.GroupVersionResource{ + for _, res := range []schema.GroupVersionResource{ { Group: "test", Version: "beta1", diff --git a/pkg/client/unversioned/BUILD b/pkg/client/unversioned/BUILD index 190c1cbdebf..8d8ba42a700 100644 --- a/pkg/client/unversioned/BUILD +++ b/pkg/client/unversioned/BUILD @@ -20,7 +20,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/batch:go_default_library", @@ -30,6 +29,7 @@ go_library( "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/wait:go_default_library", "//pkg/watch:go_default_library", "//plugin/pkg/client/auth:go_default_library", @@ -48,5 +48,6 @@ go_test( "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/client/unversioned/clientcmd/BUILD b/pkg/client/unversioned/clientcmd/BUILD index 5efd4504880..57fb0f6880e 100644 --- a/pkg/client/unversioned/clientcmd/BUILD +++ b/pkg/client/unversioned/clientcmd/BUILD @@ -25,12 +25,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/auth:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/client/unversioned/clientcmd/api/latest:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/homedir:go_default_library", "//pkg/util/validation:go_default_library", diff --git a/pkg/client/unversioned/clientcmd/api/BUILD b/pkg/client/unversioned/clientcmd/api/BUILD index e854fcc4acb..11b4bdca031 100644 --- a/pkg/client/unversioned/clientcmd/api/BUILD +++ b/pkg/client/unversioned/clientcmd/api/BUILD @@ -19,8 +19,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/client/unversioned/clientcmd/api/latest/BUILD b/pkg/client/unversioned/clientcmd/api/latest/BUILD index b72bfcb01fc..138b90af2c5 100644 --- a/pkg/client/unversioned/clientcmd/api/latest/BUILD +++ b/pkg/client/unversioned/clientcmd/api/latest/BUILD @@ -15,10 +15,10 @@ go_library( srcs = ["latest.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/client/unversioned/clientcmd/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/json:go_default_library", "//pkg/runtime/serializer/versioning:go_default_library", ], diff --git a/pkg/client/unversioned/clientcmd/api/latest/latest.go b/pkg/client/unversioned/clientcmd/api/latest/latest.go index 40a08a434e7..2f56576c58a 100644 --- a/pkg/client/unversioned/clientcmd/api/latest/latest.go +++ b/pkg/client/unversioned/clientcmd/api/latest/latest.go @@ -17,10 +17,10 @@ limitations under the License. package latest import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" "k8s.io/kubernetes/pkg/runtime/serializer/versioning" ) @@ -28,7 +28,7 @@ import ( // Version is the string that represents the current external default version. const Version = "v1" -var ExternalVersion = unversioned.GroupVersion{Group: "", Version: "v1"} +var ExternalVersion = schema.GroupVersion{Group: "", Version: "v1"} // OldestVersion is the string that represents the oldest server version supported, // for client code that wants to hardcode the lowest common denominator. @@ -60,7 +60,7 @@ func init() { Scheme, yamlSerializer, yamlSerializer, - unversioned.GroupVersion{Version: Version}, + schema.GroupVersion{Version: Version}, runtime.InternalGroupVersioner, ) } diff --git a/pkg/client/unversioned/clientcmd/api/register.go b/pkg/client/unversioned/clientcmd/api/register.go index 9c4c0f1db4f..705963566ce 100644 --- a/pkg/client/unversioned/clientcmd/api/register.go +++ b/pkg/client/unversioned/clientcmd/api/register.go @@ -17,13 +17,13 @@ limitations under the License. package api import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // SchemeGroupVersion is group version used to register these objects // TODO this should be in the "kubeconfig" group -var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: runtime.APIVersionInternal} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -37,10 +37,10 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Config) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *Config) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *Config) GetObjectKind() schema.ObjectKind { return obj } +func (obj *Config) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *Config) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *Config) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } diff --git a/pkg/client/unversioned/clientcmd/api/v1/BUILD b/pkg/client/unversioned/clientcmd/api/v1/BUILD index dcd283d390d..480eb1f4d95 100644 --- a/pkg/client/unversioned/clientcmd/api/v1/BUILD +++ b/pkg/client/unversioned/clientcmd/api/v1/BUILD @@ -19,9 +19,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/client/unversioned/clientcmd/api/v1/register.go b/pkg/client/unversioned/clientcmd/api/v1/register.go index 015901d2a1a..c525effeff8 100644 --- a/pkg/client/unversioned/clientcmd/api/v1/register.go +++ b/pkg/client/unversioned/clientcmd/api/v1/register.go @@ -17,13 +17,13 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // SchemeGroupVersion is group version used to register these objects // TODO this should be in the "kubeconfig" group -var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addConversionFuncs) @@ -37,10 +37,10 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Config) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *Config) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *Config) GetObjectKind() schema.ObjectKind { return obj } +func (obj *Config) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *Config) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *Config) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } diff --git a/pkg/client/unversioned/clientcmd/loader.go b/pkg/client/unversioned/clientcmd/loader.go index 654dfe98d07..b20604fc4fc 100644 --- a/pkg/client/unversioned/clientcmd/loader.go +++ b/pkg/client/unversioned/clientcmd/loader.go @@ -30,11 +30,11 @@ import ( "github.com/golang/glog" "github.com/imdario/mergo" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/restclient" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" clientcmdlatest "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/latest" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/homedir" ) @@ -388,7 +388,7 @@ func Load(data []byte) (*clientcmdapi.Config, error) { if len(data) == 0 { return config, nil } - decoded, _, err := clientcmdlatest.Codec.Decode(data, &unversioned.GroupVersionKind{Version: clientcmdlatest.Version, Kind: "Config"}, config) + decoded, _, err := clientcmdlatest.Codec.Decode(data, &schema.GroupVersionKind{Version: clientcmdlatest.Version, Kind: "Config"}, config) if err != nil { return nil, err } diff --git a/pkg/client/unversioned/conditions.go b/pkg/client/unversioned/conditions.go index ee39add8d25..077dff362ec 100644 --- a/pkg/client/unversioned/conditions.go +++ b/pkg/client/unversioned/conditions.go @@ -21,7 +21,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" @@ -29,6 +28,7 @@ import ( batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/watch" ) @@ -146,7 +146,7 @@ var ErrContainerTerminated = fmt.Errorf("container terminated") func PodRunning(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *api.Pod: @@ -165,7 +165,7 @@ func PodRunning(event watch.Event) (bool, error) { func PodCompleted(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *api.Pod: @@ -183,7 +183,7 @@ func PodCompleted(event watch.Event) (bool, error) { func PodRunningAndReady(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *api.Pod: @@ -202,7 +202,7 @@ func PodRunningAndReady(event watch.Event) (bool, error) { func PodNotPending(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *api.Pod: @@ -222,7 +222,7 @@ func PodContainerRunning(containerName string) watch.ConditionFunc { return func(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *api.Pod: @@ -262,7 +262,7 @@ func PodContainerRunning(containerName string) watch.ConditionFunc { func ServiceAccountHasSecrets(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, errors.NewNotFound(unversioned.GroupResource{Resource: "serviceaccounts"}, "") + return false, errors.NewNotFound(schema.GroupResource{Resource: "serviceaccounts"}, "") } switch t := event.Object.(type) { case *api.ServiceAccount: diff --git a/pkg/client/unversioned/helper_test.go b/pkg/client/unversioned/helper_test.go index 9014a62e9b0..db5f3807961 100644 --- a/pkg/client/unversioned/helper_test.go +++ b/pkg/client/unversioned/helper_test.go @@ -29,6 +29,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestSetKubernetesDefaults(t *testing.T) { @@ -51,7 +52,7 @@ func TestSetKubernetesDefaults(t *testing.T) { // Add this test back when we fixed config and SetKubernetesDefaults // { // restclient.Config{ - // GroupVersion: &unversioned.GroupVersion{Group: "not.a.group", Version: "not_an_api"}, + // GroupVersion: &schema.GroupVersion{Group: "not.a.group", Version: "not_an_api"}, // }, // restclient.Config{}, // true, @@ -125,7 +126,7 @@ func TestHelperGetServerAPIVersions(t *testing.T) { w.Write(output) })) defer server.Close() - got, err := restclient.ServerAPIVersions(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "invalid version", Version: "one"}, NegotiatedSerializer: testapi.Default.NegotiatedSerializer()}}) + got, err := restclient.ServerAPIVersions(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Group: "invalid version", Version: "one"}, NegotiatedSerializer: testapi.Default.NegotiatedSerializer()}}) if err != nil { t.Fatalf("unexpected encoding error: %v", err) } @@ -152,7 +153,7 @@ func TestSetsCodec(t *testing.T) { conf := &restclient.Config{ Host: "127.0.0.1", ContentConfig: restclient.ContentConfig{ - GroupVersion: &unversioned.GroupVersion{Version: version}, + GroupVersion: &schema.GroupVersion{Version: version}, }, } diff --git a/pkg/client/unversioned/remotecommand/BUILD b/pkg/client/unversioned/remotecommand/BUILD index 2a5baf2259b..3db88956cdc 100644 --- a/pkg/client/unversioned/remotecommand/BUILD +++ b/pkg/client/unversioned/remotecommand/BUILD @@ -49,9 +49,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/kubelet/server/remotecommand:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/term:go_default_library", diff --git a/pkg/client/unversioned/remotecommand/remotecommand_test.go b/pkg/client/unversioned/remotecommand/remotecommand_test.go index b917bd80a54..638493a6b1a 100644 --- a/pkg/client/unversioned/remotecommand/remotecommand_test.go +++ b/pkg/client/unversioned/remotecommand/remotecommand_test.go @@ -31,9 +31,9 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/term" @@ -215,7 +215,7 @@ func TestStream(t *testing.T) { url, _ := url.ParseRequestURI(server.URL) config := restclient.ContentConfig{ - GroupVersion: &unversioned.GroupVersion{Group: "x"}, + GroupVersion: &schema.GroupVersion{Group: "x"}, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), } c, err := restclient.NewRESTClient(url, "", config, -1, -1, nil, nil) diff --git a/pkg/controller/BUILD b/pkg/controller/BUILD index 8648d892793..eefa855aead 100644 --- a/pkg/controller/BUILD +++ b/pkg/controller/BUILD @@ -37,6 +37,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/hash:go_default_library", diff --git a/pkg/controller/controller_ref_manager.go b/pkg/controller/controller_ref_manager.go index 637f5d92b50..baf33bd1f45 100644 --- a/pkg/controller/controller_ref_manager.go +++ b/pkg/controller/controller_ref_manager.go @@ -22,16 +22,16 @@ import ( "github.com/golang/glog" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" ) type PodControllerRefManager struct { podControl PodControlInterface controllerObject v1.ObjectMeta controllerSelector labels.Selector - controllerKind unversioned.GroupVersionKind + controllerKind schema.GroupVersionKind } // NewPodControllerRefManager returns a PodControllerRefManager that exposes @@ -40,7 +40,7 @@ func NewPodControllerRefManager( podControl PodControlInterface, controllerObject v1.ObjectMeta, controllerSelector labels.Selector, - controllerKind unversioned.GroupVersionKind, + controllerKind schema.GroupVersionKind, ) *PodControllerRefManager { return &PodControllerRefManager{podControl, controllerObject, controllerSelector, controllerKind} } diff --git a/pkg/controller/controller_utils.go b/pkg/controller/controller_utils.go index dca41821518..853a2615973 100644 --- a/pkg/controller/controller_utils.go +++ b/pkg/controller/controller_utils.go @@ -35,6 +35,7 @@ import ( "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/clock" "k8s.io/kubernetes/pkg/util/integer" "k8s.io/kubernetes/pkg/util/sets" @@ -411,7 +412,7 @@ func getPodsAnnotationSet(template *v1.PodTemplateSpec, object runtime.Object) ( // TODO: this code was not safe previously - as soon as new code came along that switched to v2, old clients // would be broken upon reading it. This is explicitly hardcoded to v1 to guarantee predictable deployment. // We need to consistently handle this case of annotation versioning. - codec := api.Codecs.LegacyCodec(unversioned.GroupVersion{Group: v1.GroupName, Version: "v1"}) + codec := api.Codecs.LegacyCodec(schema.GroupVersion{Group: v1.GroupName, Version: "v1"}) createdByRefJson, err := runtime.Encode(codec, &v1.SerializedReference{ Reference: *createdByRef, diff --git a/pkg/controller/cronjob/BUILD b/pkg/controller/cronjob/BUILD index ce396af5a74..41ebb8ba97f 100644 --- a/pkg/controller/cronjob/BUILD +++ b/pkg/controller/cronjob/BUILD @@ -30,6 +30,7 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", diff --git a/pkg/controller/cronjob/utils.go b/pkg/controller/cronjob/utils.go index 8f913a47c60..d3912a55e22 100644 --- a/pkg/controller/cronjob/utils.go +++ b/pkg/controller/cronjob/utils.go @@ -25,10 +25,10 @@ import ( "github.com/robfig/cron" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" ) @@ -214,7 +214,7 @@ func makeCreatedByRefJson(object runtime.Object) (string, error) { // TODO: this code was not safe previously - as soon as new code came along that switched to v2, old clients // would be broken upon reading it. This is explicitly hardcoded to v1 to guarantee predictable deployment. // We need to consistently handle this case of annotation versioning. - codec := api.Codecs.LegacyCodec(unversioned.GroupVersion{Group: v1.GroupName, Version: "v1"}) + codec := api.Codecs.LegacyCodec(schema.GroupVersion{Group: v1.GroupName, Version: "v1"}) createdByRefJson, err := runtime.Encode(codec, &v1.SerializedReference{ Reference: *createdByRef, diff --git a/pkg/controller/deployment/BUILD b/pkg/controller/deployment/BUILD index 135ad889c88..3e7739e0082 100644 --- a/pkg/controller/deployment/BUILD +++ b/pkg/controller/deployment/BUILD @@ -70,6 +70,7 @@ go_test( "//pkg/controller/deployment/util:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/uuid:go_default_library", ], diff --git a/pkg/controller/deployment/deployment_controller_test.go b/pkg/controller/deployment/deployment_controller_test.go index 3ff88f1c1ae..7cffe3d62ac 100644 --- a/pkg/controller/deployment/deployment_controller_test.go +++ b/pkg/controller/deployment/deployment_controller_test.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/uuid" ) @@ -142,17 +143,17 @@ type fixture struct { } func (f *fixture) expectUpdateDeploymentAction(d *extensions.Deployment) { - f.actions = append(f.actions, core.NewUpdateAction(unversioned.GroupVersionResource{Resource: "deployments"}, d.Namespace, d)) + f.actions = append(f.actions, core.NewUpdateAction(schema.GroupVersionResource{Resource: "deployments"}, d.Namespace, d)) } func (f *fixture) expectUpdateDeploymentStatusAction(d *extensions.Deployment) { - action := core.NewUpdateAction(unversioned.GroupVersionResource{Resource: "deployments"}, d.Namespace, d) + action := core.NewUpdateAction(schema.GroupVersionResource{Resource: "deployments"}, d.Namespace, d) action.Subresource = "status" f.actions = append(f.actions, action) } func (f *fixture) expectCreateRSAction(rs *extensions.ReplicaSet) { - f.actions = append(f.actions, core.NewCreateAction(unversioned.GroupVersionResource{Resource: "replicasets"}, rs.Namespace, rs)) + f.actions = append(f.actions, core.NewCreateAction(schema.GroupVersionResource{Resource: "replicasets"}, rs.Namespace, rs)) } func newFixture(t *testing.T) *fixture { diff --git a/pkg/controller/garbagecollector/BUILD b/pkg/controller/garbagecollector/BUILD index 6d19a6d3fca..b505e8581a8 100644 --- a/pkg/controller/garbagecollector/BUILD +++ b/pkg/controller/garbagecollector/BUILD @@ -30,6 +30,7 @@ go_library( "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller/garbagecollector/metaonly:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/errors:go_default_library", @@ -59,6 +60,7 @@ go_test( "//pkg/client/restclient:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller/garbagecollector/metaonly:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", diff --git a/pkg/controller/garbagecollector/garbagecollector.go b/pkg/controller/garbagecollector/garbagecollector.go index 1708cfb5c8e..1c442bfb3ab 100644 --- a/pkg/controller/garbagecollector/garbagecollector.go +++ b/pkg/controller/garbagecollector/garbagecollector.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller/garbagecollector/metaonly" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" utilerrors "k8s.io/kubernetes/pkg/util/errors" @@ -448,7 +449,7 @@ type GarbageCollector struct { absentOwnerCache *UIDCache } -func gcListWatcher(client *dynamic.Client, resource unversioned.GroupVersionResource) *cache.ListWatch { +func gcListWatcher(client *dynamic.Client, resource schema.GroupVersionResource) *cache.ListWatch { return &cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { // APIResource.Kind is not used by the dynamic client, so @@ -473,7 +474,7 @@ func gcListWatcher(client *dynamic.Client, resource unversioned.GroupVersionReso } } -func (gc *GarbageCollector) monitorFor(resource unversioned.GroupVersionResource, kind unversioned.GroupVersionKind) (monitor, error) { +func (gc *GarbageCollector) monitorFor(resource schema.GroupVersionResource, kind schema.GroupVersionKind) (monitor, error) { // TODO: consider store in one storage. glog.V(6).Infof("create storage for resource %s", resource) var monitor monitor @@ -525,18 +526,18 @@ func (gc *GarbageCollector) monitorFor(resource unversioned.GroupVersionResource return monitor, nil } -var ignoredResources = map[unversioned.GroupVersionResource]struct{}{ - unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicationcontrollers"}: {}, - unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "bindings"}: {}, - unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "componentstatuses"}: {}, - unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "events"}: {}, - unversioned.GroupVersionResource{Group: "authentication.k8s.io", Version: "v1beta1", Resource: "tokenreviews"}: {}, - unversioned.GroupVersionResource{Group: "authorization.k8s.io", Version: "v1beta1", Resource: "subjectaccessreviews"}: {}, - unversioned.GroupVersionResource{Group: "authorization.k8s.io", Version: "v1beta1", Resource: "selfsubjectaccessreviews"}: {}, - unversioned.GroupVersionResource{Group: "authorization.k8s.io", Version: "v1beta1", Resource: "localsubjectaccessreviews"}: {}, +var ignoredResources = map[schema.GroupVersionResource]struct{}{ + schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicationcontrollers"}: {}, + schema.GroupVersionResource{Group: "", Version: "v1", Resource: "bindings"}: {}, + schema.GroupVersionResource{Group: "", Version: "v1", Resource: "componentstatuses"}: {}, + schema.GroupVersionResource{Group: "", Version: "v1", Resource: "events"}: {}, + schema.GroupVersionResource{Group: "authentication.k8s.io", Version: "v1beta1", Resource: "tokenreviews"}: {}, + schema.GroupVersionResource{Group: "authorization.k8s.io", Version: "v1beta1", Resource: "subjectaccessreviews"}: {}, + schema.GroupVersionResource{Group: "authorization.k8s.io", Version: "v1beta1", Resource: "selfsubjectaccessreviews"}: {}, + schema.GroupVersionResource{Group: "authorization.k8s.io", Version: "v1beta1", Resource: "localsubjectaccessreviews"}: {}, } -func NewGarbageCollector(metaOnlyClientPool dynamic.ClientPool, clientPool dynamic.ClientPool, mapper meta.RESTMapper, resources []unversioned.GroupVersionResource) (*GarbageCollector, error) { +func NewGarbageCollector(metaOnlyClientPool dynamic.ClientPool, clientPool dynamic.ClientPool, mapper meta.RESTMapper, resources []schema.GroupVersionResource) (*GarbageCollector, error) { gc := &GarbageCollector{ metaOnlyClientPool: metaOnlyClientPool, clientPool: clientPool, @@ -593,7 +594,7 @@ func (gc *GarbageCollector) worker() { // apiResource consults the REST mapper to translate an tuple to a unversioned.APIResource struct. func (gc *GarbageCollector) apiResource(apiVersion, kind string, namespaced bool) (*unversioned.APIResource, error) { - fqKind := unversioned.FromAPIVersionAndKind(apiVersion, kind) + fqKind := schema.FromAPIVersionAndKind(apiVersion, kind) mapping, err := gc.restMapper.RESTMapping(fqKind.GroupKind(), apiVersion) if err != nil { return nil, fmt.Errorf("unable to get REST mapping for kind: %s, version: %s", kind, apiVersion) @@ -608,7 +609,7 @@ func (gc *GarbageCollector) apiResource(apiVersion, kind string, namespaced bool } func (gc *GarbageCollector) deleteObject(item objectReference) error { - fqKind := unversioned.FromAPIVersionAndKind(item.APIVersion, item.Kind) + fqKind := schema.FromAPIVersionAndKind(item.APIVersion, item.Kind) client, err := gc.clientPool.ClientForGroupVersionKind(fqKind) gc.registeredRateLimiter.registerIfNotPresent(fqKind.GroupVersion(), client, "garbage_collector_operation") resource, err := gc.apiResource(item.APIVersion, item.Kind, len(item.Namespace) != 0) @@ -622,7 +623,7 @@ func (gc *GarbageCollector) deleteObject(item objectReference) error { } func (gc *GarbageCollector) getObject(item objectReference) (*runtime.Unstructured, error) { - fqKind := unversioned.FromAPIVersionAndKind(item.APIVersion, item.Kind) + fqKind := schema.FromAPIVersionAndKind(item.APIVersion, item.Kind) client, err := gc.clientPool.ClientForGroupVersionKind(fqKind) gc.registeredRateLimiter.registerIfNotPresent(fqKind.GroupVersion(), client, "garbage_collector_operation") resource, err := gc.apiResource(item.APIVersion, item.Kind, len(item.Namespace) != 0) @@ -633,7 +634,7 @@ func (gc *GarbageCollector) getObject(item objectReference) (*runtime.Unstructur } func (gc *GarbageCollector) updateObject(item objectReference, obj *runtime.Unstructured) (*runtime.Unstructured, error) { - fqKind := unversioned.FromAPIVersionAndKind(item.APIVersion, item.Kind) + fqKind := schema.FromAPIVersionAndKind(item.APIVersion, item.Kind) client, err := gc.clientPool.ClientForGroupVersionKind(fqKind) gc.registeredRateLimiter.registerIfNotPresent(fqKind.GroupVersion(), client, "garbage_collector_operation") resource, err := gc.apiResource(item.APIVersion, item.Kind, len(item.Namespace) != 0) @@ -644,7 +645,7 @@ func (gc *GarbageCollector) updateObject(item objectReference, obj *runtime.Unst } func (gc *GarbageCollector) patchObject(item objectReference, patch []byte) (*runtime.Unstructured, error) { - fqKind := unversioned.FromAPIVersionAndKind(item.APIVersion, item.Kind) + fqKind := schema.FromAPIVersionAndKind(item.APIVersion, item.Kind) client, err := gc.clientPool.ClientForGroupVersionKind(fqKind) gc.registeredRateLimiter.registerIfNotPresent(fqKind.GroupVersion(), client, "garbage_collector_operation") resource, err := gc.apiResource(item.APIVersion, item.Kind, len(item.Namespace) != 0) @@ -725,7 +726,7 @@ func (gc *GarbageCollector) processItem(item *node) error { // ii) should update the object to remove such references. This is to // prevent objects having references to an old resource from being // deleted during a cluster upgrade. - fqKind := unversioned.FromAPIVersionAndKind(reference.APIVersion, reference.Kind) + fqKind := schema.FromAPIVersionAndKind(reference.APIVersion, reference.Kind) client, err := gc.clientPool.ClientForGroupVersionKind(fqKind) if err != nil { return err diff --git a/pkg/controller/garbagecollector/garbagecollector_test.go b/pkg/controller/garbagecollector/garbagecollector_test.go index 2a3211d2add..46632d5f0cd 100644 --- a/pkg/controller/garbagecollector/garbagecollector_test.go +++ b/pkg/controller/garbagecollector/garbagecollector_test.go @@ -34,6 +34,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller/garbagecollector/metaonly" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" @@ -48,7 +49,7 @@ func TestNewGarbageCollector(t *testing.T) { metaOnlyClientPool := dynamic.NewClientPool(config, registered.RESTMapper(), dynamic.LegacyAPIPathResolverFunc) config.ContentConfig.NegotiatedSerializer = nil clientPool := dynamic.NewClientPool(config, registered.RESTMapper(), dynamic.LegacyAPIPathResolverFunc) - podResource := []unversioned.GroupVersionResource{{Version: "v1", Resource: "pods"}} + podResource := []schema.GroupVersionResource{{Version: "v1", Resource: "pods"}} gc, err := NewGarbageCollector(metaOnlyClientPool, clientPool, registered.RESTMapper(), podResource) if err != nil { t.Fatal(err) @@ -112,7 +113,7 @@ func setupGC(t *testing.T, config *restclient.Config) *GarbageCollector { metaOnlyClientPool := dynamic.NewClientPool(config, registered.RESTMapper(), dynamic.LegacyAPIPathResolverFunc) config.ContentConfig.NegotiatedSerializer = nil clientPool := dynamic.NewClientPool(config, registered.RESTMapper(), dynamic.LegacyAPIPathResolverFunc) - podResource := []unversioned.GroupVersionResource{{Version: "v1", Resource: "pods"}} + podResource := []schema.GroupVersionResource{{Version: "v1", Resource: "pods"}} gc, err := NewGarbageCollector(metaOnlyClientPool, clientPool, registered.RESTMapper(), podResource) if err != nil { t.Fatal(err) @@ -343,7 +344,7 @@ func TestGCListWatcher(t *testing.T) { srv, clientConfig := testServerAndClientConfig(testHandler.ServeHTTP) defer srv.Close() clientPool := dynamic.NewClientPool(clientConfig, registered.RESTMapper(), dynamic.LegacyAPIPathResolverFunc) - podResource := unversioned.GroupVersionResource{Version: "v1", Resource: "pods"} + podResource := schema.GroupVersionResource{Version: "v1", Resource: "pods"} client, err := clientPool.ClientForGroupVersionResource(podResource) if err != nil { t.Fatal(err) diff --git a/pkg/controller/garbagecollector/metaonly/BUILD b/pkg/controller/garbagecollector/metaonly/BUILD index 851af6f7472..aa0a957b5cb 100644 --- a/pkg/controller/garbagecollector/metaonly/BUILD +++ b/pkg/controller/garbagecollector/metaonly/BUILD @@ -23,6 +23,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", @@ -40,6 +41,7 @@ go_test( "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", ], ) diff --git a/pkg/controller/garbagecollector/metaonly/metaonly.go b/pkg/controller/garbagecollector/metaonly/metaonly.go index bce9c7b4b4a..a864f3ea367 100644 --- a/pkg/controller/garbagecollector/metaonly/metaonly.go +++ b/pkg/controller/garbagecollector/metaonly/metaonly.go @@ -23,18 +23,19 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" ) -func (obj *MetadataOnlyObject) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *MetadataOnlyObjectList) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *MetadataOnlyObject) GetObjectKind() schema.ObjectKind { return obj } +func (obj *MetadataOnlyObjectList) GetObjectKind() schema.ObjectKind { return obj } type metaOnlyJSONScheme struct{} // This function can be extended to mapping different gvk to different MetadataOnlyObject, // which embedded with different version of ObjectMeta. Currently the system // only supports v1.ObjectMeta. -func gvkToMetadataOnlyObject(gvk unversioned.GroupVersionKind) runtime.Object { +func gvkToMetadataOnlyObject(gvk schema.GroupVersionKind) runtime.Object { if strings.HasSuffix(gvk.Kind, "List") { return &MetadataOnlyObjectList{} } else { diff --git a/pkg/controller/garbagecollector/metaonly/metaonly_test.go b/pkg/controller/garbagecollector/metaonly/metaonly_test.go index 7c6e879e758..d58d1cfa157 100644 --- a/pkg/controller/garbagecollector/metaonly/metaonly_test.go +++ b/pkg/controller/garbagecollector/metaonly/metaonly_test.go @@ -26,6 +26,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -91,7 +92,7 @@ func TestDecodeToMetadataOnlyObject(t *testing.T) { if !ok { t.Fatalf("expected to get a JSON serializer") } - codec := cf.DecoderToVersion(info.Serializer, unversioned.GroupVersion{Group: "SOMEGROUP", Version: "SOMEVERSION"}) + codec := cf.DecoderToVersion(info.Serializer, schema.GroupVersion{Group: "SOMEGROUP", Version: "SOMEVERSION"}) // decode with into into := &MetadataOnlyObject{} ret, _, err := codec.Decode(data, nil, into) @@ -137,7 +138,7 @@ func TestDecodeToMetadataOnlyObjectList(t *testing.T) { if !ok { t.Fatalf("expected to get a JSON serializer") } - codec := cf.DecoderToVersion(info.Serializer, unversioned.GroupVersion{Group: "SOMEGROUP", Version: "SOMEVERSION"}) + codec := cf.DecoderToVersion(info.Serializer, schema.GroupVersion{Group: "SOMEGROUP", Version: "SOMEVERSION"}) // decode with into into := &MetadataOnlyObjectList{} ret, _, err := codec.Decode(data, nil, into) diff --git a/pkg/controller/garbagecollector/rate_limiter_helper.go b/pkg/controller/garbagecollector/rate_limiter_helper.go index f2c448618dd..79bed3d183f 100644 --- a/pkg/controller/garbagecollector/rate_limiter_helper.go +++ b/pkg/controller/garbagecollector/rate_limiter_helper.go @@ -21,22 +21,22 @@ import ( "strings" "sync" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/typed/dynamic" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" ) // RegisteredRateLimiter records the registered RateLimters to avoid // duplication. type RegisteredRateLimiter struct { - rateLimiters map[unversioned.GroupVersion]*sync.Once + rateLimiters map[schema.GroupVersion]*sync.Once } // NewRegisteredRateLimiter returns a new RegisteredRateLimiater. // TODO: NewRegisteredRateLimiter is not dynamic. We need to find a better way // when GC dynamically change the resources it monitors. -func NewRegisteredRateLimiter(resources []unversioned.GroupVersionResource) *RegisteredRateLimiter { - rateLimiters := make(map[unversioned.GroupVersion]*sync.Once) +func NewRegisteredRateLimiter(resources []schema.GroupVersionResource) *RegisteredRateLimiter { + rateLimiters := make(map[schema.GroupVersion]*sync.Once) for _, resource := range resources { gv := resource.GroupVersion() if _, found := rateLimiters[gv]; !found { @@ -46,7 +46,7 @@ func NewRegisteredRateLimiter(resources []unversioned.GroupVersionResource) *Reg return &RegisteredRateLimiter{rateLimiters: rateLimiters} } -func (r *RegisteredRateLimiter) registerIfNotPresent(gv unversioned.GroupVersion, client *dynamic.Client, prefix string) { +func (r *RegisteredRateLimiter) registerIfNotPresent(gv schema.GroupVersion, client *dynamic.Client, prefix string) { once, found := r.rateLimiters[gv] if !found { return diff --git a/pkg/controller/informers/BUILD b/pkg/controller/informers/BUILD index 72ea099a2aa..784d85d9d32 100644 --- a/pkg/controller/informers/BUILD +++ b/pkg/controller/informers/BUILD @@ -24,7 +24,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v1:go_default_library", @@ -38,6 +37,7 @@ go_library( "//pkg/client/listers/batch/v1:go_default_library", "//pkg/client/listers/core/internalversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch:go_default_library", ], ) diff --git a/pkg/controller/informers/factory.go b/pkg/controller/informers/factory.go index 7eb3c9dfee6..04a0f9b1549 100644 --- a/pkg/controller/informers/factory.go +++ b/pkg/controller/informers/factory.go @@ -21,10 +21,10 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" + "k8s.io/kubernetes/pkg/runtime/schema" ) // SharedInformerFactory provides interface which holds unique informers for pods, nodes, namespaces, persistent volume @@ -33,7 +33,7 @@ type SharedInformerFactory interface { // Start starts informers that can start AFTER the API server and controllers have started Start(stopCh <-chan struct{}) - ForResource(unversioned.GroupResource) (GenericInformer, error) + ForResource(schema.GroupResource) (GenericInformer, error) // when you update these, update generic.go/ForResource, same package diff --git a/pkg/controller/informers/generic.go b/pkg/controller/informers/generic.go index e3c63dd5c9a..20eb9fe832e 100644 --- a/pkg/controller/informers/generic.go +++ b/pkg/controller/informers/generic.go @@ -20,11 +20,11 @@ import ( "fmt" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/batch" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" rbacinternal "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" + "k8s.io/kubernetes/pkg/runtime/schema" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other @@ -36,7 +36,7 @@ type GenericInformer interface { // ForResource gives generic access to a shared informer of the matching type // TODO extend this to unknown resources with a client pool -func (f *sharedInformerFactory) ForResource(resource unversioned.GroupResource) (GenericInformer, error) { +func (f *sharedInformerFactory) ForResource(resource schema.GroupResource) (GenericInformer, error) { switch resource { case api.Resource("pods"): return &genericInformer{resource: resource, informer: f.Pods().Informer()}, nil @@ -78,7 +78,7 @@ func (f *sharedInformerFactory) ForResource(resource unversioned.GroupResource) type genericInformer struct { informer cache.SharedIndexInformer - resource unversioned.GroupResource + resource schema.GroupResource } func (f *genericInformer) Informer() cache.SharedIndexInformer { diff --git a/pkg/controller/namespace/BUILD b/pkg/controller/namespace/BUILD index cda37896f86..41586fdab2c 100644 --- a/pkg/controller/namespace/BUILD +++ b/pkg/controller/namespace/BUILD @@ -27,6 +27,7 @@ go_library( "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/metrics:go_default_library", "//pkg/util/runtime:go_default_library", "//pkg/util/sets:go_default_library", @@ -54,6 +55,7 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", ], ) diff --git a/pkg/controller/namespace/namespace_controller.go b/pkg/controller/namespace/namespace_controller.go index 3bb1b1dd986..abfee82a5dc 100644 --- a/pkg/controller/namespace/namespace_controller.go +++ b/pkg/controller/namespace/namespace_controller.go @@ -19,13 +19,13 @@ package namespace import ( "time" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/wait" @@ -48,7 +48,7 @@ type NamespaceController struct { // namespaces that have been queued up for processing by workers queue workqueue.RateLimitingInterface // function to list of preferred group versions and their corresponding resource set for namespace deletion - groupVersionResourcesFn func() ([]unversioned.GroupVersionResource, error) + groupVersionResourcesFn func() ([]schema.GroupVersionResource, error) // opCache is a cache to remember if a particular operation is not supported to aid dynamic client. opCache *operationNotSupportedCache // finalizerToken is the finalizer token managed by this controller @@ -59,7 +59,7 @@ type NamespaceController struct { func NewNamespaceController( kubeClient clientset.Interface, clientPool dynamic.ClientPool, - groupVersionResourcesFn func() ([]unversioned.GroupVersionResource, error), + groupVersionResourcesFn func() ([]schema.GroupVersionResource, error), resyncPeriod time.Duration, finalizerToken v1.FinalizerName) *NamespaceController { @@ -73,7 +73,7 @@ func NewNamespaceController( opCache := &operationNotSupportedCache{ m: make(map[operationKey]bool), } - ignoredGroupVersionResources := []unversioned.GroupVersionResource{ + ignoredGroupVersionResources := []schema.GroupVersionResource{ {Group: "", Version: "v1", Resource: "bindings"}, } for _, ignoredGroupVersionResource := range ignoredGroupVersionResources { diff --git a/pkg/controller/namespace/namespace_controller_test.go b/pkg/controller/namespace/namespace_controller_test.go index 8930b1b3a45..56e5842a5d7 100644 --- a/pkg/controller/namespace/namespace_controller_test.go +++ b/pkg/controller/namespace/namespace_controller_test.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -115,7 +116,7 @@ func testSyncNamespaceThatIsTerminating(t *testing.T, versions *unversioned.APIV groupVersionResources := testGroupVersionResources() for _, groupVersionResource := range groupVersionResources { urlPath := path.Join([]string{ - dynamic.LegacyAPIPathResolverFunc(unversioned.GroupVersionKind{Group: groupVersionResource.Group, Version: groupVersionResource.Version}), + dynamic.LegacyAPIPathResolverFunc(schema.GroupVersionKind{Group: groupVersionResource.Group, Version: groupVersionResource.Version}), groupVersionResource.Group, groupVersionResource.Version, "namespaces", @@ -169,7 +170,7 @@ func testSyncNamespaceThatIsTerminating(t *testing.T, versions *unversioned.APIV mockClient := fake.NewSimpleClientset(testInput.testNamespace) clientPool := dynamic.NewClientPool(clientConfig, registered.RESTMapper(), dynamic.LegacyAPIPathResolverFunc) - fn := func() ([]unversioned.GroupVersionResource, error) { + fn := func() ([]schema.GroupVersionResource, error) { return groupVersionResources, nil } @@ -242,7 +243,7 @@ func TestSyncNamespaceThatIsActive(t *testing.T) { Phase: v1.NamespaceActive, }, } - fn := func() ([]unversioned.GroupVersionResource, error) { + fn := func() ([]schema.GroupVersionResource, error) { return testGroupVersionResources(), nil } err := syncNamespace(mockClient, nil, &operationNotSupportedCache{m: make(map[operationKey]bool)}, fn, testNamespace, v1.FinalizerKubernetes) @@ -295,10 +296,10 @@ func (f *fakeActionHandler) ServeHTTP(response http.ResponseWriter, request *htt } // testGroupVersionResources returns a mocked up set of resources across different api groups for testing namespace controller. -func testGroupVersionResources() []unversioned.GroupVersionResource { - results := []unversioned.GroupVersionResource{} - results = append(results, unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) - results = append(results, unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "services"}) - results = append(results, unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"}) +func testGroupVersionResources() []schema.GroupVersionResource { + results := []schema.GroupVersionResource{} + results = append(results, schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) + results = append(results, schema.GroupVersionResource{Group: "", Version: "v1", Resource: "services"}) + results = append(results, schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"}) return results } diff --git a/pkg/controller/namespace/namespace_controller_utils.go b/pkg/controller/namespace/namespace_controller_utils.go index 5ab57323ac0..e2770161d28 100644 --- a/pkg/controller/namespace/namespace_controller_utils.go +++ b/pkg/controller/namespace/namespace_controller_utils.go @@ -28,6 +28,7 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" @@ -55,7 +56,7 @@ const ( // operationKey is an entry in a cache. type operationKey struct { op operation - gvr unversioned.GroupVersionResource + gvr schema.GroupVersionResource } // operationNotSupportedCache is a simple cache to remember if an operation is not supported for a resource. @@ -160,7 +161,7 @@ func finalizeNamespace(kubeClient clientset.Interface, namespace *v1.Namespace, func deleteCollection( dynamicClient *dynamic.Client, opCache *operationNotSupportedCache, - gvr unversioned.GroupVersionResource, + gvr schema.GroupVersionResource, namespace string, ) (bool, error) { glog.V(5).Infof("namespace controller - deleteCollection - namespace: %s, gvr: %v", namespace, gvr) @@ -207,7 +208,7 @@ func deleteCollection( func listCollection( dynamicClient *dynamic.Client, opCache *operationNotSupportedCache, - gvr unversioned.GroupVersionResource, + gvr schema.GroupVersionResource, namespace string, ) (*runtime.UnstructuredList, bool, error) { glog.V(5).Infof("namespace controller - listCollection - namespace: %s, gvr: %v", namespace, gvr) @@ -247,7 +248,7 @@ func listCollection( func deleteEachItem( dynamicClient *dynamic.Client, opCache *operationNotSupportedCache, - gvr unversioned.GroupVersionResource, + gvr schema.GroupVersionResource, namespace string, ) error { glog.V(5).Infof("namespace controller - deleteEachItem - namespace: %s, gvr: %v", namespace, gvr) @@ -275,7 +276,7 @@ func deleteAllContentForGroupVersionResource( kubeClient clientset.Interface, clientPool dynamic.ClientPool, opCache *operationNotSupportedCache, - gvr unversioned.GroupVersionResource, + gvr schema.GroupVersionResource, namespace string, namespaceDeletedAt unversioned.Time, ) (int64, error) { @@ -343,7 +344,7 @@ func deleteAllContent( kubeClient clientset.Interface, clientPool dynamic.ClientPool, opCache *operationNotSupportedCache, - groupVersionResources []unversioned.GroupVersionResource, + groupVersionResources []schema.GroupVersionResource, namespace string, namespaceDeletedAt unversioned.Time, ) (int64, error) { @@ -370,7 +371,7 @@ func syncNamespace( kubeClient clientset.Interface, clientPool dynamic.ClientPool, opCache *operationNotSupportedCache, - groupVersionResourcesFn func() ([]unversioned.GroupVersionResource, error), + groupVersionResourcesFn func() ([]schema.GroupVersionResource, error), namespace *v1.Namespace, finalizerToken v1.FinalizerName, ) error { @@ -457,13 +458,13 @@ func syncNamespace( } // estimateGrracefulTermination will estimate the graceful termination required for the specific entity in the namespace -func estimateGracefulTermination(kubeClient clientset.Interface, groupVersionResource unversioned.GroupVersionResource, ns string, namespaceDeletedAt unversioned.Time) (int64, error) { +func estimateGracefulTermination(kubeClient clientset.Interface, groupVersionResource schema.GroupVersionResource, ns string, namespaceDeletedAt unversioned.Time) (int64, error) { groupResource := groupVersionResource.GroupResource() glog.V(5).Infof("namespace controller - estimateGracefulTermination - group %s, resource: %s", groupResource.Group, groupResource.Resource) estimate := int64(0) var err error switch groupResource { - case unversioned.GroupResource{Group: "", Resource: "pods"}: + case schema.GroupResource{Group: "", Resource: "pods"}: estimate, err = estimateGracefulTerminationForPods(kubeClient, ns) } if err != nil { @@ -505,7 +506,7 @@ func estimateGracefulTerminationForPods(kubeClient clientset.Interface, ns strin // sortableGroupVersionResources sorts the input set of resources for deletion, and orders pods to always be last. // the idea is that the namespace controller will delete all things that spawn pods first in order to reduce the time // those controllers spend creating pods only to be told NO in admission and potentially overwhelming cluster especially if they lack rate limiting. -type sortableGroupVersionResources []unversioned.GroupVersionResource +type sortableGroupVersionResources []schema.GroupVersionResource func (list sortableGroupVersionResources) Len() int { return len(list) diff --git a/pkg/controller/replicaset/BUILD b/pkg/controller/replicaset/BUILD index ab09f9dc279..0bb6c25fd71 100644 --- a/pkg/controller/replicaset/BUILD +++ b/pkg/controller/replicaset/BUILD @@ -32,6 +32,7 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", "//pkg/util/runtime:go_default_library", diff --git a/pkg/controller/replicaset/replica_set.go b/pkg/controller/replicaset/replica_set.go index 1e967de100e..9a1d8f72f6a 100644 --- a/pkg/controller/replicaset/replica_set.go +++ b/pkg/controller/replicaset/replica_set.go @@ -38,6 +38,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" utilruntime "k8s.io/kubernetes/pkg/util/runtime" @@ -63,7 +64,7 @@ const ( statusUpdateRetries = 1 ) -func getRSKind() unversioned.GroupVersionKind { +func getRSKind() schema.GroupVersionKind { return v1beta1.SchemeGroupVersion.WithKind("ReplicaSet") } diff --git a/pkg/controller/replication/BUILD b/pkg/controller/replication/BUILD index 7f00ac0f19b..a1669d79bee 100644 --- a/pkg/controller/replication/BUILD +++ b/pkg/controller/replication/BUILD @@ -30,6 +30,7 @@ go_library( "//pkg/controller/informers:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", diff --git a/pkg/controller/replication/replication_controller.go b/pkg/controller/replication/replication_controller.go index e84b13f6a90..bcb5192d3d7 100644 --- a/pkg/controller/replication/replication_controller.go +++ b/pkg/controller/replication/replication_controller.go @@ -26,7 +26,6 @@ import ( "github.com/golang/glog" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" @@ -36,6 +35,7 @@ import ( "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" @@ -67,7 +67,7 @@ const ( statusUpdateRetries = 1 ) -func getRCKind() unversioned.GroupVersionKind { +func getRCKind() schema.GroupVersionKind { return v1.SchemeGroupVersion.WithKind("ReplicationController") } diff --git a/pkg/controller/resourcequota/BUILD b/pkg/controller/resourcequota/BUILD index 4a4c4a5e5d4..a6f84f69591 100644 --- a/pkg/controller/resourcequota/BUILD +++ b/pkg/controller/resourcequota/BUILD @@ -21,7 +21,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/meta:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/release_1_5:go_default_library", @@ -30,6 +29,7 @@ go_library( "//pkg/quota:go_default_library", "//pkg/quota/evaluator/core:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/metrics:go_default_library", "//pkg/util/runtime:go_default_library", "//pkg/util/wait:go_default_library", @@ -50,7 +50,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/release_1_5/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -58,6 +57,7 @@ go_test( "//pkg/quota/generic:go_default_library", "//pkg/quota/install:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/sets:go_default_library", ], diff --git a/pkg/controller/resourcequota/replenishment_controller.go b/pkg/controller/resourcequota/replenishment_controller.go index af24c5f968e..885a73df71c 100644 --- a/pkg/controller/resourcequota/replenishment_controller.go +++ b/pkg/controller/resourcequota/replenishment_controller.go @@ -23,7 +23,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" @@ -31,6 +30,7 @@ import ( "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota/evaluator/core" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/watch" @@ -38,14 +38,14 @@ import ( // ReplenishmentFunc is a function that is invoked when controller sees a change // that may require a quota to be replenished (i.e. object deletion, or object moved to terminal state) -type ReplenishmentFunc func(groupKind unversioned.GroupKind, namespace string, object runtime.Object) +type ReplenishmentFunc func(groupKind schema.GroupKind, namespace string, object runtime.Object) // ReplenishmentControllerOptions is an options struct that tells a factory // how to configure a controller that can inform the quota system it should // replenish quota type ReplenishmentControllerOptions struct { // The kind monitored for replenishment - GroupKind unversioned.GroupKind + GroupKind schema.GroupKind // The period that should be used to re-sync the monitored resource ResyncPeriod controller.ResyncPeriodFunc // The function to invoke when a change is observed that should trigger @@ -116,7 +116,7 @@ func NewReplenishmentControllerFactoryFromClient(kubeClient clientset.Interface) // controllerFor returns a replenishment controller for the specified group resource. func controllerFor( - groupResource unversioned.GroupResource, + groupResource schema.GroupResource, f informers.SharedInformerFactory, handlerFuncs cache.ResourceEventHandlerFuncs) (cache.ControllerInterface, error) { genericInformer, err := f.ForResource(groupResource) @@ -253,14 +253,14 @@ func ServiceReplenishmentUpdateFunc(options *ReplenishmentControllerOptions) fun } type unhandledKindErr struct { - kind unversioned.GroupKind + kind schema.GroupKind } func (e unhandledKindErr) Error() string { return fmt.Sprintf("no replenishment controller available for %s", e.kind) } -func NewUnhandledGroupKindError(kind unversioned.GroupKind) error { +func NewUnhandledGroupKindError(kind schema.GroupKind) error { return unhandledKindErr{kind: kind} } diff --git a/pkg/controller/resourcequota/replenishment_controller_test.go b/pkg/controller/resourcequota/replenishment_controller_test.go index 43a3a48eefc..e9e6d19a43b 100644 --- a/pkg/controller/resourcequota/replenishment_controller_test.go +++ b/pkg/controller/resourcequota/replenishment_controller_test.go @@ -20,21 +20,21 @@ import ( "testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" ) // testReplenishment lets us test replenishment functions are invoked type testReplenishment struct { - groupKind unversioned.GroupKind + groupKind schema.GroupKind namespace string } // mock function that holds onto the last kind that was replenished -func (t *testReplenishment) Replenish(groupKind unversioned.GroupKind, namespace string, object runtime.Object) { +func (t *testReplenishment) Replenish(groupKind schema.GroupKind, namespace string, object runtime.Object) { t.groupKind = groupKind t.namespace = namespace } diff --git a/pkg/controller/resourcequota/resource_quota_controller.go b/pkg/controller/resourcequota/resource_quota_controller.go index d5fa2b0e0d5..c07f8b8acf9 100644 --- a/pkg/controller/resourcequota/resource_quota_controller.go +++ b/pkg/controller/resourcequota/resource_quota_controller.go @@ -22,13 +22,13 @@ import ( "github.com/golang/glog" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/wait" @@ -50,7 +50,7 @@ type ResourceQuotaControllerOptions struct { ReplenishmentResyncPeriod controller.ResyncPeriodFunc // List of GroupKind objects that should be monitored for replenishment at // a faster frequency than the quota controller recalculation interval - GroupKindsToReplenish []unversioned.GroupKind + GroupKindsToReplenish []schema.GroupKind } // ResourceQuotaController is responsible for tracking quota usage status in the system @@ -328,7 +328,7 @@ func (rq *ResourceQuotaController) syncResourceQuota(v1ResourceQuota v1.Resource } // replenishQuota is a replenishment function invoked by a controller to notify that a quota should be recalculated -func (rq *ResourceQuotaController) replenishQuota(groupKind unversioned.GroupKind, namespace string, object runtime.Object) { +func (rq *ResourceQuotaController) replenishQuota(groupKind schema.GroupKind, namespace string, object runtime.Object) { // check if the quota controller can evaluate this kind, if not, ignore it altogether... evaluators := rq.registry.Evaluators() evaluator, found := evaluators[groupKind] diff --git a/pkg/controller/resourcequota/resource_quota_controller_test.go b/pkg/controller/resourcequota/resource_quota_controller_test.go index f7dfcf8c66b..80afcd2e6f0 100644 --- a/pkg/controller/resourcequota/resource_quota_controller_test.go +++ b/pkg/controller/resourcequota/resource_quota_controller_test.go @@ -22,13 +22,13 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/quota/generic" "k8s.io/kubernetes/pkg/quota/install" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -109,7 +109,7 @@ func TestSyncResourceQuota(t *testing.T) { KubeClient: kubeClient, ResyncPeriod: controller.NoResyncPeriodFunc, Registry: install.NewRegistry(kubeClient, nil), - GroupKindsToReplenish: []unversioned.GroupKind{ + GroupKindsToReplenish: []schema.GroupKind{ api.Kind("Pod"), api.Kind("Service"), api.Kind("ReplicationController"), @@ -194,7 +194,7 @@ func TestSyncResourceQuotaSpecChange(t *testing.T) { KubeClient: kubeClient, ResyncPeriod: controller.NoResyncPeriodFunc, Registry: install.NewRegistry(kubeClient, nil), - GroupKindsToReplenish: []unversioned.GroupKind{ + GroupKindsToReplenish: []schema.GroupKind{ api.Kind("Pod"), api.Kind("Service"), api.Kind("ReplicationController"), @@ -282,7 +282,7 @@ func TestSyncResourceQuotaSpecHardChange(t *testing.T) { KubeClient: kubeClient, ResyncPeriod: controller.NoResyncPeriodFunc, Registry: install.NewRegistry(kubeClient, nil), - GroupKindsToReplenish: []unversioned.GroupKind{ + GroupKindsToReplenish: []schema.GroupKind{ api.Kind("Pod"), api.Kind("Service"), api.Kind("ReplicationController"), @@ -370,7 +370,7 @@ func TestSyncResourceQuotaNoChange(t *testing.T) { KubeClient: kubeClient, ResyncPeriod: controller.NoResyncPeriodFunc, Registry: install.NewRegistry(kubeClient, nil), - GroupKindsToReplenish: []unversioned.GroupKind{ + GroupKindsToReplenish: []schema.GroupKind{ api.Kind("Pod"), api.Kind("Service"), api.Kind("ReplicationController"), @@ -402,7 +402,7 @@ func TestAddQuota(t *testing.T) { KubeClient: kubeClient, ResyncPeriod: controller.NoResyncPeriodFunc, Registry: install.NewRegistry(kubeClient, nil), - GroupKindsToReplenish: []unversioned.GroupKind{ + GroupKindsToReplenish: []schema.GroupKind{ api.Kind("Pod"), api.Kind("ReplicationController"), api.Kind("PersistentVolumeClaim"), diff --git a/pkg/controller/serviceaccount/BUILD b/pkg/controller/serviceaccount/BUILD index 20c480bceb6..20bd1a6eb65 100644 --- a/pkg/controller/serviceaccount/BUILD +++ b/pkg/controller/serviceaccount/BUILD @@ -60,7 +60,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/release_1_5/fake:go_default_library", @@ -68,6 +67,7 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/rand:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", diff --git a/pkg/controller/serviceaccount/tokens_controller_test.go b/pkg/controller/serviceaccount/tokens_controller_test.go index 4336cbf0bb5..4ea4febb8ce 100644 --- a/pkg/controller/serviceaccount/tokens_controller_test.go +++ b/pkg/controller/serviceaccount/tokens_controller_test.go @@ -26,11 +26,11 @@ import ( "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilrand "k8s.io/kubernetes/pkg/util/rand" ) @@ -228,9 +228,9 @@ func TestTokenCreation(t *testing.T) { AddedServiceAccount: serviceAccount(emptySecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(emptySecretReferences()))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(emptySecretReferences()))), }, }, "new serviceaccount with no secrets encountering create error": { @@ -254,17 +254,17 @@ func TestTokenCreation(t *testing.T) { AddedServiceAccount: serviceAccount(emptySecretReferences()), ExpectedActions: []core.Action{ // Attempt 1 - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), // Attempt 2 - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-gziey")), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-gziey")), // Attempt 3 - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-oh43e")), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addNamedTokenSecretReference(emptySecretReferences(), "default-token-oh43e"))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-oh43e")), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addNamedTokenSecretReference(emptySecretReferences(), "default-token-oh43e"))), }, }, "new serviceaccount with no secrets encountering unending create error": { @@ -284,14 +284,14 @@ func TestTokenCreation(t *testing.T) { AddedServiceAccount: serviceAccount(emptySecretReferences()), ExpectedActions: []core.Action{ // Attempt - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), // Retry 1 - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-gziey")), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-gziey")), // Retry 2 - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-oh43e")), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-oh43e")), }, }, "new serviceaccount with missing secrets": { @@ -299,9 +299,9 @@ func TestTokenCreation(t *testing.T) { AddedServiceAccount: serviceAccount(missingSecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(missingSecretReferences()))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(missingSecretReferences()))), }, }, "new serviceaccount with non-token secrets": { @@ -309,9 +309,9 @@ func TestTokenCreation(t *testing.T) { AddedServiceAccount: serviceAccount(regularSecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(regularSecretReferences()))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(regularSecretReferences()))), }, }, "new serviceaccount with token secrets": { @@ -326,7 +326,7 @@ func TestTokenCreation(t *testing.T) { AddedServiceAccount: serviceAccount(emptySecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), }, }, "updated serviceaccount with no secrets": { @@ -334,9 +334,9 @@ func TestTokenCreation(t *testing.T) { UpdatedServiceAccount: serviceAccount(emptySecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(emptySecretReferences()))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(emptySecretReferences()))), }, }, "updated serviceaccount with missing secrets": { @@ -344,9 +344,9 @@ func TestTokenCreation(t *testing.T) { UpdatedServiceAccount: serviceAccount(missingSecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(missingSecretReferences()))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(missingSecretReferences()))), }, }, "updated serviceaccount with non-token secrets": { @@ -354,9 +354,9 @@ func TestTokenCreation(t *testing.T) { UpdatedServiceAccount: serviceAccount(regularSecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewCreateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(regularSecretReferences()))), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addTokenSecretReference(regularSecretReferences()))), }, }, "updated serviceaccount with token secrets": { @@ -370,7 +370,7 @@ func TestTokenCreation(t *testing.T) { UpdatedServiceAccount: serviceAccount(emptySecretReferences()), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), }, }, @@ -394,7 +394,7 @@ func TestTokenCreation(t *testing.T) { DeletedServiceAccount: serviceAccount(tokenSecretReferences()), ExpectedActions: []core.Action{ - core.NewDeleteAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewDeleteAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), }, }, @@ -403,8 +403,8 @@ func TestTokenCreation(t *testing.T) { AddedSecret: serviceAccountTokenSecret(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewDeleteAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewDeleteAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), }, }, "added secret with serviceaccount": { @@ -419,8 +419,8 @@ func TestTokenCreation(t *testing.T) { AddedSecret: serviceAccountTokenSecretWithoutTokenData(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "added token secret without ca data": { @@ -429,8 +429,8 @@ func TestTokenCreation(t *testing.T) { AddedSecret: serviceAccountTokenSecretWithoutCAData(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "added token secret with mismatched ca data": { @@ -439,8 +439,8 @@ func TestTokenCreation(t *testing.T) { AddedSecret: serviceAccountTokenSecretWithCAData([]byte("mismatched")), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "added token secret without namespace data": { @@ -449,8 +449,8 @@ func TestTokenCreation(t *testing.T) { AddedSecret: serviceAccountTokenSecretWithoutNamespaceData(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "added token secret with custom namespace data": { @@ -468,8 +468,8 @@ func TestTokenCreation(t *testing.T) { UpdatedSecret: serviceAccountTokenSecret(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewDeleteAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewDeleteAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), }, }, "updated secret with serviceaccount": { @@ -484,8 +484,8 @@ func TestTokenCreation(t *testing.T) { UpdatedSecret: serviceAccountTokenSecretWithoutTokenData(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "updated token secret without ca data": { @@ -494,8 +494,8 @@ func TestTokenCreation(t *testing.T) { UpdatedSecret: serviceAccountTokenSecretWithoutCAData(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "updated token secret with mismatched ca data": { @@ -504,8 +504,8 @@ func TestTokenCreation(t *testing.T) { UpdatedSecret: serviceAccountTokenSecretWithCAData([]byte("mismatched")), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "updated token secret without namespace data": { @@ -514,8 +514,8 @@ func TestTokenCreation(t *testing.T) { UpdatedSecret: serviceAccountTokenSecretWithoutNamespaceData(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, "token-secret-1"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, serviceAccountTokenSecret()), }, }, "updated token secret with custom namespace data": { @@ -538,8 +538,8 @@ func TestTokenCreation(t *testing.T) { DeletedSecret: serviceAccountTokenSecret(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), - core.NewUpdateAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(emptySecretReferences())), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(emptySecretReferences())), }, }, "deleted secret with serviceaccount without reference": { @@ -547,7 +547,7 @@ func TestTokenCreation(t *testing.T) { DeletedSecret: serviceAccountTokenSecret(), ExpectedActions: []core.Action{ - core.NewGetAction(unversioned.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), + core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"), }, }, } diff --git a/pkg/conversion/queryparams/BUILD b/pkg/conversion/queryparams/BUILD index 74b1761e43a..5de18ce0e82 100644 --- a/pkg/conversion/queryparams/BUILD +++ b/pkg/conversion/queryparams/BUILD @@ -26,5 +26,6 @@ go_test( deps = [ "//pkg/api/unversioned:go_default_library", "//pkg/conversion/queryparams:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/conversion/queryparams/convert_test.go b/pkg/conversion/queryparams/convert_test.go index 656108d9d76..2c048019700 100644 --- a/pkg/conversion/queryparams/convert_test.go +++ b/pkg/conversion/queryparams/convert_test.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion/queryparams" + "k8s.io/kubernetes/pkg/runtime/schema" ) type namedString string @@ -40,7 +41,7 @@ type bar struct { Ignored2 string } -func (obj *bar) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *bar) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } type foo struct { Str string `json:"str"` @@ -53,14 +54,14 @@ type foo struct { Testmap map[string]string `json:"testmap,omitempty"` } -func (obj *foo) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *foo) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } type baz struct { Ptr *int `json:"ptr"` Bptr *bool `json:"bptr,omitempty"` } -func (obj *baz) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *baz) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } // childStructs tests some of the types we serialize to query params for log API calls // notably, the nested time struct @@ -73,7 +74,7 @@ type childStructs struct { EmptyTime *unversioned.Time `json:"emptyTime"` } -func (obj *childStructs) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *childStructs) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func validateResult(t *testing.T, input interface{}, actual, expected url.Values) { local := url.Values{} diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index cdd05751cd1..edcd62fca07 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -6575,14 +6575,6 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{ }, Dependencies: []string{}, }, - "unversioned.emptyObjectKind": { - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Properties: map[string]spec.Schema{}, - }, - }, - Dependencies: []string{}, - }, "v1.AWSElasticBlockStoreVolumeSource": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ diff --git a/pkg/genericapiserver/BUILD b/pkg/genericapiserver/BUILD index 0d4f979b2ea..ccc566ad104 100644 --- a/pkg/genericapiserver/BUILD +++ b/pkg/genericapiserver/BUILD @@ -56,6 +56,7 @@ go_library( "//pkg/registry/core/service/ipallocator:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/recognizer:go_default_library", "//pkg/ssh:go_default_library", "//pkg/storage/storagebackend:go_default_library", @@ -106,6 +107,7 @@ go_test( "//pkg/auth/user:go_default_library", "//pkg/generated/openapi:go_default_library", "//pkg/genericapiserver/options:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util/cert:go_default_library", diff --git a/pkg/genericapiserver/default_storage_factory_builder.go b/pkg/genericapiserver/default_storage_factory_builder.go index 63a26ccf30c..2f34c96ccd1 100644 --- a/pkg/genericapiserver/default_storage_factory_builder.go +++ b/pkg/genericapiserver/default_storage_factory_builder.go @@ -21,9 +21,9 @@ import ( "strconv" "strings" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/util/config" ) @@ -32,7 +32,7 @@ import ( // Merges defaultResourceConfig with the user specified overrides and merges // defaultAPIResourceConfig with the corresponding user specified overrides as well. func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer, - defaultResourceEncoding *DefaultResourceEncodingConfig, storageEncodingOverrides map[string]unversioned.GroupVersion, resourceEncodingOverrides []unversioned.GroupVersionResource, + defaultResourceEncoding *DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource, defaultAPIResourceConfig *ResourceConfig, resourceConfigOverrides config.ConfigurationMap) (*DefaultStorageFactory, error) { resourceEncodingConfig := mergeGroupEncodingConfigs(defaultResourceEncoding, storageEncodingOverrides) @@ -45,20 +45,20 @@ func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMedi } // Merges the given defaultResourceConfig with specifc GroupvVersionResource overrides. -func mergeResourceEncodingConfigs(defaultResourceEncoding *DefaultResourceEncodingConfig, resourceEncodingOverrides []unversioned.GroupVersionResource) *DefaultResourceEncodingConfig { +func mergeResourceEncodingConfigs(defaultResourceEncoding *DefaultResourceEncodingConfig, resourceEncodingOverrides []schema.GroupVersionResource) *DefaultResourceEncodingConfig { resourceEncodingConfig := defaultResourceEncoding for _, gvr := range resourceEncodingOverrides { resourceEncodingConfig.SetResourceEncoding(gvr.GroupResource(), gvr.GroupVersion(), - unversioned.GroupVersion{Group: gvr.Group, Version: runtime.APIVersionInternal}) + schema.GroupVersion{Group: gvr.Group, Version: runtime.APIVersionInternal}) } return resourceEncodingConfig } // Merges the given defaultResourceConfig with specifc GroupVersion overrides. -func mergeGroupEncodingConfigs(defaultResourceEncoding *DefaultResourceEncodingConfig, storageEncodingOverrides map[string]unversioned.GroupVersion) *DefaultResourceEncodingConfig { +func mergeGroupEncodingConfigs(defaultResourceEncoding *DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion) *DefaultResourceEncodingConfig { resourceEncodingConfig := defaultResourceEncoding for group, storageEncodingVersion := range storageEncodingOverrides { - resourceEncodingConfig.SetVersionEncoding(group, storageEncodingVersion, unversioned.GroupVersion{Group: group, Version: runtime.APIVersionInternal}) + resourceEncodingConfig.SetVersionEncoding(group, storageEncodingVersion, schema.GroupVersion{Group: group, Version: runtime.APIVersionInternal}) } return resourceEncodingConfig } @@ -105,7 +105,7 @@ func mergeAPIResourceConfigs(defaultAPIResourceConfig *ResourceConfig, resourceC if groupVersionString == "api/v1" { groupVersionString = "v1" } - groupVersion, err := unversioned.ParseGroupVersion(groupVersionString) + groupVersion, err := schema.ParseGroupVersion(groupVersionString) if err != nil { return nil, fmt.Errorf("invalid key %s", key) } @@ -136,7 +136,7 @@ func mergeAPIResourceConfigs(defaultAPIResourceConfig *ResourceConfig, resourceC if groupVersionString == "api/v1" { groupVersionString = "v1" } - groupVersion, err := unversioned.ParseGroupVersion(groupVersionString) + groupVersion, err := schema.ParseGroupVersion(groupVersionString) if err != nil { return nil, fmt.Errorf("invalid key %s", key) } diff --git a/pkg/genericapiserver/default_storage_factory_builder_test.go b/pkg/genericapiserver/default_storage_factory_builder_test.go index f17324bad37..7503e3708a1 100644 --- a/pkg/genericapiserver/default_storage_factory_builder_test.go +++ b/pkg/genericapiserver/default_storage_factory_builder_test.go @@ -20,10 +20,10 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" apiv1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apimachinery/registered" extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestParseRuntimeConfig(t *testing.T) { @@ -155,7 +155,7 @@ func TestParseRuntimeConfig(t *testing.T) { }, expectedAPIConfig: func() *ResourceConfig { config := NewResourceConfig() - config.DisableResources(unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) + config.DisableResources(schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) return config }, err: true, diff --git a/pkg/genericapiserver/genericapiserver.go b/pkg/genericapiserver/genericapiserver.go index 79f21d8902d..3686e636d2a 100644 --- a/pkg/genericapiserver/genericapiserver.go +++ b/pkg/genericapiserver/genericapiserver.go @@ -42,6 +42,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/routes" "k8s.io/kubernetes/pkg/healthz" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/sets" ) @@ -56,7 +57,7 @@ type APIGroupInfo struct { // define a version "v1beta1" but want to use the Kubernetes "v1" internal objects. // If nil, defaults to groupMeta.GroupVersion. // TODO: Remove this when https://github.com/kubernetes/kubernetes/issues/19018 is fixed. - OptionsExternalVersion *unversioned.GroupVersion + OptionsExternalVersion *schema.GroupVersion // Scheme includes all of the types used by this group and how to convert between them (or // to convert objects from outside of this group that are accepted in this API). @@ -71,7 +72,7 @@ type APIGroupInfo struct { // accessible from this API group version. The GroupVersionKind is that of the external version of // the subresource. The key of this map should be the path of the subresource. The keys here should // match the keys in the Storage map above for subresources. - SubresourceGroupVersionKind map[string]unversioned.GroupVersionKind + SubresourceGroupVersionKind map[string]schema.GroupVersionKind } // GenericAPIServer contains state for a Kubernetes cluster api server. @@ -317,7 +318,7 @@ func (s *GenericAPIServer) RemoveAPIGroupForDiscovery(groupName string) { delete(s.apiGroupsForDiscovery, groupName) } -func (s *GenericAPIServer) getAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupVersion unversioned.GroupVersion, apiPrefix string) (*apiserver.APIGroupVersion, error) { +func (s *GenericAPIServer) getAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupVersion schema.GroupVersion, apiPrefix string) (*apiserver.APIGroupVersion, error) { storage := make(map[string]rest.Storage) for k, v := range apiGroupInfo.VersionedResourcesStorageMap[groupVersion.Version] { storage[strings.ToLower(k)] = v @@ -328,7 +329,7 @@ func (s *GenericAPIServer) getAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupV return version, err } -func (s *GenericAPIServer) newAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupVersion unversioned.GroupVersion) (*apiserver.APIGroupVersion, error) { +func (s *GenericAPIServer) newAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupVersion schema.GroupVersion) (*apiserver.APIGroupVersion, error) { return &apiserver.APIGroupVersion{ GroupVersion: groupVersion, diff --git a/pkg/genericapiserver/options/BUILD b/pkg/genericapiserver/options/BUILD index ee766a9e78b..81339e7e6d4 100644 --- a/pkg/genericapiserver/options/BUILD +++ b/pkg/genericapiserver/options/BUILD @@ -22,11 +22,11 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apiserver/authenticator:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/net:go_default_library", diff --git a/pkg/genericapiserver/options/server_run_options.go b/pkg/genericapiserver/options/server_run_options.go index fd50bbc80ae..8505993aa1f 100644 --- a/pkg/genericapiserver/options/server_run_options.go +++ b/pkg/genericapiserver/options/server_run_options.go @@ -25,10 +25,10 @@ import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/util/config" utilnet "k8s.io/kubernetes/pkg/util/net" @@ -168,8 +168,8 @@ func (o *ServerRunOptions) WithEtcdOptions() *ServerRunOptions { // StorageGroupsToEncodingVersion returns a map from group name to group version, // computed from s.StorageVersions flag. -func (s *ServerRunOptions) StorageGroupsToEncodingVersion() (map[string]unversioned.GroupVersion, error) { - storageVersionMap := map[string]unversioned.GroupVersion{} +func (s *ServerRunOptions) StorageGroupsToEncodingVersion() (map[string]schema.GroupVersion, error) { + storageVersionMap := map[string]schema.GroupVersion{} // First, get the defaults. if err := mergeGroupVersionIntoMap(s.DefaultStorageVersions, storageVersionMap); err != nil { @@ -184,7 +184,7 @@ func (s *ServerRunOptions) StorageGroupsToEncodingVersion() (map[string]unversio } // dest must be a map of group to groupVersion. -func mergeGroupVersionIntoMap(gvList string, dest map[string]unversioned.GroupVersion) error { +func mergeGroupVersionIntoMap(gvList string, dest map[string]schema.GroupVersion) error { for _, gvString := range strings.Split(gvList, ",") { if gvString == "" { continue @@ -193,7 +193,7 @@ func mergeGroupVersionIntoMap(gvList string, dest map[string]unversioned.GroupVe // "group=group/version". The latter is used when types // move between groups. if !strings.Contains(gvString, "=") { - gv, err := unversioned.ParseGroupVersion(gvString) + gv, err := schema.ParseGroupVersion(gvString) if err != nil { return err } @@ -201,7 +201,7 @@ func mergeGroupVersionIntoMap(gvList string, dest map[string]unversioned.GroupVe } else { parts := strings.SplitN(gvString, "=", 2) - gv, err := unversioned.ParseGroupVersion(parts[1]) + gv, err := schema.ParseGroupVersion(parts[1]) if err != nil { return err } diff --git a/pkg/genericapiserver/resource_config.go b/pkg/genericapiserver/resource_config.go index 4d8ee7a9035..dabfaeff036 100644 --- a/pkg/genericapiserver/resource_config.go +++ b/pkg/genericapiserver/resource_config.go @@ -17,16 +17,16 @@ limitations under the License. package genericapiserver import ( - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) // APIResourceConfigSource is the interface to determine which versions and resources are enabled type APIResourceConfigSource interface { - AnyVersionOfResourceEnabled(resource unversioned.GroupResource) bool - ResourceEnabled(resource unversioned.GroupVersionResource) bool - AllResourcesForVersionEnabled(version unversioned.GroupVersion) bool - AnyResourcesForVersionEnabled(version unversioned.GroupVersion) bool + AnyVersionOfResourceEnabled(resource schema.GroupResource) bool + ResourceEnabled(resource schema.GroupVersionResource) bool + AllResourcesForVersionEnabled(version schema.GroupVersion) bool + AnyResourcesForVersionEnabled(version schema.GroupVersion) bool AnyResourcesForGroupEnabled(group string) bool } @@ -51,11 +51,11 @@ type GroupVersionResourceConfig struct { var _ APIResourceConfigSource = &ResourceConfig{} type ResourceConfig struct { - GroupVersionResourceConfigs map[unversioned.GroupVersion]*GroupVersionResourceConfig + GroupVersionResourceConfigs map[schema.GroupVersion]*GroupVersionResourceConfig } func NewResourceConfig() *ResourceConfig { - return &ResourceConfig{GroupVersionResourceConfigs: map[unversioned.GroupVersion]*GroupVersionResourceConfig{}} + return &ResourceConfig{GroupVersionResourceConfigs: map[schema.GroupVersion]*GroupVersionResourceConfig{}} } func NewGroupVersionResourceConfig() *GroupVersionResourceConfig { @@ -63,7 +63,7 @@ func NewGroupVersionResourceConfig() *GroupVersionResourceConfig { } // DisableVersions disables the versions entirely. No resources (even those whitelisted in EnabledResources) will be enabled -func (o *ResourceConfig) DisableVersions(versions ...unversioned.GroupVersion) { +func (o *ResourceConfig) DisableVersions(versions ...schema.GroupVersion) { for _, version := range versions { _, versionExists := o.GroupVersionResourceConfigs[version] if !versionExists { @@ -74,7 +74,7 @@ func (o *ResourceConfig) DisableVersions(versions ...unversioned.GroupVersion) { } } -func (o *ResourceConfig) EnableVersions(versions ...unversioned.GroupVersion) { +func (o *ResourceConfig) EnableVersions(versions ...schema.GroupVersion) { for _, version := range versions { _, versionExists := o.GroupVersionResourceConfigs[version] if !versionExists { @@ -85,7 +85,7 @@ func (o *ResourceConfig) EnableVersions(versions ...unversioned.GroupVersion) { } } -func (o *ResourceConfig) DisableResources(resources ...unversioned.GroupVersionResource) { +func (o *ResourceConfig) DisableResources(resources ...schema.GroupVersionResource) { for _, resource := range resources { version := resource.GroupVersion() _, versionExists := o.GroupVersionResourceConfigs[version] @@ -97,7 +97,7 @@ func (o *ResourceConfig) DisableResources(resources ...unversioned.GroupVersionR } } -func (o *ResourceConfig) EnableResources(resources ...unversioned.GroupVersionResource) { +func (o *ResourceConfig) EnableResources(resources ...schema.GroupVersionResource) { for _, resource := range resources { version := resource.GroupVersion() _, versionExists := o.GroupVersionResourceConfigs[version] @@ -113,7 +113,7 @@ func (o *ResourceConfig) EnableResources(resources ...unversioned.GroupVersionRe // AnyResourcesForVersionEnabled only considers matches based on exactly group/resource lexical matching. This means that // resource renames across versions are NOT considered to be the same resource by this method. You'll need to manually check // using the ResourceEnabled function. -func (o *ResourceConfig) AnyVersionOfResourceEnabled(resource unversioned.GroupResource) bool { +func (o *ResourceConfig) AnyVersionOfResourceEnabled(resource schema.GroupResource) bool { for version := range o.GroupVersionResourceConfigs { if version.Group != resource.Group { continue @@ -127,7 +127,7 @@ func (o *ResourceConfig) AnyVersionOfResourceEnabled(resource unversioned.GroupR return false } -func (o *ResourceConfig) ResourceEnabled(resource unversioned.GroupVersionResource) bool { +func (o *ResourceConfig) ResourceEnabled(resource schema.GroupVersionResource) bool { versionOverride, versionExists := o.GroupVersionResourceConfigs[resource.GroupVersion()] if !versionExists { return false @@ -147,7 +147,7 @@ func (o *ResourceConfig) ResourceEnabled(resource unversioned.GroupVersionResour return true } -func (o *ResourceConfig) AllResourcesForVersionEnabled(version unversioned.GroupVersion) bool { +func (o *ResourceConfig) AllResourcesForVersionEnabled(version schema.GroupVersion) bool { versionOverride, versionExists := o.GroupVersionResourceConfigs[version] if !versionExists { return false @@ -163,7 +163,7 @@ func (o *ResourceConfig) AllResourcesForVersionEnabled(version unversioned.Group return false } -func (o *ResourceConfig) AnyResourcesForVersionEnabled(version unversioned.GroupVersion) bool { +func (o *ResourceConfig) AnyResourcesForVersionEnabled(version schema.GroupVersion) bool { versionOverride, versionExists := o.GroupVersionResourceConfigs[version] if !versionExists { return false diff --git a/pkg/genericapiserver/resource_config_test.go b/pkg/genericapiserver/resource_config_test.go index a73fbcc2883..712aaff5ae6 100644 --- a/pkg/genericapiserver/resource_config_test.go +++ b/pkg/genericapiserver/resource_config_test.go @@ -19,14 +19,14 @@ package genericapiserver import ( "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestDisabledVersion(t *testing.T) { - g1v1 := unversioned.GroupVersion{Group: "group1", Version: "version1"} - g1v2 := unversioned.GroupVersion{Group: "group1", Version: "version2"} - g2v1 := unversioned.GroupVersion{Group: "group2", Version: "version1"} - g3v1 := unversioned.GroupVersion{Group: "group3", Version: "version1"} + g1v1 := schema.GroupVersion{Group: "group1", Version: "version1"} + g1v2 := schema.GroupVersion{Group: "group1", Version: "version2"} + g2v1 := schema.GroupVersion{Group: "group2", Version: "version1"} + g3v1 := schema.GroupVersion{Group: "group3", Version: "version1"} resourceType := "the-resource" disabledResourceType := "the-disabled-resource" @@ -38,11 +38,11 @@ func TestDisabledVersion(t *testing.T) { config.EnableResources(g1v1.WithResource(resourceType), g2v1.WithResource(resourceType)) config.DisableResources(g1v2.WithResource(disabledResourceType)) - expectedEnabledResources := []unversioned.GroupVersionResource{ + expectedEnabledResources := []schema.GroupVersionResource{ g1v2.WithResource(resourceType), g2v1.WithResource(resourceType), } - expectedDisabledResources := []unversioned.GroupVersionResource{ + expectedDisabledResources := []schema.GroupVersionResource{ g1v1.WithResource(resourceType), g1v1.WithResource(disabledResourceType), g1v2.WithResource(disabledResourceType), g2v1.WithResource(disabledResourceType), @@ -78,10 +78,10 @@ func TestDisabledVersion(t *testing.T) { t.Errorf("expected %v, got %v", e, a) } - expectedEnabledAnyVersionResources := []unversioned.GroupResource{ + expectedEnabledAnyVersionResources := []schema.GroupResource{ {Group: "group1", Resource: resourceType}, } - expectedDisabledAnyResources := []unversioned.GroupResource{ + expectedDisabledAnyResources := []schema.GroupResource{ {Group: "group1", Resource: disabledResourceType}, } @@ -119,7 +119,7 @@ func TestAnyResourcesForGroupEnabled(t *testing.T) { name: "present, but disabled", creator: func() APIResourceConfigSource { ret := NewResourceConfig() - ret.DisableVersions(unversioned.GroupVersion{Group: "one", Version: "version1"}) + ret.DisableVersions(schema.GroupVersion{Group: "one", Version: "version1"}) return ret }, testGroup: "one", @@ -130,8 +130,8 @@ func TestAnyResourcesForGroupEnabled(t *testing.T) { name: "present, and one version enabled", creator: func() APIResourceConfigSource { ret := NewResourceConfig() - ret.DisableVersions(unversioned.GroupVersion{Group: "one", Version: "version1"}) - ret.EnableVersions(unversioned.GroupVersion{Group: "one", Version: "version2"}) + ret.DisableVersions(schema.GroupVersion{Group: "one", Version: "version1"}) + ret.EnableVersions(schema.GroupVersion{Group: "one", Version: "version2"}) return ret }, testGroup: "one", @@ -142,8 +142,8 @@ func TestAnyResourcesForGroupEnabled(t *testing.T) { name: "present, and one resource", creator: func() APIResourceConfigSource { ret := NewResourceConfig() - ret.DisableVersions(unversioned.GroupVersion{Group: "one", Version: "version1"}) - ret.EnableResources(unversioned.GroupVersionResource{Group: "one", Version: "version2", Resource: "foo"}) + ret.DisableVersions(schema.GroupVersion{Group: "one", Version: "version1"}) + ret.EnableResources(schema.GroupVersionResource{Group: "one", Version: "version2", Resource: "foo"}) return ret }, testGroup: "one", diff --git a/pkg/genericapiserver/resource_encoding_config.go b/pkg/genericapiserver/resource_encoding_config.go index 3682e8a128c..53880a0752e 100644 --- a/pkg/genericapiserver/resource_encoding_config.go +++ b/pkg/genericapiserver/resource_encoding_config.go @@ -17,19 +17,19 @@ limitations under the License. package genericapiserver import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type ResourceEncodingConfig interface { // StorageEncoding returns the serialization format for the resource. // TODO this should actually return a GroupVersionKind since you can logically have multiple "matching" Kinds // For now, it returns just the GroupVersion for consistency with old behavior - StorageEncodingFor(unversioned.GroupResource) (unversioned.GroupVersion, error) + StorageEncodingFor(schema.GroupResource) (schema.GroupVersion, error) // InMemoryEncodingFor returns the groupVersion for the in memory representation the storage should convert to. - InMemoryEncodingFor(unversioned.GroupResource) (unversioned.GroupVersion, error) + InMemoryEncodingFor(schema.GroupResource) (schema.GroupVersion, error) } type DefaultResourceEncodingConfig struct { @@ -37,11 +37,11 @@ type DefaultResourceEncodingConfig struct { } type GroupResourceEncodingConfig struct { - DefaultExternalEncoding unversioned.GroupVersion - ExternalResourceEncodings map[string]unversioned.GroupVersion + DefaultExternalEncoding schema.GroupVersion + ExternalResourceEncodings map[string]schema.GroupVersion - DefaultInternalEncoding unversioned.GroupVersion - InternalResourceEncodings map[string]unversioned.GroupVersion + DefaultInternalEncoding schema.GroupVersion + InternalResourceEncodings map[string]schema.GroupVersion } var _ ResourceEncodingConfig = &DefaultResourceEncodingConfig{} @@ -50,14 +50,14 @@ func NewDefaultResourceEncodingConfig() *DefaultResourceEncodingConfig { return &DefaultResourceEncodingConfig{Groups: map[string]*GroupResourceEncodingConfig{}} } -func newGroupResourceEncodingConfig(defaultEncoding, defaultInternalVersion unversioned.GroupVersion) *GroupResourceEncodingConfig { +func newGroupResourceEncodingConfig(defaultEncoding, defaultInternalVersion schema.GroupVersion) *GroupResourceEncodingConfig { return &GroupResourceEncodingConfig{ - DefaultExternalEncoding: defaultEncoding, ExternalResourceEncodings: map[string]unversioned.GroupVersion{}, - DefaultInternalEncoding: defaultInternalVersion, InternalResourceEncodings: map[string]unversioned.GroupVersion{}, + DefaultExternalEncoding: defaultEncoding, ExternalResourceEncodings: map[string]schema.GroupVersion{}, + DefaultInternalEncoding: defaultInternalVersion, InternalResourceEncodings: map[string]schema.GroupVersion{}, } } -func (o *DefaultResourceEncodingConfig) SetVersionEncoding(group string, externalEncodingVersion, internalVersion unversioned.GroupVersion) { +func (o *DefaultResourceEncodingConfig) SetVersionEncoding(group string, externalEncodingVersion, internalVersion schema.GroupVersion) { _, groupExists := o.Groups[group] if !groupExists { o.Groups[group] = newGroupResourceEncodingConfig(externalEncodingVersion, internalVersion) @@ -67,7 +67,7 @@ func (o *DefaultResourceEncodingConfig) SetVersionEncoding(group string, externa o.Groups[group].DefaultInternalEncoding = internalVersion } -func (o *DefaultResourceEncodingConfig) SetResourceEncoding(resourceBeingStored unversioned.GroupResource, externalEncodingVersion, internalVersion unversioned.GroupVersion) { +func (o *DefaultResourceEncodingConfig) SetResourceEncoding(resourceBeingStored schema.GroupResource, externalEncodingVersion, internalVersion schema.GroupVersion) { group := resourceBeingStored.Group _, groupExists := o.Groups[group] if !groupExists { @@ -78,10 +78,10 @@ func (o *DefaultResourceEncodingConfig) SetResourceEncoding(resourceBeingStored o.Groups[group].InternalResourceEncodings[resourceBeingStored.Resource] = internalVersion } -func (o *DefaultResourceEncodingConfig) StorageEncodingFor(resource unversioned.GroupResource) (unversioned.GroupVersion, error) { +func (o *DefaultResourceEncodingConfig) StorageEncodingFor(resource schema.GroupResource) (schema.GroupVersion, error) { groupMeta, err := registered.Group(resource.Group) if err != nil { - return unversioned.GroupVersion{}, err + return schema.GroupVersion{}, err } groupEncoding, groupExists := o.Groups[resource.Group] @@ -99,14 +99,14 @@ func (o *DefaultResourceEncodingConfig) StorageEncodingFor(resource unversioned. return resourceOverride, nil } -func (o *DefaultResourceEncodingConfig) InMemoryEncodingFor(resource unversioned.GroupResource) (unversioned.GroupVersion, error) { +func (o *DefaultResourceEncodingConfig) InMemoryEncodingFor(resource schema.GroupResource) (schema.GroupVersion, error) { if _, err := registered.Group(resource.Group); err != nil { - return unversioned.GroupVersion{}, err + return schema.GroupVersion{}, err } groupEncoding, groupExists := o.Groups[resource.Group] if !groupExists { - return unversioned.GroupVersion{Group: resource.Group, Version: runtime.APIVersionInternal}, nil + return schema.GroupVersion{Group: resource.Group, Version: runtime.APIVersionInternal}, nil } resourceOverride, resourceExists := groupEncoding.InternalResourceEncodings[resource.Resource] diff --git a/pkg/genericapiserver/reststorage_interfaces.go b/pkg/genericapiserver/reststorage_interfaces.go index 464124dc1b2..740b140a1d2 100644 --- a/pkg/genericapiserver/reststorage_interfaces.go +++ b/pkg/genericapiserver/reststorage_interfaces.go @@ -17,11 +17,11 @@ limitations under the License. package genericapiserver import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/registry/generic" + "k8s.io/kubernetes/pkg/runtime/schema" ) -type RESTOptionsGetter func(resource unversioned.GroupResource) generic.RESTOptions +type RESTOptionsGetter func(resource schema.GroupResource) generic.RESTOptions type RESTStorageProvider interface { GroupName() string diff --git a/pkg/genericapiserver/server_run_options_test.go b/pkg/genericapiserver/server_run_options_test.go index 4d468d6eddd..551adba217c 100644 --- a/pkg/genericapiserver/server_run_options_test.go +++ b/pkg/genericapiserver/server_run_options_test.go @@ -21,10 +21,10 @@ import ( "testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/options" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestGenerateStorageVersionMap(t *testing.T) { @@ -32,12 +32,12 @@ func TestGenerateStorageVersionMap(t *testing.T) { legacyVersion string storageVersions string defaultVersions string - expectedMap map[string]unversioned.GroupVersion + expectedMap map[string]schema.GroupVersion }{ { legacyVersion: "v1", storageVersions: "v1,extensions/v1beta1", - expectedMap: map[string]unversioned.GroupVersion{ + expectedMap: map[string]schema.GroupVersion{ api.GroupName: {Version: "v1"}, extensions.GroupName: {Group: "extensions", Version: "v1beta1"}, }, @@ -45,7 +45,7 @@ func TestGenerateStorageVersionMap(t *testing.T) { { legacyVersion: "", storageVersions: "extensions/v1beta1,v1", - expectedMap: map[string]unversioned.GroupVersion{ + expectedMap: map[string]schema.GroupVersion{ api.GroupName: {Version: "v1"}, extensions.GroupName: {Group: "extensions", Version: "v1beta1"}, }, @@ -54,7 +54,7 @@ func TestGenerateStorageVersionMap(t *testing.T) { legacyVersion: "", storageVersions: "autoscaling=extensions/v1beta1,v1", defaultVersions: "extensions/v1beta1,v1,autoscaling/v1", - expectedMap: map[string]unversioned.GroupVersion{ + expectedMap: map[string]schema.GroupVersion{ api.GroupName: {Version: "v1"}, autoscaling.GroupName: {Group: "extensions", Version: "v1beta1"}, extensions.GroupName: {Group: "extensions", Version: "v1beta1"}, @@ -63,7 +63,7 @@ func TestGenerateStorageVersionMap(t *testing.T) { { legacyVersion: "", storageVersions: "", - expectedMap: map[string]unversioned.GroupVersion{}, + expectedMap: map[string]schema.GroupVersion{}, }, } for i, test := range testCases { diff --git a/pkg/genericapiserver/storage_factory.go b/pkg/genericapiserver/storage_factory.go index e9803d90792..f6a097e215d 100644 --- a/pkg/genericapiserver/storage_factory.go +++ b/pkg/genericapiserver/storage_factory.go @@ -21,8 +21,8 @@ import ( "mime" "strings" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/util/sets" @@ -34,12 +34,12 @@ import ( type StorageFactory interface { // New finds the storage destination for the given group and resource. It will // return an error if the group has no storage destination configured. - NewConfig(groupResource unversioned.GroupResource) (*storagebackend.Config, error) + NewConfig(groupResource schema.GroupResource) (*storagebackend.Config, error) // ResourcePrefix returns the overridden resource prefix for the GroupResource // This allows for cohabitation of resources with different native types and provides // centralized control over the shape of etcd directories - ResourcePrefix(groupResource unversioned.GroupResource) string + ResourcePrefix(groupResource schema.GroupResource) string // Backends gets all backends for all registered storage destinations. // Used for getting all instances for health validations. @@ -55,9 +55,9 @@ type DefaultStorageFactory struct { // Its authentication information will be used for every storage.Interface returned. StorageConfig storagebackend.Config - Overrides map[unversioned.GroupResource]groupResourceOverrides + Overrides map[schema.GroupResource]groupResourceOverrides - DefaultResourcePrefixes map[unversioned.GroupResource]string + DefaultResourcePrefixes map[schema.GroupResource]string // DefaultMediaType is the media type used to store resources. If it is not set, "application/json" is used. DefaultMediaType string @@ -74,7 +74,7 @@ type DefaultStorageFactory struct { APIResourceConfigSource APIResourceConfigSource // newStorageCodecFn exists to be overwritten for unit testing. - newStorageCodecFn func(storageMediaType string, ns runtime.StorageSerializer, storageVersion, memoryVersion unversioned.GroupVersion, config storagebackend.Config) (codec runtime.Codec, err error) + newStorageCodecFn func(storageMediaType string, ns runtime.StorageSerializer, storageVersion, memoryVersion schema.GroupVersion, config storagebackend.Config) (codec runtime.Codec, err error) } type groupResourceOverrides struct { @@ -94,7 +94,7 @@ type groupResourceOverrides struct { // cohabitatingResources keeps track of which resources must be stored together. This happens when we have multiple ways // of exposing one set of concepts. autoscaling.HPA and extensions.HPA as a for instance // The order of the slice matters! It is the priority order of lookup for finding a storage location - cohabitatingResources []unversioned.GroupResource + cohabitatingResources []schema.GroupResource } var _ StorageFactory = &DefaultStorageFactory{} @@ -103,13 +103,13 @@ const AllResources = "*" // specialDefaultResourcePrefixes are prefixes compiled into Kubernetes. // TODO: move out of this package, it is not generic -var specialDefaultResourcePrefixes = map[unversioned.GroupResource]string{ - unversioned.GroupResource{Group: "", Resource: "replicationControllers"}: "controllers", - unversioned.GroupResource{Group: "", Resource: "replicationcontrollers"}: "controllers", - unversioned.GroupResource{Group: "", Resource: "endpoints"}: "services/endpoints", - unversioned.GroupResource{Group: "", Resource: "nodes"}: "minions", - unversioned.GroupResource{Group: "", Resource: "services"}: "services/specs", - unversioned.GroupResource{Group: "extensions", Resource: "ingresses"}: "ingress", +var specialDefaultResourcePrefixes = map[schema.GroupResource]string{ + schema.GroupResource{Group: "", Resource: "replicationControllers"}: "controllers", + schema.GroupResource{Group: "", Resource: "replicationcontrollers"}: "controllers", + schema.GroupResource{Group: "", Resource: "endpoints"}: "services/endpoints", + schema.GroupResource{Group: "", Resource: "nodes"}: "minions", + schema.GroupResource{Group: "", Resource: "services"}: "services/specs", + schema.GroupResource{Group: "extensions", Resource: "ingresses"}: "ingress", } func NewDefaultStorageFactory(config storagebackend.Config, defaultMediaType string, defaultSerializer runtime.StorageSerializer, resourceEncodingConfig ResourceEncodingConfig, resourceConfig APIResourceConfigSource) *DefaultStorageFactory { @@ -118,7 +118,7 @@ func NewDefaultStorageFactory(config storagebackend.Config, defaultMediaType str } return &DefaultStorageFactory{ StorageConfig: config, - Overrides: map[unversioned.GroupResource]groupResourceOverrides{}, + Overrides: map[schema.GroupResource]groupResourceOverrides{}, DefaultMediaType: defaultMediaType, DefaultSerializer: defaultSerializer, ResourceEncodingConfig: resourceEncodingConfig, @@ -129,26 +129,26 @@ func NewDefaultStorageFactory(config storagebackend.Config, defaultMediaType str } } -func (s *DefaultStorageFactory) SetEtcdLocation(groupResource unversioned.GroupResource, location []string) { +func (s *DefaultStorageFactory) SetEtcdLocation(groupResource schema.GroupResource, location []string) { overrides := s.Overrides[groupResource] overrides.etcdLocation = location s.Overrides[groupResource] = overrides } -func (s *DefaultStorageFactory) SetEtcdPrefix(groupResource unversioned.GroupResource, prefix string) { +func (s *DefaultStorageFactory) SetEtcdPrefix(groupResource schema.GroupResource, prefix string) { overrides := s.Overrides[groupResource] overrides.etcdPrefix = prefix s.Overrides[groupResource] = overrides } // SetResourceEtcdPrefix sets the prefix for a resource, but not the base-dir. You'll end up in `etcdPrefix/resourceEtcdPrefix`. -func (s *DefaultStorageFactory) SetResourceEtcdPrefix(groupResource unversioned.GroupResource, prefix string) { +func (s *DefaultStorageFactory) SetResourceEtcdPrefix(groupResource schema.GroupResource, prefix string) { overrides := s.Overrides[groupResource] overrides.etcdResourcePrefix = prefix s.Overrides[groupResource] = overrides } -func (s *DefaultStorageFactory) SetSerializer(groupResource unversioned.GroupResource, mediaType string, serializer runtime.StorageSerializer) { +func (s *DefaultStorageFactory) SetSerializer(groupResource schema.GroupResource, mediaType string, serializer runtime.StorageSerializer) { overrides := s.Overrides[groupResource] overrides.mediaType = mediaType overrides.serializer = serializer @@ -156,7 +156,7 @@ func (s *DefaultStorageFactory) SetSerializer(groupResource unversioned.GroupRes } // AddCohabitatingResources links resources together the order of the slice matters! its the priority order of lookup for finding a storage location -func (s *DefaultStorageFactory) AddCohabitatingResources(groupResources ...unversioned.GroupResource) { +func (s *DefaultStorageFactory) AddCohabitatingResources(groupResources ...schema.GroupResource) { for _, groupResource := range groupResources { overrides := s.Overrides[groupResource] overrides.cohabitatingResources = groupResources @@ -164,11 +164,11 @@ func (s *DefaultStorageFactory) AddCohabitatingResources(groupResources ...unver } } -func getAllResourcesAlias(resource unversioned.GroupResource) unversioned.GroupResource { - return unversioned.GroupResource{Group: resource.Group, Resource: AllResources} +func getAllResourcesAlias(resource schema.GroupResource) schema.GroupResource { + return schema.GroupResource{Group: resource.Group, Resource: AllResources} } -func (s *DefaultStorageFactory) getStorageGroupResource(groupResource unversioned.GroupResource) unversioned.GroupResource { +func (s *DefaultStorageFactory) getStorageGroupResource(groupResource schema.GroupResource) schema.GroupResource { for _, potentialStorageResource := range s.Overrides[groupResource].cohabitatingResources { if s.APIResourceConfigSource.AnyVersionOfResourceEnabled(potentialStorageResource) { return potentialStorageResource @@ -180,7 +180,7 @@ func (s *DefaultStorageFactory) getStorageGroupResource(groupResource unversione // New finds the storage destination for the given group and resource. It will // return an error if the group has no storage destination configured. -func (s *DefaultStorageFactory) NewConfig(groupResource unversioned.GroupResource) (*storagebackend.Config, error) { +func (s *DefaultStorageFactory) NewConfig(groupResource schema.GroupResource) (*storagebackend.Config, error) { chosenStorageResource := s.getStorageGroupResource(groupResource) groupOverride := s.Overrides[getAllResourcesAlias(chosenStorageResource)] @@ -256,7 +256,7 @@ func (s *DefaultStorageFactory) Backends() []string { // NewStorageCodec assembles a storage codec for the provided storage media type, the provided serializer, and the requested // storage and memory versions. -func NewStorageCodec(storageMediaType string, ns runtime.StorageSerializer, storageVersion, memoryVersion unversioned.GroupVersion, config storagebackend.Config) (runtime.Codec, error) { +func NewStorageCodec(storageMediaType string, ns runtime.StorageSerializer, storageVersion, memoryVersion schema.GroupVersion, config storagebackend.Config) (runtime.Codec, error) { mediaType, _, err := mime.ParseMediaType(storageMediaType) if err != nil { return nil, fmt.Errorf("%q is not a valid mime-type", storageMediaType) @@ -279,8 +279,8 @@ func NewStorageCodec(storageMediaType string, ns runtime.StorageSerializer, stor s, runtime.NewMultiGroupVersioner( storageVersion, - unversioned.GroupKind{Group: storageVersion.Group}, - unversioned.GroupKind{Group: memoryVersion.Group}, + schema.GroupKind{Group: storageVersion.Group}, + schema.GroupKind{Group: memoryVersion.Group}, ), ) @@ -289,15 +289,15 @@ func NewStorageCodec(storageMediaType string, ns runtime.StorageSerializer, stor ds, runtime.NewMultiGroupVersioner( memoryVersion, - unversioned.GroupKind{Group: memoryVersion.Group}, - unversioned.GroupKind{Group: storageVersion.Group}, + schema.GroupKind{Group: memoryVersion.Group}, + schema.GroupKind{Group: storageVersion.Group}, ), ) return runtime.NewCodec(encoder, decoder), nil } -func (s *DefaultStorageFactory) ResourcePrefix(groupResource unversioned.GroupResource) string { +func (s *DefaultStorageFactory) ResourcePrefix(groupResource schema.GroupResource) string { chosenStorageResource := s.getStorageGroupResource(groupResource) groupOverride := s.Overrides[getAllResourcesAlias(chosenStorageResource)] exactResourceOverride := s.Overrides[chosenStorageResource] diff --git a/pkg/genericapiserver/storage_factory_test.go b/pkg/genericapiserver/storage_factory_test.go index 23e98a2296d..2c188353a21 100644 --- a/pkg/genericapiserver/storage_factory_test.go +++ b/pkg/genericapiserver/storage_factory_test.go @@ -21,27 +21,27 @@ import ( "testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/options" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" ) func TestUpdateEtcdOverrides(t *testing.T) { testCases := []struct { - resource unversioned.GroupResource + resource schema.GroupResource servers []string }{ { - resource: unversioned.GroupResource{Group: api.GroupName, Resource: "resource"}, + resource: schema.GroupResource{Group: api.GroupName, Resource: "resource"}, servers: []string{"http://127.0.0.1:10000"}, }, { - resource: unversioned.GroupResource{Group: api.GroupName, Resource: "resource"}, + resource: schema.GroupResource{Group: api.GroupName, Resource: "resource"}, servers: []string{"http://127.0.0.1:10000", "http://127.0.0.1:20000"}, }, { - resource: unversioned.GroupResource{Group: extensions.GroupName, Resource: "resource"}, + resource: schema.GroupResource{Group: extensions.GroupName, Resource: "resource"}, servers: []string{"http://127.0.0.1:10000"}, }, } @@ -66,7 +66,7 @@ func TestUpdateEtcdOverrides(t *testing.T) { continue } - config, err = storageFactory.NewConfig(unversioned.GroupResource{Group: api.GroupName, Resource: "unlikely"}) + config, err = storageFactory.NewConfig(schema.GroupResource{Group: api.GroupName, Resource: "unlikely"}) if err != nil { t.Errorf("%d: unexpected error %v", i, err) continue diff --git a/pkg/kubectl/BUILD b/pkg/kubectl/BUILD index 3999db0d164..6cef90ab2df 100644 --- a/pkg/kubectl/BUILD +++ b/pkg/kubectl/BUILD @@ -93,6 +93,7 @@ go_library( "//pkg/kubelet/qos:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/cert:go_default_library", @@ -174,6 +175,7 @@ go_test( "//pkg/controller/deployment/util:go_default_library", "//pkg/kubectl/testing:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/yaml:go_default_library", "//pkg/util/diff:go_default_library", "//pkg/util/intstr:go_default_library", diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index 70a3d0f4cf4..2d450be19a5 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -94,6 +94,7 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/crlf:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", @@ -187,6 +188,7 @@ go_test( "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/json:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/types:go_default_library", diff --git a/pkg/kubectl/cmd/apply.go b/pkg/kubectl/cmd/apply.go index f31c2a479ca..330325d77d0 100644 --- a/pkg/kubectl/cmd/apply.go +++ b/pkg/kubectl/cmd/apply.go @@ -29,7 +29,6 @@ import ( "k8s.io/kubernetes/pkg/api/annotations" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/kubectl" @@ -38,6 +37,7 @@ import ( "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/strategicpatch" "k8s.io/kubernetes/pkg/util/wait" @@ -379,7 +379,7 @@ func getRESTMappings(pruneResources *[]pruneResource) (namespaced, nonNamespaced } registeredMapper := registered.RESTMapper() for _, resource := range *pruneResources { - addedMapping, err := registeredMapper.RESTMapping(unversioned.GroupKind{Group: resource.group, Kind: resource.kind}, resource.version) + addedMapping, err := registeredMapper.RESTMapping(schema.GroupKind{Group: resource.group, Kind: resource.kind}, resource.version) if err != nil { return nil, nil, fmt.Errorf("invalid resource %v: %v", resource, err) } diff --git a/pkg/kubectl/cmd/apply_test.go b/pkg/kubectl/cmd/apply_test.go index d3803638efd..ce0b2883367 100644 --- a/pkg/kubectl/cmd/apply_test.go +++ b/pkg/kubectl/cmd/apply_test.go @@ -32,11 +32,11 @@ import ( kubeerr "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestApplyExtraArgsFail(t *testing.T) { @@ -237,7 +237,7 @@ func TestApplyRetry(t *testing.T) { case p == pathRC && m == "PATCH": if firstPatch { firstPatch = false - statusErr := kubeerr.NewConflict(unversioned.GroupResource{Group: "", Resource: "rc"}, "test-rc", fmt.Errorf("the object has been modified. Please apply at first.")) + statusErr := kubeerr.NewConflict(schema.GroupResource{Group: "", Resource: "rc"}, "test-rc", fmt.Errorf("the object has been modified. Please apply at first.")) bodyBytes, _ := json.Marshal(statusErr) bodyErr := ioutil.NopCloser(bytes.NewReader(bodyBytes)) return &http.Response{StatusCode: http.StatusConflict, Header: defaultHeader(), Body: bodyErr}, nil diff --git a/pkg/kubectl/cmd/attach_test.go b/pkg/kubectl/cmd/attach_test.go index baf40a8f53a..ef3e7523041 100644 --- a/pkg/kubectl/cmd/attach_test.go +++ b/pkg/kubectl/cmd/attach_test.go @@ -28,11 +28,11 @@ import ( "github.com/spf13/cobra" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/term" ) @@ -179,7 +179,7 @@ func TestAttach(t *testing.T) { }), } tf.Namespace = "test" - tf.ClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs, GroupVersion: &unversioned.GroupVersion{Version: test.version}}} + tf.ClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs, GroupVersion: &schema.GroupVersion{Version: test.version}}} bufOut := bytes.NewBuffer([]byte{}) bufErr := bytes.NewBuffer([]byte{}) bufIn := bytes.NewBuffer([]byte{}) @@ -258,7 +258,7 @@ func TestAttachWarnings(t *testing.T) { }), } tf.Namespace = "test" - tf.ClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs, GroupVersion: &unversioned.GroupVersion{Version: test.version}}} + tf.ClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs, GroupVersion: &schema.GroupVersion{Version: test.version}}} bufOut := bytes.NewBuffer([]byte{}) bufErr := bytes.NewBuffer([]byte{}) bufIn := bytes.NewBuffer([]byte{}) diff --git a/pkg/kubectl/cmd/cmd_test.go b/pkg/kubectl/cmd/cmd_test.go index d5a3bdae566..561b2eae7ea 100644 --- a/pkg/kubectl/cmd/cmd_test.go +++ b/pkg/kubectl/cmd/cmd_test.go @@ -38,6 +38,7 @@ import ( cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/strings" ) @@ -64,7 +65,7 @@ func defaultClientConfig() *restclient.Config { } } -func defaultClientConfigForVersion(version *unversioned.GroupVersion) *restclient.Config { +func defaultClientConfigForVersion(version *schema.GroupVersion) *restclient.Config { return &restclient.Config{ APIPath: "/api", ContentConfig: restclient.ContentConfig{ diff --git a/pkg/kubectl/cmd/convert.go b/pkg/kubectl/cmd/convert.go index 5375dfb325f..892c8db747a 100644 --- a/pkg/kubectl/cmd/convert.go +++ b/pkg/kubectl/cmd/convert.go @@ -23,13 +23,13 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "github.com/spf13/cobra" ) @@ -97,7 +97,7 @@ type ConvertOptions struct { out io.Writer printer kubectl.ResourcePrinter - outputVersion unversioned.GroupVersion + outputVersion schema.GroupVersion } // Complete collects information required to run Convert command from command line. diff --git a/pkg/kubectl/cmd/create.go b/pkg/kubectl/cmd/create.go index bc8f34ef6c1..51693a6d3c5 100644 --- a/pkg/kubectl/cmd/create.go +++ b/pkg/kubectl/cmd/create.go @@ -23,12 +23,12 @@ import ( "github.com/spf13/cobra" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) var ( @@ -218,7 +218,7 @@ func RunCreateSubcommand(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, o return err } gvk := gvks[0] - mapping, err := mapper.RESTMapping(unversioned.GroupKind{Group: gvk.Group, Kind: gvk.Kind}, gvk.Version) + mapping, err := mapper.RESTMapping(schema.GroupKind{Group: gvk.Group, Kind: gvk.Kind}, gvk.Version) if err != nil { return err } diff --git a/pkg/kubectl/cmd/drain_test.go b/pkg/kubectl/cmd/drain_test.go index 57ad52784db..ce58c3d151a 100644 --- a/pkg/kubectl/cmd/drain_test.go +++ b/pkg/kubectl/cmd/drain_test.go @@ -45,6 +45,7 @@ import ( cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/wait" ) @@ -642,11 +643,11 @@ func TestDeletePods(t *testing.T) { newPod := newPodMap[name] return &newPod, nil } else { - return nil, apierrors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, name) + return nil, apierrors.NewNotFound(schema.GroupResource{Resource: "pods"}, name) } } } - return nil, apierrors.NewNotFound(unversioned.GroupResource{Resource: "pods"}, name) + return nil, apierrors.NewNotFound(schema.GroupResource{Resource: "pods"}, name) }, }, { diff --git a/pkg/kubectl/cmd/edit.go b/pkg/kubectl/cmd/edit.go index fa01f7c00bf..346627b4ac2 100644 --- a/pkg/kubectl/cmd/edit.go +++ b/pkg/kubectl/cmd/edit.go @@ -30,13 +30,13 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/cmd/util/editor" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/crlf" "k8s.io/kubernetes/pkg/util/strategicpatch" "k8s.io/kubernetes/pkg/util/validation/field" @@ -415,7 +415,18 @@ func getMapperAndResult(f cmdutil.Factory, args []string, options *resource.File return mapper, resourceMapper, r, cmdNamespace, err } -func visitToPatch(originalObj runtime.Object, updates *resource.Info, mapper meta.RESTMapper, resourceMapper *resource.Mapper, encoder runtime.Encoder, out, errOut io.Writer, defaultVersion unversioned.GroupVersion, results *editResults, file string) error { +func visitToPatch( + originalObj runtime.Object, + updates *resource.Info, + mapper meta.RESTMapper, + resourceMapper *resource.Mapper, + encoder runtime.Encoder, + out, errOut io.Writer, + defaultVersion schema.GroupVersion, + results *editResults, + file string, +) error { + patchVisitor := resource.NewFlattenListVisitor(updates, resourceMapper) err := patchVisitor.Visit(func(info *resource.Info, incomingErr error) error { currOriginalObj := originalObj @@ -500,7 +511,7 @@ func visitToPatch(originalObj runtime.Object, updates *resource.Info, mapper met return err } -func visitToCreate(updates *resource.Info, mapper meta.RESTMapper, resourceMapper *resource.Mapper, out, errOut io.Writer, defaultVersion unversioned.GroupVersion, results *editResults, file string) error { +func visitToCreate(updates *resource.Info, mapper meta.RESTMapper, resourceMapper *resource.Mapper, out, errOut io.Writer, defaultVersion schema.GroupVersion, results *editResults, file string) error { createVisitor := resource.NewFlattenListVisitor(updates, resourceMapper) err := createVisitor.Visit(func(info *resource.Info, incomingErr error) error { results.version = defaultVersion @@ -592,7 +603,7 @@ type editResults struct { edit []*resource.Info file string - version unversioned.GroupVersion + version schema.GroupVersion } func (r *editResults) addError(err error, info *resource.Info) string { diff --git a/pkg/kubectl/cmd/explain.go b/pkg/kubectl/cmd/explain.go index dd22c6c1f04..beb2d32da46 100644 --- a/pkg/kubectl/cmd/explain.go +++ b/pkg/kubectl/cmd/explain.go @@ -22,11 +22,11 @@ import ( "github.com/spf13/cobra" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" + "k8s.io/kubernetes/pkg/runtime/schema" ) var ( @@ -72,7 +72,7 @@ func RunExplain(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, ar recursive := cmdutil.GetFlagBool(cmd, "recursive") apiVersionString := cmdutil.GetFlagString(cmd, "api-version") - apiVersion := unversioned.GroupVersion{} + apiVersion := schema.GroupVersion{} mapper, _ := f.Object() // TODO: After we figured out the new syntax to separate group and resource, allow @@ -84,8 +84,8 @@ func RunExplain(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, ar } // TODO: We should deduce the group for a resource by discovering the supported resources at server. - fullySpecifiedGVR, groupResource := unversioned.ParseResourceArg(inModel) - gvk := unversioned.GroupVersionKind{} + fullySpecifiedGVR, groupResource := schema.ParseResourceArg(inModel) + gvk := schema.GroupVersionKind{} if fullySpecifiedGVR != nil { gvk, _ = mapper.KindFor(*fullySpecifiedGVR) } @@ -104,7 +104,7 @@ func RunExplain(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, ar apiVersion = groupMeta.GroupVersion } else { - apiVersion, err = unversioned.ParseGroupVersion(apiVersionString) + apiVersion, err = schema.ParseGroupVersion(apiVersionString) if err != nil { return nil } diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go index c97c04c486a..4216046860b 100644 --- a/pkg/kubectl/cmd/get_test.go +++ b/pkg/kubectl/cmd/get_test.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/watch" @@ -169,7 +170,7 @@ func TestGetSchemaObject(t *testing.T) { Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &api.ReplicationController{ObjectMeta: api.ObjectMeta{Name: "foo"}})}, } tf.Namespace = "test" - tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &unversioned.GroupVersion{Version: "v1"}}} + tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Version: "v1"}}} buf := bytes.NewBuffer([]byte{}) errBuf := bytes.NewBuffer([]byte{}) @@ -234,7 +235,7 @@ func TestGetSortedObjects(t *testing.T) { Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } tf.Namespace = "test" - tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &unversioned.GroupVersion{Version: "v1"}}} + tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Version: "v1"}}} buf := bytes.NewBuffer([]byte{}) errBuf := bytes.NewBuffer([]byte{}) diff --git a/pkg/kubectl/cmd/logs_test.go b/pkg/kubectl/cmd/logs_test.go index 3edaeeb6fab..e749723f03c 100644 --- a/pkg/kubectl/cmd/logs_test.go +++ b/pkg/kubectl/cmd/logs_test.go @@ -27,10 +27,10 @@ import ( "github.com/spf13/cobra" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestLog(t *testing.T) { @@ -67,7 +67,7 @@ func TestLog(t *testing.T) { }), } tf.Namespace = "test" - tf.ClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs, GroupVersion: &unversioned.GroupVersion{Version: test.version}}} + tf.ClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs, GroupVersion: &schema.GroupVersion{Version: test.version}}} buf := bytes.NewBuffer([]byte{}) cmd := NewCmdLogs(f, buf) diff --git a/pkg/kubectl/cmd/run.go b/pkg/kubectl/cmd/run.go index 1a7b6378d62..7b2e860e74c 100644 --- a/pkg/kubectl/cmd/run.go +++ b/pkg/kubectl/cmd/run.go @@ -39,6 +39,7 @@ import ( cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" uexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/interrupt" "k8s.io/kubernetes/pkg/watch" @@ -366,7 +367,7 @@ func Run(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cobr } // TODO turn this into reusable method checking available resources -func contains(resourcesList map[string]*unversioned.APIResourceList, resource unversioned.GroupVersionResource) bool { +func contains(resourcesList map[string]*unversioned.APIResourceList, resource schema.GroupVersionResource) bool { if resourcesList == nil { return false } diff --git a/pkg/kubectl/cmd/run_test.go b/pkg/kubectl/cmd/run_test.go index 48eb3226be2..1ff188c9de5 100644 --- a/pkg/kubectl/cmd/run_test.go +++ b/pkg/kubectl/cmd/run_test.go @@ -28,13 +28,13 @@ import ( "github.com/spf13/cobra" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" ) @@ -410,7 +410,7 @@ func TestRunValidations(t *testing.T) { Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, cmdtesting.NewInternalType("", "", ""))}, } tf.Namespace = "test" - tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &unversioned.GroupVersion{Version: "v1"}}} + tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Version: "v1"}}} inBuf := bytes.NewReader([]byte{}) outBuf := bytes.NewBuffer([]byte{}) errBuf := bytes.NewBuffer([]byte{}) diff --git a/pkg/kubectl/cmd/testing/BUILD b/pkg/kubectl/cmd/testing/BUILD index 9b506e11248..999c3adaa3f 100644 --- a/pkg/kubectl/cmd/testing/BUILD +++ b/pkg/kubectl/cmd/testing/BUILD @@ -29,6 +29,7 @@ go_library( "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/spf13/cobra", diff --git a/pkg/kubectl/cmd/testing/fake.go b/pkg/kubectl/cmd/testing/fake.go index d5452846c6b..67ed237c4ad 100644 --- a/pkg/kubectl/cmd/testing/fake.go +++ b/pkg/kubectl/cmd/testing/fake.go @@ -39,6 +39,7 @@ import ( cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" ) @@ -63,26 +64,26 @@ type ExternalType2 struct { Name string `json:"name"` } -func (obj *InternalType) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *InternalType) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *InternalType) GetObjectKind() schema.ObjectKind { return obj } +func (obj *InternalType) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *InternalType) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *InternalType) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *ExternalType) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *ExternalType) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *ExternalType) GetObjectKind() schema.ObjectKind { return obj } +func (obj *ExternalType) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *ExternalType) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *ExternalType) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *ExternalType2) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *ExternalType2) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *ExternalType2) GetObjectKind() schema.ObjectKind { return obj } +func (obj *ExternalType2) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *ExternalType2) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *ExternalType2) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } func NewInternalType(kind, apiversion, name string) *InternalType { @@ -102,9 +103,9 @@ func versionErrIfFalse(b bool) error { } var ValidVersion = registered.GroupOrDie(api.GroupName).GroupVersion.Version -var InternalGV = unversioned.GroupVersion{Group: "apitest", Version: runtime.APIVersionInternal} -var UnlikelyGV = unversioned.GroupVersion{Group: "apitest", Version: "unlikelyversion"} -var ValidVersionGV = unversioned.GroupVersion{Group: "apitest", Version: ValidVersion} +var InternalGV = schema.GroupVersion{Group: "apitest", Version: runtime.APIVersionInternal} +var UnlikelyGV = schema.GroupVersion{Group: "apitest", Version: "unlikelyversion"} +var ValidVersionGV = schema.GroupVersion{Group: "apitest", Version: ValidVersion} func newExternalScheme() (*runtime.Scheme, meta.RESTMapper, runtime.Codec) { scheme := runtime.NewScheme() @@ -115,13 +116,13 @@ func newExternalScheme() (*runtime.Scheme, meta.RESTMapper, runtime.Codec) { codecs := serializer.NewCodecFactory(scheme) codec := codecs.LegacyCodec(UnlikelyGV) - mapper := meta.NewDefaultRESTMapper([]unversioned.GroupVersion{UnlikelyGV, ValidVersionGV}, func(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { + mapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{UnlikelyGV, ValidVersionGV}, func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { return &meta.VersionInterfaces{ ObjectConvertor: scheme, MetadataAccessor: meta.NewAccessor(), }, versionErrIfFalse(version == ValidVersionGV || version == UnlikelyGV) }) - for _, gv := range []unversioned.GroupVersion{UnlikelyGV, ValidVersionGV} { + for _, gv := range []schema.GroupVersion{UnlikelyGV, ValidVersionGV} { for kind := range scheme.KnownTypes(gv) { gvk := gv.WithKind(kind) @@ -190,10 +191,10 @@ func (f *FakeFactory) FlagSet() *pflag.FlagSet { func (f *FakeFactory) Object() (meta.RESTMapper, runtime.ObjectTyper) { priorityRESTMapper := meta.PriorityRESTMapper{ Delegate: f.tf.Mapper, - ResourcePriority: []unversioned.GroupVersionResource{ + ResourcePriority: []schema.GroupVersionResource{ {Group: meta.AnyGroup, Version: "v1", Resource: meta.AnyResource}, }, - KindPriority: []unversioned.GroupVersionKind{ + KindPriority: []schema.GroupVersionKind{ {Group: meta.AnyGroup, Version: "v1", Kind: meta.AnyKind}, }, } @@ -296,7 +297,7 @@ func (f *FakeFactory) Validator(validate bool, cacheDir string) (validation.Sche return f.tf.Validator, f.tf.Err } -func (f *FakeFactory) SwaggerSchema(unversioned.GroupVersionKind) (*swagger.ApiDeclaration, error) { +func (f *FakeFactory) SwaggerSchema(schema.GroupVersionKind) (*swagger.ApiDeclaration, error) { return nil, nil } @@ -315,11 +316,11 @@ func (f *FakeFactory) Generators(cmdName string) map[string]kubectl.Generator { return generator } -func (f *FakeFactory) CanBeExposed(unversioned.GroupKind) error { +func (f *FakeFactory) CanBeExposed(schema.GroupKind) error { return nil } -func (f *FakeFactory) CanBeAutoscaled(unversioned.GroupKind) error { +func (f *FakeFactory) CanBeAutoscaled(schema.GroupKind) error { return nil } @@ -368,8 +369,8 @@ func (f *FakeFactory) DefaultResourceFilterFunc() kubectl.Filters { return nil } -func (f *FakeFactory) SuggestedPodTemplateResources() []unversioned.GroupResource { - return []unversioned.GroupResource{} +func (f *FakeFactory) SuggestedPodTemplateResources() []schema.GroupResource { + return []schema.GroupResource{} } type fakeMixedFactory struct { @@ -384,10 +385,10 @@ func (f *fakeMixedFactory) Object() (meta.RESTMapper, runtime.ObjectTyper) { multiRESTMapper = append(multiRESTMapper, testapi.Default.RESTMapper()) priorityRESTMapper := meta.PriorityRESTMapper{ Delegate: multiRESTMapper, - ResourcePriority: []unversioned.GroupVersionResource{ + ResourcePriority: []schema.GroupVersionResource{ {Group: meta.AnyGroup, Version: "v1", Resource: meta.AnyResource}, }, - KindPriority: []unversioned.GroupVersionKind{ + KindPriority: []schema.GroupVersionKind{ {Group: meta.AnyGroup, Version: "v1", Kind: meta.AnyKind}, }, } @@ -548,8 +549,8 @@ func (f *fakeAPIFactory) NewBuilder() *resource.Builder { return resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), f.Decoder(true)) } -func (f *fakeAPIFactory) SuggestedPodTemplateResources() []unversioned.GroupResource { - return []unversioned.GroupResource{} +func (f *fakeAPIFactory) SuggestedPodTemplateResources() []schema.GroupResource { + return []schema.GroupResource{} } func NewAPIFactory() (cmdutil.Factory, *TestFactory, runtime.Codec, runtime.NegotiatedSerializer) { diff --git a/pkg/kubectl/cmd/top_node_test.go b/pkg/kubectl/cmd/top_node_test.go index 12d4ea83a95..d1b77502e60 100644 --- a/pkg/kubectl/cmd/top_node_test.go +++ b/pkg/kubectl/cmd/top_node_test.go @@ -23,11 +23,12 @@ import ( "strings" "testing" + "net/url" + "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "net/url" ) const ( diff --git a/pkg/kubectl/cmd/top_pod_test.go b/pkg/kubectl/cmd/top_pod_test.go index 58698658045..8d8e7b791e6 100644 --- a/pkg/kubectl/cmd/top_pod_test.go +++ b/pkg/kubectl/cmd/top_pod_test.go @@ -23,10 +23,11 @@ import ( "strings" "testing" + "net/url" + metrics_api "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "net/url" ) func TestTopPodAllNamespacesMetrics(t *testing.T) { diff --git a/pkg/kubectl/cmd/util/BUILD b/pkg/kubectl/cmd/util/BUILD index 246ab0edabc..3b76eb51215 100644 --- a/pkg/kubectl/cmd/util/BUILD +++ b/pkg/kubectl/cmd/util/BUILD @@ -48,6 +48,7 @@ go_library( "//pkg/labels:go_default_library", "//pkg/registry/extensions/thirdpartyresourcedata:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/json:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", @@ -101,6 +102,7 @@ go_test( "//pkg/kubectl/resource:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flag:go_default_library", "//pkg/util/validation/field:go_default_library", diff --git a/pkg/kubectl/cmd/util/cached_discovery.go b/pkg/kubectl/cmd/util/cached_discovery.go index ad1e1df7675..41c8ff21e22 100644 --- a/pkg/kubectl/cmd/util/cached_discovery.go +++ b/pkg/kubectl/cmd/util/cached_discovery.go @@ -32,6 +32,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) @@ -208,11 +209,11 @@ func (d *CachedDiscoveryClient) RESTClient() restclient.Interface { return d.delegate.RESTClient() } -func (d *CachedDiscoveryClient) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (d *CachedDiscoveryClient) ServerPreferredResources() ([]schema.GroupVersionResource, error) { return d.delegate.ServerPreferredResources() } -func (d *CachedDiscoveryClient) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { +func (d *CachedDiscoveryClient) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { return d.delegate.ServerPreferredNamespacedResources() } @@ -220,7 +221,7 @@ func (d *CachedDiscoveryClient) ServerVersion() (*version.Info, error) { return d.delegate.ServerVersion() } -func (d *CachedDiscoveryClient) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (d *CachedDiscoveryClient) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { return d.delegate.SwaggerSchema(version) } diff --git a/pkg/kubectl/cmd/util/cached_discovery_test.go b/pkg/kubectl/cmd/util/cached_discovery_test.go index d2b37feaf27..aaa3e5e2ef4 100644 --- a/pkg/kubectl/cmd/util/cached_discovery_test.go +++ b/pkg/kubectl/cmd/util/cached_discovery_test.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) @@ -135,7 +136,7 @@ func (c *fakeDiscoveryClient) ServerResourcesForGroupVersion(groupVersion string return &unversioned.APIResourceList{}, nil } - return nil, errors.NewNotFound(unversioned.GroupResource{}, "") + return nil, errors.NewNotFound(schema.GroupResource{}, "") } func (c *fakeDiscoveryClient) ServerResources() (map[string]*unversioned.APIResourceList, error) { @@ -143,14 +144,14 @@ func (c *fakeDiscoveryClient) ServerResources() (map[string]*unversioned.APIReso return map[string]*unversioned.APIResourceList{}, nil } -func (c *fakeDiscoveryClient) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (c *fakeDiscoveryClient) ServerPreferredResources() ([]schema.GroupVersionResource, error) { c.resourceCalls = c.resourceCalls + 1 - return []unversioned.GroupVersionResource{}, nil + return []schema.GroupVersionResource{}, nil } -func (c *fakeDiscoveryClient) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { +func (c *fakeDiscoveryClient) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { c.resourceCalls = c.resourceCalls + 1 - return []unversioned.GroupVersionResource{}, nil + return []schema.GroupVersionResource{}, nil } func (c *fakeDiscoveryClient) ServerVersion() (*version.Info, error) { @@ -158,7 +159,7 @@ func (c *fakeDiscoveryClient) ServerVersion() (*version.Info, error) { return &version.Info{}, nil } -func (c *fakeDiscoveryClient) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (c *fakeDiscoveryClient) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { c.swaggerCalls = c.swaggerCalls + 1 return &swagger.ApiDeclaration{}, nil } diff --git a/pkg/kubectl/cmd/util/clientcache.go b/pkg/kubectl/cmd/util/clientcache.go index db8897cf3b2..457ceb74bb5 100644 --- a/pkg/kubectl/cmd/util/clientcache.go +++ b/pkg/kubectl/cmd/util/clientcache.go @@ -20,20 +20,20 @@ import ( "sync" fed_clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" oldclient "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" + "k8s.io/kubernetes/pkg/runtime/schema" ) func NewClientCache(loader clientcmd.ClientConfig) *ClientCache { return &ClientCache{ - clientsets: make(map[unversioned.GroupVersion]*internalclientset.Clientset), - configs: make(map[unversioned.GroupVersion]*restclient.Config), - fedClientSets: make(map[unversioned.GroupVersion]fed_clientset.Interface), + clientsets: make(map[schema.GroupVersion]*internalclientset.Clientset), + configs: make(map[schema.GroupVersion]*restclient.Config), + fedClientSets: make(map[schema.GroupVersion]fed_clientset.Interface), loader: loader, } } @@ -42,9 +42,9 @@ func NewClientCache(loader clientcmd.ClientConfig) *ClientCache { // is invoked only once type ClientCache struct { loader clientcmd.ClientConfig - clientsets map[unversioned.GroupVersion]*internalclientset.Clientset - fedClientSets map[unversioned.GroupVersion]fed_clientset.Interface - configs map[unversioned.GroupVersion]*restclient.Config + clientsets map[schema.GroupVersion]*internalclientset.Clientset + fedClientSets map[schema.GroupVersion]fed_clientset.Interface + configs map[schema.GroupVersion]*restclient.Config matchVersion bool @@ -83,7 +83,7 @@ func (c *ClientCache) getDefaultConfig() (restclient.Config, discovery.Discovery } // ClientConfigForVersion returns the correct config for a server -func (c *ClientCache) ClientConfigForVersion(requiredVersion *unversioned.GroupVersion) (*restclient.Config, error) { +func (c *ClientCache) ClientConfigForVersion(requiredVersion *schema.GroupVersion) (*restclient.Config, error) { // TODO: have a better config copy method config, discoveryClient, err := c.getDefaultConfig() if err != nil { @@ -126,7 +126,7 @@ func (c *ClientCache) ClientConfigForVersion(requiredVersion *unversioned.GroupV // ClientSetForVersion initializes or reuses a clientset for the specified version, or returns an // error if that is not possible -func (c *ClientCache) ClientSetForVersion(requiredVersion *unversioned.GroupVersion) (*internalclientset.Clientset, error) { +func (c *ClientCache) ClientSetForVersion(requiredVersion *schema.GroupVersion) (*internalclientset.Clientset, error) { if requiredVersion != nil { if clientset, ok := c.clientsets[*requiredVersion]; ok { return clientset, nil @@ -158,7 +158,7 @@ func (c *ClientCache) ClientSetForVersion(requiredVersion *unversioned.GroupVers return clientset, nil } -func (c *ClientCache) FederationClientSetForVersion(version *unversioned.GroupVersion) (fed_clientset.Interface, error) { +func (c *ClientCache) FederationClientSetForVersion(version *schema.GroupVersion) (fed_clientset.Interface, error) { if version != nil { if clientSet, found := c.fedClientSets[*version]; found { return clientSet, nil @@ -188,7 +188,7 @@ func (c *ClientCache) FederationClientSetForVersion(version *unversioned.GroupVe return clientSet, nil } -func (c *ClientCache) FederationClientForVersion(version *unversioned.GroupVersion) (*restclient.RESTClient, error) { +func (c *ClientCache) FederationClientForVersion(version *schema.GroupVersion) (*restclient.RESTClient, error) { fedClientSet, err := c.FederationClientSetForVersion(version) if err != nil { return nil, err diff --git a/pkg/kubectl/cmd/util/factory.go b/pkg/kubectl/cmd/util/factory.go index cfcd01083fc..299f8d43aaa 100644 --- a/pkg/kubectl/cmd/util/factory.go +++ b/pkg/kubectl/cmd/util/factory.go @@ -61,6 +61,7 @@ import ( "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" utilflag "k8s.io/kubernetes/pkg/util/flag" "k8s.io/kubernetes/pkg/util/homedir" @@ -137,7 +138,7 @@ type Factory interface { // Returns a schema that can validate objects stored on disk. Validator(validate bool, cacheDir string) (validation.Schema, error) // SwaggerSchema returns the schema declaration for the provided group version kind. - SwaggerSchema(unversioned.GroupVersionKind) (*swagger.ApiDeclaration, error) + SwaggerSchema(schema.GroupVersionKind) (*swagger.ApiDeclaration, error) // Returns the default namespace to use in cases where no // other namespace is specified and whether the namespace was // overridden. @@ -145,9 +146,9 @@ type Factory interface { // Generators returns the generators for the provided command Generators(cmdName string) map[string]kubectl.Generator // Check whether the kind of resources could be exposed - CanBeExposed(kind unversioned.GroupKind) error + CanBeExposed(kind schema.GroupKind) error // Check whether the kind of resources could be autoscaled - CanBeAutoscaled(kind unversioned.GroupKind) error + CanBeAutoscaled(kind schema.GroupKind) error // AttachablePodForObject returns the pod to which to attach given an object. AttachablePodForObject(object runtime.Object) (*api.Pod, error) // UpdatePodSpecForObject will call the provided function on the pod spec this object supports, @@ -181,7 +182,7 @@ type Factory interface { NewBuilder() *resource.Builder // SuggestedPodTemplateResources returns a list of resource types that declare a pod template - SuggestedPodTemplateResources() []unversioned.GroupResource + SuggestedPodTemplateResources() []schema.GroupResource } const ( @@ -275,8 +276,8 @@ func DefaultGenerators(cmdName string) map[string]kubectl.Generator { return generator } -func getGroupVersionKinds(gvks []unversioned.GroupVersionKind, group string) []unversioned.GroupVersionKind { - result := []unversioned.GroupVersionKind{} +func getGroupVersionKinds(gvks []schema.GroupVersionKind, group string) []schema.GroupVersionKind { + result := []schema.GroupVersionKind{} for ix := range gvks { if gvks[ix].Group == group { result = append(result, gvks[ix]) @@ -285,9 +286,9 @@ func getGroupVersionKinds(gvks []unversioned.GroupVersionKind, group string) []u return result } -func makeInterfacesFor(versionList []unversioned.GroupVersion) func(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func makeInterfacesFor(versionList []schema.GroupVersion) func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { accessor := meta.NewAccessor() - return func(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { + return func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { for ix := range versionList { if versionList[ix].String() == version.String() { return &meta.VersionInterfaces{ @@ -365,11 +366,11 @@ func (f *factory) Object() (meta.RESTMapper, runtime.ObjectTyper) { // wrap with output preferences cfg, err := f.clients.ClientConfigForVersion(nil) checkErrWithPrefix("failed to get client config: ", err) - cmdApiVersion := unversioned.GroupVersion{} + cmdApiVersion := schema.GroupVersion{} if cfg.GroupVersion != nil { cmdApiVersion = *cfg.GroupVersion } - mapper = kubectl.OutputVersionMapper{RESTMapper: mapper, OutputVersions: []unversioned.GroupVersion{cmdApiVersion}} + mapper = kubectl.OutputVersionMapper{RESTMapper: mapper, OutputVersions: []schema.GroupVersion{cmdApiVersion}} return mapper, api.Scheme } @@ -753,7 +754,7 @@ func (f *factory) Validator(validate bool, cacheDir string) (validation.Schema, return validation.NullSchema{}, nil } -func (f *factory) SwaggerSchema(gvk unversioned.GroupVersionKind) (*swagger.ApiDeclaration, error) { +func (f *factory) SwaggerSchema(gvk schema.GroupVersionKind) (*swagger.ApiDeclaration, error) { version := gvk.GroupVersion() clientset, err := f.clients.ClientSetForVersion(&version) if err != nil { @@ -770,7 +771,7 @@ func (f *factory) Generators(cmdName string) map[string]kubectl.Generator { return DefaultGenerators(cmdName) } -func (f *factory) CanBeExposed(kind unversioned.GroupKind) error { +func (f *factory) CanBeExposed(kind schema.GroupKind) error { switch kind { case api.Kind("ReplicationController"), api.Kind("Service"), api.Kind("Pod"), extensions.Kind("Deployment"), extensions.Kind("ReplicaSet"): // nothing to do here @@ -780,7 +781,7 @@ func (f *factory) CanBeExposed(kind unversioned.GroupKind) error { return nil } -func (f *factory) CanBeAutoscaled(kind unversioned.GroupKind) error { +func (f *factory) CanBeAutoscaled(kind schema.GroupKind) error { switch kind { case api.Kind("ReplicationController"), extensions.Kind("Deployment"), extensions.Kind("ReplicaSet"): // nothing to do here @@ -1315,8 +1316,8 @@ func (f *factory) NewBuilder() *resource.Builder { return resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), f.Decoder(true)) } -func (f *factory) SuggestedPodTemplateResources() []unversioned.GroupResource { - return []unversioned.GroupResource{ +func (f *factory) SuggestedPodTemplateResources() []schema.GroupResource { + return []schema.GroupResource{ {Resource: "replicationcontroller"}, {Resource: "deployment"}, {Resource: "daemonset"}, diff --git a/pkg/kubectl/cmd/util/factory_test.go b/pkg/kubectl/cmd/util/factory_test.go index b53bb2bb5d0..3ea1a49e901 100644 --- a/pkg/kubectl/cmd/util/factory_test.go +++ b/pkg/kubectl/cmd/util/factory_test.go @@ -49,6 +49,7 @@ import ( "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/flag" "k8s.io/kubernetes/pkg/watch" ) @@ -203,7 +204,7 @@ func TestLabelsForObject(t *testing.T) { func TestCanBeExposed(t *testing.T) { factory := NewFactory(nil) tests := []struct { - kind unversioned.GroupKind + kind schema.GroupKind expectErr bool }{ { diff --git a/pkg/kubectl/cmd/util/helpers.go b/pkg/kubectl/cmd/util/helpers.go index 01e34a64edf..5d07e062e5f 100644 --- a/pkg/kubectl/cmd/util/helpers.go +++ b/pkg/kubectl/cmd/util/helpers.go @@ -38,6 +38,7 @@ import ( "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" utilexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/sets" @@ -614,7 +615,7 @@ func ParsePairs(pairArgs []string, pairType string, supportRemove bool) (newPair // MaybeConvertObject attempts to convert an object to a specific group/version. If the object is // a third party resource it is simply passed through. -func MaybeConvertObject(obj runtime.Object, gv unversioned.GroupVersion, converter runtime.ObjectConvertor) (runtime.Object, error) { +func MaybeConvertObject(obj runtime.Object, gv schema.GroupVersion, converter runtime.ObjectConvertor) (runtime.Object, error) { switch obj.(type) { case *extensions.ThirdPartyResourceData: // conversion is not supported for 3rd party objects @@ -688,7 +689,7 @@ func PrintFilterCount(hiddenObjNum int, resource string, options *kubectl.PrintO // ObjectListToVersionedObject receives a list of api objects and a group version // and squashes the list's items into a single versioned runtime.Object. -func ObjectListToVersionedObject(objects []runtime.Object, version unversioned.GroupVersion) (runtime.Object, error) { +func ObjectListToVersionedObject(objects []runtime.Object, version schema.GroupVersion) (runtime.Object, error) { objectList := &api.List{Items: objects} converted, err := resource.TryConvert(api.Scheme, objectList, version, registered.GroupOrDie(api.GroupName).GroupVersion) if err != nil { diff --git a/pkg/kubectl/cmd/util/helpers_test.go b/pkg/kubectl/cmd/util/helpers_test.go index 7c3a5d76307..2fb9d97bdfd 100644 --- a/pkg/kubectl/cmd/util/helpers_test.go +++ b/pkg/kubectl/cmd/util/helpers_test.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" uexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -250,22 +251,22 @@ func TestCheckInvalidErr(t *testing.T) { func TestCheckNoResourceMatchError(t *testing.T) { testCheckError(t, []checkErrTestCase{ { - &meta.NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Resource: "foo"}}, + &meta.NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, `the server doesn't have a resource type "foo"`, DefaultErrorExitCode, }, { - &meta.NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Version: "theversion", Resource: "foo"}}, + &meta.NoResourceMatchError{PartialResource: schema.GroupVersionResource{Version: "theversion", Resource: "foo"}}, `the server doesn't have a resource type "foo" in version "theversion"`, DefaultErrorExitCode, }, { - &meta.NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Group: "thegroup", Version: "theversion", Resource: "foo"}}, + &meta.NoResourceMatchError{PartialResource: schema.GroupVersionResource{Group: "thegroup", Version: "theversion", Resource: "foo"}}, `the server doesn't have a resource type "foo" in group "thegroup" and version "theversion"`, DefaultErrorExitCode, }, { - &meta.NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Group: "thegroup", Resource: "foo"}}, + &meta.NoResourceMatchError{PartialResource: schema.GroupVersionResource{Group: "thegroup", Resource: "foo"}}, `the server doesn't have a resource type "foo" in group "thegroup"`, DefaultErrorExitCode, }, @@ -332,7 +333,7 @@ func TestDumpReaderToFile(t *testing.T) { func TestMaybeConvert(t *testing.T) { tests := []struct { input runtime.Object - gv unversioned.GroupVersion + gv schema.GroupVersion expected runtime.Object }{ { @@ -341,7 +342,7 @@ func TestMaybeConvert(t *testing.T) { Name: "foo", }, }, - gv: unversioned.GroupVersion{Group: "", Version: "v1"}, + gv: schema.GroupVersion{Group: "", Version: "v1"}, expected: &v1.Pod{ TypeMeta: unversioned.TypeMeta{ APIVersion: "v1", diff --git a/pkg/kubectl/cmd/util/printing.go b/pkg/kubectl/cmd/util/printing.go index 60d724d7e7e..d660f2361cd 100644 --- a/pkg/kubectl/cmd/util/printing.go +++ b/pkg/kubectl/cmd/util/printing.go @@ -22,8 +22,8 @@ import ( "strings" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/kubectl" + "k8s.io/kubernetes/pkg/runtime/schema" "github.com/spf13/cobra" ) @@ -90,17 +90,17 @@ func ValidateOutputArgs(cmd *cobra.Command) error { // OutputVersion returns the preferred output version for generic content (JSON, YAML, or templates) // defaultVersion is never mutated. Nil simply allows clean passing in common usage from client.Config -func OutputVersion(cmd *cobra.Command, defaultVersion *unversioned.GroupVersion) (unversioned.GroupVersion, error) { +func OutputVersion(cmd *cobra.Command, defaultVersion *schema.GroupVersion) (schema.GroupVersion, error) { outputVersionString := GetFlagString(cmd, "output-version") if len(outputVersionString) == 0 { if defaultVersion == nil { - return unversioned.GroupVersion{}, nil + return schema.GroupVersion{}, nil } return *defaultVersion, nil } - return unversioned.ParseGroupVersion(outputVersionString) + return schema.ParseGroupVersion(outputVersionString) } // PrinterForCommand returns the default printer for this command. diff --git a/pkg/kubectl/cmd/util/shortcut_restmapper.go b/pkg/kubectl/cmd/util/shortcut_restmapper.go index 2a7c7bcac69..c85ac277340 100644 --- a/pkg/kubectl/cmd/util/shortcut_restmapper.go +++ b/pkg/kubectl/cmd/util/shortcut_restmapper.go @@ -20,16 +20,16 @@ import ( "strings" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/kubectl" + "k8s.io/kubernetes/pkg/runtime/schema" ) // ShortcutExpander is a RESTMapper that can be used for Kubernetes resources. It expands the resource first, then invokes the wrapped type ShortcutExpander struct { RESTMapper meta.RESTMapper - All []unversioned.GroupResource + All []schema.GroupResource discoveryClient discovery.DiscoveryInterface } @@ -40,7 +40,7 @@ func NewShortcutExpander(delegate meta.RESTMapper, client discovery.DiscoveryInt return ShortcutExpander{All: userResources, RESTMapper: delegate, discoveryClient: client} } -func (e ShortcutExpander) getAll() []unversioned.GroupResource { +func (e ShortcutExpander) getAll() []schema.GroupResource { if e.discoveryClient == nil { return e.All } @@ -51,9 +51,9 @@ func (e ShortcutExpander) getAll() []unversioned.GroupResource { return e.All } - availableResources := []unversioned.GroupVersionResource{} + availableResources := []schema.GroupVersionResource{} for groupVersionString, resourceList := range apiResources { - currVersion, err := unversioned.ParseGroupVersion(groupVersionString) + currVersion, err := schema.ParseGroupVersion(groupVersionString) if err != nil { return e.All } @@ -63,7 +63,7 @@ func (e ShortcutExpander) getAll() []unversioned.GroupResource { } } - availableAll := []unversioned.GroupResource{} + availableAll := []schema.GroupResource{} for _, requestedResource := range e.All { for _, availableResource := range availableResources { if requestedResource.Group == availableResource.Group && @@ -77,37 +77,37 @@ func (e ShortcutExpander) getAll() []unversioned.GroupResource { return availableAll } -func (e ShortcutExpander) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (e ShortcutExpander) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { return e.RESTMapper.KindFor(expandResourceShortcut(resource)) } -func (e ShortcutExpander) KindsFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionKind, error) { +func (e ShortcutExpander) KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { return e.RESTMapper.KindsFor(expandResourceShortcut(resource)) } -func (e ShortcutExpander) ResourcesFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (e ShortcutExpander) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { return e.RESTMapper.ResourcesFor(expandResourceShortcut(resource)) } -func (e ShortcutExpander) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (e ShortcutExpander) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { return e.RESTMapper.ResourceFor(expandResourceShortcut(resource)) } func (e ShortcutExpander) ResourceSingularizer(resource string) (string, error) { - return e.RESTMapper.ResourceSingularizer(expandResourceShortcut(unversioned.GroupVersionResource{Resource: resource}).Resource) + return e.RESTMapper.ResourceSingularizer(expandResourceShortcut(schema.GroupVersionResource{Resource: resource}).Resource) } -func (e ShortcutExpander) RESTMapping(gk unversioned.GroupKind, versions ...string) (*meta.RESTMapping, error) { +func (e ShortcutExpander) RESTMapping(gk schema.GroupKind, versions ...string) (*meta.RESTMapping, error) { return e.RESTMapper.RESTMapping(gk, versions...) } -func (e ShortcutExpander) RESTMappings(gk unversioned.GroupKind) ([]*meta.RESTMapping, error) { +func (e ShortcutExpander) RESTMappings(gk schema.GroupKind) ([]*meta.RESTMapping, error) { return e.RESTMapper.RESTMappings(gk) } // userResources are the resource names that apply to the primary, user facing resources used by // client tools. They are in deletion-first order - dependent resources should be last. -var userResources = []unversioned.GroupResource{ +var userResources = []schema.GroupResource{ {Group: "", Resource: "pods"}, {Group: "", Resource: "replicationcontrollers"}, {Group: "", Resource: "services"}, @@ -121,7 +121,7 @@ var userResources = []unversioned.GroupResource{ // AliasesForResource returns whether a resource has an alias or not func (e ShortcutExpander) AliasesForResource(resource string) ([]string, bool) { if strings.ToLower(resource) == "all" { - var resources []unversioned.GroupResource + var resources []schema.GroupResource if resources = e.getAll(); len(resources) == 0 { resources = userResources } @@ -131,14 +131,14 @@ func (e ShortcutExpander) AliasesForResource(resource string) ([]string, bool) { } return aliases, true } - expanded := expandResourceShortcut(unversioned.GroupVersionResource{Resource: resource}).Resource + expanded := expandResourceShortcut(schema.GroupVersionResource{Resource: resource}).Resource return []string{expanded}, (expanded != resource) } // expandResourceShortcut will return the expanded version of resource // (something that a pkg/api/meta.RESTMapper can understand), if it is // indeed a shortcut. Otherwise, will return resource unmodified. -func expandResourceShortcut(resource unversioned.GroupVersionResource) unversioned.GroupVersionResource { +func expandResourceShortcut(resource schema.GroupVersionResource) schema.GroupVersionResource { if expanded, ok := kubectl.ShortForms[resource.Resource]; ok { resource.Resource = expanded return resource diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index 503db1bb7d7..e1eff02fa8e 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -53,6 +53,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" certutil "k8s.io/kubernetes/pkg/util/cert" "k8s.io/kubernetes/pkg/util/intstr" @@ -94,8 +95,8 @@ func (e ErrNoDescriber) Error() string { return fmt.Sprintf("no describer has been defined for %v", e.Types) } -func describerMap(c clientset.Interface) map[unversioned.GroupKind]Describer { - m := map[unversioned.GroupKind]Describer{ +func describerMap(c clientset.Interface) map[schema.GroupKind]Describer { + m := map[schema.GroupKind]Describer{ api.Kind("Pod"): &PodDescriber{c}, api.Kind("ReplicationController"): &ReplicationControllerDescriber{c}, api.Kind("Secret"): &SecretDescriber{c}, @@ -142,7 +143,7 @@ func DescribableResources() []string { // Describer returns the default describe functions for each of the standard // Kubernetes types. -func DescriberFor(kind unversioned.GroupKind, c clientset.Interface) (Describer, bool) { +func DescriberFor(kind schema.GroupKind, c clientset.Interface) (Describer, bool) { f, ok := describerMap(c)[kind] return f, ok } diff --git a/pkg/kubectl/history.go b/pkg/kubectl/history.go index a6522d49165..6f8279b815a 100644 --- a/pkg/kubectl/history.go +++ b/pkg/kubectl/history.go @@ -23,12 +23,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" sliceutil "k8s.io/kubernetes/pkg/util/slice" ) @@ -41,7 +41,7 @@ type HistoryViewer interface { ViewHistory(namespace, name string, revision int64) (string, error) } -func HistoryViewerFor(kind unversioned.GroupKind, c clientset.Interface) (HistoryViewer, error) { +func HistoryViewerFor(kind schema.GroupKind, c clientset.Interface) (HistoryViewer, error) { switch kind { case extensions.Kind("Deployment"): return &DeploymentHistoryViewer{c}, nil diff --git a/pkg/kubectl/kubectl.go b/pkg/kubectl/kubectl.go index 80a050a91df..01295a57426 100644 --- a/pkg/kubectl/kubectl.go +++ b/pkg/kubectl/kubectl.go @@ -25,7 +25,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) const ( @@ -56,11 +56,11 @@ type OutputVersionMapper struct { // output versions takes a list of preferred GroupVersions. Only the first // hit for a given group will have effect. This allows different output versions // depending upon the group of the kind being requested - OutputVersions []unversioned.GroupVersion + OutputVersions []schema.GroupVersion } // RESTMapping implements meta.RESTMapper by prepending the output version to the preferred version list. -func (m OutputVersionMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*meta.RESTMapping, error) { +func (m OutputVersionMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*meta.RESTMapping, error) { for _, preferredVersion := range m.OutputVersions { if gk.Group == preferredVersion.Group { mapping, err := m.RESTMapper.RESTMapping(gk, preferredVersion.Version) diff --git a/pkg/kubectl/metricsutil/BUILD b/pkg/kubectl/metricsutil/BUILD index a3e7f36a633..17e3cce6689 100644 --- a/pkg/kubectl/metricsutil/BUILD +++ b/pkg/kubectl/metricsutil/BUILD @@ -20,11 +20,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/labels:go_default_library", + "//pkg/runtime/schema:go_default_library", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], ) diff --git a/pkg/kubectl/metricsutil/metrics_client.go b/pkg/kubectl/metricsutil/metrics_client.go index 370b8ebf110..b691edc4561 100644 --- a/pkg/kubectl/metricsutil/metrics_client.go +++ b/pkg/kubectl/metricsutil/metrics_client.go @@ -23,10 +23,10 @@ import ( metrics_api "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/validation" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" ) const ( @@ -42,7 +42,7 @@ var ( metricsRoot = fmt.Sprintf("%s/%s", prefix, groupVersion) // TODO: get this from metrics api once it's finished - metricsGv = unversioned.GroupVersion{Group: "metrics", Version: "v1alpha1"} + metricsGv = schema.GroupVersion{Group: "metrics", Version: "v1alpha1"} ) type HeapsterMetricsClient struct { diff --git a/pkg/kubectl/resource/BUILD b/pkg/kubectl/resource/BUILD index ede130505dd..cb54ca65d86 100644 --- a/pkg/kubectl/resource/BUILD +++ b/pkg/kubectl/resource/BUILD @@ -34,6 +34,7 @@ go_library( "//pkg/client/restclient:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/sets:go_default_library", "//pkg/util/yaml:go_default_library", diff --git a/pkg/kubectl/resource/builder.go b/pkg/kubectl/resource/builder.go index 49ce6aa7481..e7fc926d60b 100644 --- a/pkg/kubectl/resource/builder.go +++ b/pkg/kubectl/resource/builder.go @@ -25,10 +25,10 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/sets" ) @@ -477,8 +477,8 @@ func (b *Builder) SingleResourceType() *Builder { // mappingFor returns the RESTMapping for the Kind referenced by the resource. // prefers a fully specified GroupVersionResource match. If we don't have one match on GroupResource func (b *Builder) mappingFor(resourceArg string) (*meta.RESTMapping, error) { - fullySpecifiedGVR, groupResource := unversioned.ParseResourceArg(resourceArg) - gvk := unversioned.GroupVersionKind{} + fullySpecifiedGVR, groupResource := schema.ParseResourceArg(resourceArg) + gvk := schema.GroupVersionKind{} if fullySpecifiedGVR != nil { gvk, _ = b.mapper.KindFor(*fullySpecifiedGVR) } diff --git a/pkg/kubectl/resource/mapper.go b/pkg/kubectl/resource/mapper.go index 66f0da449f1..20e22d3eba6 100644 --- a/pkg/kubectl/resource/mapper.go +++ b/pkg/kubectl/resource/mapper.go @@ -21,8 +21,8 @@ import ( "reflect" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // DisabledClientForMapping allows callers to avoid allowing remote calls when handling @@ -84,7 +84,7 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) { // InfoForObject creates an Info object for the given Object. An error is returned // if the object cannot be introspected. Name and namespace will be set into Info // if the mapping's MetadataAccessor can retrieve them. -func (m *Mapper) InfoForObject(obj runtime.Object, preferredGVKs []unversioned.GroupVersionKind) (*Info, error) { +func (m *Mapper) InfoForObject(obj runtime.Object, preferredGVKs []schema.GroupVersionKind) (*Info, error) { groupVersionKinds, _, err := m.ObjectKinds(obj) if err != nil { return nil, fmt.Errorf("unable to get type info from the object %q: %v", reflect.TypeOf(obj), err) @@ -121,7 +121,7 @@ func (m *Mapper) InfoForObject(obj runtime.Object, preferredGVKs []unversioned.G // GroupVersionKind matches (exact match) // GroupKind matches // Group matches -func preferredObjectKind(possibilities []unversioned.GroupVersionKind, preferences []unversioned.GroupVersionKind) unversioned.GroupVersionKind { +func preferredObjectKind(possibilities []schema.GroupVersionKind, preferences []schema.GroupVersionKind) schema.GroupVersionKind { // Exact match for _, priority := range preferences { for _, possibility := range possibilities { diff --git a/pkg/kubectl/resource/result.go b/pkg/kubectl/resource/result.go index 78f11e4a533..361d27e9227 100644 --- a/pkg/kubectl/resource/result.go +++ b/pkg/kubectl/resource/result.go @@ -26,6 +26,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/watch" @@ -211,7 +212,7 @@ func (r *Result) Watch(resourceVersion string) (watch.Interface, error) { // the objects as children, or if only a single Object is present, as that object. The provided // version will be preferred as the conversion target, but the Object's mapping version will be // used if that version is not present. -func AsVersionedObject(infos []*Info, forceList bool, version unversioned.GroupVersion, encoder runtime.Encoder) (runtime.Object, error) { +func AsVersionedObject(infos []*Info, forceList bool, version schema.GroupVersion, encoder runtime.Encoder) (runtime.Object, error) { objects, err := AsVersionedObjects(infos, version, encoder) if err != nil { return nil, err @@ -234,7 +235,7 @@ func AsVersionedObject(infos []*Info, forceList bool, version unversioned.GroupV // AsVersionedObjects converts a list of infos into versioned objects. The provided // version will be preferred as the conversion target, but the Object's mapping version will be // used if that version is not present. -func AsVersionedObjects(infos []*Info, version unversioned.GroupVersion, encoder runtime.Encoder) ([]runtime.Object, error) { +func AsVersionedObjects(infos []*Info, version schema.GroupVersion, encoder runtime.Encoder) ([]runtime.Object, error) { objects := []runtime.Object{} for _, info := range infos { if info.Object == nil { @@ -274,7 +275,7 @@ func AsVersionedObjects(infos []*Info, version unversioned.GroupVersion, encoder // TryConvert attempts to convert the given object to the provided versions in order. This function assumes // the object is in internal version. -func TryConvert(converter runtime.ObjectConvertor, object runtime.Object, versions ...unversioned.GroupVersion) (runtime.Object, error) { +func TryConvert(converter runtime.ObjectConvertor, object runtime.Object, versions ...schema.GroupVersion) (runtime.Object, error) { var last error for _, version := range versions { if version.Empty() { diff --git a/pkg/kubectl/resource/visitor.go b/pkg/kubectl/resource/visitor.go index f8909bf15bf..154f45c28ca 100644 --- a/pkg/kubectl/resource/visitor.go +++ b/pkg/kubectl/resource/visitor.go @@ -29,10 +29,10 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/yaml" "k8s.io/kubernetes/pkg/watch" @@ -393,7 +393,7 @@ func (v FlattenListVisitor) Visit(fn VisitorFunc) error { } // If we have a GroupVersionKind on the list, prioritize that when asking for info on the objects contained in the list - var preferredGVKs []unversioned.GroupVersionKind + var preferredGVKs []schema.GroupVersionKind if info.Mapping != nil && !info.Mapping.GroupVersionKind.Empty() { preferredGVKs = append(preferredGVKs, info.Mapping.GroupVersionKind) } diff --git a/pkg/kubectl/resource_printer.go b/pkg/kubectl/resource_printer.go index 032982a1c9a..7843cb7fb7f 100644 --- a/pkg/kubectl/resource_printer.go +++ b/pkg/kubectl/resource_printer.go @@ -46,6 +46,7 @@ import ( storageutil "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/jsonpath" "k8s.io/kubernetes/pkg/util/node" @@ -180,11 +181,11 @@ func (fn ResourcePrinterFunc) AfterPrint(io.Writer, string) error { type VersionedPrinter struct { printer ResourcePrinter converter runtime.ObjectConvertor - versions []unversioned.GroupVersion + versions []schema.GroupVersion } // NewVersionedPrinter wraps a printer to convert objects to a known API version prior to printing. -func NewVersionedPrinter(printer ResourcePrinter, converter runtime.ObjectConvertor, versions ...unversioned.GroupVersion) ResourcePrinter { +func NewVersionedPrinter(printer ResourcePrinter, converter runtime.ObjectConvertor, versions ...schema.GroupVersion) ResourcePrinter { return &VersionedPrinter{ printer: printer, converter: converter, @@ -201,7 +202,7 @@ func (p *VersionedPrinter) PrintObj(obj runtime.Object, w io.Writer) error { if len(p.versions) == 0 { return fmt.Errorf("no version specified, object cannot be converted") } - converted, err := p.converter.ConvertToVersion(obj, unversioned.GroupVersions(p.versions)) + converted, err := p.converter.ConvertToVersion(obj, schema.GroupVersions(p.versions)) if err != nil { return err } @@ -2396,7 +2397,7 @@ func printUnstructured(unstructured *runtime.Unstructured, w io.Writer, options } if objAPIVersion, ok := unstructured.Object["apiVersion"]; ok { if str, ok := objAPIVersion.(string); ok { - version, err := unversioned.ParseGroupVersion(str) + version, err := schema.ParseGroupVersion(str) if err != nil { return err } diff --git a/pkg/kubectl/resource_printer_test.go b/pkg/kubectl/resource_printer_test.go index 83d456d76a9..82f7c80e96a 100644 --- a/pkg/kubectl/resource_printer_test.go +++ b/pkg/kubectl/resource_printer_test.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/apis/policy" kubectltesting "k8s.io/kubernetes/pkg/kubectl/testing" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" yamlserializer "k8s.io/kubernetes/pkg/runtime/serializer/yaml" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/intstr" @@ -90,11 +91,11 @@ type TestPrintType struct { Data string } -func (obj *TestPrintType) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *TestPrintType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } type TestUnknownType struct{} -func (obj *TestUnknownType) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *TestUnknownType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func TestPrinter(t *testing.T) { //test inputs diff --git a/pkg/kubectl/rollback.go b/pkg/kubectl/rollback.go index 9b1ddc00570..60fe08bb62b 100644 --- a/pkg/kubectl/rollback.go +++ b/pkg/kubectl/rollback.go @@ -24,13 +24,13 @@ import ( "syscall" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" externalextensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" sliceutil "k8s.io/kubernetes/pkg/util/slice" "k8s.io/kubernetes/pkg/watch" ) @@ -40,7 +40,7 @@ type Rollbacker interface { Rollback(obj runtime.Object, updatedAnnotations map[string]string, toRevision int64, dryRun bool) (string, error) } -func RollbackerFor(kind unversioned.GroupKind, c clientset.Interface) (Rollbacker, error) { +func RollbackerFor(kind schema.GroupKind, c clientset.Interface) (Rollbacker, error) { switch kind { case extensions.Kind("Deployment"): return &DeploymentRollbacker{c}, nil diff --git a/pkg/kubectl/rolling_updater_test.go b/pkg/kubectl/rolling_updater_test.go index 15d1308ab61..117f910686e 100644 --- a/pkg/kubectl/rolling_updater_test.go +++ b/pkg/kubectl/rolling_updater_test.go @@ -38,6 +38,7 @@ import ( manualfake "k8s.io/kubernetes/pkg/client/restclient/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/sets" ) @@ -1208,7 +1209,7 @@ func TestRollingUpdater_cleanupWithClients_Rename(t *testing.T) { case testcore.CreateAction: return true, nil, nil case testcore.GetAction: - return true, nil, errors.NewNotFound(unversioned.GroupResource{}, "") + return true, nil, errors.NewNotFound(schema.GroupResource{}, "") case testcore.DeleteAction: return true, nil, nil } diff --git a/pkg/kubectl/rollout_status.go b/pkg/kubectl/rollout_status.go index 7f2404b5f7f..5eaf1fca0ac 100644 --- a/pkg/kubectl/rollout_status.go +++ b/pkg/kubectl/rollout_status.go @@ -19,11 +19,11 @@ package kubectl import ( "fmt" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" "k8s.io/kubernetes/pkg/controller/deployment/util" + "k8s.io/kubernetes/pkg/runtime/schema" ) // StatusViewer provides an interface for resources that have rollout status. @@ -31,7 +31,7 @@ type StatusViewer interface { Status(namespace, name string, revision int64) (string, bool, error) } -func StatusViewerFor(kind unversioned.GroupKind, c internalclientset.Interface) (StatusViewer, error) { +func StatusViewerFor(kind schema.GroupKind, c internalclientset.Interface) (StatusViewer, error) { switch kind { case extensions.Kind("Deployment"): return &DeploymentStatusViewer{c.Extensions()}, nil diff --git a/pkg/kubectl/scale.go b/pkg/kubectl/scale.go index 3abf2e7c907..1e23968d891 100644 --- a/pkg/kubectl/scale.go +++ b/pkg/kubectl/scale.go @@ -23,7 +23,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" @@ -34,6 +33,7 @@ import ( extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" client "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/fields" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/watch" ) @@ -49,7 +49,7 @@ type Scaler interface { ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (updatedResourceVersion string, err error) } -func ScalerFor(kind unversioned.GroupKind, c internalclientset.Interface) (Scaler, error) { +func ScalerFor(kind schema.GroupKind, c internalclientset.Interface) (Scaler, error) { switch kind { case api.Kind("ReplicationController"): return &ReplicationControllerScaler{c.Core()}, nil diff --git a/pkg/kubectl/stop.go b/pkg/kubectl/stop.go index 11def8c030f..64b701cecfb 100644 --- a/pkg/kubectl/stop.go +++ b/pkg/kubectl/stop.go @@ -35,6 +35,7 @@ import ( extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/labels" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/uuid" @@ -55,7 +56,7 @@ type Reaper interface { } type NoSuchReaperError struct { - kind unversioned.GroupKind + kind schema.GroupKind } func (n *NoSuchReaperError) Error() string { @@ -67,7 +68,7 @@ func IsNoSuchReaperError(err error) bool { return ok } -func ReaperFor(kind unversioned.GroupKind, c internalclientset.Interface) (Reaper, error) { +func ReaperFor(kind schema.GroupKind, c internalclientset.Interface) (Reaper, error) { switch kind { case api.Kind("ReplicationController"): return &ReplicationControllerReaper{c.Core(), Interval, Timeout}, nil diff --git a/pkg/kubectl/stop_test.go b/pkg/kubectl/stop_test.go index a63090b743d..718f5533546 100644 --- a/pkg/kubectl/stop_test.go +++ b/pkg/kubectl/stop_test.go @@ -33,6 +33,7 @@ import ( testcore "k8s.io/kubernetes/pkg/client/testing/core" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch" ) @@ -579,7 +580,7 @@ func service() *api.Service { func TestSimpleStop(t *testing.T) { tests := []struct { fake *reaperFake - kind unversioned.GroupKind + kind schema.GroupKind actions []testcore.Action expectError bool test string diff --git a/pkg/kubectl/testing/BUILD b/pkg/kubectl/testing/BUILD index e4efd099034..ac432f5e484 100644 --- a/pkg/kubectl/testing/BUILD +++ b/pkg/kubectl/testing/BUILD @@ -20,6 +20,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/unversioned:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", ], diff --git a/pkg/kubectl/testing/types.go b/pkg/kubectl/testing/types.go index 6a59e7b30c9..d876a5d42e6 100644 --- a/pkg/kubectl/testing/types.go +++ b/pkg/kubectl/testing/types.go @@ -19,6 +19,7 @@ package testing import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) type TestStruct struct { @@ -31,4 +32,4 @@ type TestStruct struct { IntList []int `json:"IntList"` } -func (obj *TestStruct) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *TestStruct) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/kubelet/dockertools/BUILD b/pkg/kubelet/dockertools/BUILD index ec7b287f4a1..ecc78cd8a13 100644 --- a/pkg/kubelet/dockertools/BUILD +++ b/pkg/kubelet/dockertools/BUILD @@ -49,6 +49,7 @@ go_library( "//pkg/kubelet/util/cache:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/securitycontext:go_default_library", "//pkg/types:go_default_library", diff --git a/pkg/kubelet/dockertools/docker_manager.go b/pkg/kubelet/dockertools/docker_manager.go index 46a0ac283f1..24f4bae699a 100644 --- a/pkg/kubelet/dockertools/docker_manager.go +++ b/pkg/kubelet/dockertools/docker_manager.go @@ -61,6 +61,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/util/cache" "k8s.io/kubernetes/pkg/kubelet/util/format" kruntime "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/securitycontext" kubetypes "k8s.io/kubernetes/pkg/types" @@ -621,7 +622,7 @@ func (dm *DockerManager) runContainer( // TODO: This is kind of hacky, we should really just encode the bits we need. // TODO: This is hacky because the Kubelet should be parameterized to encode a specific version // and needs to be able to migrate this whenever we deprecate v1. Should be a member of DockerManager. - if data, err := kruntime.Encode(api.Codecs.LegacyCodec(unversioned.GroupVersion{Group: v1.GroupName, Version: "v1"}), pod); err == nil { + if data, err := kruntime.Encode(api.Codecs.LegacyCodec(schema.GroupVersion{Group: v1.GroupName, Version: "v1"}), pod); err == nil { labels[kubernetesPodLabel] = string(data) } else { glog.Errorf("Failed to encode pod: %s for prestop hook", pod.Name) diff --git a/pkg/kubelet/server/BUILD b/pkg/kubelet/server/BUILD index f5f619779ef..d2b38274503 100644 --- a/pkg/kubelet/server/BUILD +++ b/pkg/kubelet/server/BUILD @@ -36,6 +36,7 @@ go_library( "//pkg/kubelet/server/stats:go_default_library", "//pkg/kubelet/server/streaming:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/configz:go_default_library", "//pkg/util/flushwriter:go_default_library", diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index a070393500a..28ebba6ef79 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -51,6 +51,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/server/stats" "k8s.io/kubernetes/pkg/kubelet/server/streaming" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/configz" "k8s.io/kubernetes/pkg/util/flushwriter" @@ -521,7 +522,7 @@ func encodePods(pods []*v1.Pod) (data []byte, err error) { // TODO: this needs to be parameterized to the kubelet, not hardcoded. Depends on Kubelet // as API server refactor. // TODO: Locked to v1, needs to be made generic - codec := api.Codecs.LegacyCodec(unversioned.GroupVersion{Group: v1.GroupName, Version: "v1"}) + codec := api.Codecs.LegacyCodec(schema.GroupVersion{Group: v1.GroupName, Version: "v1"}) return runtime.Encode(codec, podList) } diff --git a/pkg/kubelet/status/BUILD b/pkg/kubelet/status/BUILD index 915515524ce..eedb931fb9e 100644 --- a/pkg/kubelet/status/BUILD +++ b/pkg/kubelet/status/BUILD @@ -56,6 +56,7 @@ go_test( "//pkg/kubelet/pod/testing:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//vendor:github.com/stretchr/testify/assert", ], ) diff --git a/pkg/kubelet/status/status_manager_test.go b/pkg/kubelet/status/status_manager_test.go index 3394a53cbe3..aaa8e90e93f 100644 --- a/pkg/kubelet/status/status_manager_test.go +++ b/pkg/kubelet/status/status_manager_test.go @@ -26,6 +26,7 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/fake" "k8s.io/kubernetes/pkg/client/testing/core" + "k8s.io/kubernetes/pkg/runtime/schema" "github.com/stretchr/testify/assert" @@ -292,7 +293,7 @@ func TestSyncBatchIgnoresNotFound(t *testing.T) { syncer.testSyncBatch() verifyActions(t, syncer.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, }) } @@ -303,8 +304,8 @@ func TestSyncBatch(t *testing.T) { syncer.SetPodStatus(testPod, getRandomPodStatus()) syncer.testSyncBatch() verifyActions(t, syncer.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, }, ) } @@ -321,7 +322,7 @@ func TestSyncBatchChecksMismatchedUID(t *testing.T) { syncer.SetPodStatus(differentPod, getRandomPodStatus()) syncer.testSyncBatch() verifyActions(t, syncer.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, }) } @@ -347,8 +348,8 @@ func TestSyncBatchNoDeadlock(t *testing.T) { pod.Status.ContainerStatuses = []v1.ContainerStatus{{State: v1.ContainerState{Running: &v1.ContainerStateRunning{}}}} - getAction := core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}} - updateAction := core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}} + getAction := core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}} + updateAction := core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}} // Pod not found. ret = *pod @@ -412,8 +413,8 @@ func TestStaleUpdates(t *testing.T) { t.Logf("First sync pushes latest status.") m.testSyncBatch() verifyActions(t, m.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, }) client.ClearActions() @@ -433,8 +434,8 @@ func TestStaleUpdates(t *testing.T) { m.SetPodStatus(pod, status) m.testSyncBatch() verifyActions(t, m.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, }) // Nothing stuck in the pipe. @@ -521,8 +522,8 @@ func TestStaticPod(t *testing.T) { // Should sync pod because the corresponding mirror pod is created m.testSyncBatch() verifyActions(t, m.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, }) updateAction := client.Actions()[1].(core.UpdateActionImpl) updatedPod := updateAction.Object.(*v1.Pod) @@ -543,7 +544,7 @@ func TestStaticPod(t *testing.T) { // Should not update to mirror pod, because UID has changed. m.testSyncBatch() verifyActions(t, m.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, }) } @@ -723,8 +724,8 @@ func TestReconcilePodStatus(t *testing.T) { client.ClearActions() syncer.syncBatch() verifyActions(t, client, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, }) } @@ -752,9 +753,9 @@ func TestDeletePods(t *testing.T) { m.testSyncBatch() // Expect to see an delete action. verifyActions(t, m.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, - core.DeleteActionImpl{ActionImpl: core.ActionImpl{Verb: "delete", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.DeleteActionImpl{ActionImpl: core.ActionImpl{Verb: "delete", Resource: schema.GroupVersionResource{Resource: "pods"}}}, }) } @@ -786,7 +787,7 @@ func TestDoNotDeleteMirrorPods(t *testing.T) { m.testSyncBatch() // Expect not to see an delete action. verifyActions(t, m.kubeClient, []core.Action{ - core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: unversioned.GroupVersionResource{Resource: "pods"}}}, - core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: unversioned.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, + core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: schema.GroupVersionResource{Resource: "pods"}}}, + core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: schema.GroupVersionResource{Resource: "pods"}, Subresource: "status"}}, }) } diff --git a/pkg/master/BUILD b/pkg/master/BUILD index 5eee04fc692..22c4446ae0e 100644 --- a/pkg/master/BUILD +++ b/pkg/master/BUILD @@ -25,7 +25,6 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/install:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/install:go_default_library", @@ -76,6 +75,7 @@ go_library( "//pkg/registry/rbac/rest:go_default_library", "//pkg/registry/storage/rest:go_default_library", "//pkg/routes:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/async:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/net:go_default_library", @@ -122,6 +122,7 @@ go_test( "//pkg/kubelet/client:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/net:go_default_library", diff --git a/pkg/master/master.go b/pkg/master/master.go index d8a60961653..9442ae2b76a 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -25,7 +25,6 @@ import ( "time" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" apiv1 "k8s.io/kubernetes/pkg/api/v1" appsapi "k8s.io/kubernetes/pkg/apis/apps/v1beta1" authenticationv1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" @@ -44,6 +43,7 @@ import ( "k8s.io/kubernetes/pkg/healthz" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master/thirdparty" + "k8s.io/kubernetes/pkg/runtime/schema" utilnet "k8s.io/kubernetes/pkg/util/net" nodeutil "k8s.io/kubernetes/pkg/util/node" @@ -337,7 +337,7 @@ type restOptionsFactory struct { storageDecorator generic.StorageDecorator } -func (f restOptionsFactory) NewFor(resource unversioned.GroupResource) generic.RESTOptions { +func (f restOptionsFactory) NewFor(resource schema.GroupResource) generic.RESTOptions { storageConfig, err := f.storageFactory.NewConfig(resource) if err != nil { glog.Fatalf("Unable to find storage destination for %v, due to %v", resource, err.Error()) diff --git a/pkg/master/master_test.go b/pkg/master/master_test.go index 1fdde09fe1e..2b58989dea5 100644 --- a/pkg/master/master_test.go +++ b/pkg/master/master_test.go @@ -48,6 +48,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/sets" @@ -71,13 +72,13 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert. } resourceEncoding := genericapiserver.NewDefaultResourceEncodingConfig() - resourceEncoding.SetVersionEncoding(api.GroupName, registered.GroupOrDie(api.GroupName).GroupVersion, unversioned.GroupVersion{Group: api.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetVersionEncoding(autoscaling.GroupName, *testapi.Autoscaling.GroupVersion(), unversioned.GroupVersion{Group: autoscaling.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetVersionEncoding(batch.GroupName, *testapi.Batch.GroupVersion(), unversioned.GroupVersion{Group: batch.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetVersionEncoding(apps.GroupName, *testapi.Apps.GroupVersion(), unversioned.GroupVersion{Group: apps.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetVersionEncoding(extensions.GroupName, *testapi.Extensions.GroupVersion(), unversioned.GroupVersion{Group: extensions.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetVersionEncoding(rbac.GroupName, *testapi.Rbac.GroupVersion(), unversioned.GroupVersion{Group: rbac.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetVersionEncoding(certificates.GroupName, *testapi.Certificates.GroupVersion(), unversioned.GroupVersion{Group: certificates.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(api.GroupName, registered.GroupOrDie(api.GroupName).GroupVersion, schema.GroupVersion{Group: api.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(autoscaling.GroupName, *testapi.Autoscaling.GroupVersion(), schema.GroupVersion{Group: autoscaling.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(batch.GroupName, *testapi.Batch.GroupVersion(), schema.GroupVersion{Group: batch.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(apps.GroupName, *testapi.Apps.GroupVersion(), schema.GroupVersion{Group: apps.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(extensions.GroupName, *testapi.Extensions.GroupVersion(), schema.GroupVersion{Group: extensions.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(rbac.GroupName, *testapi.Rbac.GroupVersion(), schema.GroupVersion{Group: rbac.GroupName, Version: runtime.APIVersionInternal}) + resourceEncoding.SetVersionEncoding(certificates.GroupName, *testapi.Certificates.GroupVersion(), schema.GroupVersion{Group: certificates.GroupName, Version: runtime.APIVersionInternal}) storageFactory := genericapiserver.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), api.Codecs, resourceEncoding, DefaultAPIResourceConfigSource()) kubeVersion := version.Get() diff --git a/pkg/master/thirdparty/BUILD b/pkg/master/thirdparty/BUILD index 0ac6bfafed3..acc78bfafa2 100644 --- a/pkg/master/thirdparty/BUILD +++ b/pkg/master/thirdparty/BUILD @@ -28,6 +28,7 @@ go_library( "//pkg/registry/extensions/thirdpartyresourcedata/etcd:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//vendor:github.com/golang/glog", ], diff --git a/pkg/master/thirdparty/thirdparty.go b/pkg/master/thirdparty/thirdparty.go index 55d8c7acef3..192f8ae12d0 100644 --- a/pkg/master/thirdparty/thirdparty.go +++ b/pkg/master/thirdparty/thirdparty.go @@ -36,6 +36,7 @@ import ( thirdpartyresourcedataetcd "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata/etcd" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" ) @@ -104,7 +105,7 @@ func (m *ThirdPartyResourceServer) HasThirdPartyResource(rsrc *extensions.ThirdP if entry == nil { return false, nil } - plural, _ := meta.KindToResource(unversioned.GroupVersionKind{ + plural, _ := meta.KindToResource(schema.GroupVersionKind{ Group: group, Version: rsrc.Versions[0].Name, Kind: kind, @@ -249,7 +250,7 @@ func (m *ThirdPartyResourceServer) InstallThirdPartyResource(rsrc *extensions.Th if len(rsrc.Versions) == 0 { return fmt.Errorf("ThirdPartyResource %s has no defined versions", rsrc.Name) } - plural, _ := meta.KindToResource(unversioned.GroupVersionKind{ + plural, _ := meta.KindToResource(schema.GroupVersionKind{ Group: group, Version: rsrc.Versions[0].Name, Kind: kind, @@ -300,8 +301,8 @@ func (m *ThirdPartyResourceServer) thirdpartyapi(group, kind, version, pluralRes } optionsExternalVersion := registered.GroupOrDie(api.GroupName).GroupVersion - internalVersion := unversioned.GroupVersion{Group: group, Version: runtime.APIVersionInternal} - externalVersion := unversioned.GroupVersion{Group: group, Version: version} + internalVersion := schema.GroupVersion{Group: group, Version: runtime.APIVersionInternal} + externalVersion := schema.GroupVersion{Group: group, Version: version} apiRoot := extensionsrest.MakeThirdPartyPath("") return &apiserver.APIGroupVersion{ diff --git a/pkg/quota/BUILD b/pkg/quota/BUILD index 86b30799886..43df8a5e201 100644 --- a/pkg/quota/BUILD +++ b/pkg/quota/BUILD @@ -21,9 +21,9 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", ], ) diff --git a/pkg/quota/evaluator/core/BUILD b/pkg/quota/evaluator/core/BUILD index aa91bb37d08..513244fba42 100644 --- a/pkg/quota/evaluator/core/BUILD +++ b/pkg/quota/evaluator/core/BUILD @@ -28,7 +28,6 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/client/clientset_generated/release_1_5:go_default_library", @@ -37,6 +36,7 @@ go_library( "//pkg/quota:go_default_library", "//pkg/quota/generic:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//pkg/util/validation/field:go_default_library", ], diff --git a/pkg/quota/evaluator/core/persistent_volume_claims.go b/pkg/quota/evaluator/core/persistent_volume_claims.go index e3c1e033e83..f5822e93188 100644 --- a/pkg/quota/evaluator/core/persistent_volume_claims.go +++ b/pkg/quota/evaluator/core/persistent_volume_claims.go @@ -23,13 +23,13 @@ import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -57,7 +57,7 @@ func NewPersistentVolumeClaimEvaluator(kubeClient clientset.Interface, f informe allResources := []api.ResourceName{api.ResourcePersistentVolumeClaims, api.ResourceRequestsStorage} listFuncByNamespace := listPersistentVolumeClaimsByNamespaceFuncUsingClient(kubeClient) if f != nil { - listFuncByNamespace = generic.ListResourceUsingInformerFunc(f, unversioned.GroupResource{Resource: "persistentvolumeclaims"}) + listFuncByNamespace = generic.ListResourceUsingInformerFunc(f, schema.GroupResource{Resource: "persistentvolumeclaims"}) } return &generic.GenericEvaluator{ diff --git a/pkg/quota/evaluator/core/pods.go b/pkg/quota/evaluator/core/pods.go index c270211128f..bc7c2d0ca4d 100644 --- a/pkg/quota/evaluator/core/pods.go +++ b/pkg/quota/evaluator/core/pods.go @@ -23,7 +23,6 @@ import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" @@ -32,6 +31,7 @@ import ( "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/validation/field" ) @@ -68,7 +68,7 @@ func NewPodEvaluator(kubeClient clientset.Interface, f informers.SharedInformerF allResources := append(computeResources, api.ResourcePods) listFuncByNamespace := listPodsByNamespaceFuncUsingClient(kubeClient) if f != nil { - listFuncByNamespace = generic.ListResourceUsingInformerFunc(f, unversioned.GroupResource{Resource: "pods"}) + listFuncByNamespace = generic.ListResourceUsingInformerFunc(f, schema.GroupResource{Resource: "pods"}) } return &generic.GenericEvaluator{ Name: "Evaluator.Pod", diff --git a/pkg/quota/evaluator/core/registry.go b/pkg/quota/evaluator/core/registry.go index 093a61798d4..36a6fdac896 100644 --- a/pkg/quota/evaluator/core/registry.go +++ b/pkg/quota/evaluator/core/registry.go @@ -17,11 +17,11 @@ limitations under the License. package core import ( - "k8s.io/kubernetes/pkg/api/unversioned" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" + "k8s.io/kubernetes/pkg/runtime/schema" ) // NewRegistry returns a registry that knows how to deal with core kubernetes resources @@ -35,7 +35,7 @@ func NewRegistry(kubeClient clientset.Interface, f informers.SharedInformerFacto configMap := NewConfigMapEvaluator(kubeClient) persistentVolumeClaim := NewPersistentVolumeClaimEvaluator(kubeClient, f) return &generic.GenericRegistry{ - InternalEvaluators: map[unversioned.GroupKind]quota.Evaluator{ + InternalEvaluators: map[schema.GroupKind]quota.Evaluator{ pod.GroupKind(): pod, service.GroupKind(): service, replicationController.GroupKind(): replicationController, diff --git a/pkg/quota/generic/BUILD b/pkg/quota/generic/BUILD index 312be816d01..ea80477720f 100644 --- a/pkg/quota/generic/BUILD +++ b/pkg/quota/generic/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/labels:go_default_library", "//pkg/quota:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/quota/generic/evaluator.go b/pkg/quota/generic/evaluator.go index 554756f35e9..e86e5985a9f 100644 --- a/pkg/quota/generic/evaluator.go +++ b/pkg/quota/generic/evaluator.go @@ -22,16 +22,16 @@ import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // ListResourceUsingInformerFunc returns a listing function based on the shared informer factory for the specified resource. -func ListResourceUsingInformerFunc(f informers.SharedInformerFactory, groupResource unversioned.GroupResource) ListFuncByNamespace { +func ListResourceUsingInformerFunc(f informers.SharedInformerFactory, groupResource schema.GroupResource) ListFuncByNamespace { return func(namespace string, options v1.ListOptions) ([]runtime.Object, error) { labelSelector, err := labels.Parse(options.LabelSelector) if err != nil { @@ -91,7 +91,7 @@ type GenericEvaluator struct { // Name used for logging Name string // The GroupKind that this evaluator tracks - InternalGroupKind unversioned.GroupKind + InternalGroupKind schema.GroupKind // The set of resources that are pertinent to the mapped operation InternalOperationResources map[admission.Operation][]api.ResourceName // The set of resource names this evaluator matches @@ -130,7 +130,7 @@ func (g *GenericEvaluator) OperationResources(operation admission.Operation) []a } // GroupKind that this evaluator tracks -func (g *GenericEvaluator) GroupKind() unversioned.GroupKind { +func (g *GenericEvaluator) GroupKind() schema.GroupKind { return g.InternalGroupKind } diff --git a/pkg/quota/generic/registry.go b/pkg/quota/generic/registry.go index 2a0600a5a00..e0757bb4a0a 100644 --- a/pkg/quota/generic/registry.go +++ b/pkg/quota/generic/registry.go @@ -17,8 +17,8 @@ limitations under the License. package generic import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/quota" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Ensure it implements the required interface @@ -27,10 +27,10 @@ var _ quota.Registry = &GenericRegistry{} // GenericRegistry implements Registry type GenericRegistry struct { // internal evaluators by group kind - InternalEvaluators map[unversioned.GroupKind]quota.Evaluator + InternalEvaluators map[schema.GroupKind]quota.Evaluator } // Evaluators returns the map of evaluators by groupKind -func (r *GenericRegistry) Evaluators() map[unversioned.GroupKind]quota.Evaluator { +func (r *GenericRegistry) Evaluators() map[schema.GroupKind]quota.Evaluator { return r.InternalEvaluators } diff --git a/pkg/quota/interfaces.go b/pkg/quota/interfaces.go index 6a8653b1af7..c8996e8a428 100644 --- a/pkg/quota/interfaces.go +++ b/pkg/quota/interfaces.go @@ -19,8 +19,8 @@ package quota import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // UsageStatsOptions is an options structs that describes how stats should be calculated @@ -44,7 +44,7 @@ type Evaluator interface { // Get returns the object with specified namespace and name Get(namespace, name string) (runtime.Object, error) // GroupKind returns the groupKind that this object knows how to evaluate - GroupKind() unversioned.GroupKind + GroupKind() schema.GroupKind // MatchesResources is the list of resources that this evaluator matches MatchesResources() []api.ResourceName // Matches returns true if the specified quota matches the input item @@ -62,15 +62,15 @@ type Evaluator interface { // Registry holds the list of evaluators associated to a particular group kind type Registry interface { // Evaluators returns the set Evaluator objects registered to a groupKind - Evaluators() map[unversioned.GroupKind]Evaluator + Evaluators() map[schema.GroupKind]Evaluator } // UnionRegistry combines multiple registries. Order matters because first registry to claim a GroupKind // is the "winner" type UnionRegistry []Registry -func (r UnionRegistry) Evaluators() map[unversioned.GroupKind]Evaluator { - ret := map[unversioned.GroupKind]Evaluator{} +func (r UnionRegistry) Evaluators() map[schema.GroupKind]Evaluator { + ret := map[schema.GroupKind]Evaluator{} for i := len(r) - 1; i >= 0; i-- { for k, v := range r[i].Evaluators() { diff --git a/pkg/registry/batch/rest/BUILD b/pkg/registry/batch/rest/BUILD index 973fc12eaba..efd15438ea9 100644 --- a/pkg/registry/batch/rest/BUILD +++ b/pkg/registry/batch/rest/BUILD @@ -16,12 +16,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/rest:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v1:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/genericapiserver:go_default_library", "//pkg/registry/batch/cronjob/etcd:go_default_library", "//pkg/registry/batch/job/etcd:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/registry/batch/rest/storage_batch.go b/pkg/registry/batch/rest/storage_batch.go index 71517820508..d8d193afce7 100644 --- a/pkg/registry/batch/rest/storage_batch.go +++ b/pkg/registry/batch/rest/storage_batch.go @@ -18,13 +18,13 @@ package rest import ( "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/batch" batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1" batchapiv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" "k8s.io/kubernetes/pkg/genericapiserver" cronjobetcd "k8s.io/kubernetes/pkg/registry/batch/cronjob/etcd" jobetcd "k8s.io/kubernetes/pkg/registry/batch/job/etcd" + "k8s.io/kubernetes/pkg/runtime/schema" ) type RESTStorageProvider struct{} @@ -37,7 +37,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise if apiResourceConfigSource.AnyResourcesForVersionEnabled(batchapiv2alpha1.SchemeGroupVersion) { apiGroupInfo.VersionedResourcesStorageMap[batchapiv2alpha1.SchemeGroupVersion.Version] = p.v2alpha1Storage(apiResourceConfigSource, restOptionsGetter) apiGroupInfo.GroupMeta.GroupVersion = batchapiv2alpha1.SchemeGroupVersion - apiGroupInfo.SubresourceGroupVersionKind = map[string]unversioned.GroupVersionKind{ + apiGroupInfo.SubresourceGroupVersionKind = map[string]schema.GroupVersionKind{ "scheduledjobs": batchapiv2alpha1.SchemeGroupVersion.WithKind("ScheduledJob"), "scheduledjobs/status": batchapiv2alpha1.SchemeGroupVersion.WithKind("ScheduledJob"), } diff --git a/pkg/registry/core/rest/BUILD b/pkg/registry/core/rest/BUILD index a96a63ff971..7a9a75f7a9c 100644 --- a/pkg/registry/core/rest/BUILD +++ b/pkg/registry/core/rest/BUILD @@ -17,7 +17,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apiserver:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/policy/internalversion:go_default_library", @@ -50,6 +49,7 @@ go_library( "//pkg/registry/core/service/ipallocator:go_default_library", "//pkg/registry/core/service/portallocator:go_default_library", "//pkg/registry/core/serviceaccount/etcd:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage/etcd/util:go_default_library", "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", @@ -62,7 +62,7 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", ], ) diff --git a/pkg/registry/core/rest/storage_core.go b/pkg/registry/core/rest/storage_core.go index a27eb0a3cfd..0f4e473a477 100644 --- a/pkg/registry/core/rest/storage_core.go +++ b/pkg/registry/core/rest/storage_core.go @@ -29,7 +29,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apiserver" policyclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion" @@ -62,6 +61,7 @@ import ( ipallocator "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" serviceaccountetcd "k8s.io/kubernetes/pkg/registry/core/serviceaccount/etcd" + "k8s.io/kubernetes/pkg/runtime/schema" etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" utilnet "k8s.io/kubernetes/pkg/util/net" ) @@ -101,14 +101,14 @@ func (c LegacyRESTStorageProvider) NewLegacyRESTStorage(restOptionsGetter generi Scheme: api.Scheme, ParameterCodec: api.ParameterCodec, NegotiatedSerializer: api.Codecs, - SubresourceGroupVersionKind: map[string]unversioned.GroupVersionKind{}, + SubresourceGroupVersionKind: map[string]schema.GroupVersionKind{}, } - if autoscalingGroupVersion := (unversioned.GroupVersion{Group: "autoscaling", Version: "v1"}); registered.IsEnabledVersion(autoscalingGroupVersion) { + if autoscalingGroupVersion := (schema.GroupVersion{Group: "autoscaling", Version: "v1"}); registered.IsEnabledVersion(autoscalingGroupVersion) { apiGroupInfo.SubresourceGroupVersionKind["replicationcontrollers/scale"] = autoscalingGroupVersion.WithKind("Scale") } var podDisruptionClient policyclient.PodDisruptionBudgetsGetter - if policyGroupVersion := (unversioned.GroupVersion{Group: "policy", Version: "v1beta1"}); registered.IsEnabledVersion(policyGroupVersion) { + if policyGroupVersion := (schema.GroupVersion{Group: "policy", Version: "v1beta1"}); registered.IsEnabledVersion(policyGroupVersion) { apiGroupInfo.SubresourceGroupVersionKind["pods/eviction"] = policyGroupVersion.WithKind("Eviction") var err error @@ -231,10 +231,10 @@ func (c LegacyRESTStorageProvider) NewLegacyRESTStorage(restOptionsGetter generi "componentStatuses": componentstatus.NewStorage(componentStatusStorage{c.StorageFactory}.serversToValidate), } - if registered.IsEnabledVersion(unversioned.GroupVersion{Group: "autoscaling", Version: "v1"}) { + if registered.IsEnabledVersion(schema.GroupVersion{Group: "autoscaling", Version: "v1"}) { restStorageMap["replicationControllers/scale"] = controllerStorage.Scale } - if registered.IsEnabledVersion(unversioned.GroupVersion{Group: "policy", Version: "v1beta1"}) { + if registered.IsEnabledVersion(schema.GroupVersion{Group: "policy", Version: "v1beta1"}) { restStorageMap["pods/eviction"] = podStorage.Eviction } apiGroupInfo.VersionedResourcesStorageMap["v1"] = restStorageMap diff --git a/pkg/registry/core/rest/storage_core_test.go b/pkg/registry/core/rest/storage_core_test.go index c4f4fa15e65..9d4562c8ce6 100644 --- a/pkg/registry/core/rest/storage_core_test.go +++ b/pkg/registry/core/rest/storage_core_test.go @@ -19,7 +19,7 @@ package rest import ( "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" ) @@ -39,11 +39,11 @@ func TestGetServersToValidate(t *testing.T) { type fakeStorageFactory struct{} -func (f fakeStorageFactory) NewConfig(groupResource unversioned.GroupResource) (*storagebackend.Config, error) { +func (f fakeStorageFactory) NewConfig(groupResource schema.GroupResource) (*storagebackend.Config, error) { return nil, nil } -func (f fakeStorageFactory) ResourcePrefix(groupResource unversioned.GroupResource) string { +func (f fakeStorageFactory) ResourcePrefix(groupResource schema.GroupResource) string { return "" } diff --git a/pkg/registry/core/service/allocator/etcd/BUILD b/pkg/registry/core/service/allocator/etcd/BUILD index 3397687c98c..ca25d6748b6 100644 --- a/pkg/registry/core/service/allocator/etcd/BUILD +++ b/pkg/registry/core/service/allocator/etcd/BUILD @@ -18,11 +18,11 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/errors/storage:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/registry/core/rangeallocation:go_default_library", "//pkg/registry/core/service/allocator:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//vendor:golang.org/x/net/context", diff --git a/pkg/registry/core/service/allocator/etcd/etcd.go b/pkg/registry/core/service/allocator/etcd/etcd.go index 80985d03402..febb65004fc 100644 --- a/pkg/registry/core/service/allocator/etcd/etcd.go +++ b/pkg/registry/core/service/allocator/etcd/etcd.go @@ -24,11 +24,11 @@ import ( "k8s.io/kubernetes/pkg/api" k8serr "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/registry/core/rangeallocation" "k8s.io/kubernetes/pkg/registry/core/service/allocator" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/storagebackend" @@ -51,7 +51,7 @@ type Etcd struct { last string baseKey string - resource unversioned.GroupResource + resource schema.GroupResource } // Etcd implements allocator.Interface and rangeallocation.RangeRegistry @@ -60,7 +60,7 @@ var _ rangeallocation.RangeRegistry = &Etcd{} // NewEtcd returns an allocator that is backed by Etcd and can manage // persisting the snapshot state of allocation after each allocation is made. -func NewEtcd(alloc allocator.Snapshottable, baseKey string, resource unversioned.GroupResource, config *storagebackend.Config) *Etcd { +func NewEtcd(alloc allocator.Snapshottable, baseKey string, resource schema.GroupResource, config *storagebackend.Config) *Etcd { storage, _ := generic.NewRawStorage(config) return &Etcd{ alloc: alloc, diff --git a/pkg/registry/extensions/thirdpartyresourcedata/BUILD b/pkg/registry/extensions/thirdpartyresourcedata/BUILD index 71bbf8d36c6..4af83bd9304 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/BUILD +++ b/pkg/registry/extensions/thirdpartyresourcedata/BUILD @@ -34,6 +34,7 @@ go_library( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/util/validation/field:go_default_library", "//pkg/util/yaml:go_default_library", @@ -60,6 +61,7 @@ go_test( "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/watch/versioned:go_default_library", ], ) diff --git a/pkg/registry/extensions/thirdpartyresourcedata/codec.go b/pkg/registry/extensions/thirdpartyresourcedata/codec.go index a64ad974e6c..936c45818ff 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/codec.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/codec.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/yaml" "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -73,17 +74,17 @@ type thirdPartyResourceDataMapper struct { var _ meta.RESTMapper = &thirdPartyResourceDataMapper{} -func (t *thirdPartyResourceDataMapper) getResource() unversioned.GroupVersionResource { +func (t *thirdPartyResourceDataMapper) getResource() schema.GroupVersionResource { plural, _ := meta.KindToResource(t.getKind()) return plural } -func (t *thirdPartyResourceDataMapper) getKind() unversioned.GroupVersionKind { - return unversioned.GroupVersionKind{Group: t.group, Version: t.version, Kind: t.kind} +func (t *thirdPartyResourceDataMapper) getKind() schema.GroupVersionKind { + return schema.GroupVersionKind{Group: t.group, Version: t.version, Kind: t.kind} } -func (t *thirdPartyResourceDataMapper) isThirdPartyResource(partialResource unversioned.GroupVersionResource) bool { +func (t *thirdPartyResourceDataMapper) isThirdPartyResource(partialResource schema.GroupVersionResource) bool { actualResource := t.getResource() if strings.ToLower(partialResource.Resource) != strings.ToLower(actualResource.Resource) { return false @@ -98,35 +99,35 @@ func (t *thirdPartyResourceDataMapper) isThirdPartyResource(partialResource unve return true } -func (t *thirdPartyResourceDataMapper) ResourcesFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (t *thirdPartyResourceDataMapper) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { if t.isThirdPartyResource(resource) { - return []unversioned.GroupVersionResource{t.getResource()}, nil + return []schema.GroupVersionResource{t.getResource()}, nil } return t.mapper.ResourcesFor(resource) } -func (t *thirdPartyResourceDataMapper) KindsFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionKind, error) { +func (t *thirdPartyResourceDataMapper) KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { if t.isThirdPartyResource(resource) { - return []unversioned.GroupVersionKind{t.getKind()}, nil + return []schema.GroupVersionKind{t.getKind()}, nil } return t.mapper.KindsFor(resource) } -func (t *thirdPartyResourceDataMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (t *thirdPartyResourceDataMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { if t.isThirdPartyResource(resource) { return t.getResource(), nil } return t.mapper.ResourceFor(resource) } -func (t *thirdPartyResourceDataMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (t *thirdPartyResourceDataMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { if t.isThirdPartyResource(resource) { return t.getKind(), nil } return t.mapper.KindFor(resource) } -func (t *thirdPartyResourceDataMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*meta.RESTMapping, error) { +func (t *thirdPartyResourceDataMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*meta.RESTMapping, error) { if len(versions) != 1 { return nil, fmt.Errorf("unexpected set of versions: %v", versions) } @@ -141,7 +142,7 @@ func (t *thirdPartyResourceDataMapper) RESTMapping(gk unversioned.GroupKind, ver } // TODO figure out why we're doing this rewriting - extensionGK := unversioned.GroupKind{Group: extensions.GroupName, Kind: "ThirdPartyResourceData"} + extensionGK := schema.GroupKind{Group: extensions.GroupName, Kind: "ThirdPartyResourceData"} mapping, err := t.mapper.RESTMapping(extensionGK, registered.GroupOrDie(extensions.GroupName).GroupVersion.Version) if err != nil { @@ -151,7 +152,7 @@ func (t *thirdPartyResourceDataMapper) RESTMapping(gk unversioned.GroupKind, ver return mapping, nil } -func (t *thirdPartyResourceDataMapper) RESTMappings(gk unversioned.GroupKind) ([]*meta.RESTMapping, error) { +func (t *thirdPartyResourceDataMapper) RESTMappings(gk schema.GroupKind) ([]*meta.RESTMapping, error) { if gk.Group != t.group { return nil, fmt.Errorf("unknown group %q expected %s", gk.Group, t.group) } @@ -160,7 +161,7 @@ func (t *thirdPartyResourceDataMapper) RESTMappings(gk unversioned.GroupKind) ([ } // TODO figure out why we're doing this rewriting - extensionGK := unversioned.GroupKind{Group: extensions.GroupName, Kind: "ThirdPartyResourceData"} + extensionGK := schema.GroupKind{Group: extensions.GroupName, Kind: "ThirdPartyResourceData"} mappings, err := t.mapper.RESTMappings(extensionGK) if err != nil { @@ -192,11 +193,11 @@ func NewMapper(mapper meta.RESTMapper, kind, version, group string) meta.RESTMap type thirdPartyResourceDataCodecFactory struct { delegate runtime.NegotiatedSerializer kind string - encodeGV unversioned.GroupVersion - decodeGV unversioned.GroupVersion + encodeGV schema.GroupVersion + decodeGV schema.GroupVersion } -func NewNegotiatedSerializer(s runtime.NegotiatedSerializer, kind string, encodeGV, decodeGV unversioned.GroupVersion) runtime.NegotiatedSerializer { +func NewNegotiatedSerializer(s runtime.NegotiatedSerializer, kind string, encodeGV, decodeGV schema.GroupVersion) runtime.NegotiatedSerializer { return &thirdPartyResourceDataCodecFactory{ delegate: s, kind: kind, @@ -222,7 +223,7 @@ func (t *thirdPartyResourceDataCodecFactory) DecoderToVersion(s runtime.Decoder, return NewDecoder(t.delegate.DecoderToVersion(s, gv), t.kind) } -func NewCodec(delegate runtime.Codec, gvk unversioned.GroupVersionKind) runtime.Codec { +func NewCodec(delegate runtime.Codec, gvk schema.GroupVersionKind) runtime.Codec { return runtime.NewCodec(NewEncoder(delegate, gvk), NewDecoder(delegate, gvk.Kind)) } @@ -249,7 +250,7 @@ func parseObject(data []byte) (map[string]interface{}, error) { return mapObj, nil } -func (t *thirdPartyResourceDataDecoder) populate(data []byte) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (t *thirdPartyResourceDataDecoder) populate(data []byte) (runtime.Object, *schema.GroupVersionKind, error) { mapObj, err := parseObject(data) if err != nil { return nil, nil, err @@ -257,13 +258,13 @@ func (t *thirdPartyResourceDataDecoder) populate(data []byte) (runtime.Object, * return t.populateFromObject(mapObj, data) } -func (t *thirdPartyResourceDataDecoder) populateFromObject(mapObj map[string]interface{}, data []byte) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (t *thirdPartyResourceDataDecoder) populateFromObject(mapObj map[string]interface{}, data []byte) (runtime.Object, *schema.GroupVersionKind, error) { typeMeta := unversioned.TypeMeta{} if err := json.Unmarshal(data, &typeMeta); err != nil { return nil, nil, err } - gv, err := unversioned.ParseGroupVersion(typeMeta.APIVersion) + gv, err := schema.ParseGroupVersion(typeMeta.APIVersion) if err != nil { return nil, nil, err } @@ -310,8 +311,8 @@ func (t *thirdPartyResourceDataDecoder) populateResource(objIn *extensions.Third return nil } -func IsThirdPartyObject(rawData []byte, gvk *unversioned.GroupVersionKind) (isThirdParty bool, gvkOut *unversioned.GroupVersionKind, err error) { - var gv unversioned.GroupVersion +func IsThirdPartyObject(rawData []byte, gvk *schema.GroupVersionKind) (isThirdParty bool, gvkOut *schema.GroupVersionKind, err error) { + var gv schema.GroupVersion if gvk == nil { data, err := yaml.ToJSON(rawData) if err != nil { @@ -321,11 +322,11 @@ func IsThirdPartyObject(rawData []byte, gvk *unversioned.GroupVersionKind) (isTh if err = json.Unmarshal(data, &metadata); err != nil { return false, nil, err } - gv, err = unversioned.ParseGroupVersion(metadata.APIVersion) + gv, err = schema.ParseGroupVersion(metadata.APIVersion) if err != nil { return false, nil, err } - gvkOut = &unversioned.GroupVersionKind{ + gvkOut = &schema.GroupVersionKind{ Group: gv.Group, Version: gv.Version, Kind: metadata.Kind, @@ -337,7 +338,7 @@ func IsThirdPartyObject(rawData []byte, gvk *unversioned.GroupVersionKind) (isTh return registered.IsThirdPartyAPIGroupVersion(gv), gvkOut, nil } -func (t *thirdPartyResourceDataDecoder) Decode(data []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (t *thirdPartyResourceDataDecoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if into == nil { if gvk == nil || gvk.Kind != t.kind { if isThirdParty, _, err := IsThirdPartyObject(data, gvk); err != nil { @@ -385,7 +386,7 @@ func (t *thirdPartyResourceDataDecoder) Decode(data []byte, gvk *unversioned.Gro /*if gvk.Kind != "ThirdPartyResourceData" { return nil, nil, fmt.Errorf("unexpected kind: %s", gvk.Kind) }*/ - actual := &unversioned.GroupVersionKind{} + actual := &schema.GroupVersionKind{} if kindObj, found := mapObj["kind"]; !found { if gvk == nil { return nil, nil, runtime.NewMissingKindErr(string(data)) @@ -416,7 +417,7 @@ func (t *thirdPartyResourceDataDecoder) Decode(data []byte, gvk *unversioned.Gro if gvk != nil && versionStr != gvk.GroupVersion().String() { return nil, nil, fmt.Errorf("version doesn't match, expecting: %v, got %s", gvk.GroupVersion(), versionStr) } - gv, err := unversioned.ParseGroupVersion(versionStr) + gv, err := schema.ParseGroupVersion(versionStr) if err != nil { return nil, nil, err } @@ -457,10 +458,10 @@ func (t *thirdPartyResourceDataDecoder) populateListResource(objIn *extensions.T type thirdPartyResourceDataEncoder struct { delegate runtime.Encoder - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind } -func NewEncoder(delegate runtime.Encoder, gvk unversioned.GroupVersionKind) runtime.Encoder { +func NewEncoder(delegate runtime.Encoder, gvk schema.GroupVersionKind) runtime.Encoder { return &thirdPartyResourceDataEncoder{delegate: delegate, gvk: gvk} } @@ -554,7 +555,7 @@ type thirdPartyResourceDataCreator struct { delegate runtime.ObjectCreater } -func (t *thirdPartyResourceDataCreator) New(kind unversioned.GroupVersionKind) (out runtime.Object, err error) { +func (t *thirdPartyResourceDataCreator) New(kind schema.GroupVersionKind) (out runtime.Object, err error) { switch kind.Kind { case "ThirdPartyResourceData": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { @@ -587,10 +588,10 @@ type thirdPartyParameterCodec struct { delegate runtime.ParameterCodec } -func (t *thirdPartyParameterCodec) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into runtime.Object) error { +func (t *thirdPartyParameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into runtime.Object) error { return t.delegate.DecodeParameters(parameters, v1.SchemeGroupVersion, into) } -func (t *thirdPartyParameterCodec) EncodeParameters(obj runtime.Object, to unversioned.GroupVersion) (url.Values, error) { +func (t *thirdPartyParameterCodec) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) { return t.delegate.EncodeParameters(obj, v1.SchemeGroupVersion) } diff --git a/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go b/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go index 6e093f4c132..b9a15dd4aba 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch/versioned" ) @@ -41,8 +42,8 @@ type Foo struct { OtherField int `json:"otherField"` } -func (*Foo) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (*Foo) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } type FooList struct { @@ -121,10 +122,10 @@ func TestCodec(t *testing.T) { name: "labels", }, } - registered.AddThirdPartyAPIGroupVersions(unversioned.GroupVersion{Group: "company.com", Version: "v1"}) + registered.AddThirdPartyAPIGroupVersions(schema.GroupVersion{Group: "company.com", Version: "v1"}) for _, test := range tests { d := &thirdPartyResourceDataDecoder{kind: "Foo", delegate: testapi.Extensions.Codec()} - e := &thirdPartyResourceDataEncoder{gvk: unversioned.GroupVersionKind{ + e := &thirdPartyResourceDataEncoder{gvk: schema.GroupVersionKind{ Group: "company.com", Version: "v1", Kind: "Foo", @@ -193,25 +194,25 @@ func TestCreater(t *testing.T) { creater := NewObjectCreator("creater group", "creater version", api.Scheme) tests := []struct { name string - kind unversioned.GroupVersionKind + kind schema.GroupVersionKind expectedObj runtime.Object expectErr bool }{ { name: "valid ThirdPartyResourceData creation", - kind: unversioned.GroupVersionKind{Group: "creater group", Version: "creater version", Kind: "ThirdPartyResourceData"}, + kind: schema.GroupVersionKind{Group: "creater group", Version: "creater version", Kind: "ThirdPartyResourceData"}, expectedObj: &extensions.ThirdPartyResourceData{}, expectErr: false, }, { name: "invalid ThirdPartyResourceData creation", - kind: unversioned.GroupVersionKind{Version: "invalid version", Kind: "ThirdPartyResourceData"}, + kind: schema.GroupVersionKind{Version: "invalid version", Kind: "ThirdPartyResourceData"}, expectedObj: nil, expectErr: true, }, { name: "valid ListOptions creation", - kind: unversioned.GroupVersionKind{Version: "v1", Kind: "ListOptions"}, + kind: schema.GroupVersionKind{Version: "v1", Kind: "ListOptions"}, expectedObj: &v1.ListOptions{}, expectErr: false, }, @@ -232,7 +233,7 @@ func TestCreater(t *testing.T) { } func TestEncodeToStreamForInternalEvent(t *testing.T) { - e := &thirdPartyResourceDataEncoder{gvk: unversioned.GroupVersionKind{ + e := &thirdPartyResourceDataEncoder{gvk: schema.GroupVersionKind{ Group: "company.com", Version: "v1", Kind: "Foo", @@ -257,7 +258,7 @@ func TestEncodeToStreamForInternalEvent(t *testing.T) { } func TestThirdPartyResourceDataListEncoding(t *testing.T) { - gv := unversioned.GroupVersion{Group: "stable.foo.faz", Version: "v1"} + gv := schema.GroupVersion{Group: "stable.foo.faz", Version: "v1"} gvk := gv.WithKind("Bar") e := &thirdPartyResourceDataEncoder{delegate: testapi.Extensions.Codec(), gvk: gvk} subject := &extensions.ThirdPartyResourceDataList{} diff --git a/pkg/registry/extensions/thirdpartyresourcedata/util.go b/pkg/registry/extensions/thirdpartyresourcedata/util.go index d8e91b15727..b2b14d88e0d 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/util.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/util.go @@ -20,13 +20,13 @@ import ( "fmt" "strings" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/extensions" + "k8s.io/kubernetes/pkg/runtime/schema" ) -func ExtractGroupVersionKind(list *extensions.ThirdPartyResourceList) ([]unversioned.GroupVersion, []unversioned.GroupVersionKind, error) { - gvs := []unversioned.GroupVersion{} - gvks := []unversioned.GroupVersionKind{} +func ExtractGroupVersionKind(list *extensions.ThirdPartyResourceList) ([]schema.GroupVersion, []schema.GroupVersionKind, error) { + gvs := []schema.GroupVersion{} + gvks := []schema.GroupVersionKind{} for ix := range list.Items { rsrc := &list.Items[ix] kind, group, err := ExtractApiGroupAndKind(rsrc) @@ -34,9 +34,9 @@ func ExtractGroupVersionKind(list *extensions.ThirdPartyResourceList) ([]unversi return nil, nil, err } for _, version := range rsrc.Versions { - gv := unversioned.GroupVersion{Group: group, Version: version.Name} + gv := schema.GroupVersion{Group: group, Version: version.Name} gvs = append(gvs, gv) - gvks = append(gvks, unversioned.GroupVersionKind{Group: group, Version: version.Name, Kind: kind}) + gvks = append(gvks, schema.GroupVersionKind{Group: group, Version: version.Name, Kind: kind}) } } return gvs, gvks, nil diff --git a/pkg/registry/generic/registry/BUILD b/pkg/registry/generic/registry/BUILD index 616286722a1..94aec9dcede 100644 --- a/pkg/registry/generic/registry/BUILD +++ b/pkg/registry/generic/registry/BUILD @@ -31,6 +31,7 @@ go_library( "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd:go_default_library", "//pkg/storage/storagebackend:go_default_library", diff --git a/pkg/registry/generic/registry/store.go b/pkg/registry/generic/registry/store.go index 30094ee8b70..1986e705859 100644 --- a/pkg/registry/generic/registry/store.go +++ b/pkg/registry/generic/registry/store.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/validation/field" @@ -66,7 +67,7 @@ type Store struct { NewListFunc func() runtime.Object // Used for error reporting - QualifiedResource unversioned.GroupResource + QualifiedResource schema.GroupResource // Used for listing/watching; should not include trailing "/" KeyRootFunc func(ctx api.Context) string @@ -414,7 +415,7 @@ func (e *Store) Update(ctx api.Context, name string, objInfo rest.UpdatedObjectI // TODO: The Invalid error should has a field for Resource. // After that field is added, we should fill the Resource and // leave the Kind field empty. See the discussion in #18526. - qualifiedKind := unversioned.GroupKind{Group: e.QualifiedResource.Group, Kind: e.QualifiedResource.Resource} + qualifiedKind := schema.GroupKind{Group: e.QualifiedResource.Group, Kind: e.QualifiedResource.Resource} fieldErrList := field.ErrorList{field.Invalid(field.NewPath("metadata").Child("resourceVersion"), newVersion, "must be specified for an update")} return nil, nil, kubeerr.NewInvalid(qualifiedKind, name, fieldErrList) } diff --git a/pkg/registry/generic/rest/BUILD b/pkg/registry/generic/rest/BUILD index 70a40749f12..46f40083062 100644 --- a/pkg/registry/generic/rest/BUILD +++ b/pkg/registry/generic/rest/BUILD @@ -22,7 +22,7 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/api/unversioned:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/net:go_default_library", diff --git a/pkg/registry/generic/rest/response_checker.go b/pkg/registry/generic/rest/response_checker.go index c0be9d27f0f..fa707b26369 100644 --- a/pkg/registry/generic/rest/response_checker.go +++ b/pkg/registry/generic/rest/response_checker.go @@ -23,7 +23,7 @@ import ( "net/http" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Check the http error status from a location URL. @@ -40,7 +40,7 @@ const ( // A generic http response checker to transform the error. type GenericHttpResponseChecker struct { - QualifiedResource unversioned.GroupResource + QualifiedResource schema.GroupResource Name string } @@ -66,6 +66,6 @@ func (checker GenericHttpResponseChecker) Check(resp *http.Response) error { return nil } -func NewGenericHttpResponseChecker(qualifiedResource unversioned.GroupResource, name string) GenericHttpResponseChecker { +func NewGenericHttpResponseChecker(qualifiedResource schema.GroupResource, name string) GenericHttpResponseChecker { return GenericHttpResponseChecker{QualifiedResource: qualifiedResource, Name: name} } diff --git a/pkg/registry/generic/rest/streamer.go b/pkg/registry/generic/rest/streamer.go index 2f13f25d3a3..dd61e70d189 100644 --- a/pkg/registry/generic/rest/streamer.go +++ b/pkg/registry/generic/rest/streamer.go @@ -23,7 +23,7 @@ import ( "strings" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) // LocationStreamer is a resource that streams the contents of a particular @@ -39,8 +39,8 @@ type LocationStreamer struct { // a LocationStreamer must implement a rest.ResourceStreamer var _ rest.ResourceStreamer = &LocationStreamer{} -func (obj *LocationStreamer) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj *LocationStreamer) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } // InputStream returns a stream with the contents of the URL location. If no location is provided, diff --git a/pkg/runtime/BUILD b/pkg/runtime/BUILD index c3bc3018bad..9df2361a4dc 100644 --- a/pkg/runtime/BUILD +++ b/pkg/runtime/BUILD @@ -38,6 +38,7 @@ go_library( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/conversion/queryparams:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util/errors:go_default_library", "//pkg/util/json:go_default_library", @@ -77,6 +78,7 @@ go_test( "//pkg/apis/extensions:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/types:go_default_library", "//pkg/util/diff:go_default_library", diff --git a/pkg/runtime/codec.go b/pkg/runtime/codec.go index 345dabce4fd..02cca0a5782 100644 --- a/pkg/runtime/codec.go +++ b/pkg/runtime/codec.go @@ -24,8 +24,8 @@ import ( "net/url" "reflect" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion/queryparams" + "k8s.io/kubernetes/pkg/runtime/schema" ) // codec binds an encoder and decoder. @@ -85,7 +85,7 @@ type DefaultingSerializer struct { } // Decode performs a decode and then allows the defaulter to act on the provided object. -func (d DefaultingSerializer) Decode(data []byte, defaultGVK *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) { +func (d DefaultingSerializer) Decode(data []byte, defaultGVK *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { obj, gvk, err := d.Decoder.Decode(data, defaultGVK, into) if err != nil { return obj, gvk, err @@ -96,7 +96,7 @@ func (d DefaultingSerializer) Decode(data []byte, defaultGVK *unversioned.GroupV // UseOrCreateObject returns obj if the canonical ObjectKind returned by the provided typer matches gvk, or // invokes the ObjectCreator to instantiate a new gvk. Returns an error if the typer cannot find the object. -func UseOrCreateObject(t ObjectTyper, c ObjectCreater, gvk unversioned.GroupVersionKind, obj Object) (Object, error) { +func UseOrCreateObject(t ObjectTyper, c ObjectCreater, gvk schema.GroupVersionKind, obj Object) (Object, error) { if obj != nil { kinds, _, err := t.ObjectKinds(obj) if err != nil { @@ -129,7 +129,7 @@ type NoopDecoder struct { var _ Serializer = NoopDecoder{} -func (n NoopDecoder) Decode(data []byte, gvk *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) { +func (n NoopDecoder) Decode(data []byte, gvk *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { return nil, nil, fmt.Errorf("decoding is not allowed for this codec: %v", reflect.TypeOf(n.Encoder)) } @@ -153,7 +153,7 @@ var _ ParameterCodec = ¶meterCodec{} // DecodeParameters converts the provided url.Values into an object of type From with the kind of into, and then // converts that object to into (if necessary). Returns an error if the operation cannot be completed. -func (c *parameterCodec) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into Object) error { +func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error { if len(parameters) == 0 { return nil } @@ -177,7 +177,7 @@ func (c *parameterCodec) DecodeParameters(parameters url.Values, from unversione // EncodeParameters converts the provided object into the to version, then converts that object to url.Values. // Returns an error if conversion is not possible. -func (c *parameterCodec) EncodeParameters(obj Object, to unversioned.GroupVersion) (url.Values, error) { +func (c *parameterCodec) EncodeParameters(obj Object, to schema.GroupVersion) (url.Values, error) { gvks, _, err := c.typer.ObjectKinds(obj) if err != nil { return nil, err @@ -208,7 +208,7 @@ func (s base64Serializer) Encode(obj Object, stream io.Writer) error { return err } -func (s base64Serializer) Decode(data []byte, defaults *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) { +func (s base64Serializer) Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { out := make([]byte, base64.StdEncoding.DecodedLen(len(data))) n, err := base64.StdEncoding.Decode(out, data) if err != nil { @@ -243,30 +243,30 @@ var ( type internalGroupVersioner struct{} // KindForGroupVersionKinds returns an internal Kind if one is found, or converts the first provided kind to the internal version. -func (internalGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (internalGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { for _, kind := range kinds { if kind.Version == APIVersionInternal { return kind, true } } for _, kind := range kinds { - return unversioned.GroupVersionKind{Group: kind.Group, Version: APIVersionInternal, Kind: kind.Kind}, true + return schema.GroupVersionKind{Group: kind.Group, Version: APIVersionInternal, Kind: kind.Kind}, true } - return unversioned.GroupVersionKind{}, false + return schema.GroupVersionKind{}, false } type disabledGroupVersioner struct{} // KindForGroupVersionKinds returns false for any input. -func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { - return unversioned.GroupVersionKind{}, false +func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + return schema.GroupVersionKind{}, false } // GroupVersioners implements GroupVersioner and resolves to the first exact match for any kind. type GroupVersioners []GroupVersioner // KindForGroupVersionKinds returns the first match of any of the group versioners, or false if no match occured. -func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { for _, gv := range gvs { target, ok := gv.KindForGroupVersionKinds(kinds) if !ok { @@ -274,22 +274,22 @@ func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []unversioned.GroupVer } return target, true } - return unversioned.GroupVersionKind{}, false + return schema.GroupVersionKind{}, false } -// Assert that unversioned.GroupVersion and GroupVersions implement GroupVersioner -var _ GroupVersioner = unversioned.GroupVersion{} -var _ GroupVersioner = unversioned.GroupVersions{} +// Assert that schema.GroupVersion and GroupVersions implement GroupVersioner +var _ GroupVersioner = schema.GroupVersion{} +var _ GroupVersioner = schema.GroupVersions{} var _ GroupVersioner = multiGroupVersioner{} type multiGroupVersioner struct { - target unversioned.GroupVersion - acceptedGroupKinds []unversioned.GroupKind + target schema.GroupVersion + acceptedGroupKinds []schema.GroupKind } // NewMultiGroupVersioner returns the provided group version for any kind that matches one of the provided group kinds. // Kind may be empty in the provided group kind, in which case any kind will match. -func NewMultiGroupVersioner(gv unversioned.GroupVersion, groupKinds ...unversioned.GroupKind) GroupVersioner { +func NewMultiGroupVersioner(gv schema.GroupVersion, groupKinds ...schema.GroupKind) GroupVersioner { if len(groupKinds) == 0 || (len(groupKinds) == 1 && groupKinds[0].Group == gv.Group) { return gv } @@ -298,7 +298,7 @@ func NewMultiGroupVersioner(gv unversioned.GroupVersion, groupKinds ...unversion // KindForGroupVersionKinds returns the target group version if any kind matches any of the original group kinds. It will // use the originating kind where possible. -func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { for _, src := range kinds { for _, kind := range v.acceptedGroupKinds { if kind.Group != src.Group { @@ -310,5 +310,5 @@ func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupV return v.target.WithKind(src.Kind), true } } - return unversioned.GroupVersionKind{}, false + return schema.GroupVersionKind{}, false } diff --git a/pkg/runtime/codec_check.go b/pkg/runtime/codec_check.go index b0126963d36..94df00ccf47 100644 --- a/pkg/runtime/codec_check.go +++ b/pkg/runtime/codec_check.go @@ -20,14 +20,14 @@ import ( "fmt" "reflect" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) // CheckCodec makes sure that the codec can encode objects like internalType, // decode all of the external types listed, and also decode them into the given // object. (Will modify internalObject.) (Assumes JSON serialization.) // TODO: verify that the correct external version is chosen on encode... -func CheckCodec(c Codec, internalType Object, externalTypes ...unversioned.GroupVersionKind) error { +func CheckCodec(c Codec, internalType Object, externalTypes ...schema.GroupVersionKind) error { _, err := Encode(c, internalType) if err != nil { return fmt.Errorf("Internal type not encodable: %v", err) diff --git a/pkg/runtime/conversion_test.go b/pkg/runtime/conversion_test.go index 9c2e7f9f81a..f2b92dcef90 100644 --- a/pkg/runtime/conversion_test.go +++ b/pkg/runtime/conversion_test.go @@ -20,8 +20,8 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type InternalComplex struct { @@ -42,12 +42,12 @@ type ExternalComplex struct { Bool bool `json:"bool"` } -func (obj *InternalComplex) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ExternalComplex) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *InternalComplex) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalComplex) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } func TestStringMapConversion(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "external"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "external"} scheme := runtime.NewScheme() scheme.Log(t) diff --git a/pkg/runtime/embedded.go b/pkg/runtime/embedded.go index eb1f573db6f..d091359546e 100644 --- a/pkg/runtime/embedded.go +++ b/pkg/runtime/embedded.go @@ -19,21 +19,21 @@ package runtime import ( "errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" + "k8s.io/kubernetes/pkg/runtime/schema" ) type encodable struct { E Encoder `json:"-"` obj Object - versions []unversioned.GroupVersion + versions []schema.GroupVersion } -func (e encodable) GetObjectKind() unversioned.ObjectKind { return e.obj.GetObjectKind() } +func (e encodable) GetObjectKind() schema.ObjectKind { return e.obj.GetObjectKind() } // NewEncodable creates an object that will be encoded with the provided codec on demand. // Provided as a convenience for test cases dealing with internal objects. -func NewEncodable(e Encoder, obj Object, versions ...unversioned.GroupVersion) Object { +func NewEncodable(e Encoder, obj Object, versions ...schema.GroupVersion) Object { if _, ok := obj.(*Unknown); ok { return obj } @@ -52,7 +52,7 @@ func (re encodable) MarshalJSON() ([]byte, error) { // NewEncodableList creates an object that will be encoded with the provided codec on demand. // Provided as a convenience for test cases dealing with internal objects. -func NewEncodableList(e Encoder, objects []Object, versions ...unversioned.GroupVersion) []Object { +func NewEncodableList(e Encoder, objects []Object, versions ...schema.GroupVersion) []Object { out := make([]Object, len(objects)) for i := range objects { if _, ok := objects[i].(*Unknown); ok { diff --git a/pkg/runtime/embedded_test.go b/pkg/runtime/embedded_test.go index 0600d6b8c5a..f9c9bbc883b 100644 --- a/pkg/runtime/embedded_test.go +++ b/pkg/runtime/embedded_test.go @@ -23,8 +23,8 @@ import ( "testing" "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/util/diff" ) @@ -57,14 +57,14 @@ type ObjectTestExternal struct { Items []runtime.RawExtension `json:"items,omitempty"` } -func (obj *ObjectTest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ObjectTestExternal) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *EmbeddedTest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *EmbeddedTestExternal) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *ObjectTest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ObjectTestExternal) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *EmbeddedTest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *EmbeddedTestExternal) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } func TestDecodeEmptyRawExtensionAsObject(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "v1test"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} externalGVK := externalGV.WithKind("ObjectTest") s := runtime.NewScheme() @@ -99,8 +99,8 @@ func TestDecodeEmptyRawExtensionAsObject(t *testing.T) { } func TestArrayOfRuntimeObject(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "v1test"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} s := runtime.NewScheme() s.AddKnownTypes(internalGV, &EmbeddedTest{}) @@ -174,8 +174,8 @@ func TestArrayOfRuntimeObject(t *testing.T) { } func TestNestedObject(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "v1test"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} embeddedTestExternalGVK := externalGV.WithKind("EmbeddedTest") s := runtime.NewScheme() @@ -250,8 +250,8 @@ func TestNestedObject(t *testing.T) { // TestDeepCopyOfRuntimeObject checks to make sure that runtime.Objects's can be passed through DeepCopy with fidelity func TestDeepCopyOfRuntimeObject(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "v1test"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} embeddedTestExternalGVK := externalGV.WithKind("EmbeddedTest") s := runtime.NewScheme() diff --git a/pkg/runtime/error.go b/pkg/runtime/error.go index 2a1262c5682..b03282ccbbb 100644 --- a/pkg/runtime/error.go +++ b/pkg/runtime/error.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) type notRegisteredErr struct { - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind t reflect.Type } // NewNotRegisteredErr is exposed for testing. -func NewNotRegisteredErr(gvk unversioned.GroupVersionKind, t reflect.Type) error { +func NewNotRegisteredErr(gvk schema.GroupVersionKind, t reflect.Type) error { return ¬RegisteredErr{gvk: gvk, t: t} } diff --git a/pkg/runtime/helper.go b/pkg/runtime/helper.go index 2f8f161dde9..af7cda0634e 100644 --- a/pkg/runtime/helper.go +++ b/pkg/runtime/helper.go @@ -21,8 +21,8 @@ import ( "io" "reflect" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/errors" ) @@ -173,7 +173,7 @@ type MultiObjectTyper []ObjectTyper var _ ObjectTyper = MultiObjectTyper{} -func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []unversioned.GroupVersionKind, unversionedType bool, err error) { +func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []schema.GroupVersionKind, unversionedType bool, err error) { for _, t := range m { gvks, unversionedType, err = t.ObjectKinds(obj) if err == nil { @@ -183,7 +183,7 @@ func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []unversioned.GroupVersi return } -func (m MultiObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (m MultiObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { for _, t := range m { if t.Recognizes(gvk) { return true diff --git a/pkg/runtime/interfaces.go b/pkg/runtime/interfaces.go index e3f03c399e5..6edbb2b30a9 100644 --- a/pkg/runtime/interfaces.go +++ b/pkg/runtime/interfaces.go @@ -20,7 +20,7 @@ import ( "io" "net/url" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) const ( @@ -36,7 +36,7 @@ type GroupVersioner interface { // target is known. In general, if the return target is not in the input list, the caller is expected to invoke // Scheme.New(target) and then perform a conversion between the current Go type and the destination Go type. // Sophisticated implementations may use additional information about the input kinds to pick a destination kind. - KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (target unversioned.GroupVersionKind, ok bool) + KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (target schema.GroupVersionKind, ok bool) } // Encoders write objects to a serialized form @@ -55,7 +55,7 @@ type Decoder interface { // guaranteed to be populated. The returned object is not guaranteed to match into. If defaults are // provided, they are applied to the data by default. If no defaults or partial defaults are provided, the // type of the into may be used to guide conversion decisions. - Decode(data []byte, defaults *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) + Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) } // Serializer is the core interface for transforming objects into a serialized format and back. @@ -76,9 +76,9 @@ type Codec Serializer type ParameterCodec interface { // DecodeParameters takes the given url.Values in the specified group version and decodes them // into the provided object, or returns an error. - DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into Object) error + DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error // EncodeParameters encodes the provided object as query parameters or returns an error. - EncodeParameters(obj Object, to unversioned.GroupVersion) (url.Values, error) + EncodeParameters(obj Object, to schema.GroupVersion) (url.Values, error) } // Framer is a factory for creating readers and writers that obey a particular framing pattern. @@ -191,16 +191,16 @@ type ObjectTyper interface { // ObjectKinds returns the all possible group,version,kind of the provided object, true if // the object is unversioned, or an error if the object is not recognized // (IsNotRegisteredError will return true). - ObjectKinds(Object) ([]unversioned.GroupVersionKind, bool, error) + ObjectKinds(Object) ([]schema.GroupVersionKind, bool, error) // Recognizes returns true if the scheme is able to handle the provided version and kind, // or more precisely that the provided version is a possible conversion or decoding // target. - Recognizes(gvk unversioned.GroupVersionKind) bool + Recognizes(gvk schema.GroupVersionKind) bool } // ObjectCreater contains methods for instantiating an object by kind and version. type ObjectCreater interface { - New(kind unversioned.GroupVersionKind) (out Object, err error) + New(kind schema.GroupVersionKind) (out Object, err error) } // ObjectCopier duplicates an object. @@ -233,5 +233,5 @@ type SelfLinker interface { // serializers to set the kind, version, and group the object is represented as. An Object may choose // to return a no-op ObjectKindAccessor in cases where it is not expected to be serialized. type Object interface { - GetObjectKind() unversioned.ObjectKind + GetObjectKind() schema.ObjectKind } diff --git a/pkg/runtime/register.go b/pkg/runtime/register.go index 39a1eb14b8e..f5ea0118478 100644 --- a/pkg/runtime/register.go +++ b/pkg/runtime/register.go @@ -16,32 +16,30 @@ limitations under the License. package runtime -import ( - "k8s.io/kubernetes/pkg/api/unversioned" -) +import "k8s.io/kubernetes/pkg/runtime/schema" // SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *TypeMeta) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } // GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *TypeMeta) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *Unknown) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Unknown) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } -func (obj *Unstructured) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *UnstructuredList) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *Unstructured) GetObjectKind() schema.ObjectKind { return obj } +func (obj *UnstructuredList) GetObjectKind() schema.ObjectKind { return obj } // GetObjectKind implements Object for VersionedObjects, returning an empty ObjectKind // interface if no objects are provided, or the ObjectKind interface of the object in the // highest array position. -func (obj *VersionedObjects) GetObjectKind() unversioned.ObjectKind { +func (obj *VersionedObjects) GetObjectKind() schema.ObjectKind { last := obj.Last() if last == nil { - return unversioned.EmptyObjectKind + return schema.EmptyObjectKind } return last.GetObjectKind() } diff --git a/pkg/runtime/schema/BUILD b/pkg/runtime/schema/BUILD new file mode 100644 index 00000000000..0f30514b8cb --- /dev/null +++ b/pkg/runtime/schema/BUILD @@ -0,0 +1,30 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_binary", + "go_library", + "go_test", + "cgo_library", +) + +go_library( + name = "go_default_library", + srcs = [ + "generated.pb.go", + "group_version.go", + "interfaces.go", + ], + tags = ["automanaged"], + deps = ["//vendor:github.com/gogo/protobuf/proto"], +) + +go_test( + name = "go_default_test", + srcs = ["group_version_test.go"], + library = "go_default_library", + tags = ["automanaged"], + deps = [], +) diff --git a/pkg/runtime/scheme.go b/pkg/runtime/scheme.go index 0b42feae420..1650b76be5f 100644 --- a/pkg/runtime/scheme.go +++ b/pkg/runtime/scheme.go @@ -21,8 +21,8 @@ import ( "net/url" "reflect" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Scheme defines methods for serializing and deserializing API objects, a type @@ -43,14 +43,14 @@ import ( type Scheme struct { // versionMap allows one to figure out the go type of an object with // the given version and name. - gvkToType map[unversioned.GroupVersionKind]reflect.Type + gvkToType map[schema.GroupVersionKind]reflect.Type // typeToGroupVersion allows one to find metadata for a given go object. // The reflect.Type we index by should *not* be a pointer. - typeToGVK map[reflect.Type][]unversioned.GroupVersionKind + typeToGVK map[reflect.Type][]schema.GroupVersionKind // unversionedTypes are transformed without conversion in ConvertToVersion. - unversionedTypes map[reflect.Type]unversioned.GroupVersionKind + unversionedTypes map[reflect.Type]schema.GroupVersionKind // unversionedKinds are the names of kinds that can be created in the context of any group // or version @@ -80,9 +80,9 @@ type FieldLabelConversionFunc func(label, value string) (internalLabel, internal // NewScheme creates a new Scheme. This scheme is pluggable by default. func NewScheme() *Scheme { s := &Scheme{ - gvkToType: map[unversioned.GroupVersionKind]reflect.Type{}, - typeToGVK: map[reflect.Type][]unversioned.GroupVersionKind{}, - unversionedTypes: map[reflect.Type]unversioned.GroupVersionKind{}, + gvkToType: map[schema.GroupVersionKind]reflect.Type{}, + typeToGVK: map[reflect.Type][]schema.GroupVersionKind{}, + unversionedTypes: map[reflect.Type]schema.GroupVersionKind{}, unversionedKinds: map[string]reflect.Type{}, cloner: conversion.NewCloner(), fieldLabelConversionFuncs: map[string]map[string]FieldLabelConversionFunc{}, @@ -145,7 +145,7 @@ func (s *Scheme) Converter() *conversion.Converter { // // TODO: there is discussion about removing unversioned and replacing it with objects that are manifest into // every version with particular schemas. Resolve this method at that point. -func (s *Scheme) AddUnversionedTypes(version unversioned.GroupVersion, types ...Object) { +func (s *Scheme) AddUnversionedTypes(version schema.GroupVersion, types ...Object) { s.AddKnownTypes(version, types...) for _, obj := range types { t := reflect.TypeOf(obj).Elem() @@ -162,7 +162,7 @@ func (s *Scheme) AddUnversionedTypes(version unversioned.GroupVersion, types ... // All objects passed to types should be pointers to structs. The name that go reports for // the struct becomes the "kind" field when encoding. Version may not be empty - use the // APIVersionInternal constant if you have a type that does not have a formal version. -func (s *Scheme) AddKnownTypes(gv unversioned.GroupVersion, types ...Object) { +func (s *Scheme) AddKnownTypes(gv schema.GroupVersion, types ...Object) { if len(gv.Version) == 0 { panic(fmt.Sprintf("version is required on all types: %s %v", gv, types[0])) } @@ -186,7 +186,7 @@ func (s *Scheme) AddKnownTypes(gv unversioned.GroupVersion, types ...Object) { // be encoded as. Useful for testing when you don't want to make multiple packages to define // your structs. Version may not be empty - use the APIVersionInternal constant if you have a // type that does not have a formal version. -func (s *Scheme) AddKnownTypeWithName(gvk unversioned.GroupVersionKind, obj Object) { +func (s *Scheme) AddKnownTypeWithName(gvk schema.GroupVersionKind, obj Object) { t := reflect.TypeOf(obj) if len(gvk.Version) == 0 { panic(fmt.Sprintf("version is required on all types: %s %v", gvk, t)) @@ -204,7 +204,7 @@ func (s *Scheme) AddKnownTypeWithName(gvk unversioned.GroupVersionKind, obj Obje } // KnownTypes returns the types known for the given version. -func (s *Scheme) KnownTypes(gv unversioned.GroupVersion) map[string]reflect.Type { +func (s *Scheme) KnownTypes(gv schema.GroupVersion) map[string]reflect.Type { types := make(map[string]reflect.Type) for gvk, t := range s.gvkToType { if gv != gvk.GroupVersion() { @@ -217,23 +217,23 @@ func (s *Scheme) KnownTypes(gv unversioned.GroupVersion) map[string]reflect.Type } // AllKnownTypes returns the all known types. -func (s *Scheme) AllKnownTypes() map[unversioned.GroupVersionKind]reflect.Type { +func (s *Scheme) AllKnownTypes() map[schema.GroupVersionKind]reflect.Type { return s.gvkToType } // ObjectKind returns the group,version,kind of the go object and true if this object // is considered unversioned, or an error if it's not a pointer or is unregistered. -func (s *Scheme) ObjectKind(obj Object) (unversioned.GroupVersionKind, bool, error) { +func (s *Scheme) ObjectKind(obj Object) (schema.GroupVersionKind, bool, error) { gvks, unversionedType, err := s.ObjectKinds(obj) if err != nil { - return unversioned.GroupVersionKind{}, false, err + return schema.GroupVersionKind{}, false, err } return gvks[0], unversionedType, nil } // ObjectKinds returns all possible group,version,kind of the go object, true if the // object is considered unversioned, or an error if it's not a pointer or is unregistered. -func (s *Scheme) ObjectKinds(obj Object) ([]unversioned.GroupVersionKind, bool, error) { +func (s *Scheme) ObjectKinds(obj Object) ([]schema.GroupVersionKind, bool, error) { v, err := conversion.EnforcePtr(obj) if err != nil { return nil, false, err @@ -242,7 +242,7 @@ func (s *Scheme) ObjectKinds(obj Object) ([]unversioned.GroupVersionKind, bool, gvks, ok := s.typeToGVK[t] if !ok { - return nil, false, NewNotRegisteredErr(unversioned.GroupVersionKind{}, t) + return nil, false, NewNotRegisteredErr(schema.GroupVersionKind{}, t) } _, unversionedType := s.unversionedTypes[t] @@ -251,7 +251,7 @@ func (s *Scheme) ObjectKinds(obj Object) ([]unversioned.GroupVersionKind, bool, // Recognizes returns true if the scheme is able to handle the provided group,version,kind // of an object. -func (s *Scheme) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (s *Scheme) Recognizes(gvk schema.GroupVersionKind) bool { _, exists := s.gvkToType[gvk] return exists } @@ -272,7 +272,7 @@ func (s *Scheme) IsUnversioned(obj Object) (bool, bool) { // New returns a new API object of the given version and name, or an error if it hasn't // been registered. The version and kind fields must be specified. -func (s *Scheme) New(kind unversioned.GroupVersionKind) (Object, error) { +func (s *Scheme) New(kind schema.GroupVersionKind) (Object, error) { if t, exists := s.gvkToType[kind]; exists { return reflect.New(t).Interface().(Object), nil } @@ -514,7 +514,7 @@ func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) ( } kinds, ok := s.typeToGVK[t] if !ok || len(kinds) == 0 { - return nil, NewNotRegisteredErr(unversioned.GroupVersionKind{}, t) + return nil, NewNotRegisteredErr(schema.GroupVersionKind{}, t) } gvk, ok := target.KindForGroupVersionKinds(kinds) @@ -522,7 +522,7 @@ func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) ( // try to see if this type is listed as unversioned (for legacy support) // TODO: when we move to server API versions, we should completely remove the unversioned concept if unversionedKind, ok := s.unversionedTypes[t]; ok { - if gvk, ok := target.KindForGroupVersionKinds([]unversioned.GroupVersionKind{unversionedKind}); ok { + if gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{unversionedKind}); ok { return copyAndSetTargetKind(copy, s, in, gvk) } return copyAndSetTargetKind(copy, s, in, unversionedKind) @@ -541,7 +541,7 @@ func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) ( // type is unversioned, no conversion necessary if unversionedKind, ok := s.unversionedTypes[t]; ok { - if gvk, ok := target.KindForGroupVersionKinds([]unversioned.GroupVersionKind{unversionedKind}); ok { + if gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{unversionedKind}); ok { return copyAndSetTargetKind(copy, s, in, gvk) } return copyAndSetTargetKind(copy, s, in, unversionedKind) @@ -576,7 +576,7 @@ func (s *Scheme) generateConvertMeta(in interface{}) (conversion.FieldMatchingFl } // copyAndSetTargetKind performs a conditional copy before returning the object, or an error if copy was not successful. -func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind unversioned.GroupVersionKind) (Object, error) { +func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind schema.GroupVersionKind) (Object, error) { if copy { copied, err := copier.Copy(obj) if err != nil { @@ -589,11 +589,11 @@ func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind unver } // setTargetKind sets the kind on an object, taking into account whether the target kind is the internal version. -func setTargetKind(obj Object, kind unversioned.GroupVersionKind) { +func setTargetKind(obj Object, kind schema.GroupVersionKind) { if kind.Version == APIVersionInternal { // internal is a special case // TODO: look at removing the need to special case this - obj.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + obj.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) return } obj.GetObjectKind().SetGroupVersionKind(kind) diff --git a/pkg/runtime/scheme_test.go b/pkg/runtime/scheme_test.go index b51a8aff287..c505cce21fc 100644 --- a/pkg/runtime/scheme_test.go +++ b/pkg/runtime/scheme_test.go @@ -24,9 +24,9 @@ import ( "github.com/google/gofuzz" flag "github.com/spf13/pflag" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/util/diff" ) @@ -43,12 +43,12 @@ type ExternalSimple struct { TestString string `json:"testString"` } -func (obj *InternalSimple) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ExternalSimple) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *InternalSimple) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalSimple) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } func TestScheme(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "testExternal"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} scheme := runtime.NewScheme() scheme.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) @@ -198,16 +198,16 @@ type InternalOptionalExtensionType struct { Extension runtime.Object `json:"extension,omitempty"` } -func (obj *ExtensionA) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ExtensionB) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ExternalExtensionType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *InternalExtensionType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ExternalOptionalExtensionType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *InternalOptionalExtensionType) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *ExtensionA) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExtensionB) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *InternalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalOptionalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *InternalOptionalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } func TestExternalToInternalMapping(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "testExternal"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} scheme := runtime.NewScheme() scheme.AddKnownTypeWithName(internalGV.WithKind("OptionalExtensionType"), &InternalOptionalExtensionType{}) @@ -236,8 +236,8 @@ func TestExternalToInternalMapping(t *testing.T) { } func TestExtensionMapping(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "testExternal"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} scheme := runtime.NewScheme() scheme.AddKnownTypeWithName(internalGV.WithKind("ExtensionType"), &InternalExtensionType{}) @@ -311,8 +311,8 @@ func TestExtensionMapping(t *testing.T) { } func TestEncode(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "testExternal"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} scheme := runtime.NewScheme() scheme.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) @@ -335,15 +335,15 @@ func TestEncode(t *testing.T) { if !reflect.DeepEqual(obj2, test) { t.Errorf("Expected:\n %#v,\n Got:\n %#v", test, obj2) } - if !reflect.DeepEqual(gvk, &unversioned.GroupVersionKind{Group: "test.group", Version: "testExternal", Kind: "Simple"}) { + if !reflect.DeepEqual(gvk, &schema.GroupVersionKind{Group: "test.group", Version: "testExternal", Kind: "Simple"}) { t.Errorf("unexpected gvk returned by decode: %#v", gvk) } } func TestUnversionedTypes(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "testExternal"} - otherGV := unversioned.GroupVersion{Group: "group", Version: "other"} + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} + otherGV := schema.GroupVersion{Group: "group", Version: "other"} scheme := runtime.NewScheme() scheme.AddUnversionedTypes(externalGV, &InternalSimple{}) @@ -385,7 +385,7 @@ func TestUnversionedTypes(t *testing.T) { t.Errorf("Expected:\n %#v,\n Got:\n %#v", test, obj2) } // object is serialized as an unversioned object (in the group and version it was defined in) - if !reflect.DeepEqual(gvk, &unversioned.GroupVersionKind{Group: "test.group", Version: "testExternal", Kind: "InternalSimple"}) { + if !reflect.DeepEqual(gvk, &schema.GroupVersionKind{Group: "test.group", Version: "testExternal", Kind: "InternalSimple"}) { t.Errorf("unexpected gvk returned by decode: %#v", gvk) } @@ -473,29 +473,29 @@ type UnknownType struct { A string `json:"A,omitempty"` } -func (obj *MyWeirdCustomEmbeddedVersionKindField) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *MyWeirdCustomEmbeddedVersionKindField) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *MyWeirdCustomEmbeddedVersionKindField) GetObjectKind() schema.ObjectKind { return obj } +func (obj *MyWeirdCustomEmbeddedVersionKindField) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.ObjectKind = gvk.ToAPIVersionAndKind() } -func (obj *MyWeirdCustomEmbeddedVersionKindField) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.ObjectKind) +func (obj *MyWeirdCustomEmbeddedVersionKindField) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.ObjectKind) } -func (obj *ExternalInternalSame) GetObjectKind() unversioned.ObjectKind { +func (obj *ExternalInternalSame) GetObjectKind() schema.ObjectKind { return &obj.MyWeirdCustomEmbeddedVersionKindField } -func (obj *TestType1) GetObjectKind() unversioned.ObjectKind { +func (obj *TestType1) GetObjectKind() schema.ObjectKind { return &obj.MyWeirdCustomEmbeddedVersionKindField } -func (obj *ExternalTestType1) GetObjectKind() unversioned.ObjectKind { +func (obj *ExternalTestType1) GetObjectKind() schema.ObjectKind { return &obj.MyWeirdCustomEmbeddedVersionKindField } -func (obj *TestType2) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } -func (obj *ExternalTestType2) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj *TestType2) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (obj *ExternalTestType2) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } // TestObjectFuzzer can randomly populate all the above objects. @@ -511,10 +511,10 @@ var TestObjectFuzzer = fuzz.New().NilChance(.5).NumElements(1, 100).Funcs( // Returns a new Scheme set up with the test objects. func GetTestScheme() *runtime.Scheme { - internalGV := unversioned.GroupVersion{Version: "__internal"} - externalGV := unversioned.GroupVersion{Version: "v1"} - alternateExternalGV := unversioned.GroupVersion{Group: "custom", Version: "v1"} - differentExternalGV := unversioned.GroupVersion{Group: "other", Version: "v2"} + internalGV := schema.GroupVersion{Version: "__internal"} + externalGV := schema.GroupVersion{Version: "v1"} + alternateExternalGV := schema.GroupVersion{Group: "custom", Version: "v1"} + differentExternalGV := schema.GroupVersion{Group: "other", Version: "v2"} s := runtime.NewScheme() // Ordinarily, we wouldn't add TestType2, but because this is a test and @@ -536,11 +536,11 @@ func GetTestScheme() *runtime.Scheme { func TestKnownTypes(t *testing.T) { s := GetTestScheme() - if len(s.KnownTypes(unversioned.GroupVersion{Group: "group", Version: "v2"})) != 0 { + if len(s.KnownTypes(schema.GroupVersion{Group: "group", Version: "v2"})) != 0 { t.Errorf("should have no known types for v2") } - types := s.KnownTypes(unversioned.GroupVersion{Version: "v1"}) + types := s.KnownTypes(schema.GroupVersion{Version: "v1"}) for _, s := range []string{"TestType1", "TestType2", "TestType3", "ExternalInternalSame"} { if _, ok := types[s]; !ok { t.Errorf("missing type %q", s) @@ -551,7 +551,7 @@ func TestKnownTypes(t *testing.T) { func TestConvertToVersionBasic(t *testing.T) { s := GetTestScheme() tt := &TestType1{A: "I'm not a pointer object"} - other, err := s.ConvertToVersion(tt, unversioned.GroupVersion{Version: "v1"}) + other, err := s.ConvertToVersion(tt, schema.GroupVersion{Version: "v1"}) if err != nil { t.Fatalf("Failure: %v", err) } @@ -565,11 +565,11 @@ func TestConvertToVersionBasic(t *testing.T) { } type testGroupVersioner struct { - target unversioned.GroupVersionKind + target schema.GroupVersionKind ok bool } -func (m testGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (m testGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { return m.target, m.ok } @@ -601,14 +601,14 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: unversioned.GroupVersion{Version: "__internal"}, + gv: schema.GroupVersion{Version: "__internal"}, out: &TestType1{A: "test"}, }, // prefers the best match { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: unversioned.GroupVersions{{Version: "__internal"}, {Version: "v1"}}, + gv: schema.GroupVersions{{Version: "__internal"}, {Version: "v1"}}, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, A: "test", @@ -618,7 +618,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &UnversionedType{A: "test"}, - gv: unversioned.GroupVersions{{Version: "v1"}}, + gv: schema.GroupVersions{{Version: "v1"}}, same: true, out: &UnversionedType{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "UnversionedType"}, @@ -629,7 +629,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &UnversionedType{A: "test"}, - gv: unversioned.GroupVersions{{Group: "other", Version: "v2"}}, + gv: schema.GroupVersions{{Group: "other", Version: "v2"}}, same: true, out: &UnversionedType{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "UnversionedType"}, @@ -640,7 +640,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: unversioned.GroupVersions{{Version: "v1"}}, + gv: schema.GroupVersions{{Version: "v1"}}, same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, @@ -651,7 +651,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: unversioned.GroupVersions{{Version: "v1"}, {Version: "__internal"}}, + gv: schema.GroupVersions{{Version: "v1"}, {Version: "__internal"}}, same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, @@ -662,7 +662,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: unversioned.GroupVersions{{Version: "v1"}, {Version: "__internal"}}, + gv: schema.GroupVersions{{Version: "v1"}, {Version: "__internal"}}, same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, @@ -673,7 +673,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: testGroupVersioner{ok: true, target: unversioned.GroupVersionKind{Kind: "TestType3", Version: "v1"}}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Kind: "TestType3", Version: "v1"}}, same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType3"}, @@ -684,7 +684,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: testGroupVersioner{ok: true, target: unversioned.GroupVersionKind{Kind: "TestType3", Group: "custom", Version: "v1"}}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Kind: "TestType3", Group: "custom", Version: "v1"}}, same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "custom/v1", ObjectKind: "TestType3"}, @@ -695,7 +695,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: testGroupVersioner{ok: true, target: unversioned.GroupVersionKind{Group: "custom", Version: "v1", Kind: "TestType5"}}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Group: "custom", Version: "v1", Kind: "TestType5"}}, same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "custom/v1", ObjectKind: "TestType5"}, @@ -706,7 +706,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: runtime.NewMultiGroupVersioner(unversioned.GroupVersion{Group: "other", Version: "v2"}, unversioned.GroupKind{Group: "custom", Kind: "TestType3"}, unversioned.GroupKind{Kind: "TestType1"}), + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "other", Version: "v2"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}, schema.GroupKind{Kind: "TestType1"}), out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "other/v2", ObjectKind: "TestType1"}, A: "test", @@ -716,7 +716,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: runtime.NewMultiGroupVersioner(unversioned.GroupVersion{Group: "other", Version: "v2"}, unversioned.GroupKind{Kind: "TestType1"}, unversioned.GroupKind{Group: "custom", Kind: "TestType3"}), + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "other", Version: "v2"}, schema.GroupKind{Kind: "TestType1"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}), out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "other/v2", ObjectKind: "TestType1"}, A: "test", @@ -726,7 +726,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &TestType1{A: "test"}, - gv: runtime.NewMultiGroupVersioner(unversioned.GroupVersion{Group: "custom", Version: "v1"}, unversioned.GroupKind{Group: "other"}, unversioned.GroupKind{Kind: "TestType5"}), + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "custom", Version: "v1"}, schema.GroupKind{Group: "other"}, schema.GroupKind{Kind: "TestType5"}), errFn: func(err error) bool { return err != nil && strings.Contains(err.Error(), "is not suitable for converting") }, @@ -735,7 +735,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: runtime.NewMultiGroupVersioner(unversioned.GroupVersion{Group: "", Version: "v1"}, unversioned.GroupKind{Group: "custom", Kind: "TestType3"}, unversioned.GroupKind{Kind: "TestType1"}), + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "", Version: "v1"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}, schema.GroupKind{Kind: "TestType1"}), same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, @@ -746,7 +746,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &ExternalTestType1{A: "test"}, - gv: runtime.NewMultiGroupVersioner(unversioned.GroupVersion{Group: "", Version: "v1"}, unversioned.GroupKind{Kind: "TestType1"}, unversioned.GroupKind{Group: "custom", Kind: "TestType3"}), + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "", Version: "v1"}, schema.GroupKind{Kind: "TestType1"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}), same: true, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, @@ -757,7 +757,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &TestType1{A: "test"}, - gv: testGroupVersioner{ok: true, target: unversioned.GroupVersionKind{Version: "v1", Kind: "TestType3"}}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Version: "v1", Kind: "TestType3"}}, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType3"}, A: "test", @@ -767,7 +767,7 @@ func TestConvertToVersion(t *testing.T) { { scheme: GetTestScheme(), in: &TestType1{A: "test"}, - gv: testGroupVersioner{ok: true, target: unversioned.GroupVersionKind{Kind: "TestType5", Group: "custom", Version: "v1"}}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Kind: "TestType5", Group: "custom", Version: "v1"}}, out: &ExternalTestType1{ MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "custom/v1", ObjectKind: "TestType5"}, A: "test", @@ -824,8 +824,8 @@ func TestConvertToVersion(t *testing.T) { } func TestMetaValues(t *testing.T) { - internalGV := unversioned.GroupVersion{Group: "test.group", Version: "__internal"} - externalGV := unversioned.GroupVersion{Group: "test.group", Version: "externalVersion"} + internalGV := schema.GroupVersion{Group: "test.group", Version: "__internal"} + externalGV := schema.GroupVersion{Group: "test.group", Version: "externalVersion"} s := runtime.NewScheme() s.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) diff --git a/pkg/runtime/serializer/BUILD b/pkg/runtime/serializer/BUILD index 9dfbe6f625a..68e721e55d8 100644 --- a/pkg/runtime/serializer/BUILD +++ b/pkg/runtime/serializer/BUILD @@ -19,8 +19,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/json:go_default_library", "//pkg/runtime/serializer/protobuf:go_default_library", "//pkg/runtime/serializer/recognizer:go_default_library", @@ -37,6 +37,7 @@ go_test( "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/diff:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/google/gofuzz", diff --git a/pkg/runtime/serializer/codec_factory.go b/pkg/runtime/serializer/codec_factory.go index d58c6cce070..990496613e2 100644 --- a/pkg/runtime/serializer/codec_factory.go +++ b/pkg/runtime/serializer/codec_factory.go @@ -17,8 +17,8 @@ limitations under the License. package serializer import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" "k8s.io/kubernetes/pkg/runtime/serializer/versioning" @@ -162,8 +162,8 @@ func (f CodecFactory) SupportedMediaTypes() []runtime.SerializerInfo { // // TODO: make this call exist only in pkg/api, and initialize it with the set of default versions. // All other callers will be forced to request a Codec directly. -func (f CodecFactory) LegacyCodec(version ...unversioned.GroupVersion) runtime.Codec { - return versioning.NewDefaultingCodecForScheme(f.scheme, f.legacySerializer, f.universal, unversioned.GroupVersions(version), runtime.InternalGroupVersioner) +func (f CodecFactory) LegacyCodec(version ...schema.GroupVersion) runtime.Codec { + return versioning.NewDefaultingCodecForScheme(f.scheme, f.legacySerializer, f.universal, schema.GroupVersions(version), runtime.InternalGroupVersioner) } // UniversalDeserializer can convert any stored data recognized by this factory into a Go object that satisfies @@ -181,12 +181,12 @@ func (f CodecFactory) UniversalDeserializer() runtime.Decoder { // // TODO: the decoder will eventually be removed in favor of dealing with objects in their versioned form // TODO: only accept a group versioner -func (f CodecFactory) UniversalDecoder(versions ...unversioned.GroupVersion) runtime.Decoder { +func (f CodecFactory) UniversalDecoder(versions ...schema.GroupVersion) runtime.Decoder { var versioner runtime.GroupVersioner if len(versions) == 0 { versioner = runtime.InternalGroupVersioner } else { - versioner = unversioned.GroupVersions(versions) + versioner = schema.GroupVersions(versions) } return f.CodecForVersions(nil, f.universal, nil, versioner) } diff --git a/pkg/runtime/serializer/codec_test.go b/pkg/runtime/serializer/codec_test.go index 2d3cbee0980..6f60d472c7d 100644 --- a/pkg/runtime/serializer/codec_test.go +++ b/pkg/runtime/serializer/codec_test.go @@ -28,6 +28,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" "github.com/ghodss/yaml" @@ -39,7 +40,7 @@ var fuzzIters = flag.Int("fuzz-iters", 50, "How many fuzzing iterations to do.") type testMetaFactory struct{} -func (testMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, error) { +func (testMetaFactory) Interpret(data []byte) (*schema.GroupVersionKind, error) { findKind := struct { APIVersion string `json:"myVersionKey,omitempty"` ObjectKind string `json:"myKindKey,omitempty"` @@ -49,11 +50,11 @@ func (testMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, er if err := yaml.Unmarshal(data, &findKind); err != nil { return nil, fmt.Errorf("couldn't get version/kind: %v", err) } - gv, err := unversioned.ParseGroupVersion(findKind.APIVersion) + gv, err := schema.ParseGroupVersion(findKind.APIVersion) if err != nil { return nil, err } - return &unversioned.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.ObjectKind}, nil + return &schema.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.ObjectKind}, nil } // Test a weird version/kind embedding format. @@ -128,36 +129,36 @@ var TestObjectFuzzer = fuzz.New().NilChance(.5).NumElements(1, 100).Funcs( }, ) -func (obj *MyWeirdCustomEmbeddedVersionKindField) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *MyWeirdCustomEmbeddedVersionKindField) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *MyWeirdCustomEmbeddedVersionKindField) GetObjectKind() schema.ObjectKind { return obj } +func (obj *MyWeirdCustomEmbeddedVersionKindField) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.ObjectKind = gvk.ToAPIVersionAndKind() } -func (obj *MyWeirdCustomEmbeddedVersionKindField) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.ObjectKind) +func (obj *MyWeirdCustomEmbeddedVersionKindField) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.ObjectKind) } -func (obj *ExternalInternalSame) GetObjectKind() unversioned.ObjectKind { +func (obj *ExternalInternalSame) GetObjectKind() schema.ObjectKind { return &obj.MyWeirdCustomEmbeddedVersionKindField } -func (obj *TestType1) GetObjectKind() unversioned.ObjectKind { +func (obj *TestType1) GetObjectKind() schema.ObjectKind { return &obj.MyWeirdCustomEmbeddedVersionKindField } -func (obj *ExternalTestType1) GetObjectKind() unversioned.ObjectKind { +func (obj *ExternalTestType1) GetObjectKind() schema.ObjectKind { return &obj.MyWeirdCustomEmbeddedVersionKindField } -func (obj *TestType2) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } -func (obj *ExternalTestType2) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj *TestType2) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (obj *ExternalTestType2) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } // Returns a new Scheme set up with the test objects. func GetTestScheme() (*runtime.Scheme, runtime.Codec) { - internalGV := unversioned.GroupVersion{Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Version: "v1"} - externalGV2 := unversioned.GroupVersion{Version: "v2"} + internalGV := schema.GroupVersion{Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Version: "v1"} + externalGV2 := schema.GroupVersion{Version: "v2"} s := runtime.NewScheme() // Ordinarily, we wouldn't add TestType2, but because this is a test and @@ -174,7 +175,7 @@ func GetTestScheme() (*runtime.Scheme, runtime.Codec) { s.AddUnversionedTypes(externalGV, &unversioned.Status{}) cf := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})) - codec := cf.LegacyCodec(unversioned.GroupVersion{Version: "v1"}) + codec := cf.LegacyCodec(schema.GroupVersion{Version: "v1"}) return s, codec } @@ -255,7 +256,7 @@ func TestVersionedEncoding(t *testing.T) { info, _ := runtime.SerializerInfoForMediaType(cf.SupportedMediaTypes(), runtime.ContentTypeJSON) encoder := info.Serializer - codec := cf.CodecForVersions(encoder, nil, unversioned.GroupVersion{Version: "v2"}, nil) + codec := cf.CodecForVersions(encoder, nil, schema.GroupVersion{Version: "v2"}, nil) out, err := runtime.Encode(codec, &TestType1{}) if err != nil { t.Fatal(err) @@ -264,7 +265,7 @@ func TestVersionedEncoding(t *testing.T) { t.Fatal(string(out)) } - codec = cf.CodecForVersions(encoder, nil, unversioned.GroupVersion{Version: "v3"}, nil) + codec = cf.CodecForVersions(encoder, nil, schema.GroupVersion{Version: "v3"}, nil) _, err = runtime.Encode(codec, &TestType1{}) if err == nil { t.Fatal(err) @@ -303,8 +304,8 @@ func TestMultipleNames(t *testing.T) { } func TestConvertTypesWhenDefaultNamesMatch(t *testing.T) { - internalGV := unversioned.GroupVersion{Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Version: "v1"} + internalGV := schema.GroupVersion{Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Version: "v1"} s := runtime.NewScheme() // create two names internally, with TestType1 being preferred @@ -324,7 +325,7 @@ func TestConvertTypesWhenDefaultNamesMatch(t *testing.T) { } expect := &TestType1{A: "test"} - codec := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})).LegacyCodec(unversioned.GroupVersion{Version: "v1"}) + codec := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})).LegacyCodec(schema.GroupVersion{Version: "v1"}) obj, err := runtime.Decode(codec, data) if err != nil { @@ -380,16 +381,16 @@ func TestBadJSONRejection(t *testing.T) { if err := runtime.DecodeInto(codec, []byte(``), &TestType1{}); err != nil { t.Errorf("Should allow empty decode: %v", err) } - if _, _, err := codec.Decode([]byte(``), &unversioned.GroupVersionKind{Kind: "ExternalInternalSame"}, nil); err == nil { + if _, _, err := codec.Decode([]byte(``), &schema.GroupVersionKind{Kind: "ExternalInternalSame"}, nil); err == nil { t.Errorf("Did not give error for empty data with only kind default") } - if _, _, err := codec.Decode([]byte(`{"myVersionKey":"v1"}`), &unversioned.GroupVersionKind{Kind: "ExternalInternalSame"}, nil); err != nil { + if _, _, err := codec.Decode([]byte(`{"myVersionKey":"v1"}`), &schema.GroupVersionKind{Kind: "ExternalInternalSame"}, nil); err != nil { t.Errorf("Gave error for version and kind default") } - if _, _, err := codec.Decode([]byte(`{"myKindKey":"ExternalInternalSame"}`), &unversioned.GroupVersionKind{Version: "v1"}, nil); err != nil { + if _, _, err := codec.Decode([]byte(`{"myKindKey":"ExternalInternalSame"}`), &schema.GroupVersionKind{Version: "v1"}, nil); err != nil { t.Errorf("Gave error for version and kind default") } - if _, _, err := codec.Decode([]byte(``), &unversioned.GroupVersionKind{Kind: "ExternalInternalSame", Version: "v1"}, nil); err != nil { + if _, _, err := codec.Decode([]byte(``), &schema.GroupVersionKind{Kind: "ExternalInternalSame", Version: "v1"}, nil); err != nil { t.Errorf("Gave error for version and kind defaulted: %v", err) } if _, err := runtime.Decode(codec, []byte(``)); err == nil { @@ -399,8 +400,8 @@ func TestBadJSONRejection(t *testing.T) { // Returns a new Scheme set up with the test objects needed by TestDirectCodec. func GetDirectCodecTestScheme() *runtime.Scheme { - internalGV := unversioned.GroupVersion{Version: runtime.APIVersionInternal} - externalGV := unversioned.GroupVersion{Version: "v1"} + internalGV := schema.GroupVersion{Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Version: "v1"} s := runtime.NewScheme() // Ordinarily, we wouldn't add TestType2, but because this is a test and @@ -419,7 +420,7 @@ func TestDirectCodec(t *testing.T) { info, _ := runtime.SerializerInfoForMediaType(cf.SupportedMediaTypes(), runtime.ContentTypeJSON) serializer := info.Serializer df := DirectCodecFactory{cf} - ignoredGV, err := unversioned.ParseGroupVersion("ignored group/ignored version") + ignoredGV, err := schema.ParseGroupVersion("ignored group/ignored version") if err != nil { t.Fatal(err) } diff --git a/pkg/runtime/serializer/json/BUILD b/pkg/runtime/serializer/json/BUILD index 9f67bde5594..1e8d7cb2c36 100644 --- a/pkg/runtime/serializer/json/BUILD +++ b/pkg/runtime/serializer/json/BUILD @@ -18,8 +18,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/recognizer:go_default_library", "//pkg/util/framer:go_default_library", "//pkg/util/yaml:go_default_library", @@ -41,8 +41,8 @@ go_test( srcs = ["json_test.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/json:go_default_library", "//pkg/util/diff:go_default_library", ], diff --git a/pkg/runtime/serializer/json/json.go b/pkg/runtime/serializer/json/json.go index c83ed588e27..bbc5adc1034 100644 --- a/pkg/runtime/serializer/json/json.go +++ b/pkg/runtime/serializer/json/json.go @@ -23,8 +23,8 @@ import ( "github.com/ghodss/yaml" "github.com/ugorji/go/codec" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" "k8s.io/kubernetes/pkg/util/framer" utilyaml "k8s.io/kubernetes/pkg/util/yaml" @@ -71,7 +71,7 @@ var _ recognizer.RecognizingDecoder = &Serializer{} // extracted and no decoding will be performed. If into is not registered with the typer, then the object will be straight decoded using // normal JSON/YAML unmarshalling. If into is provided and the original data is not fully qualified with kind/version/group, the type of // the into will be used to alter the returned gvk. On success or most errors, the method will return the calculated schema kind. -func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if versioned, ok := into.(*runtime.VersionedObjects); ok { into = versioned.Last() obj, actual, err := s.Decode(originalData, gvk, into) diff --git a/pkg/runtime/serializer/json/json_test.go b/pkg/runtime/serializer/json/json_test.go index 85f74fb23e9..acfe2026a4c 100644 --- a/pkg/runtime/serializer/json/json_test.go +++ b/pkg/runtime/serializer/json/json_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" "k8s.io/kubernetes/pkg/util/diff" ) @@ -31,12 +31,12 @@ import ( type testDecodable struct { Other string Value int `json:"value"` - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind } -func (d *testDecodable) GetObjectKind() unversioned.ObjectKind { return d } -func (d *testDecodable) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { d.gvk = gvk } -func (d *testDecodable) GroupVersionKind() unversioned.GroupVersionKind { return d.gvk } +func (d *testDecodable) GetObjectKind() schema.ObjectKind { return d } +func (d *testDecodable) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testDecodable) GroupVersionKind() schema.GroupVersionKind { return d.gvk } func TestDecode(t *testing.T) { testCases := []struct { @@ -46,58 +46,58 @@ func TestDecode(t *testing.T) { pretty bool data []byte - defaultGVK *unversioned.GroupVersionKind + defaultGVK *schema.GroupVersionKind into runtime.Object errFn func(error) bool expectedObject runtime.Object - expectedGVK *unversioned.GroupVersionKind + expectedGVK *schema.GroupVersionKind }{ { data: []byte("{}"), - expectedGVK: &unversioned.GroupVersionKind{}, + expectedGVK: &schema.GroupVersionKind{}, errFn: func(err error) bool { return strings.Contains(err.Error(), "Object 'Kind' is missing in") }, }, { data: []byte("{}"), - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, creater: &mockCreater{err: fmt.Errorf("fake error")}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, errFn: func(err error) bool { return err.Error() == "fake error" }, }, { data: []byte("{}"), - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, creater: &mockCreater{err: fmt.Errorf("fake error")}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, errFn: func(err error) bool { return err.Error() == "fake error" }, }, { data: []byte("{}"), - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, creater: &mockCreater{obj: &testDecodable{}}, expectedObject: &testDecodable{}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, }, // version without group is not defaulted { data: []byte(`{"apiVersion":"blah"}`), - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, creater: &mockCreater{obj: &testDecodable{}}, expectedObject: &testDecodable{}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "", Version: "blah"}, }, // group without version is defaulted { data: []byte(`{"apiVersion":"other/"}`), - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, creater: &mockCreater{obj: &testDecodable{}}, expectedObject: &testDecodable{}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, }, // accept runtime.Unknown as into and bypass creator @@ -105,7 +105,7 @@ func TestDecode(t *testing.T) { data: []byte(`{}`), into: &runtime.Unknown{}, - expectedGVK: &unversioned.GroupVersionKind{}, + expectedGVK: &schema.GroupVersionKind{}, expectedObject: &runtime.Unknown{ Raw: []byte(`{}`), ContentType: runtime.ContentTypeJSON, @@ -115,7 +115,7 @@ func TestDecode(t *testing.T) { data: []byte(`{"test":"object"}`), into: &runtime.Unknown{}, - expectedGVK: &unversioned.GroupVersionKind{}, + expectedGVK: &schema.GroupVersionKind{}, expectedObject: &runtime.Unknown{ Raw: []byte(`{"test":"object"}`), ContentType: runtime.ContentTypeJSON, @@ -124,8 +124,8 @@ func TestDecode(t *testing.T) { { data: []byte(`{"test":"object"}`), into: &runtime.Unknown{}, - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, expectedObject: &runtime.Unknown{ TypeMeta: runtime.TypeMeta{APIVersion: "other/blah", Kind: "Test"}, Raw: []byte(`{"test":"object"}`), @@ -137,8 +137,8 @@ func TestDecode(t *testing.T) { { data: []byte(`{"kind":"Test","apiVersion":"other/blah","value":1,"Other":"test"}`), into: &testDecodable{}, - typer: &mockTyper{err: runtime.NewNotRegisteredErr(unversioned.GroupVersionKind{}, nil)}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + typer: &mockTyper{err: runtime.NewNotRegisteredErr(schema.GroupVersionKind{}, nil)}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, expectedObject: &testDecodable{ Other: "test", Value: 1, @@ -148,8 +148,8 @@ func TestDecode(t *testing.T) { { data: []byte(`{"value":1,"Other":"test"}`), into: &testDecodable{}, - typer: &mockTyper{gvk: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, expectedObject: &testDecodable{ Other: "test", Value: 1, @@ -159,8 +159,8 @@ func TestDecode(t *testing.T) { { data: []byte(`{"value":1,"Other":"test"}`), into: &testDecodable{}, - typer: &mockTyper{gvk: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: ""}}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: ""}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: ""}}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: ""}, errFn: func(err error) bool { return strings.Contains(err.Error(), "Object 'apiVersion' is missing in") }, expectedObject: &testDecodable{ Other: "test", @@ -173,9 +173,9 @@ func TestDecode(t *testing.T) { data: []byte(`{"value":1,"Other":"test"}`), into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, creater: &mockCreater{obj: &testDecodable{}}, - typer: &mockTyper{gvk: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, - defaultGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, expectedObject: &runtime.VersionedObjects{ Objects: []runtime.Object{ &testDecodable{ @@ -189,8 +189,8 @@ func TestDecode(t *testing.T) { { data: []byte(`{"Other":"test"}`), into: &runtime.VersionedObjects{Objects: []runtime.Object{&testDecodable{Value: 2}}}, - typer: &mockTyper{gvk: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, - expectedGVK: &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, expectedObject: &runtime.VersionedObjects{ Objects: []runtime.Object{ &testDecodable{ @@ -250,23 +250,23 @@ type mockCreater struct { obj runtime.Object } -func (c *mockCreater) New(kind unversioned.GroupVersionKind) (runtime.Object, error) { +func (c *mockCreater) New(kind schema.GroupVersionKind) (runtime.Object, error) { c.apiVersion, c.kind = kind.GroupVersion().String(), kind.Kind return c.obj, c.err } type mockTyper struct { - gvk *unversioned.GroupVersionKind + gvk *schema.GroupVersionKind err error } -func (t *mockTyper) ObjectKinds(obj runtime.Object) ([]unversioned.GroupVersionKind, bool, error) { +func (t *mockTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { if t.gvk == nil { return nil, false, t.err } - return []unversioned.GroupVersionKind{*t.gvk}, false, t.err + return []schema.GroupVersionKind{*t.gvk}, false, t.err } -func (t *mockTyper) Recognizes(_ unversioned.GroupVersionKind) bool { +func (t *mockTyper) Recognizes(_ schema.GroupVersionKind) bool { return false } diff --git a/pkg/runtime/serializer/json/meta.go b/pkg/runtime/serializer/json/meta.go index 08193541213..6b9494dee7d 100644 --- a/pkg/runtime/serializer/json/meta.go +++ b/pkg/runtime/serializer/json/meta.go @@ -20,7 +20,7 @@ import ( "encoding/json" "fmt" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) // MetaFactory is used to store and retrieve the version and kind @@ -28,7 +28,7 @@ import ( type MetaFactory interface { // Interpret should return the version and kind of the wire-format of // the object. - Interpret(data []byte) (*unversioned.GroupVersionKind, error) + Interpret(data []byte) (*schema.GroupVersionKind, error) } // DefaultMetaFactory is a default factory for versioning objects in JSON. The object @@ -45,7 +45,7 @@ type SimpleMetaFactory struct { // Interpret will return the APIVersion and Kind of the JSON wire-format // encoding of an object, or an error. -func (SimpleMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, error) { +func (SimpleMetaFactory) Interpret(data []byte) (*schema.GroupVersionKind, error) { findKind := struct { // +optional APIVersion string `json:"apiVersion,omitempty"` @@ -55,9 +55,9 @@ func (SimpleMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, if err := json.Unmarshal(data, &findKind); err != nil { return nil, fmt.Errorf("couldn't get version/kind; json parse error: %v", err) } - gv, err := unversioned.ParseGroupVersion(findKind.APIVersion) + gv, err := schema.ParseGroupVersion(findKind.APIVersion) if err != nil { return nil, err } - return &unversioned.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.Kind}, nil + return &schema.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.Kind}, nil } diff --git a/pkg/runtime/serializer/protobuf/BUILD b/pkg/runtime/serializer/protobuf/BUILD index 4e7b5e74f30..618a2597c46 100644 --- a/pkg/runtime/serializer/protobuf/BUILD +++ b/pkg/runtime/serializer/protobuf/BUILD @@ -18,8 +18,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/recognizer:go_default_library", "//pkg/util/framer:go_default_library", "//vendor:github.com/gogo/protobuf/proto", @@ -33,9 +33,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/protobuf:go_default_library", "//pkg/util/diff:go_default_library", ], diff --git a/pkg/runtime/serializer/protobuf/protobuf.go b/pkg/runtime/serializer/protobuf/protobuf.go index 5a6a50de38a..5fbc65fb87e 100644 --- a/pkg/runtime/serializer/protobuf/protobuf.go +++ b/pkg/runtime/serializer/protobuf/protobuf.go @@ -24,8 +24,8 @@ import ( "github.com/gogo/protobuf/proto" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" "k8s.io/kubernetes/pkg/util/framer" ) @@ -85,7 +85,7 @@ var _ recognizer.RecognizingDecoder = &Serializer{} // be straight decoded using normal protobuf unmarshalling (the MarshalTo interface). If into is provided and the original data is // not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most // errors, the method will return the calculated schema kind. -func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if versioned, ok := into.(*runtime.VersionedObjects); ok { into = versioned.Last() obj, actual, err := s.Decode(originalData, gvk, into) @@ -255,7 +255,7 @@ func (s *Serializer) RecognizesData(peek io.Reader) (bool, bool, error) { } // copyKindDefaults defaults dst to the value in src if dst does not have a value set. -func copyKindDefaults(dst, src *unversioned.GroupVersionKind) { +func copyKindDefaults(dst, src *schema.GroupVersionKind) { if src == nil { return } @@ -316,7 +316,7 @@ var _ runtime.Serializer = &RawSerializer{} // be straight decoded using normal protobuf unmarshalling (the MarshalTo interface). If into is provided and the original data is // not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most // errors, the method will return the calculated schema kind. -func (s *RawSerializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *RawSerializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if into == nil { return nil, nil, fmt.Errorf("this serializer requires an object to decode into: %#v", s) } @@ -341,7 +341,7 @@ func (s *RawSerializer) Decode(originalData []byte, gvk *unversioned.GroupVersio } data := originalData - actual := &unversioned.GroupVersionKind{} + actual := &schema.GroupVersionKind{} copyKindDefaults(actual, gvk) if intoUnknown, ok := into.(*runtime.Unknown); ok && intoUnknown != nil { @@ -386,7 +386,7 @@ func (s *RawSerializer) Decode(originalData []byte, gvk *unversioned.GroupVersio } // unmarshalToObject is the common code between decode in the raw and normal serializer. -func unmarshalToObject(typer runtime.ObjectTyper, creater runtime.ObjectCreater, actual *unversioned.GroupVersionKind, into runtime.Object, data []byte) (runtime.Object, *unversioned.GroupVersionKind, error) { +func unmarshalToObject(typer runtime.ObjectTyper, creater runtime.ObjectCreater, actual *schema.GroupVersionKind, into runtime.Object, data []byte) (runtime.Object, *schema.GroupVersionKind, error) { // use the target if necessary obj, err := runtime.UseOrCreateObject(typer, creater, *actual, into) if err != nil { diff --git a/pkg/runtime/serializer/protobuf/protobuf_test.go b/pkg/runtime/serializer/protobuf/protobuf_test.go index 845b38e6cc7..b9c1a810199 100644 --- a/pkg/runtime/serializer/protobuf/protobuf_test.go +++ b/pkg/runtime/serializer/protobuf/protobuf_test.go @@ -26,20 +26,20 @@ import ( "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/protobuf" "k8s.io/kubernetes/pkg/util/diff" ) type testObject struct { - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind } -func (d *testObject) GetObjectKind() unversioned.ObjectKind { return d } -func (d *testObject) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { d.gvk = gvk } -func (d *testObject) GroupVersionKind() unversioned.GroupVersionKind { return d.gvk } +func (d *testObject) GetObjectKind() schema.ObjectKind { return d } +func (d *testObject) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testObject) GroupVersionKind() schema.GroupVersionKind { return d.gvk } type testMarshalable struct { testObject @@ -106,7 +106,7 @@ func TestEncode(t *testing.T) { 0x22, 0x00, // content-encoding } obj2 := &testMarshalable{ - testObject: testObject{gvk: unversioned.GroupVersionKind{Kind: "test", Group: "other", Version: "version"}}, + testObject: testObject{gvk: schema.GroupVersionKind{Kind: "test", Group: "other", Version: "version"}}, data: []byte{0x01, 0x02, 0x03}, } wire2 := []byte{ diff --git a/pkg/runtime/serializer/recognizer/BUILD b/pkg/runtime/serializer/recognizer/BUILD index 491d6aab1ee..c6fa3153183 100644 --- a/pkg/runtime/serializer/recognizer/BUILD +++ b/pkg/runtime/serializer/recognizer/BUILD @@ -15,7 +15,7 @@ go_library( srcs = ["recognizer.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/pkg/runtime/serializer/recognizer/recognizer.go b/pkg/runtime/serializer/recognizer/recognizer.go index 310002a2428..66693647357 100644 --- a/pkg/runtime/serializer/recognizer/recognizer.go +++ b/pkg/runtime/serializer/recognizer/recognizer.go @@ -22,8 +22,8 @@ import ( "fmt" "io" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type RecognizingDecoder interface { @@ -81,7 +81,7 @@ func (d *decoder) RecognizesData(peek io.Reader) (bool, bool, error) { return false, anyUnknown, lastErr } -func (d *decoder) Decode(data []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d *decoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { var ( lastErr error skipped []runtime.Decoder diff --git a/pkg/runtime/serializer/recognizer/testing/recognizer_test.go b/pkg/runtime/serializer/recognizer/testing/recognizer_test.go index 98dbd66c9be..ddeb626cfe0 100644 --- a/pkg/runtime/serializer/recognizer/testing/recognizer_test.go +++ b/pkg/runtime/serializer/recognizer/testing/recognizer_test.go @@ -19,19 +19,19 @@ package testing import ( "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" ) type A struct{} -func (A) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (A) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func TestRecognizer(t *testing.T) { s := runtime.NewScheme() - s.AddKnownTypes(unversioned.GroupVersion{Version: "v1"}, &A{}) + s.AddKnownTypes(schema.GroupVersion{Version: "v1"}, &A{}) d := recognizer.NewDecoder( json.NewSerializer(json.DefaultMetaFactory, s, s, false), json.NewYAMLSerializer(json.DefaultMetaFactory, s, s), diff --git a/pkg/runtime/serializer/streaming/BUILD b/pkg/runtime/serializer/streaming/BUILD index 7ed73d4cd3e..ea7fcb294a2 100644 --- a/pkg/runtime/serializer/streaming/BUILD +++ b/pkg/runtime/serializer/streaming/BUILD @@ -15,8 +15,8 @@ go_library( srcs = ["streaming.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) @@ -26,8 +26,8 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/framer:go_default_library", ], ) diff --git a/pkg/runtime/serializer/streaming/streaming.go b/pkg/runtime/serializer/streaming/streaming.go index ac17138e43a..4b069f30304 100644 --- a/pkg/runtime/serializer/streaming/streaming.go +++ b/pkg/runtime/serializer/streaming/streaming.go @@ -23,8 +23,8 @@ import ( "fmt" "io" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Encoder is a runtime.Encoder on a stream. @@ -37,7 +37,7 @@ type Encoder interface { // Decoder is a runtime.Decoder from a stream. type Decoder interface { // Decode will return io.EOF when no more objects are available. - Decode(defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) + Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) // Close closes the underlying stream. Close() error } @@ -71,7 +71,7 @@ func NewDecoder(r io.ReadCloser, d runtime.Decoder) Decoder { var ErrObjectTooLarge = fmt.Errorf("object to decode was longer than maximum allowed size") // Decode reads the next object from the stream and decodes it. -func (d *decoder) Decode(defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d *decoder) Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { base := 0 for { n, err := d.reader.Read(d.buf[base:]) diff --git a/pkg/runtime/serializer/streaming/streaming_test.go b/pkg/runtime/serializer/streaming/streaming_test.go index 9866edb9c5e..f6b0ead6b67 100644 --- a/pkg/runtime/serializer/streaming/streaming_test.go +++ b/pkg/runtime/serializer/streaming/streaming_test.go @@ -22,8 +22,8 @@ import ( "io/ioutil" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/framer" ) @@ -33,7 +33,7 @@ type fakeDecoder struct { err error } -func (d *fakeDecoder) Decode(data []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d *fakeDecoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { d.got = data return d.obj, nil, d.err } diff --git a/pkg/runtime/serializer/versioning/BUILD b/pkg/runtime/serializer/versioning/BUILD index 0bd5efdd93b..6954fb2b67c 100644 --- a/pkg/runtime/serializer/versioning/BUILD +++ b/pkg/runtime/serializer/versioning/BUILD @@ -15,8 +15,8 @@ go_library( srcs = ["versioning.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/runtime:go_default_library", ], ) @@ -27,8 +27,8 @@ go_test( library = "go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/diff:go_default_library", ], ) diff --git a/pkg/runtime/serializer/versioning/versioning.go b/pkg/runtime/serializer/versioning/versioning.go index c82460e4a49..75259da1167 100644 --- a/pkg/runtime/serializer/versioning/versioning.go +++ b/pkg/runtime/serializer/versioning/versioning.go @@ -19,8 +19,8 @@ package versioning import ( "io" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" utilruntime "k8s.io/kubernetes/pkg/util/runtime" ) @@ -93,7 +93,7 @@ type codec struct { // Decode attempts a decode of the object, then tries to convert it to the internal version. If into is provided and the decoding is // successful, the returned runtime.Object will be the value passed as into. Note that this may bypass conversion if you pass an // into that matches the serialized version. -func (c *codec) Decode(data []byte, defaultGVK *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (c *codec) Decode(data []byte, defaultGVK *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { versioned, isVersioned := into.(*runtime.VersionedObjects) if isVersioned { into = versioned.Last() @@ -254,12 +254,12 @@ type DirectDecoder struct { } // Decode does not do conversion. It removes the gvk during deserialization. -func (d DirectDecoder) Decode(data []byte, defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d DirectDecoder) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { obj, gvk, err := d.Decoder.Decode(data, defaults, into) if obj != nil { kind := obj.GetObjectKind() // clearing the gvk is just a convention of a codec - kind.SetGroupVersionKind(unversioned.GroupVersionKind{}) + kind.SetGroupVersionKind(schema.GroupVersionKind{}) } return obj, gvk, err } diff --git a/pkg/runtime/serializer/versioning/versioning_test.go b/pkg/runtime/serializer/versioning/versioning_test.go index 4e91e8ca906..22f79ba5ec1 100644 --- a/pkg/runtime/serializer/versioning/versioning_test.go +++ b/pkg/runtime/serializer/versioning/versioning_test.go @@ -23,33 +23,33 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" ) type testDecodable struct { Other string Value int `json:"value"` - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind } -func (d *testDecodable) GetObjectKind() unversioned.ObjectKind { return d } -func (d *testDecodable) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { d.gvk = gvk } -func (d *testDecodable) GroupVersionKind() unversioned.GroupVersionKind { return d.gvk } +func (d *testDecodable) GetObjectKind() schema.ObjectKind { return d } +func (d *testDecodable) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testDecodable) GroupVersionKind() schema.GroupVersionKind { return d.gvk } type testNestedDecodable struct { Other string Value int `json:"value"` - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind nestedCalled bool nestedErr error } -func (d *testNestedDecodable) GetObjectKind() unversioned.ObjectKind { return d } -func (d *testNestedDecodable) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { d.gvk = gvk } -func (d *testNestedDecodable) GroupVersionKind() unversioned.GroupVersionKind { return d.gvk } +func (d *testNestedDecodable) GetObjectKind() schema.ObjectKind { return d } +func (d *testNestedDecodable) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testNestedDecodable) GroupVersionKind() schema.GroupVersionKind { return d.gvk } func (d *testNestedDecodable) EncodeNestedObjects(e runtime.Encoder) error { d.nestedCalled = true @@ -79,11 +79,11 @@ func TestNestedEncode(t *testing.T) { encoder := &mockSerializer{obj: n} codec := NewCodec( encoder, nil, - &checkConvertor{obj: n2, groupVersion: unversioned.GroupVersion{Group: "other"}}, + &checkConvertor{obj: n2, groupVersion: schema.GroupVersion{Group: "other"}}, nil, nil, - &mockTyper{gvks: []unversioned.GroupVersionKind{{Kind: "test"}}}, + &mockTyper{gvks: []schema.GroupVersionKind{{Kind: "test"}}}, nil, - unversioned.GroupVersion{Group: "other"}, nil, + schema.GroupVersion{Group: "other"}, nil, ) if err := codec.Encode(n, ioutil.Discard); err != n2.nestedErr { t.Errorf("unexpected error: %v", err) @@ -94,7 +94,7 @@ func TestNestedEncode(t *testing.T) { } func TestDecode(t *testing.T) { - gvk1 := &unversioned.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"} + gvk1 := &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"} decodable1 := &testDecodable{} decodable2 := &testDecodable{} decodable3 := &testDecodable{} @@ -112,35 +112,35 @@ func TestDecode(t *testing.T) { encodes, decodes runtime.GroupVersioner - defaultGVK *unversioned.GroupVersionKind + defaultGVK *schema.GroupVersionKind into runtime.Object errFn func(error) bool expectedObject runtime.Object sameObject runtime.Object - expectedGVK *unversioned.GroupVersionKind + expectedGVK *schema.GroupVersionKind }{ { serializer: &mockSerializer{actual: gvk1}, - convertor: &checkConvertor{groupVersion: unversioned.GroupVersion{Group: "other", Version: "__internal"}}, + convertor: &checkConvertor{groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, expectedGVK: gvk1, - decodes: unversioned.GroupVersion{Group: "other", Version: "__internal"}, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, }, { serializer: &mockSerializer{actual: gvk1, obj: decodable1}, - convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: unversioned.GroupVersion{Group: "other", Version: "__internal"}}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, expectedGVK: gvk1, sameObject: decodable2, - decodes: unversioned.GroupVersion{Group: "other", Version: "__internal"}, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, }, // defaultGVK.Group is allowed to force a conversion to the destination group { serializer: &mockSerializer{actual: gvk1, obj: decodable1}, - defaultGVK: &unversioned.GroupVersionKind{Group: "force"}, - convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: unversioned.GroupVersion{Group: "force", Version: "__internal"}}, + defaultGVK: &schema.GroupVersionKind{Group: "force"}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "force", Version: "__internal"}}, expectedGVK: gvk1, sameObject: decodable2, - decodes: unversioned.GroupVersion{Group: "force", Version: "__internal"}, + decodes: schema.GroupVersion{Group: "force", Version: "__internal"}, }, // uses direct conversion for into when objects differ { @@ -178,37 +178,37 @@ func TestDecode(t *testing.T) { serializer: &mockSerializer{actual: gvk1, obj: decodable1}, copier: &checkCopy{in: decodable1, obj: decodable1}, - convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: unversioned.GroupVersion{Group: "other", Version: "__internal"}}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, expectedGVK: gvk1, expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1, decodable2}}, - decodes: unversioned.GroupVersion{Group: "other", Version: "__internal"}, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, }, { into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, serializer: &mockSerializer{actual: gvk1, obj: decodable1}, copier: &checkCopy{in: decodable1, obj: nil, err: fmt.Errorf("error on copy")}, - convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: unversioned.GroupVersion{Group: "other", Version: "__internal"}}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, expectedGVK: gvk1, expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1, decodable2}}, - decodes: unversioned.GroupVersion{Group: "other", Version: "__internal"}, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, }, // decode into the same version as the serialized object { - decodes: unversioned.GroupVersions{gvk1.GroupVersion()}, + decodes: schema.GroupVersions{gvk1.GroupVersion()}, serializer: &mockSerializer{actual: gvk1, obj: decodable1}, - convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: unversioned.GroupVersions{{Group: "other", Version: "blah"}}}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "other", Version: "blah"}}}, expectedGVK: gvk1, expectedObject: decodable1, }, { into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, - decodes: unversioned.GroupVersions{gvk1.GroupVersion()}, + decodes: schema.GroupVersions{gvk1.GroupVersion()}, serializer: &mockSerializer{actual: gvk1, obj: decodable1}, - convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: unversioned.GroupVersions{{Group: "other", Version: "blah"}}}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "other", Version: "blah"}}}, copier: &checkCopy{in: decodable1, obj: decodable1, err: nil}, expectedGVK: gvk1, expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1}}, @@ -216,19 +216,19 @@ func TestDecode(t *testing.T) { // codec with non matching version skips conversion altogether { - decodes: unversioned.GroupVersions{{Group: "something", Version: "else"}}, + decodes: schema.GroupVersions{{Group: "something", Version: "else"}}, serializer: &mockSerializer{actual: gvk1, obj: decodable1}, - convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: unversioned.GroupVersions{{Group: "something", Version: "else"}}}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "something", Version: "else"}}}, expectedGVK: gvk1, expectedObject: decodable1, }, { into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, - decodes: unversioned.GroupVersions{{Group: "something", Version: "else"}}, + decodes: schema.GroupVersions{{Group: "something", Version: "else"}}, serializer: &mockSerializer{actual: gvk1, obj: decodable1}, - convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: unversioned.GroupVersions{{Group: "something", Version: "else"}}}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "something", Version: "else"}}}, copier: &checkCopy{in: decodable1, obj: decodable1, err: nil}, expectedGVK: gvk1, expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1}}, @@ -332,11 +332,11 @@ type mockSerializer struct { err error obj runtime.Object - defaults, actual *unversioned.GroupVersionKind + defaults, actual *schema.GroupVersionKind into runtime.Object } -func (s *mockSerializer) Decode(data []byte, defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *mockSerializer) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { s.defaults = defaults s.into = into return s.obj, s.actual, s.err @@ -352,20 +352,20 @@ type mockCreater struct { obj runtime.Object } -func (c *mockCreater) New(kind unversioned.GroupVersionKind) (runtime.Object, error) { +func (c *mockCreater) New(kind schema.GroupVersionKind) (runtime.Object, error) { return c.obj, c.err } type mockTyper struct { - gvks []unversioned.GroupVersionKind + gvks []schema.GroupVersionKind unversioned bool err error } -func (t *mockTyper) ObjectKinds(obj runtime.Object) ([]unversioned.GroupVersionKind, bool, error) { +func (t *mockTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { return t.gvks, t.unversioned, t.err } -func (t *mockTyper) Recognizes(_ unversioned.GroupVersionKind) bool { +func (t *mockTyper) Recognizes(_ schema.GroupVersionKind) bool { return true } diff --git a/pkg/runtime/serializer/yaml/BUILD b/pkg/runtime/serializer/yaml/BUILD index 11765afd96f..0c9d98fbcc5 100644 --- a/pkg/runtime/serializer/yaml/BUILD +++ b/pkg/runtime/serializer/yaml/BUILD @@ -15,8 +15,8 @@ go_library( srcs = ["yaml.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/yaml:go_default_library", ], ) diff --git a/pkg/runtime/serializer/yaml/yaml.go b/pkg/runtime/serializer/yaml/yaml.go index d953976ecf9..43dc41a1ac1 100644 --- a/pkg/runtime/serializer/yaml/yaml.go +++ b/pkg/runtime/serializer/yaml/yaml.go @@ -17,8 +17,8 @@ limitations under the License. package yaml import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/yaml" ) @@ -36,7 +36,7 @@ func NewDecodingSerializer(jsonSerializer runtime.Serializer) runtime.Serializer return &yamlSerializer{jsonSerializer} } -func (c yamlSerializer) Decode(data []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (c yamlSerializer) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { out, err := yaml.ToJSON(data) if err != nil { return nil, nil, err diff --git a/pkg/runtime/unstructured.go b/pkg/runtime/unstructured.go index 032e235ddfd..ad692b182b9 100644 --- a/pkg/runtime/unstructured.go +++ b/pkg/runtime/unstructured.go @@ -28,6 +28,7 @@ import ( "k8s.io/kubernetes/pkg/api/meta/metatypes" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/json" ) @@ -327,15 +328,15 @@ func (u *Unstructured) SetAnnotations(annotations map[string]string) { u.setNestedMap(annotations, "metadata", "annotations") } -func (u *Unstructured) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (u *Unstructured) SetGroupVersionKind(gvk schema.GroupVersionKind) { u.SetAPIVersion(gvk.GroupVersion().String()) u.SetKind(gvk.Kind) } -func (u *Unstructured) GroupVersionKind() unversioned.GroupVersionKind { - gv, err := unversioned.ParseGroupVersion(u.GetAPIVersion()) +func (u *Unstructured) GroupVersionKind() schema.GroupVersionKind { + gv, err := schema.ParseGroupVersion(u.GetAPIVersion()) if err != nil { - return unversioned.GroupVersionKind{} + return schema.GroupVersionKind{} } gvk := gv.WithKind(u.GetKind()) return gvk @@ -421,15 +422,15 @@ func (u *UnstructuredList) SetSelfLink(selfLink string) { u.setNestedField(selfLink, "metadata", "selfLink") } -func (u *UnstructuredList) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (u *UnstructuredList) SetGroupVersionKind(gvk schema.GroupVersionKind) { u.SetAPIVersion(gvk.GroupVersion().String()) u.SetKind(gvk.Kind) } -func (u *UnstructuredList) GroupVersionKind() unversioned.GroupVersionKind { - gv, err := unversioned.ParseGroupVersion(u.GetAPIVersion()) +func (u *UnstructuredList) GroupVersionKind() schema.GroupVersionKind { + gv, err := schema.ParseGroupVersion(u.GetAPIVersion()) if err != nil { - return unversioned.GroupVersionKind{} + return schema.GroupVersionKind{} } gvk := gv.WithKind(u.GetKind()) return gvk @@ -442,7 +443,7 @@ var UnstructuredJSONScheme Codec = unstructuredJSONScheme{} type unstructuredJSONScheme struct{} -func (s unstructuredJSONScheme) Decode(data []byte, _ *unversioned.GroupVersionKind, obj Object) (Object, *unversioned.GroupVersionKind, error) { +func (s unstructuredJSONScheme) Decode(data []byte, _ *schema.GroupVersionKind, obj Object) (Object, *schema.GroupVersionKind, error) { var err error if obj != nil { err = s.decodeInto(data, obj) @@ -597,7 +598,7 @@ func (UnstructuredObjectConverter) Convert(in, out, context interface{}) error { func (UnstructuredObjectConverter) ConvertToVersion(in Object, target GroupVersioner) (Object, error) { if kind := in.GetObjectKind().GroupVersionKind(); !kind.Empty() { - gvk, ok := target.KindForGroupVersionKinds([]unversioned.GroupVersionKind{kind}) + gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{kind}) if !ok { // TODO: should this be a typed error? return nil, fmt.Errorf("%v is unstructured and is not suitable for converting to %q", kind, target) diff --git a/pkg/storage/BUILD b/pkg/storage/BUILD index cccf921b069..2c19a48166a 100644 --- a/pkg/storage/BUILD +++ b/pkg/storage/BUILD @@ -64,6 +64,7 @@ go_test( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/sets:go_default_library", "//pkg/util/wait:go_default_library", diff --git a/pkg/storage/etcd3/BUILD b/pkg/storage/etcd3/BUILD index c4f31f9f65e..352393affcf 100644 --- a/pkg/storage/etcd3/BUILD +++ b/pkg/storage/etcd3/BUILD @@ -53,6 +53,7 @@ go_test( "//pkg/fields:go_default_library", "//pkg/labels:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/util/wait:go_default_library", "//pkg/watch:go_default_library", diff --git a/pkg/storage/etcd3/watcher_test.go b/pkg/storage/etcd3/watcher_test.go index 2581fbbf120..bb78d1903e5 100644 --- a/pkg/storage/etcd3/watcher_test.go +++ b/pkg/storage/etcd3/watcher_test.go @@ -34,6 +34,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/watch" @@ -322,7 +323,7 @@ type testCodec struct { runtime.Codec } -func (c *testCodec) Decode(data []byte, defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (c *testCodec) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { return nil, nil, errors.New("Expected decoding failure") } diff --git a/pkg/storage/selection_predicate_test.go b/pkg/storage/selection_predicate_test.go index 02ea44f884d..5867808e165 100644 --- a/pkg/storage/selection_predicate_test.go +++ b/pkg/storage/selection_predicate_test.go @@ -20,10 +20,10 @@ import ( "errors" "testing" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type Ignored struct { @@ -34,8 +34,8 @@ type IgnoredList struct { Items []Ignored } -func (obj *Ignored) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } -func (obj *IgnoredList) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *Ignored) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (obj *IgnoredList) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func TestSelectionPredicate(t *testing.T) { table := map[string]struct { diff --git a/pkg/storage/testing/BUILD b/pkg/storage/testing/BUILD index b2a80ea658e..4c1b71d875a 100644 --- a/pkg/storage/testing/BUILD +++ b/pkg/storage/testing/BUILD @@ -23,6 +23,7 @@ go_library( "//pkg/api/meta:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", diff --git a/pkg/storage/testing/types.go b/pkg/storage/testing/types.go index eb1e02180b4..52227b21d78 100644 --- a/pkg/storage/testing/types.go +++ b/pkg/storage/testing/types.go @@ -19,6 +19,7 @@ package testing import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) type TestResource struct { @@ -27,4 +28,4 @@ type TestResource struct { Value int `json:"value"` } -func (obj *TestResource) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *TestResource) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/pkg/util/config/namedcertkey_flag_test.go b/pkg/util/config/namedcertkey_flag_test.go index 5aa48230b6f..faddf033986 100644 --- a/pkg/util/config/namedcertkey_flag_test.go +++ b/pkg/util/config/namedcertkey_flag_test.go @@ -18,10 +18,11 @@ package config import ( "fmt" - "github.com/spf13/pflag" "reflect" "strings" "testing" + + "github.com/spf13/pflag" ) func TestNamedCertKeyArrayFlag(t *testing.T) { diff --git a/pkg/util/ebtables/ebtables.go b/pkg/util/ebtables/ebtables.go index b9f01bf5820..c90be4a8e00 100644 --- a/pkg/util/ebtables/ebtables.go +++ b/pkg/util/ebtables/ebtables.go @@ -18,10 +18,11 @@ package ebtables import ( "fmt" - utilexec "k8s.io/kubernetes/pkg/util/exec" "regexp" "strings" "sync" + + utilexec "k8s.io/kubernetes/pkg/util/exec" ) const ( diff --git a/pkg/util/ebtables/ebtables_test.go b/pkg/util/ebtables/ebtables_test.go index 8aefe804f0d..37d5b5ad654 100644 --- a/pkg/util/ebtables/ebtables_test.go +++ b/pkg/util/ebtables/ebtables_test.go @@ -17,9 +17,10 @@ limitations under the License. package ebtables import ( - "k8s.io/kubernetes/pkg/util/exec" "strings" "testing" + + "k8s.io/kubernetes/pkg/util/exec" ) func testEnsureChain(t *testing.T) { diff --git a/pkg/util/sysctl/testing/fake.go b/pkg/util/sysctl/testing/fake.go index 17b805ce4c8..be9f624ef9d 100644 --- a/pkg/util/sysctl/testing/fake.go +++ b/pkg/util/sysctl/testing/fake.go @@ -17,8 +17,9 @@ limitations under the License. package testing import ( - "k8s.io/kubernetes/pkg/util/sysctl" "os" + + "k8s.io/kubernetes/pkg/util/sysctl" ) // fake is a map-backed implementation of sysctl.Interface, for testing/mocking diff --git a/pkg/watch/BUILD b/pkg/watch/BUILD index 8a8a2503274..5d055d0ae90 100644 --- a/pkg/watch/BUILD +++ b/pkg/watch/BUILD @@ -22,8 +22,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/net:go_default_library", "//pkg/util/runtime:go_default_library", "//pkg/util/wait:go_default_library", @@ -44,8 +44,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/wait:go_default_library", ], ) diff --git a/pkg/watch/mux.go b/pkg/watch/mux.go index ec6de050e5f..ad79dbc830f 100644 --- a/pkg/watch/mux.go +++ b/pkg/watch/mux.go @@ -19,8 +19,8 @@ package watch import ( "sync" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // FullChannelBehavior controls how the Broadcaster reacts if a watcher's watch @@ -81,8 +81,8 @@ const internalRunFunctionMarker = "internal-do-function" // a function type we can shoehorn into the queue. type functionFakeRuntimeObject func() -func (obj functionFakeRuntimeObject) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj functionFakeRuntimeObject) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } // Execute f, blocking the incoming queue (and waiting for it to drain first). diff --git a/pkg/watch/mux_test.go b/pkg/watch/mux_test.go index a503938e427..82a3d340cf9 100644 --- a/pkg/watch/mux_test.go +++ b/pkg/watch/mux_test.go @@ -22,7 +22,7 @@ import ( "testing" "time" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" ) @@ -31,7 +31,7 @@ type myType struct { Value string } -func (obj *myType) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj *myType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func TestBroadcaster(t *testing.T) { table := []Event{ diff --git a/pkg/watch/versioned/BUILD b/pkg/watch/versioned/BUILD index 9ec7e73a1a9..4ee0ef8930d 100644 --- a/pkg/watch/versioned/BUILD +++ b/pkg/watch/versioned/BUILD @@ -21,9 +21,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/conversion:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/watch:go_default_library", "//vendor:github.com/gogo/protobuf/proto", diff --git a/pkg/watch/versioned/register.go b/pkg/watch/versioned/register.go index e90a021a43d..298a651bc75 100644 --- a/pkg/watch/versioned/register.go +++ b/pkg/watch/versioned/register.go @@ -17,9 +17,9 @@ limitations under the License. package versioned import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch" ) @@ -28,10 +28,10 @@ const WatchEventKind = "WatchEvent" // AddToGroupVersion registers the watch external and internal kinds with the scheme, and ensures the proper // conversions are in place. -func AddToGroupVersion(scheme *runtime.Scheme, groupVersion unversioned.GroupVersion) { +func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) { scheme.AddKnownTypeWithName(groupVersion.WithKind(WatchEventKind), &Event{}) scheme.AddKnownTypeWithName( - unversioned.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), + schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), &InternalEvent{}, ) scheme.AddConversionFuncs( @@ -80,5 +80,5 @@ func Convert_versioned_Event_to_versioned_InternalEvent(in *Event, out *Internal // InternalEvent makes watch.Event versioned type InternalEvent watch.Event -func (e *InternalEvent) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } -func (e *Event) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (e *InternalEvent) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (e *Event) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } diff --git a/pkg/watch/watch_test.go b/pkg/watch/watch_test.go index 3569af55ea6..13190753ac7 100644 --- a/pkg/watch/watch_test.go +++ b/pkg/watch/watch_test.go @@ -19,12 +19,12 @@ package watch import ( "testing" - "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/runtime/schema" ) type testType string -func (obj testType) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (obj testType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } func TestFake(t *testing.T) { f := NewFake() diff --git a/plugin/pkg/admission/gc/BUILD b/plugin/pkg/admission/gc/BUILD index 4ff269f7a65..16524af880c 100644 --- a/plugin/pkg/admission/gc/BUILD +++ b/plugin/pkg/admission/gc/BUILD @@ -32,9 +32,9 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/auth/authorizer:go_default_library", "//pkg/auth/user:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/plugin/pkg/admission/gc/gc_admission_test.go b/plugin/pkg/admission/gc/gc_admission_test.go index 0c15100b69d..d2319576f49 100644 --- a/plugin/pkg/admission/gc/gc_admission_test.go +++ b/plugin/pkg/admission/gc/gc_admission_test.go @@ -21,10 +21,10 @@ import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/auth/authorizer" "k8s.io/kubernetes/pkg/auth/user" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) type fakeAuthorizer struct{} @@ -53,7 +53,7 @@ func TestGCAdmission(t *testing.T) { tests := []struct { name string username string - resource unversioned.GroupVersionResource + resource schema.GroupVersionResource oldObj runtime.Object newObj runtime.Object @@ -201,7 +201,7 @@ func TestGCAdmission(t *testing.T) { operation = admission.Update } user := &user.DefaultInfo{Name: tc.username} - attributes := admission.NewAttributesRecord(tc.newObj, tc.oldObj, unversioned.GroupVersionKind{}, api.NamespaceDefault, "foo", tc.resource, "", operation, user) + attributes := admission.NewAttributesRecord(tc.newObj, tc.oldObj, schema.GroupVersionKind{}, api.NamespaceDefault, "foo", tc.resource, "", operation, user) err := gcAdmit.Admit(attributes) switch { diff --git a/plugin/pkg/admission/imagepolicy/BUILD b/plugin/pkg/admission/imagepolicy/BUILD index d5b2ad46169..080688afe46 100644 --- a/plugin/pkg/admission/imagepolicy/BUILD +++ b/plugin/pkg/admission/imagepolicy/BUILD @@ -22,10 +22,10 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apis/imagepolicy/v1alpha1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/cache:go_default_library", "//pkg/util/yaml:go_default_library", "//plugin/pkg/webhook:go_default_library", diff --git a/plugin/pkg/admission/imagepolicy/admission.go b/plugin/pkg/admission/imagepolicy/admission.go index 77e90f89978..8f65489f6fb 100644 --- a/plugin/pkg/admission/imagepolicy/admission.go +++ b/plugin/pkg/admission/imagepolicy/admission.go @@ -30,9 +30,9 @@ import ( "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/yaml" "k8s.io/kubernetes/pkg/client/restclient" @@ -43,7 +43,7 @@ import ( ) var ( - groupVersions = []unversioned.GroupVersion{v1alpha1.SchemeGroupVersion} + groupVersions = []schema.GroupVersion{v1alpha1.SchemeGroupVersion} ) func init() { @@ -101,7 +101,7 @@ func (a *imagePolicyWebhook) webhookError(attributes admission.Attributes, err e func (a *imagePolicyWebhook) Admit(attributes admission.Attributes) (err error) { // Ignore all calls to subresources or resources other than pods. - allowedResources := map[unversioned.GroupResource]bool{ + allowedResources := map[schema.GroupResource]bool{ api.Resource("pods"): true, } diff --git a/plugin/pkg/admission/resourcequota/BUILD b/plugin/pkg/admission/resourcequota/BUILD index db1e6c80b64..429fc5198dd 100644 --- a/plugin/pkg/admission/resourcequota/BUILD +++ b/plugin/pkg/admission/resourcequota/BUILD @@ -50,7 +50,6 @@ go_test( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -59,6 +58,7 @@ go_test( "//pkg/quota/generic:go_default_library", "//pkg/quota/install:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/sets:go_default_library", "//vendor:github.com/hashicorp/golang-lru", ], diff --git a/plugin/pkg/admission/resourcequota/admission_test.go b/plugin/pkg/admission/resourcequota/admission_test.go index 8bf0024c71e..049640dcc1d 100644 --- a/plugin/pkg/admission/resourcequota/admission_test.go +++ b/plugin/pkg/admission/resourcequota/admission_test.go @@ -27,7 +27,6 @@ import ( "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" @@ -36,6 +35,7 @@ import ( "k8s.io/kubernetes/pkg/quota/generic" "k8s.io/kubernetes/pkg/quota/install" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/sets" ) @@ -935,7 +935,7 @@ func TestAdmissionSetsMissingNamespace(t *testing.T) { } registry := &generic.GenericRegistry{ - InternalEvaluators: map[unversioned.GroupKind]quota.Evaluator{ + InternalEvaluators: map[schema.GroupKind]quota.Evaluator{ podEvaluator.GroupKind(): podEvaluator, }, } diff --git a/plugin/pkg/admission/serviceaccount/BUILD b/plugin/pkg/admission/serviceaccount/BUILD index ab6759791fc..0b8b0470420 100644 --- a/plugin/pkg/admission/serviceaccount/BUILD +++ b/plugin/pkg/admission/serviceaccount/BUILD @@ -21,13 +21,13 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/fields:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/sets:go_default_library", "//pkg/watch:go_default_library", diff --git a/plugin/pkg/admission/serviceaccount/admission.go b/plugin/pkg/admission/serviceaccount/admission.go index 96b15e86599..980973accd5 100644 --- a/plugin/pkg/admission/serviceaccount/admission.go +++ b/plugin/pkg/admission/serviceaccount/admission.go @@ -24,11 +24,11 @@ import ( "time" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/fields" @@ -380,7 +380,7 @@ func (s *serviceAccount) mountServiceAccountToken(serviceAccount *api.ServiceAcc // We don't have an API token to mount, so return if s.RequireAPIToken { // If a token is required, this is considered an error - err := errors.NewServerTimeout(unversioned.GroupResource{Resource: "serviceaccounts"}, "create pod", 1) + err := errors.NewServerTimeout(schema.GroupResource{Resource: "serviceaccounts"}, "create pod", 1) err.ErrStatus.Message = fmt.Sprintf("No API token found for service account %q, retry after the token is automatically created and added to the service account", serviceAccount.Name) return err } diff --git a/plugin/pkg/auth/authenticator/token/webhook/BUILD b/plugin/pkg/auth/authenticator/token/webhook/BUILD index 406dd1c899d..f12c2c33f20 100644 --- a/plugin/pkg/auth/authenticator/token/webhook/BUILD +++ b/plugin/pkg/auth/authenticator/token/webhook/BUILD @@ -15,12 +15,12 @@ go_library( srcs = ["webhook.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/apis/authentication/install:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library", "//pkg/auth/authenticator:go_default_library", "//pkg/auth/user:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/cache:go_default_library", "//plugin/pkg/webhook:go_default_library", ], diff --git a/plugin/pkg/auth/authenticator/token/webhook/webhook.go b/plugin/pkg/auth/authenticator/token/webhook/webhook.go index 6dbbc60d859..e3fbc027bbe 100644 --- a/plugin/pkg/auth/authenticator/token/webhook/webhook.go +++ b/plugin/pkg/auth/authenticator/token/webhook/webhook.go @@ -20,18 +20,18 @@ package webhook import ( "time" - "k8s.io/kubernetes/pkg/api/unversioned" _ "k8s.io/kubernetes/pkg/apis/authentication/install" authentication "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" "k8s.io/kubernetes/pkg/auth/authenticator" "k8s.io/kubernetes/pkg/auth/user" authenticationclient "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/authentication/v1beta1" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/cache" "k8s.io/kubernetes/plugin/pkg/webhook" ) var ( - groupVersions = []unversioned.GroupVersion{authentication.SchemeGroupVersion} + groupVersions = []schema.GroupVersion{authentication.SchemeGroupVersion} ) const retryBackoff = 500 * time.Millisecond diff --git a/plugin/pkg/auth/authorizer/webhook/BUILD b/plugin/pkg/auth/authorizer/webhook/BUILD index bf2c3e84bcb..3344b463038 100644 --- a/plugin/pkg/auth/authorizer/webhook/BUILD +++ b/plugin/pkg/auth/authorizer/webhook/BUILD @@ -15,11 +15,11 @@ go_library( srcs = ["webhook.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/apis/authorization/install:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", "//pkg/auth/authorizer:go_default_library", "//pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/util/cache:go_default_library", "//plugin/pkg/webhook:go_default_library", "//vendor:github.com/golang/glog", diff --git a/plugin/pkg/auth/authorizer/webhook/webhook.go b/plugin/pkg/auth/authorizer/webhook/webhook.go index a04202d2ac5..f9aa6383c19 100644 --- a/plugin/pkg/auth/authorizer/webhook/webhook.go +++ b/plugin/pkg/auth/authorizer/webhook/webhook.go @@ -23,10 +23,10 @@ import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/api/unversioned" authorization "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" "k8s.io/kubernetes/pkg/auth/authorizer" authorizationclient "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/authorization/v1beta1" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/cache" "k8s.io/kubernetes/plugin/pkg/webhook" @@ -34,7 +34,7 @@ import ( ) var ( - groupVersions = []unversioned.GroupVersion{authorization.SchemeGroupVersion} + groupVersions = []schema.GroupVersion{authorization.SchemeGroupVersion} ) const retryBackoff = 500 * time.Millisecond diff --git a/plugin/pkg/scheduler/api/BUILD b/plugin/pkg/scheduler/api/BUILD index 8fc25950cf7..2fb5f923d05 100644 --- a/plugin/pkg/scheduler/api/BUILD +++ b/plugin/pkg/scheduler/api/BUILD @@ -22,5 +22,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", ], ) diff --git a/plugin/pkg/scheduler/api/latest/BUILD b/plugin/pkg/scheduler/api/latest/BUILD index 821e7db22d4..5837d33db25 100644 --- a/plugin/pkg/scheduler/api/latest/BUILD +++ b/plugin/pkg/scheduler/api/latest/BUILD @@ -15,8 +15,8 @@ go_library( srcs = ["latest.go"], tags = ["automanaged"], deps = [ - "//pkg/api/unversioned:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/json:go_default_library", "//pkg/runtime/serializer/versioning:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", diff --git a/plugin/pkg/scheduler/api/latest/latest.go b/plugin/pkg/scheduler/api/latest/latest.go index ab60711dcbc..7b3db3954c9 100644 --- a/plugin/pkg/scheduler/api/latest/latest.go +++ b/plugin/pkg/scheduler/api/latest/latest.go @@ -17,8 +17,8 @@ limitations under the License. package latest import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/runtime/serializer/json" "k8s.io/kubernetes/pkg/runtime/serializer/versioning" "k8s.io/kubernetes/plugin/pkg/scheduler/api" @@ -47,7 +47,7 @@ func init() { api.Scheme, jsonSerializer, jsonSerializer, - unversioned.GroupVersion{Version: Version}, + schema.GroupVersion{Version: Version}, runtime.InternalGroupVersioner, ) } diff --git a/plugin/pkg/scheduler/api/register.go b/plugin/pkg/scheduler/api/register.go index 11d81009f5a..a21ad7c5885 100644 --- a/plugin/pkg/scheduler/api/register.go +++ b/plugin/pkg/scheduler/api/register.go @@ -19,6 +19,7 @@ package api import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" ) // Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered. @@ -27,7 +28,7 @@ var Scheme = runtime.NewScheme() // SchemeGroupVersion is group version used to register these objects // TODO this should be in the "scheduler" group -var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: runtime.APIVersionInternal} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -51,4 +52,4 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Policy) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Policy) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/plugin/pkg/scheduler/api/v1/BUILD b/plugin/pkg/scheduler/api/v1/BUILD index c265e258780..0ac827f3fd0 100644 --- a/plugin/pkg/scheduler/api/v1/BUILD +++ b/plugin/pkg/scheduler/api/v1/BUILD @@ -22,6 +22,7 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", ], ) diff --git a/plugin/pkg/scheduler/api/v1/register.go b/plugin/pkg/scheduler/api/v1/register.go index b01b5bd07dd..c92c7408705 100644 --- a/plugin/pkg/scheduler/api/v1/register.go +++ b/plugin/pkg/scheduler/api/v1/register.go @@ -17,14 +17,14 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/plugin/pkg/scheduler/api" ) // SchemeGroupVersion is group version used to register these objects // TODO this should be in the "scheduler" group -var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} func init() { if err := addKnownTypes(api.Scheme); err != nil { @@ -45,4 +45,4 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Policy) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Policy) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/plugin/pkg/webhook/BUILD b/plugin/pkg/webhook/BUILD index 59ac78475c0..b5ffc6c68b0 100644 --- a/plugin/pkg/webhook/BUILD +++ b/plugin/pkg/webhook/BUILD @@ -17,12 +17,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authorization/install:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer:go_default_library", "//pkg/util/wait:go_default_library", ], diff --git a/plugin/pkg/webhook/webhook.go b/plugin/pkg/webhook/webhook.go index 9dccbcf4499..a05ad9acdd1 100755 --- a/plugin/pkg/webhook/webhook.go +++ b/plugin/pkg/webhook/webhook.go @@ -23,11 +23,11 @@ import ( "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" runtimeserializer "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/util/wait" @@ -40,7 +40,7 @@ type GenericWebhook struct { } // NewGenericWebhook creates a new GenericWebhook from the provided kubeconfig file. -func NewGenericWebhook(kubeConfigFile string, groupVersions []unversioned.GroupVersion, initialBackoff time.Duration) (*GenericWebhook, error) { +func NewGenericWebhook(kubeConfigFile string, groupVersions []schema.GroupVersion, initialBackoff time.Duration) (*GenericWebhook, error) { for _, groupVersion := range groupVersions { if !registered.IsEnabledVersion(groupVersion) { return nil, fmt.Errorf("webhook plugin requires enabling extension resource: %s", groupVersion) diff --git a/test/e2e/BUILD b/test/e2e/BUILD index bd7bafd04e7..121fa48d96f 100644 --- a/test/e2e/BUILD +++ b/test/e2e/BUILD @@ -161,6 +161,7 @@ go_library( "//pkg/metrics:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/exec:go_default_library", diff --git a/test/e2e/cronjob.go b/test/e2e/cronjob.go index 4b85689eab4..3200a968b92 100644 --- a/test/e2e/cronjob.go +++ b/test/e2e/cronjob.go @@ -23,12 +23,12 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/controller/job" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) @@ -39,9 +39,9 @@ const ( ) var ( - CronJobGroupVersionResource = unversioned.GroupVersionResource{Group: batch.GroupName, Version: "v2alpha1", Resource: "cronjobs"} - ScheduledJobGroupVersionResource = unversioned.GroupVersionResource{Group: batch.GroupName, Version: "v2alpha1", Resource: "scheduledjobs"} - BatchV2Alpha1GroupVersion = unversioned.GroupVersion{Group: batch.GroupName, Version: "v2alpha1"} + CronJobGroupVersionResource = schema.GroupVersionResource{Group: batch.GroupName, Version: "v2alpha1", Resource: "cronjobs"} + ScheduledJobGroupVersionResource = schema.GroupVersionResource{Group: batch.GroupName, Version: "v2alpha1", Resource: "scheduledjobs"} + BatchV2Alpha1GroupVersion = schema.GroupVersion{Group: batch.GroupName, Version: "v2alpha1"} ) var _ = framework.KubeDescribe("CronJob", func() { diff --git a/test/e2e/framework/BUILD b/test/e2e/framework/BUILD index c30d01b88af..6ae9459980a 100644 --- a/test/e2e/framework/BUILD +++ b/test/e2e/framework/BUILD @@ -68,6 +68,7 @@ go_library( "//pkg/master/ports:go_default_library", "//pkg/metrics:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/ssh:go_default_library", "//pkg/types:go_default_library", "//pkg/util/errors:go_default_library", diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go index ae4dd7bd96f..03f99a0afa3 100644 --- a/test/e2e/framework/framework.go +++ b/test/e2e/framework/framework.go @@ -32,7 +32,6 @@ import ( "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -42,6 +41,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/metrics" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/wait" testutils "k8s.io/kubernetes/test/utils" @@ -105,7 +105,7 @@ type TestDataSummary interface { type FrameworkOptions struct { ClientQPS float32 ClientBurst int - GroupVersion *unversioned.GroupVersion + GroupVersion *schema.GroupVersion } // NewFramework makes a new framework and sets up a BeforeEach/AfterEach for @@ -124,7 +124,7 @@ func NewDefaultFederatedFramework(baseName string) *Framework { return f } -func NewDefaultGroupVersionFramework(baseName string, groupVersion unversioned.GroupVersion) *Framework { +func NewDefaultGroupVersionFramework(baseName string, groupVersion schema.GroupVersion) *Framework { f := NewDefaultFramework(baseName) f.options.GroupVersion = &groupVersion return f diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index e059965bcff..a48b9cf7bcd 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -69,6 +69,7 @@ import ( "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" sshutil "k8s.io/kubernetes/pkg/ssh" "k8s.io/kubernetes/pkg/types" uexec "k8s.io/kubernetes/pkg/util/exec" @@ -356,7 +357,7 @@ func SkipUnlessFederated(c clientset.Interface) { } } -func SkipIfMissingResource(clientPool dynamic.ClientPool, gvr unversioned.GroupVersionResource, namespace string) { +func SkipIfMissingResource(clientPool dynamic.ClientPool, gvr schema.GroupVersionResource, namespace string) { dynamicClient, err := clientPool.ClientForGroupVersionResource(gvr) if err != nil { Failf("Unexpected error getting dynamic client for %v: %v", gvr.GroupVersion(), err) @@ -1410,7 +1411,7 @@ func WaitForRCToStabilize(c clientset.Interface, ns, name string, timeout time.D _, err = watch.Until(timeout, w, func(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: - return false, apierrs.NewNotFound(unversioned.GroupResource{Resource: "replicationcontrollers"}, "") + return false, apierrs.NewNotFound(schema.GroupResource{Resource: "replicationcontrollers"}, "") } switch rc := event.Object.(type) { case *v1.ReplicationController: diff --git a/test/e2e/petset.go b/test/e2e/petset.go index cc6b6486297..86d2692ef5b 100644 --- a/test/e2e/petset.go +++ b/test/e2e/petset.go @@ -39,6 +39,7 @@ import ( "k8s.io/kubernetes/pkg/labels" klabels "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/sets" @@ -66,7 +67,7 @@ const ( ) var ( - StatefulSetGroupVersionResource = unversioned.GroupVersionResource{Group: apps.GroupName, Version: "v1beta1", Resource: "statefulsets"} + StatefulSetGroupVersionResource = schema.GroupVersionResource{Group: apps.GroupName, Version: "v1beta1", Resource: "statefulsets"} ) // Time: 25m, slow by design. diff --git a/test/e2e_node/BUILD b/test/e2e_node/BUILD index c4f899b61ab..c1a118189c4 100644 --- a/test/e2e_node/BUILD +++ b/test/e2e_node/BUILD @@ -91,6 +91,7 @@ go_test( "//pkg/labels:go_default_library", "//pkg/metrics:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", @@ -111,7 +112,5 @@ go_test( "//vendor:github.com/onsi/gomega/gstruct", "//vendor:github.com/onsi/gomega/types", "//vendor:github.com/spf13/pflag", - "//vendor:k8s.io/client-go/pkg/api/errors", - "//vendor:k8s.io/client-go/pkg/api/unversioned", ], ) diff --git a/test/integration/client/client_test.go b/test/integration/client/client_test.go index 87d56a77aa4..286312fbfb4 100644 --- a/test/integration/client/client_test.go +++ b/test/integration/client/client_test.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" "k8s.io/kubernetes/pkg/watch" @@ -239,7 +240,7 @@ func TestPatch(t *testing.T) { t.Fatalf("Failed creating patchpods: %v", err) } - patchBodies := map[unversioned.GroupVersion]map[api.PatchType]struct { + patchBodies := map[schema.GroupVersion]map[api.PatchType]struct { AddLabelBody []byte RemoveLabelBody []byte RemoveAllLabelsBody []byte diff --git a/test/integration/federation/server_test.go b/test/integration/federation/server_test.go index 7c8b12b1d1a..8747939bd00 100644 --- a/test/integration/federation/server_test.go +++ b/test/integration/federation/server_test.go @@ -34,6 +34,7 @@ import ( "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" ext_v1b1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" + "k8s.io/kubernetes/pkg/runtime/schema" ) func TestLongRunningRequestRegexp(t *testing.T) { @@ -80,7 +81,7 @@ func TestLongRunningRequestRegexp(t *testing.T) { var securePort = 6443 + 2 var insecurePort = 8080 + 2 var serverIP = fmt.Sprintf("http://localhost:%v", insecurePort) -var groupVersions = []unversioned.GroupVersion{ +var groupVersions = []schema.GroupVersion{ fed_v1b1.SchemeGroupVersion, ext_v1b1.SchemeGroupVersion, } diff --git a/test/integration/framework/BUILD b/test/integration/framework/BUILD index 5c5e4ed2074..0970360f03d 100644 --- a/test/integration/framework/BUILD +++ b/test/integration/framework/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", @@ -53,6 +52,7 @@ go_library( "//pkg/kubelet/client:go_default_library", "//pkg/master:go_default_library", "//pkg/runtime:go_default_library", + "//pkg/runtime/schema:go_default_library", "//pkg/runtime/serializer/versioning:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util/env:go_default_library", diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index 8a77a27706c..843365da739 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -29,7 +29,6 @@ import ( "github.com/golang/glog" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apimachinery/registered" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" @@ -59,6 +58,7 @@ import ( kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" @@ -244,7 +244,7 @@ func startMasterOrDie(masterConfig *master.Config, incomingServer *httptest.Serv m.GenericAPIServer.RunPostStartHooks() cfg := *masterConfig.GenericConfig.LoopbackClientConfig - cfg.ContentConfig.GroupVersion = &unversioned.GroupVersion{} + cfg.ContentConfig.GroupVersion = &schema.GroupVersion{} privilegedClient, err := restclient.RESTClientFor(&cfg) if err != nil { glog.Fatal(err) @@ -310,39 +310,39 @@ func NewMasterConfig() *master.Config { storageFactory := genericapiserver.NewDefaultStorageFactory(config, runtime.ContentTypeJSON, ns, genericapiserver.NewDefaultResourceEncodingConfig(), master.DefaultAPIResourceConfigSource()) storageFactory.SetSerializer( - unversioned.GroupResource{Group: v1.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: v1.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: autoscaling.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: autoscaling.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: batch.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: batch.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: apps.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: apps.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: extensions.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: extensions.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: policy.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: policy.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: rbac.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: rbac.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: certificates.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: certificates.GroupName, Resource: genericapiserver.AllResources}, "", ns) storageFactory.SetSerializer( - unversioned.GroupResource{Group: storage.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: storage.GroupName, Resource: genericapiserver.AllResources}, "", ns) diff --git a/test/integration/quota/quota_test.go b/test/integration/quota/quota_test.go index aaa6ed39ed2..662bb5450dc 100644 --- a/test/integration/quota/quota_test.go +++ b/test/integration/quota/quota_test.go @@ -27,7 +27,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -39,6 +38,7 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" quotainstall "k8s.io/kubernetes/pkg/quota/install" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/plugin/pkg/admission/resourcequota" "k8s.io/kubernetes/test/integration" @@ -89,7 +89,7 @@ func TestQuota(t *testing.T) { Run(3, controllerCh) resourceQuotaRegistry := quotainstall.NewRegistry(clientset, nil) - groupKindsToReplenish := []unversioned.GroupKind{ + groupKindsToReplenish := []schema.GroupKind{ api.Kind("Pod"), } resourceQuotaControllerOptions := &resourcequotacontroller.ResourceQuotaControllerOptions{ diff --git a/test/integration/thirdparty/thirdparty_test.go b/test/integration/thirdparty/thirdparty_test.go index 26492178caf..5c2e90f60c7 100644 --- a/test/integration/thirdparty/thirdparty_test.go +++ b/test/integration/thirdparty/thirdparty_test.go @@ -33,6 +33,7 @@ import ( extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" "k8s.io/kubernetes/pkg/client/restclient" + "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration/framework" @@ -87,7 +88,7 @@ func installThirdParty(t *testing.T, client clientset.Interface, clientConfig *r fooClientConfig := *clientConfig fooClientConfig.APIPath = "apis" - fooClientConfig.GroupVersion = &unversioned.GroupVersion{Group: group, Version: version} + fooClientConfig.GroupVersion = &schema.GroupVersion{Group: group, Version: version} fooClient, err := restclient.RESTClientFor(&fooClientConfig) if err != nil { t.Fatal(err) @@ -162,7 +163,7 @@ func testInstallThirdPartyAPIDeleteVersion(t *testing.T, client clientset.Interf fooClientConfig := *clientConfig fooClientConfig.APIPath = "apis" - fooClientConfig.GroupVersion = &unversioned.GroupVersion{Group: group, Version: version} + fooClientConfig.GroupVersion = &schema.GroupVersion{Group: group, Version: version} fooClient, err := restclient.RESTClientFor(&fooClientConfig) if err != nil { t.Fatal(err) diff --git a/vendor/BUILD b/vendor/BUILD index e89c2d50c08..f01104a2b39 100644 --- a/vendor/BUILD +++ b/vendor/BUILD @@ -8578,6 +8578,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/util/sets", "//vendor:k8s.io/client-go/pkg/version", @@ -8594,6 +8595,7 @@ go_library( "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/version", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -8615,6 +8617,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/conversion/queryparams", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/util/flowcontrol", "//vendor:k8s.io/client-go/pkg/watch", @@ -8718,9 +8721,9 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/authentication/v1beta1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/rest", ], @@ -8759,9 +8762,9 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/authorization/v1beta1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/rest", ], @@ -8800,10 +8803,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/autoscaling/v1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -8821,10 +8824,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/autoscaling/v1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/autoscaling/v1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -8842,10 +8845,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/batch/v1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -8863,10 +8866,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/batch/v1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/batch/v1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -8885,10 +8888,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/certificates/v1alpha1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -8907,10 +8910,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/certificates/v1alpha1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/certificates/v1alpha1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -8948,12 +8951,12 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/pkg/fields", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/util/net", "//vendor:k8s.io/client-go/pkg/watch", @@ -8992,12 +8995,12 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/core/v1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/pkg/fields", "//vendor:k8s.io/client-go/pkg/labels", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -9025,10 +9028,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -9055,10 +9058,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/extensions/v1beta1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -9076,10 +9079,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/policy/v1alpha1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -9097,10 +9100,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/policy/v1alpha1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/policy/v1alpha1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -9121,10 +9124,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/rbac/v1alpha1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -9145,10 +9148,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac/v1alpha1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -9166,10 +9169,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/storage/v1beta1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -9187,10 +9190,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/storage/v1beta1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/storage/v1beta1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -9232,6 +9235,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/fields", "//vendor:k8s.io/client-go/pkg/labels", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/selection", "//vendor:k8s.io/client-go/pkg/types", @@ -9254,6 +9258,7 @@ go_library( deps = [ "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/validation/field", ], ) @@ -9266,11 +9271,11 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/sets", ], ) @@ -9296,6 +9301,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/errors", "//vendor:k8s.io/client-go/pkg/util/sets", @@ -9338,7 +9344,6 @@ go_library( "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/install", "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/apps", "//vendor:k8s.io/client-go/pkg/apis/apps/install", @@ -9367,6 +9372,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/federation/apis/federation", "//vendor:k8s.io/client-go/pkg/federation/apis/federation/install", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/recognizer", ], ) @@ -9397,6 +9403,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/genericapiserver/openapi/common", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/selection", ], ) @@ -9407,11 +9414,13 @@ go_library( "k8s.io/client-go/pkg/api/v1/conversion.go", "k8s.io/client-go/pkg/api/v1/defaults.go", "k8s.io/client-go/pkg/api/v1/doc.go", + "k8s.io/client-go/pkg/api/v1/generate.go", "k8s.io/client-go/pkg/api/v1/generated.pb.go", "k8s.io/client-go/pkg/api/v1/helpers.go", "k8s.io/client-go/pkg/api/v1/meta.go", "k8s.io/client-go/pkg/api/v1/ref.go", "k8s.io/client-go/pkg/api/v1/register.go", + "k8s.io/client-go/pkg/api/v1/resource_helpers.go", "k8s.io/client-go/pkg/api/v1/types.generated.go", "k8s.io/client-go/pkg/api/v1/types.go", "k8s.io/client-go/pkg/api/v1/types_swagger_doc_generated.go", @@ -9431,11 +9440,17 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apis/extensions", "//vendor:k8s.io/client-go/pkg/conversion", + "//vendor:k8s.io/client-go/pkg/fields", + "//vendor:k8s.io/client-go/pkg/labels", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", + "//vendor:k8s.io/client-go/pkg/selection", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/util/parsers", + "//vendor:k8s.io/client-go/pkg/util/rand", + "//vendor:k8s.io/client-go/pkg/util/sets", "//vendor:k8s.io/client-go/pkg/util/validation/field", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -9456,8 +9471,8 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", ], ) @@ -9472,10 +9487,10 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/sets", ], ) @@ -9487,8 +9502,8 @@ go_library( deps = [ "//vendor:github.com/golang/glog", "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/sets", ], ) @@ -9510,6 +9525,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", ], @@ -9542,6 +9558,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -9582,6 +9599,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/authentication", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -9602,6 +9620,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -9642,6 +9661,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/authorization", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -9663,6 +9683,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -9701,6 +9722,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/autoscaling", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -9723,6 +9745,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", ], @@ -9766,6 +9789,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/batch", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/watch/versioned", @@ -9798,6 +9822,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/batch", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/watch/versioned", @@ -9820,6 +9845,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -9859,6 +9885,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/certificates", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -9880,6 +9907,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/config", "//vendor:k8s.io/client-go/pkg/util/net", ], @@ -9917,6 +9945,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/kubelet/types", "//vendor:k8s.io/client-go/pkg/master/ports", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/config", ], ) @@ -9941,6 +9970,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/batch", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", ], @@ -9987,6 +10017,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/extensions", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/watch/versioned", @@ -10009,6 +10040,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -10047,6 +10079,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/imagepolicy", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -10064,6 +10097,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", ], ) @@ -10095,6 +10129,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", ], ) @@ -10114,6 +10149,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", ], @@ -10142,6 +10178,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -10162,6 +10199,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], ) @@ -10184,6 +10222,7 @@ go_library( "k8s.io/client-go/pkg/apis/rbac/v1alpha1/defaults.go", "k8s.io/client-go/pkg/apis/rbac/v1alpha1/doc.go", "k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.pb.go", + "k8s.io/client-go/pkg/apis/rbac/v1alpha1/helpers.go", "k8s.io/client-go/pkg/apis/rbac/v1alpha1/register.go", "k8s.io/client-go/pkg/apis/rbac/v1alpha1/types.generated.go", "k8s.io/client-go/pkg/apis/rbac/v1alpha1/types.go", @@ -10201,6 +10240,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/rbac", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -10222,6 +10262,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -10260,6 +10301,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/storage", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -10312,6 +10354,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", ], ) @@ -10324,12 +10367,12 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/meta", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/federation/apis/federation", "//vendor:k8s.io/client-go/pkg/federation/apis/federation/v1beta1", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/sets", ], ) @@ -10358,6 +10401,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/federation/apis/federation", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch/versioned", ], @@ -10400,6 +10444,7 @@ go_library( deps = [ "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/resource", + "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/util/sets", ], ) @@ -10431,7 +10476,7 @@ go_library( "k8s.io/client-go/pkg/kubelet/types/types.go", ], tags = ["automanaged"], - deps = ["//vendor:k8s.io/client-go/pkg/api"], + deps = ["//vendor:k8s.io/client-go/pkg/api/v1"], ) go_library( @@ -10489,6 +10534,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/conversion/queryparams", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/errors", "//vendor:k8s.io/client-go/pkg/util/json", @@ -10504,8 +10550,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/json", "//vendor:k8s.io/client-go/pkg/runtime/serializer/protobuf", "//vendor:k8s.io/client-go/pkg/runtime/serializer/recognizer", @@ -10523,8 +10569,8 @@ go_library( deps = [ "//vendor:github.com/ghodss/yaml", "//vendor:github.com/ugorji/go/codec", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/recognizer", "//vendor:k8s.io/client-go/pkg/util/framer", "//vendor:k8s.io/client-go/pkg/util/yaml", @@ -10540,8 +10586,8 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:github.com/gogo/protobuf/proto", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/recognizer", "//vendor:k8s.io/client-go/pkg/util/framer", ], @@ -10552,8 +10598,8 @@ go_library( srcs = ["k8s.io/client-go/pkg/runtime/serializer/recognizer/recognizer.go"], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", ], ) @@ -10562,8 +10608,8 @@ go_library( srcs = ["k8s.io/client-go/pkg/runtime/serializer/streaming/streaming.go"], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", ], ) @@ -10572,8 +10618,8 @@ go_library( srcs = ["k8s.io/client-go/pkg/runtime/serializer/versioning/versioning.go"], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/runtime", ], ) @@ -10640,7 +10686,10 @@ go_library( "k8s.io/client-go/pkg/util/cert/pem.go", ], tags = ["automanaged"], - deps = ["//vendor:k8s.io/client-go/pkg/apis/certificates"], + deps = [ + "//vendor:k8s.io/client-go/pkg/apis/certificates", + "//vendor:k8s.io/client-go/pkg/apis/certificates/v1alpha1", + ], ) go_library( @@ -10922,8 +10971,8 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:github.com/golang/glog", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/net", "//vendor:k8s.io/client-go/pkg/util/runtime", "//vendor:k8s.io/client-go/pkg/util/wait", @@ -10942,9 +10991,9 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:github.com/gogo/protobuf/proto", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/streaming", "//vendor:k8s.io/client-go/pkg/watch", ], @@ -11023,6 +11072,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/fields", "//vendor:k8s.io/client-go/pkg/labels", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/streaming", "//vendor:k8s.io/client-go/pkg/util/cert", "//vendor:k8s.io/client-go/pkg/util/flowcontrol", @@ -11044,9 +11094,9 @@ go_library( deps = [ "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/testapi", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/flowcontrol", "//vendor:k8s.io/client-go/rest", ], @@ -11070,6 +11120,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/fields", "//vendor:k8s.io/client-go/pkg/labels", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/version", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -11113,15 +11164,19 @@ go_library( "//vendor:k8s.io/client-go/pkg/api/errors", "//vendor:k8s.io/client-go/pkg/api/meta", "//vendor:k8s.io/client-go/pkg/api/unversioned", - "//vendor:k8s.io/client-go/pkg/apis/apps", - "//vendor:k8s.io/client-go/pkg/apis/certificates", + "//vendor:k8s.io/client-go/pkg/api/v1", + "//vendor:k8s.io/client-go/pkg/apis/apps/v1beta1", + "//vendor:k8s.io/client-go/pkg/apis/certificates/v1alpha1", "//vendor:k8s.io/client-go/pkg/apis/extensions", - "//vendor:k8s.io/client-go/pkg/apis/policy", + "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1", + "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/pkg/apis/rbac", "//vendor:k8s.io/client-go/pkg/apis/storage", + "//vendor:k8s.io/client-go/pkg/apis/storage/v1beta1", "//vendor:k8s.io/client-go/pkg/fields", "//vendor:k8s.io/client-go/pkg/labels", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/clock", "//vendor:k8s.io/client-go/pkg/util/diff", "//vendor:k8s.io/client-go/pkg/util/runtime", @@ -11139,6 +11194,7 @@ go_library( deps = [ "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/api/meta", + "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/runtime", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/watch", @@ -11164,8 +11220,8 @@ go_library( "//vendor:github.com/imdario/mergo", "//vendor:github.com/spf13/pflag", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/util/errors", "//vendor:k8s.io/client-go/pkg/util/homedir", "//vendor:k8s.io/client-go/pkg/util/validation", @@ -11185,8 +11241,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", ], ) @@ -11195,8 +11251,8 @@ go_library( srcs = ["k8s.io/client-go/tools/clientcmd/api/latest/latest.go"], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer/json", "//vendor:k8s.io/client-go/pkg/runtime/serializer/versioning", "//vendor:k8s.io/client-go/tools/clientcmd/api", @@ -11213,9 +11269,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/tools/clientcmd/api", ], ) @@ -11512,10 +11568,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/apps/v1beta1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -11533,10 +11589,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/apps/v1beta1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/apps/v1beta1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11555,10 +11611,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/batch/v2alpha1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -11577,10 +11633,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/batch/v2alpha1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/batch/v2alpha1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11598,10 +11654,10 @@ go_library( tags = ["automanaged"], deps = [ "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apimachinery/registered", "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/runtime/serializer", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", @@ -11619,10 +11675,10 @@ go_library( deps = [ "//vendor:k8s.io/client-go/kubernetes/typed/policy/v1beta1", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/unversioned", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/pkg/labels", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/watch", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11655,6 +11711,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/apps", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/watch/versioned", @@ -11684,6 +11741,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/policy", "//vendor:k8s.io/client-go/pkg/conversion", "//vendor:k8s.io/client-go/pkg/runtime", + "//vendor:k8s.io/client-go/pkg/runtime/schema", "//vendor:k8s.io/client-go/pkg/types", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/pkg/watch/versioned", @@ -11716,3 +11774,14 @@ go_library( srcs = ["k8s.io/client-go/pkg/util/ratelimit/bucket.go"], tags = ["automanaged"], ) + +go_library( + name = "k8s.io/client-go/pkg/runtime/schema", + srcs = [ + "k8s.io/client-go/pkg/runtime/schema/generated.pb.go", + "k8s.io/client-go/pkg/runtime/schema/group_version.go", + "k8s.io/client-go/pkg/runtime/schema/interfaces.go", + ], + tags = ["automanaged"], + deps = ["//vendor:github.com/gogo/protobuf/proto"], +) From 047855f98056652ec3c6686797663462dfb1733b Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 20 Nov 2016 21:58:08 -0500 Subject: [PATCH 3/3] generated: client to staging --- .../src/k8s.io/client-go/Godeps/Godeps.json | 2 +- .../_vendor/cloud.google.com/go/AUTHORS | 15 - .../_vendor/cloud.google.com/go/CONTRIBUTORS | 34 - .../github.com/docker/distribution/AUTHORS | 128 - .../github.com/gogo/protobuf/CONTRIBUTORS | 15 - .../github.com/golang/protobuf/AUTHORS | 3 - .../github.com/golang/protobuf/CONTRIBUTORS | 3 - .../_vendor/golang.org/x/crypto/AUTHORS | 3 - .../_vendor/golang.org/x/crypto/CONTRIBUTORS | 3 - .../_vendor/golang.org/x/net/AUTHORS | 3 - .../_vendor/golang.org/x/net/CONTRIBUTORS | 3 - .../_vendor/golang.org/x/sys/AUTHORS | 3 - .../_vendor/golang.org/x/sys/CONTRIBUTORS | 3 - .../_vendor/golang.org/x/text/AUTHORS | 3 - .../_vendor/golang.org/x/text/CONTRIBUTORS | 3 - .../client-go/discovery/discovery_client.go | 74 +- .../discovery/discovery_client_test.go | 188 +- .../client-go/discovery/fake/discovery.go | 17 +- .../src/k8s.io/client-go/discovery/helper.go | 3 +- .../discovery/helper_blackbox_test.go | 41 +- .../k8s.io/client-go/discovery/restmapper.go | 33 +- .../client-go/discovery/restmapper_test.go | 63 +- .../client-go/discovery/unstructured.go | 18 +- .../src/k8s.io/client-go/dynamic/client.go | 11 +- .../k8s.io/client-go/dynamic/client_pool.go | 20 +- .../k8s.io/client-go/dynamic/client_test.go | 19 +- .../k8s.io/client-go/dynamic/dynamic_util.go | 17 +- .../client-go/dynamic/dynamic_util_test.go | 5 +- .../typed/apps/v1beta1/apps_client.go | 4 +- .../apps/v1beta1/fake/fake_statefulset.go | 4 +- .../v1beta1/authentication_client.go | 4 +- .../v1beta1/authorization_client.go | 4 +- .../autoscaling/v1/autoscaling_client.go | 4 +- .../v1/fake/fake_horizontalpodautoscaler.go | 4 +- .../kubernetes/typed/batch/v1/batch_client.go | 4 +- .../typed/batch/v1/fake/fake_job.go | 4 +- .../typed/batch/v2alpha1/batch_client.go | 4 +- .../typed/batch/v2alpha1/fake/fake_cronjob.go | 4 +- .../typed/batch/v2alpha1/fake/fake_job.go | 4 +- .../v1alpha1/certificates_client.go | 4 +- .../fake/fake_certificatesigningrequest.go | 4 +- .../kubernetes/typed/core/v1/core_client.go | 4 +- .../core/v1/fake/fake_componentstatus.go | 4 +- .../typed/core/v1/fake/fake_configmap.go | 4 +- .../typed/core/v1/fake/fake_endpoints.go | 4 +- .../typed/core/v1/fake/fake_event.go | 4 +- .../typed/core/v1/fake/fake_limitrange.go | 4 +- .../typed/core/v1/fake/fake_namespace.go | 4 +- .../typed/core/v1/fake/fake_node.go | 4 +- .../core/v1/fake/fake_persistentvolume.go | 4 +- .../v1/fake/fake_persistentvolumeclaim.go | 4 +- .../kubernetes/typed/core/v1/fake/fake_pod.go | 4 +- .../typed/core/v1/fake/fake_podtemplate.go | 4 +- .../v1/fake/fake_replicationcontroller.go | 4 +- .../typed/core/v1/fake/fake_resourcequota.go | 4 +- .../typed/core/v1/fake/fake_secret.go | 4 +- .../typed/core/v1/fake/fake_service.go | 4 +- .../typed/core/v1/fake/fake_serviceaccount.go | 4 +- .../extensions/v1beta1/extensions_client.go | 4 +- .../extensions/v1beta1/fake/fake_daemonset.go | 4 +- .../v1beta1/fake/fake_deployment.go | 4 +- .../extensions/v1beta1/fake/fake_ingress.go | 4 +- .../typed/extensions/v1beta1/fake/fake_job.go | 4 +- .../v1beta1/fake/fake_podsecuritypolicy.go | 4 +- .../v1beta1/fake/fake_replicaset.go | 4 +- .../v1beta1/fake/fake_scale_expansion.go | 6 +- .../v1beta1/fake/fake_thirdpartyresource.go | 4 +- .../extensions/v1beta1/scale_expansion.go | 6 +- .../v1alpha1/fake/fake_poddisruptionbudget.go | 4 +- .../typed/policy/v1alpha1/policy_client.go | 5 +- .../v1beta1/fake/fake_poddisruptionbudget.go | 4 +- .../typed/policy/v1beta1/policy_client.go | 4 +- .../rbac/v1alpha1/fake/fake_clusterrole.go | 4 +- .../v1alpha1/fake/fake_clusterrolebinding.go | 4 +- .../typed/rbac/v1alpha1/fake/fake_role.go | 4 +- .../rbac/v1alpha1/fake/fake_rolebinding.go | 4 +- .../typed/rbac/v1alpha1/rbac_client.go | 4 +- .../storage/v1beta1/fake/fake_storageclass.go | 4 +- .../typed/storage/v1beta1/storage_client.go | 4 +- .../k8s.io/client-go/pkg/api/errors/errors.go | 21 +- .../client-go/pkg/api/install/install.go | 14 +- .../src/k8s.io/client-go/pkg/api/mapper.go | 6 +- .../k8s.io/client-go/pkg/api/meta/errors.go | 18 +- .../pkg/api/meta/firsthit_restmapper.go | 12 +- .../client-go/pkg/api/meta/interfaces.go | 15 +- .../src/k8s.io/client-go/pkg/api/meta/meta.go | 5 +- .../client-go/pkg/api/meta/multirestmapper.go | 28 +- .../k8s.io/client-go/pkg/api/meta/priority.go | 44 +- .../client-go/pkg/api/meta/restmapper.go | 78 +- .../client-go/pkg/api/meta/unstructured.go | 4 +- staging/src/k8s.io/client-go/pkg/api/ref.go | 10 +- .../src/k8s.io/client-go/pkg/api/register.go | 9 +- .../client-go/pkg/api/testapi/testapi.go | 54 +- .../pkg/api/unversioned/generated.pb.go | 177 +- .../pkg/api/unversioned/generated.proto | 1 + .../pkg/api/unversioned/group_version.go | 205 +- .../client-go/pkg/api/unversioned/meta.go | 12 +- .../client-go/pkg/api/unversioned/register.go | 8 +- .../k8s.io/client-go/pkg/api/v1/generate.go | 64 + .../client-go/pkg/api/v1/generated.pb.go | 2562 ++++++++++------- .../client-go/pkg/api/v1/generated.proto | 16 +- .../k8s.io/client-go/pkg/api/v1/helpers.go | 429 ++- .../src/k8s.io/client-go/pkg/api/v1/ref.go | 10 +- .../k8s.io/client-go/pkg/api/v1/register.go | 3 +- .../client-go/pkg/api/v1/resource_helpers.go | 229 ++ .../src/k8s.io/client-go/pkg/api/v1/types.go | 48 +- .../pkg/api/v1/types_swagger_doc_generated.go | 2 +- .../pkg/api/v1/zz_generated.conversion.go | 42 + .../pkg/api/v1/zz_generated.deepcopy.go | 29 + .../apimachinery/announced/group_factory.go | 18 +- .../pkg/apimachinery/registered/registered.go | 80 +- .../client-go/pkg/apimachinery/types.go | 16 +- .../client-go/pkg/apis/apps/register.go | 8 +- .../pkg/apis/apps/v1beta1/generated.pb.go | 82 +- .../pkg/apis/apps/v1beta1/generated.proto | 1 + .../pkg/apis/apps/v1beta1/register.go | 8 +- .../pkg/apis/authentication/register.go | 8 +- .../authentication/v1beta1/generated.pb.go | 84 +- .../authentication/v1beta1/generated.proto | 1 + .../apis/authentication/v1beta1/register.go | 4 +- .../pkg/apis/authorization/register.go | 8 +- .../authorization/v1beta1/generated.pb.go | 109 +- .../authorization/v1beta1/generated.proto | 1 + .../apis/authorization/v1beta1/register.go | 10 +- .../pkg/apis/autoscaling/register.go | 9 +- .../pkg/apis/autoscaling/v1/generated.pb.go | 108 +- .../pkg/apis/autoscaling/v1/generated.proto | 1 + .../pkg/apis/autoscaling/v1/register.go | 4 +- .../client-go/pkg/apis/batch/register.go | 9 +- .../pkg/apis/batch/v1/generated.pb.go | 107 +- .../pkg/apis/batch/v1/generated.proto | 1 + .../client-go/pkg/apis/batch/v1/register.go | 4 +- .../pkg/apis/batch/v2alpha1/generated.pb.go | 146 +- .../pkg/apis/batch/v2alpha1/generated.proto | 1 + .../pkg/apis/batch/v2alpha1/register.go | 4 +- .../pkg/apis/certificates/register.go | 12 +- .../certificates/v1alpha1/generated.pb.go | 90 +- .../certificates/v1alpha1/generated.proto | 1 + .../apis/certificates/v1alpha1/register.go | 12 +- .../pkg/apis/componentconfig/register.go | 14 +- .../apis/componentconfig/types.generated.go | 18 +- .../pkg/apis/componentconfig/types.go | 4 +- .../apis/componentconfig/v1alpha1/defaults.go | 12 +- .../apis/componentconfig/v1alpha1/register.go | 10 +- .../apis/componentconfig/v1alpha1/types.go | 2 +- .../v1alpha1/zz_generated.conversion.go | 4 +- .../v1alpha1/zz_generated.deepcopy.go | 9 +- .../componentconfig/zz_generated.deepcopy.go | 2 +- .../client-go/pkg/apis/extensions/register.go | 8 +- .../client-go/pkg/apis/extensions/types.go | 2 - .../apis/extensions/v1beta1/generated.pb.go | 460 +-- .../apis/extensions/v1beta1/generated.proto | 1 + .../pkg/apis/extensions/v1beta1/register.go | 4 +- .../pkg/apis/imagepolicy/register.go | 8 +- .../apis/imagepolicy/v1alpha1/generated.pb.go | 75 +- .../apis/imagepolicy/v1alpha1/generated.proto | 1 + .../pkg/apis/imagepolicy/v1alpha1/register.go | 4 +- .../client-go/pkg/apis/kubeadm/register.go | 14 +- .../pkg/apis/kubeadm/v1alpha1/register.go | 14 +- .../client-go/pkg/apis/policy/register.go | 8 +- .../pkg/apis/policy/v1alpha1/register.go | 4 +- .../pkg/apis/policy/v1beta1/generated.pb.go | 98 +- .../pkg/apis/policy/v1beta1/generated.proto | 1 + .../pkg/apis/policy/v1beta1/register.go | 4 +- .../k8s.io/client-go/pkg/apis/rbac/helpers.go | 6 +- .../client-go/pkg/apis/rbac/register.go | 8 +- .../pkg/apis/rbac/v1alpha1/generated.pb.go | 421 ++- .../pkg/apis/rbac/v1alpha1/generated.proto | 17 + .../pkg/apis/rbac/v1alpha1/helpers.go | 148 + .../pkg/apis/rbac/v1alpha1/register.go | 4 +- .../client-go/pkg/apis/rbac/v1alpha1/types.go | 18 + .../rbac/v1alpha1/zz_generated.conversion.go | 48 + .../pkg/apis/rbac/zz_generated.deepcopy.go | 3 +- .../client-go/pkg/apis/storage/register.go | 8 +- .../pkg/apis/storage/v1beta1/generated.pb.go | 61 +- .../pkg/apis/storage/v1beta1/generated.proto | 1 + .../pkg/apis/storage/v1beta1/register.go | 4 +- .../apis/federation/install/install.go | 14 +- .../federation/apis/federation/register.go | 12 +- .../pkg/federation/apis/federation/types.go | 2 +- .../apis/federation/v1beta1/generated.pb.go | 102 +- .../apis/federation/v1beta1/generated.proto | 1 + .../apis/federation/v1beta1/register.go | 8 +- .../client-go/pkg/kubelet/qos/policy.go | 6 +- .../k8s.io/client-go/pkg/kubelet/qos/qos.go | 90 +- .../client-go/pkg/kubelet/types/pod_update.go | 8 +- .../client-go/pkg/kubelet/types/types.go | 10 +- .../src/k8s.io/client-go/pkg/runtime/codec.go | 44 +- .../client-go/pkg/runtime/codec_check.go | 4 +- .../k8s.io/client-go/pkg/runtime/embedded.go | 10 +- .../src/k8s.io/client-go/pkg/runtime/error.go | 6 +- .../k8s.io/client-go/pkg/runtime/helper.go | 6 +- .../client-go/pkg/runtime/interfaces.go | 18 +- .../k8s.io/client-go/pkg/runtime/register.go | 20 +- .../pkg/runtime/schema/generated.pb.go | 58 + .../pkg/runtime/schema/generated.proto | 28 + .../pkg/runtime/schema/group_version.go | 277 ++ .../pkg/runtime/schema/interfaces.go | 40 + .../k8s.io/client-go/pkg/runtime/scheme.go | 48 +- .../pkg/runtime/serializer/codec_factory.go | 10 +- .../pkg/runtime/serializer/json/json.go | 4 +- .../pkg/runtime/serializer/json/meta.go | 10 +- .../runtime/serializer/protobuf/protobuf.go | 12 +- .../serializer/recognizer/recognizer.go | 4 +- .../runtime/serializer/streaming/streaming.go | 6 +- .../serializer/versioning/versioning.go | 8 +- .../client-go/pkg/runtime/unstructured.go | 21 +- .../src/k8s.io/client-go/pkg/util/cert/csr.go | 16 + .../client-go/pkg/util/config/feature_gate.go | 29 +- staging/src/k8s.io/client-go/pkg/watch/mux.go | 6 +- .../client-go/pkg/watch/versioned/register.go | 10 +- .../plugin/pkg/client/auth/gcp/gcp.go | 79 +- .../plugin/pkg/client/auth/gcp/gcp_test.go | 68 + staging/src/k8s.io/client-go/rest/client.go | 10 +- .../src/k8s.io/client-go/rest/client_test.go | 3 +- staging/src/k8s.io/client-go/rest/config.go | 3 +- .../src/k8s.io/client-go/rest/config_test.go | 4 +- .../src/k8s.io/client-go/rest/fake/fake.go | 6 +- staging/src/k8s.io/client-go/rest/request.go | 9 +- .../src/k8s.io/client-go/rest/request_test.go | 11 +- .../src/k8s.io/client-go/rest/url_utils.go | 6 +- .../src/k8s.io/client-go/testing/actions.go | 50 +- staging/src/k8s.io/client-go/testing/fake.go | 7 +- .../src/k8s.io/client-go/testing/fixture.go | 25 +- .../client-go/tools/cache/controller_test.go | 30 +- .../client-go/tools/cache/index_test.go | 19 +- .../k8s.io/client-go/tools/cache/listers.go | 58 +- .../client-go/tools/cache/listers_core.go | 89 +- .../tools/cache/listers_extensions.go | 13 +- .../client-go/tools/cache/listers_rbac.go | 2 +- .../client-go/tools/cache/listers_test.go | 190 +- .../k8s.io/client-go/tools/cache/listwatch.go | 23 +- .../tools/cache/mutation_detector_test.go | 14 +- .../k8s.io/client-go/tools/cache/reflector.go | 6 +- .../client-go/tools/cache/reflector_test.go | 98 +- .../cache/testing/fake_controller_source.go | 13 +- .../testing/fake_controller_source_test.go | 17 +- .../tools/clientcmd/api/latest/latest.go | 6 +- .../client-go/tools/clientcmd/api/register.go | 12 +- .../tools/clientcmd/api/v1/register.go | 12 +- .../client-go/tools/clientcmd/loader.go | 4 +- 241 files changed, 5806 insertions(+), 3601 deletions(-) delete mode 100644 staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/CONTRIBUTORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/CONTRIBUTORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/CONTRIBUTORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/CONTRIBUTORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/net/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/net/CONTRIBUTORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/CONTRIBUTORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/text/AUTHORS delete mode 100644 staging/src/k8s.io/client-go/_vendor/golang.org/x/text/CONTRIBUTORS create mode 100644 staging/src/k8s.io/client-go/pkg/api/v1/generate.go create mode 100644 staging/src/k8s.io/client-go/pkg/api/v1/resource_helpers.go create mode 100644 staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/helpers.go create mode 100644 staging/src/k8s.io/client-go/pkg/runtime/schema/generated.pb.go create mode 100644 staging/src/k8s.io/client-go/pkg/runtime/schema/generated.proto create mode 100644 staging/src/k8s.io/client-go/pkg/runtime/schema/group_version.go create mode 100644 staging/src/k8s.io/client-go/pkg/runtime/schema/interfaces.go diff --git a/staging/src/k8s.io/client-go/Godeps/Godeps.json b/staging/src/k8s.io/client-go/Godeps/Godeps.json index cc1e00b8dd1..9429c7149e9 100644 --- a/staging/src/k8s.io/client-go/Godeps/Godeps.json +++ b/staging/src/k8s.io/client-go/Godeps/Godeps.json @@ -1,7 +1,7 @@ { "ImportPath": "k8s.io/client-go", "GoVersion": "go1.7", - "GodepVersion": "v75", + "GodepVersion": "v74", "Packages": [ "./..." ], diff --git a/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/AUTHORS b/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/AUTHORS deleted file mode 100644 index c364af1da09..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/AUTHORS +++ /dev/null @@ -1,15 +0,0 @@ -# This is the official list of cloud authors for copyright purposes. -# This file is distinct from the CONTRIBUTORS files. -# See the latter for an explanation. - -# Names should be added to this file as: -# Name or Organization -# The email address is not required for organizations. - -Filippo Valsorda -Google Inc. -Ingo Oeser -Palm Stone Games, Inc. -PaweÅ‚ Knap -Péter Szilágyi -Tyler Treat diff --git a/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/CONTRIBUTORS deleted file mode 100644 index 07509ccb7c9..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/CONTRIBUTORS +++ /dev/null @@ -1,34 +0,0 @@ -# People who have agreed to one of the CLAs and can contribute patches. -# The AUTHORS file lists the copyright holders; this file -# lists people. For example, Google employees are listed here -# but not in AUTHORS, because Google holds the copyright. -# -# https://developers.google.com/open-source/cla/individual -# https://developers.google.com/open-source/cla/corporate -# -# Names should be added to this file as: -# Name - -# Keep the list alphabetically sorted. - -Andreas Litt -Andrew Gerrand -Brad Fitzpatrick -Burcu Dogan -Dave Day -David Sansome -David Symonds -Filippo Valsorda -Glenn Lewis -Ingo Oeser -Johan Euphrosine -Jonathan Amsterdam -Luna Duclos -Michael McGreevy -Omar Jarjur -PaweÅ‚ Knap -Péter Szilágyi -Sarah Adams -Toby Burress -Tuo Shan -Tyler Treat diff --git a/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/AUTHORS b/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/AUTHORS deleted file mode 100644 index 0857b62fc97..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/AUTHORS +++ /dev/null @@ -1,128 +0,0 @@ -Aaron Lehmann -Aaron Vinson -Adam Enger -Adrian Mouat -Ahmet Alp Balkan -Alex Chan -Alex Elman -amitshukla -Amy Lindburg -Andrew Meredith -Andrew T Nguyen -Andrey Kostov -Andy Goldstein -Anton Tiurin -Antonio Mercado -Antonio Murdaca -Arnaud Porterie -Arthur Baars -Asuka Suzuki -Avi Miller -Ayose Cazorla -BadZen -Ben Firshman -bin liu -Brian Bland -burnettk -Carson A -Chris Dillon -Daisuke Fujita -Darren Shepherd -Dave Trombley -Dave Tucker -David Lawrence -David Verhasselt -David Xia -davidli -Dejan Golja -Derek McGowan -Diogo Mónica -DJ Enriquez -Donald Huang -Doug Davis -Eric Yang -farmerworking -Felix Yan -Florentin Raud -Frederick F. Kautz IV -gabriell nascimento -harche -Henri Gomez -Hu Keping -Hua Wang -HuKeping -Ian Babrou -igayoso -Jack Griffin -Jason Freidman -Jeff Nickoloff -Jessie Frazelle -Jianqing Wang -John Starks -Jon Poler -Jonathan Boulle -Jordan Liggitt -Josh Hawn -Julien Fernandez -Keerthan Mala -Kelsey Hightower -Kenneth Lim -Kenny Leung -Li Yi -Liu Hua -liuchang0812 -Louis Kottmann -Luke Carpenter -Mary Anthony -Matt Bentley -Matt Duch -Matt Moore -Matt Robenolt -Michael Prokop -Michal Minar -Miquel Sabaté -Morgan Bauer -moxiegirl -Nathan Sullivan -nevermosby -Nghia Tran -Nuutti Kotivuori -Oilbeater -Olivier Gambier -Olivier Jacques -Omer Cohen -Patrick Devine -Philip Misiowiec -Richard Scothern -Rodolfo Carvalho -Rusty Conover -Sean Boran -Sebastiaan van Stijn -Sharif Nassar -Shawn Falkner-Horine -Shreyas Karnik -Simon Thulbourn -Spencer Rinehart -Stefan Weil -Stephen J Day -Sungho Moon -Sven Dowideit -Sylvain Baubeau -Ted Reed -tgic -Thomas Sjögren -Tianon Gravi -Tibor Vass -Tonis Tiigi -Trevor Pounds -Troels Thomsen -Vincent Batts -Vincent Demeester -Vincent Giersch -W. Trevor King -weiyuan.yl -xg.song -xiekeyang -Yann ROBERT -yuzou -姜继忠 diff --git a/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/CONTRIBUTORS deleted file mode 100644 index d2c3b418fe4..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/CONTRIBUTORS +++ /dev/null @@ -1,15 +0,0 @@ -Anton Povarov -Clayton Coleman -Denis Smirnov -DongYun Kang -Dwayne Schultz -Georg Apitz -Gustav Paul -John Tuley -Laurent -Patrick Lee -Stephen J Day -Tamir Duberstein -Todd Eisenberger -Tormod Erevik Lea -Walter Schulze diff --git a/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/AUTHORS b/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/AUTHORS deleted file mode 100644 index 15167cd746c..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code refers to The Go Authors for copyright purposes. -# The master list of authors is in the main Go distribution, -# visible at http://tip.golang.org/AUTHORS. diff --git a/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/CONTRIBUTORS deleted file mode 100644 index 1c4577e9680..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/CONTRIBUTORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code was written by the Go contributors. -# The master list of contributors is in the main Go distribution, -# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/AUTHORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/AUTHORS deleted file mode 100644 index 15167cd746c..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code refers to The Go Authors for copyright purposes. -# The master list of authors is in the main Go distribution, -# visible at http://tip.golang.org/AUTHORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/CONTRIBUTORS deleted file mode 100644 index 1c4577e9680..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/CONTRIBUTORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code was written by the Go contributors. -# The master list of contributors is in the main Go distribution, -# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/AUTHORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/AUTHORS deleted file mode 100644 index 15167cd746c..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code refers to The Go Authors for copyright purposes. -# The master list of authors is in the main Go distribution, -# visible at http://tip.golang.org/AUTHORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/CONTRIBUTORS deleted file mode 100644 index 1c4577e9680..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/CONTRIBUTORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code was written by the Go contributors. -# The master list of contributors is in the main Go distribution, -# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/AUTHORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/AUTHORS deleted file mode 100644 index 15167cd746c..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code refers to The Go Authors for copyright purposes. -# The master list of authors is in the main Go distribution, -# visible at http://tip.golang.org/AUTHORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/CONTRIBUTORS deleted file mode 100644 index 1c4577e9680..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/CONTRIBUTORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code was written by the Go contributors. -# The master list of contributors is in the main Go distribution, -# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/AUTHORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/AUTHORS deleted file mode 100644 index 15167cd746c..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code refers to The Go Authors for copyright purposes. -# The master list of authors is in the main Go distribution, -# visible at http://tip.golang.org/AUTHORS. diff --git a/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/CONTRIBUTORS b/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/CONTRIBUTORS deleted file mode 100644 index 1c4577e9680..00000000000 --- a/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/CONTRIBUTORS +++ /dev/null @@ -1,3 +0,0 @@ -# This source code was written by the Go contributors. -# The master list of contributors is in the main Go distribution, -# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/staging/src/k8s.io/client-go/discovery/discovery_client.go b/staging/src/k8s.io/client-go/discovery/discovery_client.go index f9a3686962c..e9438fff830 100644 --- a/staging/src/k8s.io/client-go/discovery/discovery_client.go +++ b/staging/src/k8s.io/client-go/discovery/discovery_client.go @@ -30,6 +30,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer" "k8s.io/client-go/pkg/version" "k8s.io/client-go/rest" @@ -69,10 +70,10 @@ type ServerResourcesInterface interface { ServerResources() (map[string]*unversioned.APIResourceList, error) // ServerPreferredResources returns the supported resources with the version preferred by the // server. - ServerPreferredResources() ([]unversioned.GroupVersionResource, error) + ServerPreferredResources() ([]schema.GroupVersionResource, error) // ServerPreferredNamespacedResources returns the supported namespaced resources with the // version preferred by the server. - ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) + ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) } // ServerVersionInterface has a method for retrieving the server's version. @@ -84,7 +85,7 @@ type ServerVersionInterface interface { // SwaggerSchemaInterface has a method to retrieve the swagger schema. type SwaggerSchemaInterface interface { // SwaggerSchema retrieves and parses the swagger API schema the server supports. - SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) + SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) } // DiscoveryClient implements the functions that discover server-supported API groups, @@ -186,7 +187,7 @@ func (d *DiscoveryClient) ServerResources() (map[string]*unversioned.APIResource // ErrGroupDiscoveryFailed is returned if one or more API groups fail to load. type ErrGroupDiscoveryFailed struct { // Groups is a list of the groups that failed to load and the error cause - Groups map[unversioned.GroupVersion]error + Groups map[schema.GroupVersion]error } // Error implements the error interface @@ -208,40 +209,57 @@ func IsGroupDiscoveryFailedError(err error) bool { // serverPreferredResources returns the supported resources with the version preferred by the // server. If namespaced is true, only namespaced resources will be returned. -func (d *DiscoveryClient) serverPreferredResources(namespaced bool) ([]unversioned.GroupVersionResource, error) { +func (d *DiscoveryClient) serverPreferredResources(namespaced bool) ([]schema.GroupVersionResource, error) { // retry in case the groups supported by the server change after ServerGroup() returns. const maxRetries = 2 - var failedGroups map[unversioned.GroupVersion]error - var results []unversioned.GroupVersionResource + var failedGroups map[schema.GroupVersion]error + var results []schema.GroupVersionResource + var resources map[schema.GroupResource]string RetrieveGroups: for i := 0; i < maxRetries; i++ { - results = []unversioned.GroupVersionResource{} - failedGroups = make(map[unversioned.GroupVersion]error) + results = []schema.GroupVersionResource{} + resources = map[schema.GroupResource]string{} + failedGroups = make(map[schema.GroupVersion]error) serverGroupList, err := d.ServerGroups() if err != nil { return results, err } for _, apiGroup := range serverGroupList.Groups { - preferredVersion := apiGroup.PreferredVersion - groupVersion := unversioned.GroupVersion{Group: apiGroup.Name, Version: preferredVersion.Version} - apiResourceList, err := d.ServerResourcesForGroupVersion(preferredVersion.GroupVersion) - if err != nil { - if i < maxRetries-1 { - continue RetrieveGroups - } - failedGroups[groupVersion] = err - continue - } - for _, apiResource := range apiResourceList.APIResources { - // ignore the root scoped resources if "namespaced" is true. - if namespaced && !apiResource.Namespaced { + versions := apiGroup.Versions + for _, version := range versions { + groupVersion := schema.GroupVersion{Group: apiGroup.Name, Version: version.Version} + apiResourceList, err := d.ServerResourcesForGroupVersion(version.GroupVersion) + if err != nil { + if i < maxRetries-1 { + continue RetrieveGroups + } + failedGroups[groupVersion] = err continue } - if strings.Contains(apiResource.Name, "/") { - continue + for _, apiResource := range apiResourceList.APIResources { + // ignore the root scoped resources if "namespaced" is true. + if namespaced && !apiResource.Namespaced { + continue + } + if strings.Contains(apiResource.Name, "/") { + continue + } + gvr := groupVersion.WithResource(apiResource.Name) + if _, ok := resources[gvr.GroupResource()]; ok { + if gvr.Version != apiGroup.PreferredVersion.Version { + continue + } + // remove previous entry, because it will be replaced with a preferred one + for i := range results { + if results[i].GroupResource() == gvr.GroupResource() { + results = append(results[:i], results[i+1:]...) + } + } + } + resources[gvr.GroupResource()] = gvr.Version + results = append(results, gvr) } - results = append(results, groupVersion.WithResource(apiResource.Name)) } } if len(failedGroups) == 0 { @@ -253,13 +271,13 @@ RetrieveGroups: // ServerPreferredResources returns the supported resources with the version preferred by the // server. -func (d *DiscoveryClient) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (d *DiscoveryClient) ServerPreferredResources() ([]schema.GroupVersionResource, error) { return d.serverPreferredResources(false) } // ServerPreferredNamespacedResources returns the supported namespaced resources with the // version preferred by the server. -func (d *DiscoveryClient) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { +func (d *DiscoveryClient) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { return d.serverPreferredResources(true) } @@ -278,7 +296,7 @@ func (d *DiscoveryClient) ServerVersion() (*version.Info, error) { } // SwaggerSchema retrieves and parses the swagger API schema the server supports. -func (d *DiscoveryClient) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (d *DiscoveryClient) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { if version.Empty() { return nil, fmt.Errorf("groupVersion cannot be empty") } diff --git a/staging/src/k8s.io/client-go/discovery/discovery_client_test.go b/staging/src/k8s.io/client-go/discovery/discovery_client_test.go index 2036e50a6d2..20e378416ed 100644 --- a/staging/src/k8s.io/client-go/discovery/discovery_client_test.go +++ b/staging/src/k8s.io/client-go/discovery/discovery_client_test.go @@ -27,6 +27,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/version" "k8s.io/client-go/rest" ) @@ -312,7 +313,7 @@ func TestGetSwaggerSchemaFail(t *testing.T) { defer server.Close() client := NewDiscoveryClientForConfigOrDie(&rest.Config{Host: server.URL}) - got, err := client.SwaggerSchema(unversioned.GroupVersion{Group: "api.group", Version: "v4"}) + got, err := client.SwaggerSchema(schema.GroupVersion{Group: "api.group", Version: "v4"}) if got != nil { t.Fatalf("unexpected response: %v", got) } @@ -321,7 +322,7 @@ func TestGetSwaggerSchemaFail(t *testing.T) { } } -func TestGetServerPreferredResources(t *testing.T) { +func TestServerPreferredResources(t *testing.T) { stable := unversioned.APIResourceList{ GroupVersion: "v1", APIResources: []unversioned.APIResource{ @@ -330,14 +331,6 @@ func TestGetServerPreferredResources(t *testing.T) { {Name: "namespaces", Namespaced: false, Kind: "Namespace"}, }, } - /*beta := unversioned.APIResourceList{ - GroupVersion: "extensions/v1", - APIResources: []unversioned.APIResource{ - {Name: "deployments", Namespaced: true, Kind: "Deployment"}, - {Name: "ingresses", Namespaced: true, Kind: "Ingress"}, - {Name: "jobs", Namespaced: true, Kind: "Job"}, - }, - }*/ tests := []struct { resourcesList *unversioned.APIResourceList response func(w http.ResponseWriter, req *http.Request) @@ -427,9 +420,6 @@ func TestGetServerPreferredResources(t *testing.T) { w.Write(output) }, }, - /*{ - resourcesList: &stable, - },*/ } for _, test := range tests { server := httptest.NewServer(http.HandlerFunc(test.response)) @@ -455,7 +445,7 @@ func TestGetServerPreferredResources(t *testing.T) { } } -func TestGetServerPreferredResourcesRetries(t *testing.T) { +func TestServerPreferredResourcesRetries(t *testing.T) { stable := unversioned.APIResourceList{ GroupVersion: "v1", APIResources: []unversioned.APIResource{ @@ -553,3 +543,173 @@ func TestGetServerPreferredResourcesRetries(t *testing.T) { server.Close() } } + +func TestServerPreferredNamespacedResources(t *testing.T) { + stable := unversioned.APIResourceList{ + GroupVersion: "v1", + APIResources: []unversioned.APIResource{ + {Name: "pods", Namespaced: true, Kind: "Pod"}, + {Name: "services", Namespaced: true, Kind: "Service"}, + {Name: "namespaces", Namespaced: false, Kind: "Namespace"}, + }, + } + batchv1 := unversioned.APIResourceList{ + GroupVersion: "batch/v1", + APIResources: []unversioned.APIResource{ + {Name: "jobs", Namespaced: true, Kind: "Job"}, + }, + } + batchv2alpha1 := unversioned.APIResourceList{ + GroupVersion: "batch/v2alpha1", + APIResources: []unversioned.APIResource{ + {Name: "jobs", Namespaced: true, Kind: "Job"}, + {Name: "cronjobs", Namespaced: true, Kind: "CronJob"}, + }, + } + batchv3alpha1 := unversioned.APIResourceList{ + GroupVersion: "batch/v3alpha1", + APIResources: []unversioned.APIResource{ + {Name: "jobs", Namespaced: true, Kind: "Job"}, + {Name: "cronjobs", Namespaced: true, Kind: "CronJob"}, + }, + } + tests := []struct { + response func(w http.ResponseWriter, req *http.Request) + expected []schema.GroupVersionResource + }{ + { + response: func(w http.ResponseWriter, req *http.Request) { + var list interface{} + switch req.URL.Path { + case "/api/v1": + list = &stable + case "/api": + list = &unversioned.APIVersions{ + Versions: []string{ + "v1", + }, + } + default: + t.Logf("unexpected request: %s", req.URL.Path) + w.WriteHeader(http.StatusNotFound) + return + } + output, err := json.Marshal(list) + if err != nil { + t.Errorf("unexpected encoding error: %v", err) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + w.Write(output) + }, + expected: []schema.GroupVersionResource{ + {Group: "", Version: "v1", Resource: "pods"}, + {Group: "", Version: "v1", Resource: "services"}, + }, + }, + { + response: func(w http.ResponseWriter, req *http.Request) { + var list interface{} + switch req.URL.Path { + case "/apis": + list = &unversioned.APIGroupList{ + Groups: []unversioned.APIGroup{ + { + Name: "batch", + Versions: []unversioned.GroupVersionForDiscovery{ + {GroupVersion: "batch/v1", Version: "v1"}, + {GroupVersion: "batch/v2alpha1", Version: "v2alpha1"}, + {GroupVersion: "batch/v3alpha1", Version: "v3alpha1"}, + }, + PreferredVersion: unversioned.GroupVersionForDiscovery{GroupVersion: "batch/v1", Version: "v1"}, + }, + }, + } + case "/apis/batch/v1": + list = &batchv1 + case "/apis/batch/v2alpha1": + list = &batchv2alpha1 + case "/apis/batch/v3alpha1": + list = &batchv3alpha1 + default: + t.Logf("unexpected request: %s", req.URL.Path) + w.WriteHeader(http.StatusNotFound) + return + } + output, err := json.Marshal(list) + if err != nil { + t.Errorf("unexpected encoding error: %v", err) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + w.Write(output) + }, + expected: []schema.GroupVersionResource{ + {Group: "batch", Version: "v1", Resource: "jobs"}, + {Group: "batch", Version: "v2alpha1", Resource: "cronjobs"}, + }, + }, + { + response: func(w http.ResponseWriter, req *http.Request) { + var list interface{} + switch req.URL.Path { + case "/apis": + list = &unversioned.APIGroupList{ + Groups: []unversioned.APIGroup{ + { + Name: "batch", + Versions: []unversioned.GroupVersionForDiscovery{ + {GroupVersion: "batch/v1", Version: "v1"}, + {GroupVersion: "batch/v2alpha1", Version: "v2alpha1"}, + {GroupVersion: "batch/v3alpha1", Version: "v3alpha1"}, + }, + PreferredVersion: unversioned.GroupVersionForDiscovery{GroupVersion: "batch/v2alpha", Version: "v2alpha1"}, + }, + }, + } + case "/apis/batch/v1": + list = &batchv1 + case "/apis/batch/v2alpha1": + list = &batchv2alpha1 + case "/apis/batch/v3alpha1": + list = &batchv3alpha1 + default: + t.Logf("unexpected request: %s", req.URL.Path) + w.WriteHeader(http.StatusNotFound) + return + } + output, err := json.Marshal(list) + if err != nil { + t.Errorf("unexpected encoding error: %v", err) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + w.Write(output) + }, + expected: []schema.GroupVersionResource{ + {Group: "batch", Version: "v2alpha1", Resource: "jobs"}, + {Group: "batch", Version: "v2alpha1", Resource: "cronjobs"}, + }, + }, + } + for _, test := range tests { + server := httptest.NewServer(http.HandlerFunc(test.response)) + defer server.Close() + + client := NewDiscoveryClientForConfigOrDie(&rest.Config{Host: server.URL}) + got, err := client.ServerPreferredNamespacedResources() + if err != nil { + t.Errorf("unexpected error: %v", err) + continue + } + // we need deterministic order and since during processing in ServerPreferredNamespacedResources + // a map comes into play the result needs sorting + if !reflect.DeepEqual(got, test.expected) { + t.Errorf("expected:\n%v\ngot:\n%v\n", test.expected, got) + } + server.Close() + } +} diff --git a/staging/src/k8s.io/client-go/discovery/fake/discovery.go b/staging/src/k8s.io/client-go/discovery/fake/discovery.go index 5b1fd5487c6..42dd7512ebb 100644 --- a/staging/src/k8s.io/client-go/discovery/fake/discovery.go +++ b/staging/src/k8s.io/client-go/discovery/fake/discovery.go @@ -20,6 +20,7 @@ import ( "github.com/emicklei/go-restful/swagger" "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/version" "k8s.io/client-go/rest" "k8s.io/client-go/testing" @@ -32,7 +33,7 @@ type FakeDiscovery struct { func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*unversioned.APIResourceList, error) { action := testing.ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources[groupVersion], nil @@ -41,17 +42,17 @@ func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*un func (c *FakeDiscovery) ServerResources() (map[string]*unversioned.APIResourceList, error) { action := testing.ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources, nil } -func (c *FakeDiscovery) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (c *FakeDiscovery) ServerPreferredResources() ([]schema.GroupVersionResource, error) { return nil, nil } -func (c *FakeDiscovery) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { +func (c *FakeDiscovery) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { return nil, nil } @@ -62,20 +63,20 @@ func (c *FakeDiscovery) ServerGroups() (*unversioned.APIGroupList, error) { func (c *FakeDiscovery) ServerVersion() (*version.Info, error) { action := testing.ActionImpl{} action.Verb = "get" - action.Resource = unversioned.GroupVersionResource{Resource: "version"} + action.Resource = schema.GroupVersionResource{Resource: "version"} c.Invokes(action, nil) versionInfo := version.Get() return &versionInfo, nil } -func (c *FakeDiscovery) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (c *FakeDiscovery) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { action := testing.ActionImpl{} action.Verb = "get" if version == v1.SchemeGroupVersion { - action.Resource = unversioned.GroupVersionResource{Resource: "/swaggerapi/api/" + version.Version} + action.Resource = schema.GroupVersionResource{Resource: "/swaggerapi/api/" + version.Version} } else { - action.Resource = unversioned.GroupVersionResource{Resource: "/swaggerapi/apis/" + version.Group + "/" + version.Version} + action.Resource = schema.GroupVersionResource{Resource: "/swaggerapi/apis/" + version.Group + "/" + version.Version} } c.Invokes(action, nil) diff --git a/staging/src/k8s.io/client-go/discovery/helper.go b/staging/src/k8s.io/client-go/discovery/helper.go index 9494735ddf6..41359d09e6f 100644 --- a/staging/src/k8s.io/client-go/discovery/helper.go +++ b/staging/src/k8s.io/client-go/discovery/helper.go @@ -20,6 +20,7 @@ import ( "fmt" "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/sets" "k8s.io/client-go/pkg/version" // Import solely to initialize client auth plugins. @@ -49,7 +50,7 @@ func MatchesServerVersion(client DiscoveryInterface) error { // preference. // - If version is provided and the server does not support it, // return an error. -func NegotiateVersion(client DiscoveryInterface, requiredGV *unversioned.GroupVersion, clientRegisteredGVs []unversioned.GroupVersion) (*unversioned.GroupVersion, error) { +func NegotiateVersion(client DiscoveryInterface, requiredGV *schema.GroupVersion, clientRegisteredGVs []schema.GroupVersion) (*schema.GroupVersion, error) { clientVersions := sets.String{} for _, gv := range clientRegisteredGVs { clientVersions.Insert(gv.String()) diff --git a/staging/src/k8s.io/client-go/discovery/helper_blackbox_test.go b/staging/src/k8s.io/client-go/discovery/helper_blackbox_test.go index dd6433b0e80..5faac7521ec 100644 --- a/staging/src/k8s.io/client-go/discovery/helper_blackbox_test.go +++ b/staging/src/k8s.io/client-go/discovery/helper_blackbox_test.go @@ -32,6 +32,7 @@ import ( uapi "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/rest" "k8s.io/client-go/rest/fake" ) @@ -47,10 +48,10 @@ func objBody(object interface{}) io.ReadCloser { func TestNegotiateVersion(t *testing.T) { tests := []struct { name string - requiredVersion *uapi.GroupVersion - expectedVersion *uapi.GroupVersion + requiredVersion *schema.GroupVersion + expectedVersion *schema.GroupVersion serverVersions []string - clientVersions []uapi.GroupVersion + clientVersions []schema.GroupVersion expectErr func(err error) bool sendErr error statusCode int @@ -58,60 +59,60 @@ func TestNegotiateVersion(t *testing.T) { { name: "server supports client default", serverVersions: []string{"version1", registered.GroupOrDie(api.GroupName).GroupVersion.String()}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusOK, }, { name: "server falls back to client supported", serverVersions: []string{"version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusOK, }, { name: "explicit version supported", - requiredVersion: &uapi.GroupVersion{Version: "v1"}, + requiredVersion: &schema.GroupVersion{Version: "v1"}, serverVersions: []string{"/version1", registered.GroupOrDie(api.GroupName).GroupVersion.String()}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "v1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "v1"}, statusCode: http.StatusOK, }, { name: "explicit version not supported on server", - requiredVersion: &uapi.GroupVersion{Version: "v1"}, + requiredVersion: &schema.GroupVersion{Version: "v1"}, serverVersions: []string{"version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, expectErr: func(err error) bool { return strings.Contains(err.Error(), `server does not support API version "v1"`) }, statusCode: http.StatusOK, }, { name: "explicit version not supported on client", - requiredVersion: &uapi.GroupVersion{Version: "v1"}, + requiredVersion: &schema.GroupVersion{Version: "v1"}, serverVersions: []string{"v1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}}, + clientVersions: []schema.GroupVersion{{Version: "version1"}}, expectErr: func(err error) bool { return strings.Contains(err.Error(), `client does not support API version "v1"`) }, statusCode: http.StatusOK, }, { name: "connection refused error", serverVersions: []string{"version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, sendErr: errors.New("connection refused"), expectErr: func(err error) bool { return strings.Contains(err.Error(), "connection refused") }, statusCode: http.StatusOK, }, { name: "discovery fails due to 403 Forbidden errors and thus serverVersions is empty, use default GroupVersion", - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusForbidden, }, { name: "discovery fails due to 404 Not Found errors and thus serverVersions is empty, use requested GroupVersion", - requiredVersion: &uapi.GroupVersion{Version: "version1"}, - clientVersions: []uapi.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, - expectedVersion: &uapi.GroupVersion{Version: "version1"}, + requiredVersion: &schema.GroupVersion{Version: "version1"}, + clientVersions: []schema.GroupVersion{{Version: "version1"}, registered.GroupOrDie(api.GroupName).GroupVersion}, + expectedVersion: &schema.GroupVersion{Version: "version1"}, statusCode: http.StatusNotFound, }, { diff --git a/staging/src/k8s.io/client-go/discovery/restmapper.go b/staging/src/k8s.io/client-go/discovery/restmapper.go index 7f846d2fb16..7d86348ee53 100644 --- a/staging/src/k8s.io/client-go/discovery/restmapper.go +++ b/staging/src/k8s.io/client-go/discovery/restmapper.go @@ -23,6 +23,7 @@ import ( "k8s.io/client-go/pkg/api/errors" "k8s.io/client-go/pkg/api/meta" "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" "github.com/golang/glog" ) @@ -42,8 +43,8 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V unionMapper := meta.MultiRESTMapper{} var groupPriority []string - var resourcePriority []unversioned.GroupVersionResource - var kindPriority []unversioned.GroupVersionKind + var resourcePriority []schema.GroupVersionResource + var kindPriority []schema.GroupVersionKind for _, group := range groupResources { groupPriority = append(groupPriority, group.Group.Name) @@ -51,13 +52,13 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V if len(group.Group.PreferredVersion.Version) != 0 { preferred := group.Group.PreferredVersion.Version if _, ok := group.VersionedResources[preferred]; ok { - resourcePriority = append(resourcePriority, unversioned.GroupVersionResource{ + resourcePriority = append(resourcePriority, schema.GroupVersionResource{ Group: group.Group.Name, Version: group.Group.PreferredVersion.Version, Resource: meta.AnyResource, }) - kindPriority = append(kindPriority, unversioned.GroupVersionKind{ + kindPriority = append(kindPriority, schema.GroupVersionKind{ Group: group.Group.Name, Version: group.Group.PreferredVersion.Version, Kind: meta.AnyKind, @@ -71,8 +72,8 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V continue } - gv := unversioned.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} - versionMapper := meta.NewDefaultRESTMapper([]unversioned.GroupVersion{gv}, versionInterfaces) + gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} + versionMapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{gv}, versionInterfaces) for _, resource := range resources { scope := meta.RESTScopeNamespace @@ -90,12 +91,12 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V } for _, group := range groupPriority { - resourcePriority = append(resourcePriority, unversioned.GroupVersionResource{ + resourcePriority = append(resourcePriority, schema.GroupVersionResource{ Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource, }) - kindPriority = append(kindPriority, unversioned.GroupVersionKind{ + kindPriority = append(kindPriority, schema.GroupVersionKind{ Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind, @@ -188,10 +189,10 @@ func (d *DeferredDiscoveryRESTMapper) Reset() { // KindFor takes a partial resource and returns back the single match. // It returns an error if there are multiple matches. -func (d *DeferredDiscoveryRESTMapper) KindFor(resource unversioned.GroupVersionResource) (gvk unversioned.GroupVersionKind, err error) { +func (d *DeferredDiscoveryRESTMapper) KindFor(resource schema.GroupVersionResource) (gvk schema.GroupVersionKind, err error) { del, err := d.getDelegate() if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } gvk, err = del.KindFor(resource) if err != nil && !d.cl.Fresh() { @@ -203,7 +204,7 @@ func (d *DeferredDiscoveryRESTMapper) KindFor(resource unversioned.GroupVersionR // KindsFor takes a partial resource and returns back the list of // potential kinds in priority order. -func (d *DeferredDiscoveryRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gvks []unversioned.GroupVersionKind, err error) { +func (d *DeferredDiscoveryRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvks []schema.GroupVersionKind, err error) { del, err := d.getDelegate() if err != nil { return nil, err @@ -218,10 +219,10 @@ func (d *DeferredDiscoveryRESTMapper) KindsFor(resource unversioned.GroupVersion // ResourceFor takes a partial resource and returns back the single // match. It returns an error if there are multiple matches. -func (d *DeferredDiscoveryRESTMapper) ResourceFor(input unversioned.GroupVersionResource) (gvr unversioned.GroupVersionResource, err error) { +func (d *DeferredDiscoveryRESTMapper) ResourceFor(input schema.GroupVersionResource) (gvr schema.GroupVersionResource, err error) { del, err := d.getDelegate() if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } gvr, err = del.ResourceFor(input) if err != nil && !d.cl.Fresh() { @@ -233,7 +234,7 @@ func (d *DeferredDiscoveryRESTMapper) ResourceFor(input unversioned.GroupVersion // ResourcesFor takes a partial resource and returns back the list of // potential resource in priority order. -func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) (gvrs []unversioned.GroupVersionResource, err error) { +func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input schema.GroupVersionResource) (gvrs []schema.GroupVersionResource, err error) { del, err := d.getDelegate() if err != nil { return nil, err @@ -248,7 +249,7 @@ func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input unversioned.GroupVersio // RESTMapping identifies a preferred resource mapping for the // provided group kind. -func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (m *meta.RESTMapping, err error) { +func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (m *meta.RESTMapping, err error) { del, err := d.getDelegate() if err != nil { return nil, err @@ -264,7 +265,7 @@ func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk unversioned.GroupKind, vers // RESTMappings returns the RESTMappings for the provided group kind // in a rough internal preferred order. If no kind is found, it will // return a NoResourceMatchError. -func (d *DeferredDiscoveryRESTMapper) RESTMappings(gk unversioned.GroupKind) (ms []*meta.RESTMapping, err error) { +func (d *DeferredDiscoveryRESTMapper) RESTMappings(gk schema.GroupKind) (ms []*meta.RESTMapping, err error) { del, err := d.getDelegate() if err != nil { return nil, err diff --git a/staging/src/k8s.io/client-go/discovery/restmapper_test.go b/staging/src/k8s.io/client-go/discovery/restmapper_test.go index 9baf273b5f0..8d56b25fc2f 100644 --- a/staging/src/k8s.io/client-go/discovery/restmapper_test.go +++ b/staging/src/k8s.io/client-go/discovery/restmapper_test.go @@ -23,6 +23,7 @@ import ( "k8s.io/client-go/pkg/api/errors" "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/version" "k8s.io/client-go/rest" "k8s.io/client-go/rest/fake" @@ -69,43 +70,43 @@ func TestRESTMapper(t *testing.T) { restMapper := NewRESTMapper(resources, nil) kindTCs := []struct { - input unversioned.GroupVersionResource - want unversioned.GroupVersionKind + input schema.GroupVersionResource + want schema.GroupVersionKind }{ { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Version: "v1", Kind: "Pod", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v2", Resource: "pods", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Version: "v2", Kind: "Pod", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "pods", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Version: "v1", Kind: "Pod", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "jobs", }, - want: unversioned.GroupVersionKind{ + want: schema.GroupVersionKind{ Group: "extensions", Version: "v1beta", Kind: "Job", @@ -126,43 +127,43 @@ func TestRESTMapper(t *testing.T) { } resourceTCs := []struct { - input unversioned.GroupVersionResource - want unversioned.GroupVersionResource + input schema.GroupVersionResource + want schema.GroupVersionResource }{ { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Version: "v2", Resource: "pods", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Version: "v2", Resource: "pods", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "pods", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Version: "v1", Resource: "pods", }, }, { - input: unversioned.GroupVersionResource{ + input: schema.GroupVersionResource{ Resource: "jobs", }, - want: unversioned.GroupVersionResource{ + want: schema.GroupVersionResource{ Group: "extensions", Version: "v1beta", Resource: "jobs", @@ -191,7 +192,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.False(cdc.fresh, "should NOT be fresh after instantiation") assert.Zero(cdc.invalidateCalls, "should not have called Invalidate()") - gvk, err := m.KindFor(unversioned.GroupVersionResource{ + gvk, err := m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "foo", @@ -201,7 +202,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.Equal(cdc.invalidateCalls, 1, "should have called Invalidate() once") assert.Equal(gvk.Kind, "Foo") - gvk, err = m.KindFor(unversioned.GroupVersionResource{ + gvk, err = m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "foo", @@ -209,7 +210,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.NoError(err) assert.Equal(cdc.invalidateCalls, 1, "should NOT have called Invalidate() again") - gvk, err = m.KindFor(unversioned.GroupVersionResource{ + gvk, err = m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "bar", @@ -218,7 +219,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) { assert.Equal(cdc.invalidateCalls, 1, "should NOT have called Invalidate() again after another cache-miss, but with fresh==true") cdc.fresh = false - gvk, err = m.KindFor(unversioned.GroupVersionResource{ + gvk, err = m.KindFor(schema.GroupVersionResource{ Group: "a", Version: "v1", Resource: "bar", @@ -286,7 +287,7 @@ func (c *fakeCachedDiscoveryInterface) ServerResourcesForGroupVersion(groupVersi }, nil } - return nil, errors.NewNotFound(unversioned.GroupResource{}, "") + return nil, errors.NewNotFound(schema.GroupResource{}, "") } func (c *fakeCachedDiscoveryInterface) ServerResources() (map[string]*unversioned.APIResourceList, error) { @@ -299,9 +300,9 @@ func (c *fakeCachedDiscoveryInterface) ServerResources() (map[string]*unversione return map[string]*unversioned.APIResourceList{}, nil } -func (c *fakeCachedDiscoveryInterface) ServerPreferredResources() ([]unversioned.GroupVersionResource, error) { +func (c *fakeCachedDiscoveryInterface) ServerPreferredResources() ([]schema.GroupVersionResource, error) { if c.enabledA { - return []unversioned.GroupVersionResource{ + return []schema.GroupVersionResource{ { Group: "a", Version: "v1", @@ -309,17 +310,17 @@ func (c *fakeCachedDiscoveryInterface) ServerPreferredResources() ([]unversioned }, }, nil } - return []unversioned.GroupVersionResource{}, nil + return []schema.GroupVersionResource{}, nil } -func (c *fakeCachedDiscoveryInterface) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error) { - return []unversioned.GroupVersionResource{}, nil +func (c *fakeCachedDiscoveryInterface) ServerPreferredNamespacedResources() ([]schema.GroupVersionResource, error) { + return []schema.GroupVersionResource{}, nil } func (c *fakeCachedDiscoveryInterface) ServerVersion() (*version.Info, error) { return &version.Info{}, nil } -func (c *fakeCachedDiscoveryInterface) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) { +func (c *fakeCachedDiscoveryInterface) SwaggerSchema(version schema.GroupVersion) (*swagger.ApiDeclaration, error) { return &swagger.ApiDeclaration{}, nil } diff --git a/staging/src/k8s.io/client-go/discovery/unstructured.go b/staging/src/k8s.io/client-go/discovery/unstructured.go index c4b8791fa27..aeea51cefcd 100644 --- a/staging/src/k8s.io/client-go/discovery/unstructured.go +++ b/staging/src/k8s.io/client-go/discovery/unstructured.go @@ -19,20 +19,20 @@ package discovery import ( "fmt" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // UnstructuredObjectTyper provides a runtime.ObjectTyper implmentation for // runtime.Unstructured object based on discovery information. type UnstructuredObjectTyper struct { - registered map[unversioned.GroupVersionKind]bool + registered map[schema.GroupVersionKind]bool } // NewUnstructuredObjectTyper returns a runtime.ObjectTyper for // unstructred objects based on discovery information. func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *UnstructuredObjectTyper { - dot := &UnstructuredObjectTyper{registered: make(map[unversioned.GroupVersionKind]bool)} + dot := &UnstructuredObjectTyper{registered: make(map[schema.GroupVersionKind]bool)} for _, group := range groupResources { for _, discoveryVersion := range group.Group.Versions { resources, ok := group.VersionedResources[discoveryVersion.Version] @@ -40,7 +40,7 @@ func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *Unstructur continue } - gv := unversioned.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} + gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} for _, resource := range resources { dot.registered[gv.WithKind(resource.Kind)] = true } @@ -52,9 +52,9 @@ func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *Unstructur // ObjectKind returns the group,version,kind of the provided object, or an error // if the object in not *runtime.Unstructured or has no group,version,kind // information. -func (d *UnstructuredObjectTyper) ObjectKind(obj runtime.Object) (unversioned.GroupVersionKind, error) { +func (d *UnstructuredObjectTyper) ObjectKind(obj runtime.Object) (schema.GroupVersionKind, error) { if _, ok := obj.(*runtime.Unstructured); !ok { - return unversioned.GroupVersionKind{}, fmt.Errorf("type %T is invalid for dynamic object typer", obj) + return schema.GroupVersionKind{}, fmt.Errorf("type %T is invalid for dynamic object typer", obj) } return obj.GetObjectKind().GroupVersionKind(), nil @@ -65,18 +65,18 @@ func (d *UnstructuredObjectTyper) ObjectKind(obj runtime.Object) (unversioned.Gr // has no group,version,kind information. unversionedType will always be false // because runtime.Unstructured object should always have group,version,kind // information set. -func (d *UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) (gvks []unversioned.GroupVersionKind, unversionedType bool, err error) { +func (d *UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) (gvks []schema.GroupVersionKind, unversionedType bool, err error) { gvk, err := d.ObjectKind(obj) if err != nil { return nil, false, err } - return []unversioned.GroupVersionKind{gvk}, false, nil + return []schema.GroupVersionKind{gvk}, false, nil } // Recognizes returns true if the provided group,version,kind was in the // discovery information. -func (d *UnstructuredObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (d *UnstructuredObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { return d.registered[gvk] } diff --git a/staging/src/k8s.io/client-go/dynamic/client.go b/staging/src/k8s.io/client-go/dynamic/client.go index ca5d457dc1a..94eb03ffe8f 100644 --- a/staging/src/k8s.io/client-go/dynamic/client.go +++ b/staging/src/k8s.io/client-go/dynamic/client.go @@ -31,6 +31,7 @@ import ( "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/conversion/queryparams" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer" "k8s.io/client-go/pkg/util/flowcontrol" "k8s.io/client-go/pkg/watch" @@ -218,7 +219,7 @@ func (rc *ResourceClient) Patch(name string, pt api.PatchType, data []byte) (*ru // with special handling for Status objects. type dynamicCodec struct{} -func (dynamicCodec) Decode(data []byte, gvk *unversioned.GroupVersionKind, obj runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (dynamicCodec) Decode(data []byte, gvk *schema.GroupVersionKind, obj runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { obj, gvk, err := runtime.UnstructuredJSONScheme.Decode(data, gvk, obj) if err != nil { return nil, nil, err @@ -264,11 +265,11 @@ func ContentConfig() rest.ContentConfig { // parameters without trying to convert to the target version. type parameterCodec struct{} -func (parameterCodec) EncodeParameters(obj runtime.Object, to unversioned.GroupVersion) (url.Values, error) { +func (parameterCodec) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) { return queryparams.Convert(obj) } -func (parameterCodec) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into runtime.Object) error { +func (parameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into runtime.Object) error { return errors.New("DecodeParameters not implemented on dynamic parameterCodec") } @@ -276,7 +277,7 @@ var defaultParameterEncoder runtime.ParameterCodec = parameterCodec{} type versionedParameterEncoderWithV1Fallback struct{} -func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Object, to unversioned.GroupVersion) (url.Values, error) { +func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) { ret, err := api.ParameterCodec.EncodeParameters(obj, to) if err != nil && runtime.IsNotRegisteredError(err) { // fallback to v1 @@ -285,7 +286,7 @@ func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Obje return ret, err } -func (versionedParameterEncoderWithV1Fallback) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into runtime.Object) error { +func (versionedParameterEncoderWithV1Fallback) DecodeParameters(parameters url.Values, from schema.GroupVersion, into runtime.Object) error { return errors.New("DecodeParameters not implemented on versionedParameterEncoderWithV1Fallback") } diff --git a/staging/src/k8s.io/client-go/dynamic/client_pool.go b/staging/src/k8s.io/client-go/dynamic/client_pool.go index f54a38138ff..25357550599 100644 --- a/staging/src/k8s.io/client-go/dynamic/client_pool.go +++ b/staging/src/k8s.io/client-go/dynamic/client_pool.go @@ -20,7 +20,7 @@ import ( "sync" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/rest" ) @@ -28,18 +28,18 @@ import ( type ClientPool interface { // ClientForGroupVersionKind returns a client configured for the specified groupVersionResource. // Resource may be empty. - ClientForGroupVersionResource(resource unversioned.GroupVersionResource) (*Client, error) + ClientForGroupVersionResource(resource schema.GroupVersionResource) (*Client, error) // ClientForGroupVersionKind returns a client configured for the specified groupVersionKind. // Kind may be empty. - ClientForGroupVersionKind(kind unversioned.GroupVersionKind) (*Client, error) + ClientForGroupVersionKind(kind schema.GroupVersionKind) (*Client, error) } // APIPathResolverFunc knows how to convert a groupVersion to its API path. The Kind field is // optional. -type APIPathResolverFunc func(kind unversioned.GroupVersionKind) string +type APIPathResolverFunc func(kind schema.GroupVersionKind) string // LegacyAPIPathResolverFunc can resolve paths properly with the legacy API. -func LegacyAPIPathResolverFunc(kind unversioned.GroupVersionKind) string { +func LegacyAPIPathResolverFunc(kind schema.GroupVersionKind) string { if len(kind.Group) == 0 { return "/api" } @@ -51,7 +51,7 @@ func LegacyAPIPathResolverFunc(kind unversioned.GroupVersionKind) string { type clientPoolImpl struct { lock sync.RWMutex config *rest.Config - clients map[unversioned.GroupVersion]*Client + clients map[schema.GroupVersion]*Client apiPathResolverFunc APIPathResolverFunc mapper meta.RESTMapper } @@ -64,7 +64,7 @@ func NewClientPool(config *rest.Config, mapper meta.RESTMapper, apiPathResolverF return &clientPoolImpl{ config: &confCopy, - clients: map[unversioned.GroupVersion]*Client{}, + clients: map[schema.GroupVersion]*Client{}, apiPathResolverFunc: apiPathResolverFunc, mapper: mapper, } @@ -72,11 +72,11 @@ func NewClientPool(config *rest.Config, mapper meta.RESTMapper, apiPathResolverF // ClientForGroupVersionResource uses the provided RESTMapper to identify the appropriate resource. Resource may // be empty. If no matching kind is found the underlying client for that group is still returned. -func (c *clientPoolImpl) ClientForGroupVersionResource(resource unversioned.GroupVersionResource) (*Client, error) { +func (c *clientPoolImpl) ClientForGroupVersionResource(resource schema.GroupVersionResource) (*Client, error) { kinds, err := c.mapper.KindsFor(resource) if err != nil { if meta.IsNoMatchError(err) { - return c.ClientForGroupVersionKind(unversioned.GroupVersionKind{Group: resource.Group, Version: resource.Version}) + return c.ClientForGroupVersionKind(schema.GroupVersionKind{Group: resource.Group, Version: resource.Version}) } return nil, err } @@ -85,7 +85,7 @@ func (c *clientPoolImpl) ClientForGroupVersionResource(resource unversioned.Grou // ClientForGroupVersion returns a client for the specified groupVersion, creates one if none exists. Kind // in the GroupVersionKind may be empty. -func (c *clientPoolImpl) ClientForGroupVersionKind(kind unversioned.GroupVersionKind) (*Client, error) { +func (c *clientPoolImpl) ClientForGroupVersionKind(kind schema.GroupVersionKind) (*Client, error) { c.lock.Lock() defer c.lock.Unlock() diff --git a/staging/src/k8s.io/client-go/dynamic/client_test.go b/staging/src/k8s.io/client-go/dynamic/client_test.go index dfa56cabba5..7d6338c417b 100644 --- a/staging/src/k8s.io/client-go/dynamic/client_test.go +++ b/staging/src/k8s.io/client-go/dynamic/client_test.go @@ -29,6 +29,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/streaming" "k8s.io/client-go/pkg/watch" "k8s.io/client-go/pkg/watch/versioned" @@ -57,7 +58,7 @@ func getObject(version, kind, name string) *runtime.Unstructured { } } -func getClientServer(gv *unversioned.GroupVersion, h func(http.ResponseWriter, *http.Request)) (*Client, *httptest.Server, error) { +func getClientServer(gv *schema.GroupVersion, h func(http.ResponseWriter, *http.Request)) (*Client, *httptest.Server, error) { srv := httptest.NewServer(http.HandlerFunc(h)) cl, err := NewClient(&rest.Config{ Host: srv.URL, @@ -115,7 +116,7 @@ func TestList(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { @@ -170,7 +171,7 @@ func TestGet(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { @@ -223,7 +224,7 @@ func TestDelete(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "DELETE" { @@ -272,7 +273,7 @@ func TestDeleteCollection(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "DELETE" { @@ -320,7 +321,7 @@ func TestCreate(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "POST" { @@ -379,7 +380,7 @@ func TestUpdate(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "PUT" { @@ -446,7 +447,7 @@ func TestWatch(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { @@ -506,7 +507,7 @@ func TestPatch(t *testing.T) { }, } for _, tc := range tcs { - gv := &unversioned.GroupVersion{Group: "gtest", Version: "vtest"} + gv := &schema.GroupVersion{Group: "gtest", Version: "vtest"} resource := &unversioned.APIResource{Name: "rtest", Namespaced: len(tc.namespace) != 0} cl, srv, err := getClientServer(gv, func(w http.ResponseWriter, r *http.Request) { if r.Method != "PATCH" { diff --git a/staging/src/k8s.io/client-go/dynamic/dynamic_util.go b/staging/src/k8s.io/client-go/dynamic/dynamic_util.go index e90e7bcf9d9..314102baf08 100644 --- a/staging/src/k8s.io/client-go/dynamic/dynamic_util.go +++ b/staging/src/k8s.io/client-go/dynamic/dynamic_util.go @@ -22,11 +22,12 @@ import ( "k8s.io/client-go/pkg/api/meta" "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // VersionInterfaces provides an object converter and metadata // accessor appropriate for use with unstructured objects. -func VersionInterfaces(unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func VersionInterfaces(schema.GroupVersion) (*meta.VersionInterfaces, error) { return &meta.VersionInterfaces{ ObjectConvertor: &runtime.UnstructuredObjectConverter{}, MetadataAccessor: meta.NewAccessor(), @@ -37,7 +38,7 @@ func VersionInterfaces(unversioned.GroupVersion) (*meta.VersionInterfaces, error func NewDiscoveryRESTMapper(resources []*unversioned.APIResourceList, versionFunc meta.VersionInterfacesFunc) (*meta.DefaultRESTMapper, error) { rm := meta.NewDefaultRESTMapper(nil, versionFunc) for _, resourceList := range resources { - gv, err := unversioned.ParseGroupVersion(resourceList.GroupVersion) + gv, err := schema.ParseGroupVersion(resourceList.GroupVersion) if err != nil { return nil, err } @@ -57,14 +58,14 @@ func NewDiscoveryRESTMapper(resources []*unversioned.APIResourceList, versionFun // ObjectTyper provides an ObjectTyper implementation for // runtime.Unstructured object based on discovery information. type ObjectTyper struct { - registered map[unversioned.GroupVersionKind]bool + registered map[schema.GroupVersionKind]bool } // NewObjectTyper constructs an ObjectTyper from discovery information. func NewObjectTyper(resources []*unversioned.APIResourceList) (runtime.ObjectTyper, error) { - ot := &ObjectTyper{registered: make(map[unversioned.GroupVersionKind]bool)} + ot := &ObjectTyper{registered: make(map[schema.GroupVersionKind]bool)} for _, resourceList := range resources { - gv, err := unversioned.ParseGroupVersion(resourceList.GroupVersion) + gv, err := schema.ParseGroupVersion(resourceList.GroupVersion) if err != nil { return nil, err } @@ -80,15 +81,15 @@ func NewObjectTyper(resources []*unversioned.APIResourceList) (runtime.ObjectTyp // group,version,kind of the provided object, or an error if the // object is not *runtime.Unstructured or has no group,version,kind // information. -func (ot *ObjectTyper) ObjectKinds(obj runtime.Object) ([]unversioned.GroupVersionKind, bool, error) { +func (ot *ObjectTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { if _, ok := obj.(*runtime.Unstructured); !ok { return nil, false, fmt.Errorf("type %T is invalid for dynamic object typer", obj) } - return []unversioned.GroupVersionKind{obj.GetObjectKind().GroupVersionKind()}, false, nil + return []schema.GroupVersionKind{obj.GetObjectKind().GroupVersionKind()}, false, nil } // Recognizes returns true if the provided group,version,kind was in // the discovery information. -func (ot *ObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (ot *ObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { return ot.registered[gvk] } diff --git a/staging/src/k8s.io/client-go/dynamic/dynamic_util_test.go b/staging/src/k8s.io/client-go/dynamic/dynamic_util_test.go index 580140241ad..d8b9999b9bf 100644 --- a/staging/src/k8s.io/client-go/dynamic/dynamic_util_test.go +++ b/staging/src/k8s.io/client-go/dynamic/dynamic_util_test.go @@ -20,6 +20,7 @@ import ( "testing" "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) func TestDiscoveryRESTMapper(t *testing.T) { @@ -36,7 +37,7 @@ func TestDiscoveryRESTMapper(t *testing.T) { }, } - gvk := unversioned.GroupVersionKind{ + gvk := schema.GroupVersionKind{ Group: "test", Version: "beta1", Kind: "test_kind", @@ -47,7 +48,7 @@ func TestDiscoveryRESTMapper(t *testing.T) { t.Fatalf("unexpected error creating mapper: %s", err) } - for _, res := range []unversioned.GroupVersionResource{ + for _, res := range []schema.GroupVersionResource{ { Group: "test", Version: "beta1", diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/apps_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/apps_client.go index 0155927e433..013f56c4463 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/apps_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/apps_client.go @@ -19,8 +19,8 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *AppsV1beta1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("apps/v1beta1") + gv, err := schema.ParseGroupVersion("apps/v1beta1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go b/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go index 155d89ff8e1..e911906f800 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeStatefulSets struct { ns string } -var statefulsetsResource = unversioned.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "statefulsets"} +var statefulsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "statefulsets"} func (c *FakeStatefulSets) Create(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1beta1/authentication_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1beta1/authentication_client.go index 7f976b06240..25a9e73d3e5 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1beta1/authentication_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1beta1/authentication_client.go @@ -19,8 +19,8 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *AuthenticationV1beta1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("authentication.k8s.io/v1beta1") + gv, err := schema.ParseGroupVersion("authentication.k8s.io/v1beta1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1/authorization_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1/authorization_client.go index 5993283735e..9265a814f72 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1/authorization_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1/authorization_client.go @@ -19,8 +19,8 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -78,7 +78,7 @@ func New(c rest.Interface) *AuthorizationV1beta1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("authorization.k8s.io/v1beta1") + gv, err := schema.ParseGroupVersion("authorization.k8s.io/v1beta1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/autoscaling_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/autoscaling_client.go index d3edda79b04..a2506be4c08 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/autoscaling_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/autoscaling_client.go @@ -19,8 +19,8 @@ package v1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *AutoscalingV1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("autoscaling/v1") + gv, err := schema.ParseGroupVersion("autoscaling/v1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go b/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go index d6a588146a0..cc3e97697fa 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/autoscaling/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeHorizontalPodAutoscalers struct { ns string } -var horizontalpodautoscalersResource = unversioned.GroupVersionResource{Group: "autoscaling", Version: "v1", Resource: "horizontalpodautoscalers"} +var horizontalpodautoscalersResource = schema.GroupVersionResource{Group: "autoscaling", Version: "v1", Resource: "horizontalpodautoscalers"} func (c *FakeHorizontalPodAutoscalers) Create(horizontalPodAutoscaler *v1.HorizontalPodAutoscaler) (result *v1.HorizontalPodAutoscaler, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/batch_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/batch_client.go index 5b4012b72c7..90f5c7691e1 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/batch_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/batch_client.go @@ -19,8 +19,8 @@ package v1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *BatchV1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("batch/v1") + gv, err := schema.ParseGroupVersion("batch/v1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/fake/fake_job.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/fake/fake_job.go index eb14eb91d4c..e8b5598cf95 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/fake/fake_job.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/fake/fake_job.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/batch/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "v1", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "batch", Version: "v1", Resource: "jobs"} func (c *FakeJobs) Create(job *v1.Job) (result *v1.Job, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/batch_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/batch_client.go index c9440702ac5..06f07df83f1 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/batch_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/batch_client.go @@ -19,8 +19,8 @@ package v2alpha1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -73,7 +73,7 @@ func New(c rest.Interface) *BatchV2alpha1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("batch/v2alpha1") + gv, err := schema.ParseGroupVersion("batch/v2alpha1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go index 7d5ffb34e47..268b23f77f7 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeCronJobs struct { ns string } -var cronjobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "cronjobs"} +var cronjobsResource = schema.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "cronjobs"} func (c *FakeCronJobs) Create(cronJob *v2alpha1.CronJob) (result *v2alpha1.CronJob, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_job.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_job.go index 2240eb9f886..f5ba269cb4c 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_job.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_job.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "batch", Version: "v2alpha1", Resource: "jobs"} func (c *FakeJobs) Create(job *v2alpha1.Job) (result *v2alpha1.Job, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/certificates_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/certificates_client.go index b7fcc70078b..b060d7dd2c0 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/certificates_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/certificates_client.go @@ -19,8 +19,8 @@ package v1alpha1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *CertificatesV1alpha1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("certificates.k8s.io/v1alpha1") + gv, err := schema.ParseGroupVersion("certificates.k8s.io/v1alpha1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go index cea61ffa7b0..f9e1946d63f 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/certificates/v1alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeCertificateSigningRequests struct { Fake *FakeCertificatesV1alpha1 } -var certificatesigningrequestsResource = unversioned.GroupVersionResource{Group: "certificates.k8s.io", Version: "v1alpha1", Resource: "certificatesigningrequests"} +var certificatesigningrequestsResource = schema.GroupVersionResource{Group: "certificates.k8s.io", Version: "v1alpha1", Resource: "certificatesigningrequests"} func (c *FakeCertificateSigningRequests) Create(certificateSigningRequest *v1alpha1.CertificateSigningRequest) (result *v1alpha1.CertificateSigningRequest, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/core_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/core_client.go index 0c9139ade49..0e8ffeff30e 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/core_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/core_client.go @@ -19,8 +19,8 @@ package v1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -143,7 +143,7 @@ func New(c rest.Interface) *CoreV1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("/v1") + gv, err := schema.ParseGroupVersion("/v1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_componentstatus.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_componentstatus.go index 1e3d2f8f043..88ebeea5e71 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_componentstatus.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_componentstatus.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -30,7 +30,7 @@ type FakeComponentStatuses struct { Fake *FakeCoreV1 } -var componentstatusesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "componentstatuses"} +var componentstatusesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "componentstatuses"} func (c *FakeComponentStatuses) Create(componentStatus *v1.ComponentStatus) (result *v1.ComponentStatus, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_configmap.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_configmap.go index 1a5aa3e3a69..2a9f0b65ebb 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_configmap.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_configmap.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeConfigMaps struct { ns string } -var configmapsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "configmaps"} +var configmapsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "configmaps"} func (c *FakeConfigMaps) Create(configMap *v1.ConfigMap) (result *v1.ConfigMap, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_endpoints.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_endpoints.go index 651af78bd50..0325d305b18 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_endpoints.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_endpoints.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeEndpoints struct { ns string } -var endpointsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "endpoints"} +var endpointsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "endpoints"} func (c *FakeEndpoints) Create(endpoints *v1.Endpoints) (result *v1.Endpoints, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_event.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_event.go index c3f4aef35d8..b8aa5e6773b 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_event.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_event.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeEvents struct { ns string } -var eventsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "events"} +var eventsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "events"} func (c *FakeEvents) Create(event *v1.Event) (result *v1.Event, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_limitrange.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_limitrange.go index 48c8c74d3f1..29cdd895af9 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_limitrange.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_limitrange.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeLimitRanges struct { ns string } -var limitrangesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "limitranges"} +var limitrangesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "limitranges"} func (c *FakeLimitRanges) Create(limitRange *v1.LimitRange) (result *v1.LimitRange, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_namespace.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_namespace.go index 1b725fd7271..7f7ea453789 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_namespace.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_namespace.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -30,7 +30,7 @@ type FakeNamespaces struct { Fake *FakeCoreV1 } -var namespacesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"} +var namespacesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "namespaces"} func (c *FakeNamespaces) Create(namespace *v1.Namespace) (result *v1.Namespace, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_node.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_node.go index 4bf8f37e26c..d4ce95d8a89 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_node.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_node.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -30,7 +30,7 @@ type FakeNodes struct { Fake *FakeCoreV1 } -var nodesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "nodes"} +var nodesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "nodes"} func (c *FakeNodes) Create(node *v1.Node) (result *v1.Node, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolume.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolume.go index c285a98645e..244287e7c6a 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolume.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolume.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -30,7 +30,7 @@ type FakePersistentVolumes struct { Fake *FakeCoreV1 } -var persistentvolumesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumes"} +var persistentvolumesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumes"} func (c *FakePersistentVolumes) Create(persistentVolume *v1.PersistentVolume) (result *v1.PersistentVolume, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go index 5c5a871ea47..936f5fdb20d 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakePersistentVolumeClaims struct { ns string } -var persistentvolumeclaimsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumeclaims"} +var persistentvolumeclaimsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumeclaims"} func (c *FakePersistentVolumeClaims) Create(persistentVolumeClaim *v1.PersistentVolumeClaim) (result *v1.PersistentVolumeClaim, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_pod.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_pod.go index 660abe95296..9000def8268 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_pod.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_pod.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakePods struct { ns string } -var podsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"} +var podsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"} func (c *FakePods) Create(pod *v1.Pod) (result *v1.Pod, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_podtemplate.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_podtemplate.go index fed33ba7d89..2f8a94466de 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_podtemplate.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_podtemplate.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakePodTemplates struct { ns string } -var podtemplatesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "podtemplates"} +var podtemplatesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "podtemplates"} func (c *FakePodTemplates) Create(podTemplate *v1.PodTemplate) (result *v1.PodTemplate, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go index 8aace518a04..0789a0c1f14 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeReplicationControllers struct { ns string } -var replicationcontrollersResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "replicationcontrollers"} +var replicationcontrollersResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "replicationcontrollers"} func (c *FakeReplicationControllers) Create(replicationController *v1.ReplicationController) (result *v1.ReplicationController, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_resourcequota.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_resourcequota.go index c842cb7840e..4797518000b 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_resourcequota.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_resourcequota.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeResourceQuotas struct { ns string } -var resourcequotasResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "resourcequotas"} +var resourcequotasResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "resourcequotas"} func (c *FakeResourceQuotas) Create(resourceQuota *v1.ResourceQuota) (result *v1.ResourceQuota, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_secret.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_secret.go index 78e3d96f6b2..cedc6dcdebd 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_secret.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_secret.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeSecrets struct { ns string } -var secretsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "secrets"} +var secretsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "secrets"} func (c *FakeSecrets) Create(secret *v1.Secret) (result *v1.Secret, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_service.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_service.go index d8d99854565..83d7a219867 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_service.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_service.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeServices struct { ns string } -var servicesResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "services"} +var servicesResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "services"} func (c *FakeServices) Create(service *v1.Service) (result *v1.Service, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_serviceaccount.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_serviceaccount.go index 9d4c5aedb7d..8c7430700fb 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_serviceaccount.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake/fake_serviceaccount.go @@ -18,9 +18,9 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeServiceAccounts struct { ns string } -var serviceaccountsResource = unversioned.GroupVersionResource{Group: "", Version: "v1", Resource: "serviceaccounts"} +var serviceaccountsResource = schema.GroupVersionResource{Group: "", Version: "v1", Resource: "serviceaccounts"} func (c *FakeServiceAccounts) Create(serviceAccount *v1.ServiceAccount) (result *v1.ServiceAccount, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/extensions_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/extensions_client.go index 6b90d4b76a7..0f3e79cefc4 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/extensions_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/extensions_client.go @@ -19,8 +19,8 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -103,7 +103,7 @@ func New(c rest.Interface) *ExtensionsV1beta1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("extensions/v1beta1") + gv, err := schema.ParseGroupVersion("extensions/v1beta1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go index 575f95409e9..01bd7857b36 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeDaemonSets struct { ns string } -var daemonsetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "daemonsets"} +var daemonsetsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "daemonsets"} func (c *FakeDaemonSets) Create(daemonSet *v1beta1.DaemonSet) (result *v1beta1.DaemonSet, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go index 9dcdcae3a50..a53b686194d 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeDeployments struct { ns string } -var deploymentsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"} +var deploymentsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "deployments"} func (c *FakeDeployments) Create(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go index 81762511a5f..c9211bf5cf1 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeIngresses struct { ns string } -var ingressesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} +var ingressesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "ingresses"} func (c *FakeIngresses) Create(ingress *v1beta1.Ingress) (result *v1beta1.Ingress, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_job.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_job.go index c790c2dbf70..317d312f154 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_job.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_job.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeJobs struct { ns string } -var jobsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "jobs"} +var jobsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "jobs"} func (c *FakeJobs) Create(job *v1beta1.Job) (result *v1beta1.Job, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go index cc6285a769d..8593eaf94df 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakePodSecurityPolicies struct { Fake *FakeExtensionsV1beta1 } -var podsecuritypoliciesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "podsecuritypolicies"} +var podsecuritypoliciesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "podsecuritypolicies"} func (c *FakePodSecurityPolicies) Create(podSecurityPolicy *v1beta1.PodSecurityPolicy) (result *v1beta1.PodSecurityPolicy, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go index c10b1a6a5a5..10991241e85 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeReplicaSets struct { ns string } -var replicasetsResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicasets"} +var replicasetsResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "replicasets"} func (c *FakeReplicaSets) Create(replicaSet *v1beta1.ReplicaSet) (result *v1beta1.ReplicaSet, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_scale_expansion.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_scale_expansion.go index 88f71d8c7d6..70e1555af72 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_scale_expansion.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_scale_expansion.go @@ -17,8 +17,8 @@ limitations under the License. package fake import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apis/extensions/v1beta1" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/testing" ) @@ -26,7 +26,7 @@ func (c *FakeScales) Get(kind string, name string) (result *v1beta1.Scale, err e action := testing.GetActionImpl{} action.Verb = "get" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Resource: kind} + action.Resource = schema.GroupVersionResource{Resource: kind} action.Subresource = "scale" action.Name = name obj, err := c.Fake.Invokes(action, &v1beta1.Scale{}) @@ -38,7 +38,7 @@ func (c *FakeScales) Update(kind string, scale *v1beta1.Scale) (result *v1beta1. action := testing.UpdateActionImpl{} action.Verb = "update" action.Namespace = c.ns - action.Resource = unversioned.GroupVersionResource{Resource: kind} + action.Resource = schema.GroupVersionResource{Resource: kind} action.Subresource = "scale" action.Object = scale obj, err := c.Fake.Invokes(action, scale) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go index 8df10a17f53..fc5b4f7d59f 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeThirdPartyResources struct { Fake *FakeExtensionsV1beta1 } -var thirdpartyresourcesResource = unversioned.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "thirdpartyresources"} +var thirdpartyresourcesResource = schema.GroupVersionResource{Group: "extensions", Version: "v1beta1", Resource: "thirdpartyresources"} func (c *FakeThirdPartyResources) Create(thirdPartyResource *v1beta1.ThirdPartyResource) (result *v1beta1.ThirdPartyResource, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/scale_expansion.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/scale_expansion.go index 08421dc45e0..07d95e5a03d 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/scale_expansion.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/scale_expansion.go @@ -18,8 +18,8 @@ package v1beta1 import ( "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apis/extensions/v1beta1" + "k8s.io/client-go/pkg/runtime/schema" ) // The ScaleExpansion interface allows manually adding extra methods to the ScaleInterface. @@ -33,7 +33,7 @@ func (c *scales) Get(kind string, name string) (result *v1beta1.Scale, err error result = &v1beta1.Scale{} // TODO this method needs to take a proper unambiguous kind - fullyQualifiedKind := unversioned.GroupVersionKind{Kind: kind} + fullyQualifiedKind := schema.GroupVersionKind{Kind: kind} resource, _ := meta.KindToResource(fullyQualifiedKind) err = c.client.Get(). @@ -50,7 +50,7 @@ func (c *scales) Update(kind string, scale *v1beta1.Scale) (result *v1beta1.Scal result = &v1beta1.Scale{} // TODO this method needs to take a proper unambiguous kind - fullyQualifiedKind := unversioned.GroupVersionKind{Kind: kind} + fullyQualifiedKind := schema.GroupVersionKind{Kind: kind} resource, _ := meta.KindToResource(fullyQualifiedKind) err = c.client.Put(). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go index 8f1efecb6d5..1c26b8167b7 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/policy/v1alpha1" labels "k8s.io/client-go/pkg/labels" + "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakePodDisruptionBudgets struct { ns string } -var poddisruptionbudgetsResource = unversioned.GroupVersionResource{Group: "policy", Version: "v1alpha1", Resource: "poddisruptionbudgets"} +var poddisruptionbudgetsResource = schema.GroupVersionResource{Group: "policy", Version: "v1alpha1", Resource: "poddisruptionbudgets"} func (c *FakePodDisruptionBudgets) Create(podDisruptionBudget *v1alpha1.PodDisruptionBudget) (result *v1alpha1.PodDisruptionBudget, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/policy_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/policy_client.go index 4f1b535dcc2..c4394e38eb0 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/policy_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1alpha1/policy_client.go @@ -18,9 +18,10 @@ package v1alpha1 import ( fmt "fmt" + api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +69,7 @@ func New(c rest.Interface) *PolicyV1alpha1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("policy/v1alpha1") + gv, err := schema.ParseGroupVersion("policy/v1alpha1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go index 5a62e5a9f95..03d599c3126 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/policy/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakePodDisruptionBudgets struct { ns string } -var poddisruptionbudgetsResource = unversioned.GroupVersionResource{Group: "policy", Version: "v1beta1", Resource: "poddisruptionbudgets"} +var poddisruptionbudgetsResource = schema.GroupVersionResource{Group: "policy", Version: "v1beta1", Resource: "poddisruptionbudgets"} func (c *FakePodDisruptionBudgets) Create(podDisruptionBudget *v1beta1.PodDisruptionBudget) (result *v1beta1.PodDisruptionBudget, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/policy_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/policy_client.go index a2605d472d5..c21419c0f52 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/policy_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/policy_client.go @@ -19,8 +19,8 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *PolicyV1beta1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("policy/v1beta1") + gv, err := schema.ParseGroupVersion("policy/v1beta1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go index 4c6cb70572a..44795f4f02e 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeClusterRoles struct { Fake *FakeRbacV1alpha1 } -var clusterrolesResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterroles"} +var clusterrolesResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterroles"} func (c *FakeClusterRoles) Create(clusterRole *v1alpha1.ClusterRole) (result *v1alpha1.ClusterRole, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go index 58f695bf59b..603a3b45c2d 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeClusterRoleBindings struct { Fake *FakeRbacV1alpha1 } -var clusterrolebindingsResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterrolebindings"} +var clusterrolebindingsResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "clusterrolebindings"} func (c *FakeClusterRoleBindings) Create(clusterRoleBinding *v1alpha1.ClusterRoleBinding) (result *v1alpha1.ClusterRoleBinding, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go index 70ffadc45fc..c668da330b9 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeRoles struct { ns string } -var rolesResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "roles"} +var rolesResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "roles"} func (c *FakeRoles) Create(role *v1alpha1.Role) (result *v1alpha1.Role, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go index b2d4e7b2182..4da08ddea72 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -32,7 +32,7 @@ type FakeRoleBindings struct { ns string } -var rolebindingsResource = unversioned.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "rolebindings"} +var rolebindingsResource = schema.GroupVersionResource{Group: "rbac.authorization.k8s.io", Version: "v1alpha1", Resource: "rolebindings"} func (c *FakeRoleBindings) Create(roleBinding *v1alpha1.RoleBinding) (result *v1alpha1.RoleBinding, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rbac_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rbac_client.go index 7dbb9f2dbed..d3d497739e7 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rbac_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rbac_client.go @@ -19,8 +19,8 @@ package v1alpha1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -83,7 +83,7 @@ func New(c rest.Interface) *RbacV1alpha1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("rbac.authorization.k8s.io/v1alpha1") + gv, err := schema.ParseGroupVersion("rbac.authorization.k8s.io/v1alpha1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go b/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go index e233a1d1ad6..5d839a4b962 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go @@ -18,10 +18,10 @@ package fake import ( api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/storage/v1beta1" labels "k8s.io/client-go/pkg/labels" + schema "k8s.io/client-go/pkg/runtime/schema" watch "k8s.io/client-go/pkg/watch" testing "k8s.io/client-go/testing" ) @@ -31,7 +31,7 @@ type FakeStorageClasses struct { Fake *FakeStorageV1beta1 } -var storageclassesResource = unversioned.GroupVersionResource{Group: "storage.k8s.io", Version: "v1beta1", Resource: "storageclasses"} +var storageclassesResource = schema.GroupVersionResource{Group: "storage.k8s.io", Version: "v1beta1", Resource: "storageclasses"} func (c *FakeStorageClasses) Create(storageClass *v1beta1.StorageClass) (result *v1beta1.StorageClass, err error) { obj, err := c.Fake. diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storage_client.go b/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storage_client.go index b7eb26fd67a..b57eaa3a1fd 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storage_client.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storage_client.go @@ -19,8 +19,8 @@ package v1beta1 import ( fmt "fmt" api "k8s.io/client-go/pkg/api" - unversioned "k8s.io/client-go/pkg/api/unversioned" registered "k8s.io/client-go/pkg/apimachinery/registered" + schema "k8s.io/client-go/pkg/runtime/schema" serializer "k8s.io/client-go/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -68,7 +68,7 @@ func New(c rest.Interface) *StorageV1beta1Client { } func setConfigDefaults(config *rest.Config) error { - gv, err := unversioned.ParseGroupVersion("storage.k8s.io/v1beta1") + gv, err := schema.ParseGroupVersion("storage.k8s.io/v1beta1") if err != nil { return err } diff --git a/staging/src/k8s.io/client-go/pkg/api/errors/errors.go b/staging/src/k8s.io/client-go/pkg/api/errors/errors.go index 93dd52a2431..9d3ba62a90e 100644 --- a/staging/src/k8s.io/client-go/pkg/api/errors/errors.go +++ b/staging/src/k8s.io/client-go/pkg/api/errors/errors.go @@ -24,6 +24,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/validation/field" ) @@ -91,7 +92,7 @@ func FromObject(obj runtime.Object) error { } // NewNotFound returns a new error which indicates that the resource of the kind and the name was not found. -func NewNotFound(qualifiedResource unversioned.GroupResource, name string) *StatusError { +func NewNotFound(qualifiedResource schema.GroupResource, name string) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusNotFound, @@ -106,7 +107,7 @@ func NewNotFound(qualifiedResource unversioned.GroupResource, name string) *Stat } // NewAlreadyExists returns an error indicating the item requested exists by that identifier. -func NewAlreadyExists(qualifiedResource unversioned.GroupResource, name string) *StatusError { +func NewAlreadyExists(qualifiedResource schema.GroupResource, name string) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusConflict, @@ -136,7 +137,7 @@ func NewUnauthorized(reason string) *StatusError { } // NewForbidden returns an error indicating the requested action was forbidden -func NewForbidden(qualifiedResource unversioned.GroupResource, name string, err error) *StatusError { +func NewForbidden(qualifiedResource schema.GroupResource, name string, err error) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusForbidden, @@ -151,7 +152,7 @@ func NewForbidden(qualifiedResource unversioned.GroupResource, name string, err } // NewConflict returns an error indicating the item can't be updated as provided. -func NewConflict(qualifiedResource unversioned.GroupResource, name string, err error) *StatusError { +func NewConflict(qualifiedResource schema.GroupResource, name string, err error) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusConflict, @@ -176,7 +177,7 @@ func NewGone(message string) *StatusError { } // NewInvalid returns an error indicating the item is invalid and cannot be processed. -func NewInvalid(qualifiedKind unversioned.GroupKind, name string, errs field.ErrorList) *StatusError { +func NewInvalid(qualifiedKind schema.GroupKind, name string, errs field.ErrorList) *StatusError { causes := make([]unversioned.StatusCause, 0, len(errs)) for i := range errs { err := errs[i] @@ -221,7 +222,7 @@ func NewServiceUnavailable(reason string) *StatusError { } // NewMethodNotSupported returns an error indicating the requested action is not supported on this kind. -func NewMethodNotSupported(qualifiedResource unversioned.GroupResource, action string) *StatusError { +func NewMethodNotSupported(qualifiedResource schema.GroupResource, action string) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusMethodNotAllowed, @@ -236,7 +237,7 @@ func NewMethodNotSupported(qualifiedResource unversioned.GroupResource, action s // NewServerTimeout returns an error indicating the requested action could not be completed due to a // transient error, and the client should try again. -func NewServerTimeout(qualifiedResource unversioned.GroupResource, operation string, retryAfterSeconds int) *StatusError { +func NewServerTimeout(qualifiedResource schema.GroupResource, operation string, retryAfterSeconds int) *StatusError { return &StatusError{unversioned.Status{ Status: unversioned.StatusFailure, Code: http.StatusInternalServerError, @@ -253,8 +254,8 @@ func NewServerTimeout(qualifiedResource unversioned.GroupResource, operation str // NewServerTimeoutForKind should not exist. Server timeouts happen when accessing resources, the Kind is just what we // happened to be looking at when the request failed. This delegates to keep code sane, but we should work towards removing this. -func NewServerTimeoutForKind(qualifiedKind unversioned.GroupKind, operation string, retryAfterSeconds int) *StatusError { - return NewServerTimeout(unversioned.GroupResource{Group: qualifiedKind.Group, Resource: qualifiedKind.Kind}, operation, retryAfterSeconds) +func NewServerTimeoutForKind(qualifiedKind schema.GroupKind, operation string, retryAfterSeconds int) *StatusError { + return NewServerTimeout(schema.GroupResource{Group: qualifiedKind.Group, Resource: qualifiedKind.Kind}, operation, retryAfterSeconds) } // NewInternalError returns an error indicating the item is invalid and cannot be processed. @@ -285,7 +286,7 @@ func NewTimeoutError(message string, retryAfterSeconds int) *StatusError { } // NewGenericServerResponse returns a new error for server responses that are not in a recognizable form. -func NewGenericServerResponse(code int, verb string, qualifiedResource unversioned.GroupResource, name, serverMessage string, retryAfterSeconds int, isUnexpectedResponse bool) *StatusError { +func NewGenericServerResponse(code int, verb string, qualifiedResource schema.GroupResource, name, serverMessage string, retryAfterSeconds int, isUnexpectedResponse bool) *StatusError { reason := unversioned.StatusReasonUnknown message := fmt.Sprintf("the server responded with the status code %d but did not return more information", code) switch code { diff --git a/staging/src/k8s.io/client-go/pkg/api/install/install.go b/staging/src/k8s.io/client-go/pkg/api/install/install.go index e41dd63784e..14041868c7d 100644 --- a/staging/src/k8s.io/client-go/pkg/api/install/install.go +++ b/staging/src/k8s.io/client-go/pkg/api/install/install.go @@ -25,11 +25,11 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/apimachinery" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/sets" ) @@ -38,11 +38,11 @@ const importPrefix = "k8s.io/client-go/pkg/api" var accessor = meta.NewAccessor() // availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []unversioned.GroupVersion{v1.SchemeGroupVersion} +var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} func init() { registered.RegisterVersions(availableVersions) - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range availableVersions { if registered.IsAllowedVersion(v) { externalVersions = append(externalVersions, v) @@ -67,7 +67,7 @@ func init() { // group. // We can combine registered.RegisterVersions, registered.EnableVersions and // registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []unversioned.GroupVersion) error { +func enableVersions(externalVersions []schema.GroupVersion) error { addVersionsToScheme(externalVersions...) preferredExternalVersion := externalVersions[0] @@ -85,7 +85,7 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error { return nil } -func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper { +func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString( @@ -117,7 +117,7 @@ func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper // InterfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case v1.SchemeGroupVersion: return &meta.VersionInterfaces{ @@ -130,7 +130,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } } -func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) { +func addVersionsToScheme(externalVersions ...schema.GroupVersion) { // add the internal version to Scheme if err := api.AddToScheme(api.Scheme); err != nil { // Programmer error, detect immediately diff --git a/staging/src/k8s.io/client-go/pkg/api/mapper.go b/staging/src/k8s.io/client-go/pkg/api/mapper.go index db72bdfb8e8..03cc08febac 100644 --- a/staging/src/k8s.io/client-go/pkg/api/mapper.go +++ b/staging/src/k8s.io/client-go/pkg/api/mapper.go @@ -20,19 +20,19 @@ import ( "strings" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/sets" ) // Instantiates a DefaultRESTMapper based on types registered in api.Scheme -func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, +func NewDefaultRESTMapper(defaultGroupVersions []schema.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, importPathPrefix string, ignoredKinds, rootScoped sets.String) *meta.DefaultRESTMapper { return NewDefaultRESTMapperFromScheme(defaultGroupVersions, interfacesFunc, importPathPrefix, ignoredKinds, rootScoped, Scheme) } // Instantiates a DefaultRESTMapper based on types registered in the given scheme. -func NewDefaultRESTMapperFromScheme(defaultGroupVersions []unversioned.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, +func NewDefaultRESTMapperFromScheme(defaultGroupVersions []schema.GroupVersion, interfacesFunc meta.VersionInterfacesFunc, importPathPrefix string, ignoredKinds, rootScoped sets.String, scheme *runtime.Scheme) *meta.DefaultRESTMapper { mapper := meta.NewDefaultRESTMapper(defaultGroupVersions, interfacesFunc) diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/errors.go b/staging/src/k8s.io/client-go/pkg/api/meta/errors.go index 9de77d60ef1..942e5ef3f9d 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/errors.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/errors.go @@ -19,15 +19,15 @@ package meta import ( "fmt" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) // AmbiguousResourceError is returned if the RESTMapper finds multiple matches for a resource type AmbiguousResourceError struct { - PartialResource unversioned.GroupVersionResource + PartialResource schema.GroupVersionResource - MatchingResources []unversioned.GroupVersionResource - MatchingKinds []unversioned.GroupVersionKind + MatchingResources []schema.GroupVersionResource + MatchingKinds []schema.GroupVersionKind } func (e *AmbiguousResourceError) Error() string { @@ -44,10 +44,10 @@ func (e *AmbiguousResourceError) Error() string { // AmbiguousKindError is returned if the RESTMapper finds multiple matches for a kind type AmbiguousKindError struct { - PartialKind unversioned.GroupVersionKind + PartialKind schema.GroupVersionKind - MatchingResources []unversioned.GroupVersionResource - MatchingKinds []unversioned.GroupVersionKind + MatchingResources []schema.GroupVersionResource + MatchingKinds []schema.GroupVersionKind } func (e *AmbiguousKindError) Error() string { @@ -76,7 +76,7 @@ func IsAmbiguousError(err error) bool { // NoResourceMatchError is returned if the RESTMapper can't find any match for a resource type NoResourceMatchError struct { - PartialResource unversioned.GroupVersionResource + PartialResource schema.GroupVersionResource } func (e *NoResourceMatchError) Error() string { @@ -85,7 +85,7 @@ func (e *NoResourceMatchError) Error() string { // NoKindMatchError is returned if the RESTMapper can't find any match for a kind type NoKindMatchError struct { - PartialKind unversioned.GroupVersionKind + PartialKind schema.GroupVersionKind } func (e *NoKindMatchError) Error() string { diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/firsthit_restmapper.go b/staging/src/k8s.io/client-go/pkg/api/meta/firsthit_restmapper.go index 3c576dbe947..8d465313d02 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/firsthit_restmapper.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/firsthit_restmapper.go @@ -19,7 +19,7 @@ package meta import ( "fmt" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" utilerrors "k8s.io/client-go/pkg/util/errors" ) @@ -33,7 +33,7 @@ func (m FirstHitRESTMapper) String() string { return fmt.Sprintf("FirstHitRESTMapper{\n\t%v\n}", m.MultiRESTMapper) } -func (m FirstHitRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m FirstHitRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { errors := []error{} for _, t := range m.MultiRESTMapper { ret, err := t.ResourceFor(resource) @@ -43,10 +43,10 @@ func (m FirstHitRESTMapper) ResourceFor(resource unversioned.GroupVersionResourc errors = append(errors, err) } - return unversioned.GroupVersionResource{}, collapseAggregateErrors(errors) + return schema.GroupVersionResource{}, collapseAggregateErrors(errors) } -func (m FirstHitRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m FirstHitRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { errors := []error{} for _, t := range m.MultiRESTMapper { ret, err := t.KindFor(resource) @@ -56,13 +56,13 @@ func (m FirstHitRESTMapper) KindFor(resource unversioned.GroupVersionResource) ( errors = append(errors, err) } - return unversioned.GroupVersionKind{}, collapseAggregateErrors(errors) + return schema.GroupVersionKind{}, collapseAggregateErrors(errors) } // RESTMapping provides the REST mapping for the resource based on the // kind and version. This implementation supports multiple REST schemas and // return the first match. -func (m FirstHitRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) { +func (m FirstHitRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { errors := []error{} for _, t := range m.MultiRESTMapper { ret, err := t.RESTMapping(gk, versions...) diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/interfaces.go b/staging/src/k8s.io/client-go/pkg/api/meta/interfaces.go index 6dd570008a6..6a8cf679a5a 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/interfaces.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/interfaces.go @@ -20,6 +20,7 @@ import ( "k8s.io/client-go/pkg/api/meta/metatypes" "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/types" ) @@ -143,7 +144,7 @@ type RESTMapping struct { // Resource is a string representing the name of this resource as a REST client would see it Resource string - GroupVersionKind unversioned.GroupVersionKind + GroupVersionKind schema.GroupVersionKind // Scope contains the information needed to deal with REST Resources that are in a resource hierarchy Scope RESTScope @@ -163,21 +164,21 @@ type RESTMapping struct { // TODO: split into sub-interfaces type RESTMapper interface { // KindFor takes a partial resource and returns the single match. Returns an error if there are multiple matches - KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) + KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) // KindsFor takes a partial resource and returns the list of potential kinds in priority order - KindsFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionKind, error) + KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) // ResourceFor takes a partial resource and returns the single match. Returns an error if there are multiple matches - ResourceFor(input unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) + ResourceFor(input schema.GroupVersionResource) (schema.GroupVersionResource, error) // ResourcesFor takes a partial resource and returns the list of potential resource in priority order - ResourcesFor(input unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) + ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) // RESTMapping identifies a preferred resource mapping for the provided group kind. - RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) + RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) // RESTMappings returns all resource mappings for the provided group kind. - RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) + RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) AliasesForResource(resource string) ([]string, bool) ResourceSingularizer(resource string) (singular string, err error) diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/meta.go b/staging/src/k8s.io/client-go/pkg/api/meta/meta.go index 9f11215ad19..dcfa64fd05c 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/meta.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/meta.go @@ -24,6 +24,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/conversion" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/types" "github.com/golang/glog" @@ -140,9 +141,9 @@ func (obj objectAccessor) GetAPIVersion() string { func (obj objectAccessor) SetAPIVersion(version string) { gvk := obj.GetObjectKind().GroupVersionKind() - gv, err := unversioned.ParseGroupVersion(version) + gv, err := schema.ParseGroupVersion(version) if err != nil { - gv = unversioned.GroupVersion{Version: version} + gv = schema.GroupVersion{Version: version} } gvk.Group, gvk.Version = gv.Group, gv.Version obj.GetObjectKind().SetGroupVersionKind(gvk) diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/multirestmapper.go b/staging/src/k8s.io/client-go/pkg/api/meta/multirestmapper.go index c8ee8d1db8a..df472e9819b 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/multirestmapper.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/multirestmapper.go @@ -20,7 +20,7 @@ import ( "fmt" "strings" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" utilerrors "k8s.io/client-go/pkg/util/errors" "k8s.io/client-go/pkg/util/sets" ) @@ -51,8 +51,8 @@ func (m MultiRESTMapper) ResourceSingularizer(resource string) (singular string, return } -func (m MultiRESTMapper) ResourcesFor(resource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { - allGVRs := []unversioned.GroupVersionResource{} +func (m MultiRESTMapper) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { + allGVRs := []schema.GroupVersionResource{} for _, t := range m { gvrs, err := t.ResourcesFor(resource) // ignore "no match" errors, but any other error percolates back up @@ -86,8 +86,8 @@ func (m MultiRESTMapper) ResourcesFor(resource unversioned.GroupVersionResource) return allGVRs, nil } -func (m MultiRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gvk []unversioned.GroupVersionKind, err error) { - allGVKs := []unversioned.GroupVersionKind{} +func (m MultiRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { + allGVKs := []schema.GroupVersionKind{} for _, t := range m { gvks, err := t.KindsFor(resource) // ignore "no match" errors, but any other error percolates back up @@ -121,34 +121,34 @@ func (m MultiRESTMapper) KindsFor(resource unversioned.GroupVersionResource) (gv return allGVKs, nil } -func (m MultiRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m MultiRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { resources, err := m.ResourcesFor(resource) if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } if len(resources) == 1 { return resources[0], nil } - return unversioned.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} } -func (m MultiRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m MultiRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { kinds, err := m.KindsFor(resource) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } if len(kinds) == 1 { return kinds[0], nil } - return unversioned.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} } // RESTMapping provides the REST mapping for the resource based on the // kind and version. This implementation supports multiple REST schemas and // return the first match. -func (m MultiRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) { +func (m MultiRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { allMappings := []*RESTMapping{} errors := []error{} @@ -171,7 +171,7 @@ func (m MultiRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...strin return allMappings[0], nil } if len(allMappings) > 1 { - var kinds []unversioned.GroupVersionKind + var kinds []schema.GroupVersionKind for _, m := range allMappings { kinds = append(kinds, m.GroupVersionKind) } @@ -185,7 +185,7 @@ func (m MultiRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...strin // RESTMappings returns all possible RESTMappings for the provided group kind, or an error // if the type is not recognized. -func (m MultiRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) { +func (m MultiRESTMapper) RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) { var allMappings []*RESTMapping var errors []error diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/priority.go b/staging/src/k8s.io/client-go/pkg/api/meta/priority.go index b0ba309c895..60038929260 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/priority.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/priority.go @@ -19,7 +19,7 @@ package meta import ( "fmt" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) const ( @@ -39,13 +39,13 @@ type PriorityRESTMapper struct { // The list of all matching resources is narrowed based on the patterns until only one remains. // A pattern with no matches is skipped. A pattern with more than one match uses its // matches as the list to continue matching against. - ResourcePriority []unversioned.GroupVersionResource + ResourcePriority []schema.GroupVersionResource // KindPriority is a list of priority patterns to apply to matching kinds. // The list of all matching kinds is narrowed based on the patterns until only one remains. // A pattern with no matches is skipped. A pattern with more than one match uses its // matches as the list to continue matching against. - KindPriority []unversioned.GroupVersionKind + KindPriority []schema.GroupVersionKind } func (m PriorityRESTMapper) String() string { @@ -53,18 +53,18 @@ func (m PriorityRESTMapper) String() string { } // ResourceFor finds all resources, then passes them through the ResourcePriority patterns to find a single matching hit. -func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource schema.GroupVersionResource) (schema.GroupVersionResource, error) { originalGVRs, err := m.Delegate.ResourcesFor(partiallySpecifiedResource) if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } if len(originalGVRs) == 1 { return originalGVRs[0], nil } - remainingGVRs := append([]unversioned.GroupVersionResource{}, originalGVRs...) + remainingGVRs := append([]schema.GroupVersionResource{}, originalGVRs...) for _, pattern := range m.ResourcePriority { - matchedGVRs := []unversioned.GroupVersionResource{} + matchedGVRs := []schema.GroupVersionResource{} for _, gvr := range remainingGVRs { if resourceMatches(pattern, gvr) { matchedGVRs = append(matchedGVRs, gvr) @@ -85,22 +85,22 @@ func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource unversioned.G } } - return unversioned.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingResources: originalGVRs} + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingResources: originalGVRs} } // KindFor finds all kinds, then passes them through the KindPriority patterns to find a single matching hit. -func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource schema.GroupVersionResource) (schema.GroupVersionKind, error) { originalGVKs, err := m.Delegate.KindsFor(partiallySpecifiedResource) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } if len(originalGVKs) == 1 { return originalGVKs[0], nil } - remainingGVKs := append([]unversioned.GroupVersionKind{}, originalGVKs...) + remainingGVKs := append([]schema.GroupVersionKind{}, originalGVKs...) for _, pattern := range m.KindPriority { - matchedGVKs := []unversioned.GroupVersionKind{} + matchedGVKs := []schema.GroupVersionKind{} for _, gvr := range remainingGVKs { if kindMatches(pattern, gvr) { matchedGVKs = append(matchedGVKs, gvr) @@ -121,10 +121,10 @@ func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource unversioned.Group } } - return unversioned.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingKinds: originalGVKs} + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingKinds: originalGVKs} } -func resourceMatches(pattern unversioned.GroupVersionResource, resource unversioned.GroupVersionResource) bool { +func resourceMatches(pattern schema.GroupVersionResource, resource schema.GroupVersionResource) bool { if pattern.Group != AnyGroup && pattern.Group != resource.Group { return false } @@ -138,7 +138,7 @@ func resourceMatches(pattern unversioned.GroupVersionResource, resource unversio return true } -func kindMatches(pattern unversioned.GroupVersionKind, kind unversioned.GroupVersionKind) bool { +func kindMatches(pattern schema.GroupVersionKind, kind schema.GroupVersionKind) bool { if pattern.Group != AnyGroup && pattern.Group != kind.Group { return false } @@ -152,7 +152,7 @@ func kindMatches(pattern unversioned.GroupVersionKind, kind unversioned.GroupVer return true } -func (m PriorityRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (mapping *RESTMapping, err error) { +func (m PriorityRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (mapping *RESTMapping, err error) { mappings, err := m.Delegate.RESTMappings(gk) if err != nil { return nil, err @@ -161,9 +161,9 @@ func (m PriorityRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st // any versions the user provides take priority priorities := m.KindPriority if len(versions) > 0 { - priorities = make([]unversioned.GroupVersionKind, 0, len(m.KindPriority)+len(versions)) + priorities = make([]schema.GroupVersionKind, 0, len(m.KindPriority)+len(versions)) for _, version := range versions { - gv, err := unversioned.ParseGroupVersion(version) + gv, err := schema.ParseGroupVersion(version) if err != nil { return nil, err } @@ -198,14 +198,14 @@ func (m PriorityRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st return remaining[0], nil } - var kinds []unversioned.GroupVersionKind + var kinds []schema.GroupVersionKind for _, m := range mappings { kinds = append(kinds, m.GroupVersionKind) } return nil, &AmbiguousKindError{PartialKind: gk.WithVersion(""), MatchingKinds: kinds} } -func (m PriorityRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) { +func (m PriorityRESTMapper) RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) { return m.Delegate.RESTMappings(gk) } @@ -217,10 +217,10 @@ func (m PriorityRESTMapper) ResourceSingularizer(resource string) (singular stri return m.Delegate.ResourceSingularizer(resource) } -func (m PriorityRESTMapper) ResourcesFor(partiallySpecifiedResource unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (m PriorityRESTMapper) ResourcesFor(partiallySpecifiedResource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { return m.Delegate.ResourcesFor(partiallySpecifiedResource) } -func (m PriorityRESTMapper) KindsFor(partiallySpecifiedResource unversioned.GroupVersionResource) (gvk []unversioned.GroupVersionKind, err error) { +func (m PriorityRESTMapper) KindsFor(partiallySpecifiedResource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { return m.Delegate.KindsFor(partiallySpecifiedResource) } diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/restmapper.go b/staging/src/k8s.io/client-go/pkg/api/meta/restmapper.go index 98add7fd20b..b530406936b 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/restmapper.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/restmapper.go @@ -22,8 +22,8 @@ import ( "sort" "strings" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // Implements RESTScope interface @@ -70,13 +70,13 @@ var RESTScopeRoot = &restScope{ // TODO: Only accept plural for some operations for increased control? // (`get pod bar` vs `get pods bar`) type DefaultRESTMapper struct { - defaultGroupVersions []unversioned.GroupVersion + defaultGroupVersions []schema.GroupVersion - resourceToKind map[unversioned.GroupVersionResource]unversioned.GroupVersionKind - kindToPluralResource map[unversioned.GroupVersionKind]unversioned.GroupVersionResource - kindToScope map[unversioned.GroupVersionKind]RESTScope - singularToPlural map[unversioned.GroupVersionResource]unversioned.GroupVersionResource - pluralToSingular map[unversioned.GroupVersionResource]unversioned.GroupVersionResource + resourceToKind map[schema.GroupVersionResource]schema.GroupVersionKind + kindToPluralResource map[schema.GroupVersionKind]schema.GroupVersionResource + kindToScope map[schema.GroupVersionKind]RESTScope + singularToPlural map[schema.GroupVersionResource]schema.GroupVersionResource + pluralToSingular map[schema.GroupVersionResource]schema.GroupVersionResource interfacesFunc VersionInterfacesFunc @@ -92,19 +92,19 @@ var _ RESTMapper = &DefaultRESTMapper{} // VersionInterfacesFunc returns the appropriate typer, and metadata accessor for a // given api version, or an error if no such api version exists. -type VersionInterfacesFunc func(version unversioned.GroupVersion) (*VersionInterfaces, error) +type VersionInterfacesFunc func(version schema.GroupVersion) (*VersionInterfaces, error) // NewDefaultRESTMapper initializes a mapping between Kind and APIVersion // to a resource name and back based on the objects in a runtime.Scheme // and the Kubernetes API conventions. Takes a group name, a priority list of the versions // to search when an object has no default version (set empty to return an error), // and a function that retrieves the correct metadata for a given version. -func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, f VersionInterfacesFunc) *DefaultRESTMapper { - resourceToKind := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionKind) - kindToPluralResource := make(map[unversioned.GroupVersionKind]unversioned.GroupVersionResource) - kindToScope := make(map[unversioned.GroupVersionKind]RESTScope) - singularToPlural := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource) - pluralToSingular := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource) +func NewDefaultRESTMapper(defaultGroupVersions []schema.GroupVersion, f VersionInterfacesFunc) *DefaultRESTMapper { + resourceToKind := make(map[schema.GroupVersionResource]schema.GroupVersionKind) + kindToPluralResource := make(map[schema.GroupVersionKind]schema.GroupVersionResource) + kindToScope := make(map[schema.GroupVersionKind]RESTScope) + singularToPlural := make(map[schema.GroupVersionResource]schema.GroupVersionResource) + pluralToSingular := make(map[schema.GroupVersionResource]schema.GroupVersionResource) aliasToResource := make(map[string][]string) // TODO: verify name mappings work correctly when versions differ @@ -120,7 +120,7 @@ func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, f Ver } } -func (m *DefaultRESTMapper) Add(kind unversioned.GroupVersionKind, scope RESTScope) { +func (m *DefaultRESTMapper) Add(kind schema.GroupVersionKind, scope RESTScope) { plural, singular := KindToResource(kind) m.singularToPlural[singular] = plural @@ -144,10 +144,10 @@ var unpluralizedSuffixes = []string{ // KindToResource converts Kind to a resource name. // Broken. This method only "sort of" works when used outside of this package. It assumes that Kinds and Resources match // and they aren't guaranteed to do so. -func KindToResource(kind unversioned.GroupVersionKind) ( /*plural*/ unversioned.GroupVersionResource /*singular*/, unversioned.GroupVersionResource) { +func KindToResource(kind schema.GroupVersionKind) ( /*plural*/ schema.GroupVersionResource /*singular*/, schema.GroupVersionResource) { kindName := kind.Kind if len(kindName) == 0 { - return unversioned.GroupVersionResource{}, unversioned.GroupVersionResource{} + return schema.GroupVersionResource{}, schema.GroupVersionResource{} } singularName := strings.ToLower(kindName) singular := kind.GroupVersion().WithResource(singularName) @@ -171,13 +171,13 @@ func KindToResource(kind unversioned.GroupVersionKind) ( /*plural*/ unversioned. // ResourceSingularizer implements RESTMapper // It converts a resource name from plural to singular (e.g., from pods to pod) func (m *DefaultRESTMapper) ResourceSingularizer(resourceType string) (string, error) { - partialResource := unversioned.GroupVersionResource{Resource: resourceType} + partialResource := schema.GroupVersionResource{Resource: resourceType} resources, err := m.ResourcesFor(partialResource) if err != nil { return resourceType, err } - singular := unversioned.GroupVersionResource{} + singular := schema.GroupVersionResource{} for _, curr := range resources { currSingular, ok := m.pluralToSingular[curr] if !ok { @@ -201,7 +201,7 @@ func (m *DefaultRESTMapper) ResourceSingularizer(resourceType string) (string, e } // coerceResourceForMatching makes the resource lower case and converts internal versions to unspecified (legacy behavior) -func coerceResourceForMatching(resource unversioned.GroupVersionResource) unversioned.GroupVersionResource { +func coerceResourceForMatching(resource schema.GroupVersionResource) schema.GroupVersionResource { resource.Resource = strings.ToLower(resource.Resource) if resource.Version == runtime.APIVersionInternal { resource.Version = "" @@ -210,7 +210,7 @@ func coerceResourceForMatching(resource unversioned.GroupVersionResource) unvers return resource } -func (m *DefaultRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) ([]unversioned.GroupVersionResource, error) { +func (m *DefaultRESTMapper) ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { resource := coerceResourceForMatching(input) hasResource := len(resource.Resource) > 0 @@ -221,7 +221,7 @@ func (m *DefaultRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) return nil, fmt.Errorf("a resource must be present, got: %v", resource) } - ret := []unversioned.GroupVersionResource{} + ret := []schema.GroupVersionResource{} switch { case hasGroup && hasVersion: // fully qualified. Find the exact match @@ -297,19 +297,19 @@ func (m *DefaultRESTMapper) ResourcesFor(input unversioned.GroupVersionResource) return ret, nil } -func (m *DefaultRESTMapper) ResourceFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionResource, error) { +func (m *DefaultRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { resources, err := m.ResourcesFor(resource) if err != nil { - return unversioned.GroupVersionResource{}, err + return schema.GroupVersionResource{}, err } if len(resources) == 1 { return resources[0], nil } - return unversioned.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} } -func (m *DefaultRESTMapper) KindsFor(input unversioned.GroupVersionResource) ([]unversioned.GroupVersionKind, error) { +func (m *DefaultRESTMapper) KindsFor(input schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { resource := coerceResourceForMatching(input) hasResource := len(resource.Resource) > 0 @@ -320,7 +320,7 @@ func (m *DefaultRESTMapper) KindsFor(input unversioned.GroupVersionResource) ([] return nil, fmt.Errorf("a resource must be present, got: %v", resource) } - ret := []unversioned.GroupVersionKind{} + ret := []schema.GroupVersionKind{} switch { // fully qualified. Find the exact match case hasGroup && hasVersion: @@ -376,21 +376,21 @@ func (m *DefaultRESTMapper) KindsFor(input unversioned.GroupVersionResource) ([] return ret, nil } -func (m *DefaultRESTMapper) KindFor(resource unversioned.GroupVersionResource) (unversioned.GroupVersionKind, error) { +func (m *DefaultRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { kinds, err := m.KindsFor(resource) if err != nil { - return unversioned.GroupVersionKind{}, err + return schema.GroupVersionKind{}, err } if len(kinds) == 1 { return kinds[0], nil } - return unversioned.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} } type kindByPreferredGroupVersion struct { - list []unversioned.GroupVersionKind - sortOrder []unversioned.GroupVersion + list []schema.GroupVersionKind + sortOrder []schema.GroupVersion } func (o kindByPreferredGroupVersion) Len() int { return len(o.list) } @@ -427,8 +427,8 @@ func (o kindByPreferredGroupVersion) Less(i, j int) bool { } type resourceByPreferredGroupVersion struct { - list []unversioned.GroupVersionResource - sortOrder []unversioned.GroupVersion + list []schema.GroupVersionResource + sortOrder []schema.GroupVersion } func (o resourceByPreferredGroupVersion) Len() int { return len(o.list) } @@ -469,9 +469,9 @@ func (o resourceByPreferredGroupVersion) Less(i, j int) bool { // order is not provided, the search order provided to DefaultRESTMapper will be used to resolve which // version should be used to access the named group/kind. // TODO: consider refactoring to use RESTMappings in a way that preserves version ordering and preference -func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*RESTMapping, error) { +func (m *DefaultRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { // Pick an appropriate version - var gvk *unversioned.GroupVersionKind + var gvk *schema.GroupVersionKind hadVersion := false for _, version := range versions { if len(version) == 0 || version == runtime.APIVersionInternal { @@ -506,7 +506,7 @@ func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st // Ensure we have a REST mapping resource, ok := m.kindToPluralResource[*gvk] if !ok { - found := []unversioned.GroupVersion{} + found := []schema.GroupVersion{} for _, gv := range m.defaultGroupVersions { if _, ok := m.kindToPluralResource[*gvk]; ok { found = append(found, gv) @@ -543,7 +543,7 @@ func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st // RESTMappings returns the RESTMappings for the provided group kind in a rough internal preferred order. If no // kind is found it will return a NoResourceMatchError. -func (m *DefaultRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMapping, error) { +func (m *DefaultRESTMapper) RESTMappings(gk schema.GroupKind) ([]*RESTMapping, error) { // Use the default preferred versions var mappings []*RESTMapping for _, gv := range m.defaultGroupVersions { @@ -579,7 +579,7 @@ func (m *DefaultRESTMapper) RESTMappings(gk unversioned.GroupKind) ([]*RESTMappi } if len(mappings) == 0 { - return nil, &NoResourceMatchError{PartialResource: unversioned.GroupVersionResource{Group: gk.Group, Resource: gk.Kind}} + return nil, &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Group: gk.Group, Resource: gk.Kind}} } return mappings, nil } diff --git a/staging/src/k8s.io/client-go/pkg/api/meta/unstructured.go b/staging/src/k8s.io/client-go/pkg/api/meta/unstructured.go index cb5a4e35ac0..b17ba3b5018 100644 --- a/staging/src/k8s.io/client-go/pkg/api/meta/unstructured.go +++ b/staging/src/k8s.io/client-go/pkg/api/meta/unstructured.go @@ -17,13 +17,13 @@ limitations under the License. package meta import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // InterfacesForUnstructured returns VersionInterfaces suitable for // dealing with runtime.Unstructured objects. -func InterfacesForUnstructured(unversioned.GroupVersion) (*VersionInterfaces, error) { +func InterfacesForUnstructured(schema.GroupVersion) (*VersionInterfaces, error) { return &VersionInterfaces{ ObjectConvertor: &runtime.UnstructuredObjectConverter{}, MetadataAccessor: NewAccessor(), diff --git a/staging/src/k8s.io/client-go/pkg/api/ref.go b/staging/src/k8s.io/client-go/pkg/api/ref.go index afa80004a4b..30446fe78db 100644 --- a/staging/src/k8s.io/client-go/pkg/api/ref.go +++ b/staging/src/k8s.io/client-go/pkg/api/ref.go @@ -23,8 +23,8 @@ import ( "strings" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) var ( @@ -122,11 +122,11 @@ func GetPartialReference(obj runtime.Object, fieldPath string) (*ObjectReference // IsAnAPIObject allows clients to preemptively get a reference to an API object and pass it to places that // intend only to get a reference to that object. This simplifies the event recording interface. -func (obj *ObjectReference) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *ObjectReference) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *ObjectReference) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *ObjectReference) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *ObjectReference) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *ObjectReference) GetObjectKind() schema.ObjectKind { return obj } diff --git a/staging/src/k8s.io/client-go/pkg/api/register.go b/staging/src/k8s.io/client-go/pkg/api/register.go index d5533b40c34..08628791287 100644 --- a/staging/src/k8s.io/client-go/pkg/api/register.go +++ b/staging/src/k8s.io/client-go/pkg/api/register.go @@ -19,6 +19,7 @@ package api import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer" ) @@ -36,22 +37,22 @@ var Codecs = serializer.NewCodecFactory(Scheme) const GroupName = "" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Unversioned is group version for unversioned API objects // TODO: this should be v1 probably -var Unversioned = unversioned.GroupVersion{Group: "", Version: "v1"} +var Unversioned = schema.GroupVersion{Group: "", Version: "v1"} // ParameterCodec handles versioning of objects that are converted to query parameters. var ParameterCodec = runtime.NewParameterCodec(Scheme) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/api/testapi/testapi.go b/staging/src/k8s.io/client-go/pkg/api/testapi/testapi.go index b461ae3d936..262ea641e49 100644 --- a/staging/src/k8s.io/client-go/pkg/api/testapi/testapi.go +++ b/staging/src/k8s.io/client-go/pkg/api/testapi/testapi.go @@ -32,7 +32,6 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/apis/apps" "k8s.io/client-go/pkg/apis/authorization" @@ -47,6 +46,7 @@ import ( "k8s.io/client-go/pkg/apis/storage" "k8s.io/client-go/pkg/federation/apis/federation" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/recognizer" _ "k8s.io/client-go/pkg/api/install" @@ -86,8 +86,8 @@ var ( ) type TestGroup struct { - externalGroupVersion unversioned.GroupVersion - internalGroupVersion unversioned.GroupVersion + externalGroupVersion schema.GroupVersion + internalGroupVersion schema.GroupVersion internalTypes map[string]reflect.Type externalTypes map[string]reflect.Type } @@ -123,12 +123,12 @@ func init() { testGroupVersions := strings.Split(kubeTestAPI, ",") for i := len(testGroupVersions) - 1; i >= 0; i-- { gvString := testGroupVersions[i] - groupVersion, err := unversioned.ParseGroupVersion(gvString) + groupVersion, err := schema.ParseGroupVersion(gvString) if err != nil { panic(fmt.Sprintf("Error parsing groupversion %v: %v", gvString, err)) } - internalGroupVersion := unversioned.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal} + internalGroupVersion := schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal} Groups[groupVersion.Group] = TestGroup{ externalGroupVersion: groupVersion, internalGroupVersion: internalGroupVersion, @@ -139,7 +139,7 @@ func init() { } if _, ok := Groups[api.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: api.GroupName, Version: registered.GroupOrDie(api.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: api.GroupName, Version: registered.GroupOrDie(api.GroupName).GroupVersion.Version} Groups[api.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: api.SchemeGroupVersion, @@ -148,7 +148,7 @@ func init() { } } if _, ok := Groups[extensions.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: extensions.GroupName, Version: registered.GroupOrDie(extensions.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: extensions.GroupName, Version: registered.GroupOrDie(extensions.GroupName).GroupVersion.Version} Groups[extensions.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: extensions.SchemeGroupVersion, @@ -164,7 +164,7 @@ func init() { } internalTypes[k] = t } - externalGroupVersion := unversioned.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} Groups[autoscaling.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: extensions.SchemeGroupVersion, @@ -180,7 +180,7 @@ func init() { break } } - externalGroupVersion := unversioned.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version} Groups[autoscaling.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: autoscaling.SchemeGroupVersion, @@ -189,7 +189,7 @@ func init() { } } if _, ok := Groups[batch.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: batch.GroupName, Version: registered.GroupOrDie(batch.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: batch.GroupName, Version: registered.GroupOrDie(batch.GroupName).GroupVersion.Version} Groups[batch.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: batch.SchemeGroupVersion, @@ -198,7 +198,7 @@ func init() { } } if _, ok := Groups[apps.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: apps.GroupName, Version: registered.GroupOrDie(apps.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: apps.GroupName, Version: registered.GroupOrDie(apps.GroupName).GroupVersion.Version} Groups[apps.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: extensions.SchemeGroupVersion, @@ -207,7 +207,7 @@ func init() { } } if _, ok := Groups[policy.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: policy.GroupName, Version: registered.GroupOrDie(policy.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: policy.GroupName, Version: registered.GroupOrDie(policy.GroupName).GroupVersion.Version} Groups[policy.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: policy.SchemeGroupVersion, @@ -216,7 +216,7 @@ func init() { } } if _, ok := Groups[federation.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: federation.GroupName, Version: registered.GroupOrDie(federation.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: federation.GroupName, Version: registered.GroupOrDie(federation.GroupName).GroupVersion.Version} Groups[federation.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: federation.SchemeGroupVersion, @@ -225,7 +225,7 @@ func init() { } } if _, ok := Groups[rbac.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: rbac.GroupName, Version: registered.GroupOrDie(rbac.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: rbac.GroupName, Version: registered.GroupOrDie(rbac.GroupName).GroupVersion.Version} Groups[rbac.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: rbac.SchemeGroupVersion, @@ -234,7 +234,7 @@ func init() { } } if _, ok := Groups[storage.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: storage.GroupName, Version: registered.GroupOrDie(storage.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: storage.GroupName, Version: registered.GroupOrDie(storage.GroupName).GroupVersion.Version} Groups[storage.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: storage.SchemeGroupVersion, @@ -243,7 +243,7 @@ func init() { } } if _, ok := Groups[certificates.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: certificates.GroupName, Version: registered.GroupOrDie(certificates.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: certificates.GroupName, Version: registered.GroupOrDie(certificates.GroupName).GroupVersion.Version} Groups[certificates.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: certificates.SchemeGroupVersion, @@ -252,7 +252,7 @@ func init() { } } if _, ok := Groups[imagepolicy.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: imagepolicy.GroupName, Version: registered.GroupOrDie(imagepolicy.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: imagepolicy.GroupName, Version: registered.GroupOrDie(imagepolicy.GroupName).GroupVersion.Version} Groups[imagepolicy.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: imagepolicy.SchemeGroupVersion, @@ -261,7 +261,7 @@ func init() { } } if _, ok := Groups[authorization.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: authorization.GroupName, Version: registered.GroupOrDie(authorization.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: authorization.GroupName, Version: registered.GroupOrDie(authorization.GroupName).GroupVersion.Version} Groups[authorization.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: authorization.SchemeGroupVersion, @@ -270,7 +270,7 @@ func init() { } } if _, ok := Groups[kubeadm.GroupName]; !ok { - externalGroupVersion := unversioned.GroupVersion{Group: kubeadm.GroupName, Version: registered.GroupOrDie(kubeadm.GroupName).GroupVersion.Version} + externalGroupVersion := schema.GroupVersion{Group: kubeadm.GroupName, Version: registered.GroupOrDie(kubeadm.GroupName).GroupVersion.Version} Groups[kubeadm.GroupName] = TestGroup{ externalGroupVersion: externalGroupVersion, internalGroupVersion: kubeadm.SchemeGroupVersion, @@ -293,18 +293,18 @@ func init() { Authorization = Groups[authorization.GroupName] } -func (g TestGroup) ContentConfig() (string, *unversioned.GroupVersion, runtime.Codec) { +func (g TestGroup) ContentConfig() (string, *schema.GroupVersion, runtime.Codec) { return "application/json", g.GroupVersion(), g.Codec() } -func (g TestGroup) GroupVersion() *unversioned.GroupVersion { +func (g TestGroup) GroupVersion() *schema.GroupVersion { copyOfGroupVersion := g.externalGroupVersion return ©OfGroupVersion } // InternalGroupVersion returns the group,version used to identify the internal // types for this API -func (g TestGroup) InternalGroupVersion() unversioned.GroupVersion { +func (g TestGroup) InternalGroupVersion() schema.GroupVersion { return g.internalGroupVersion } @@ -324,7 +324,7 @@ func (g TestGroup) Codec() runtime.Codec { if serializer.Serializer == nil { return api.Codecs.LegacyCodec(g.externalGroupVersion) } - return api.Codecs.CodecForVersions(serializer.Serializer, api.Codecs.UniversalDeserializer(), unversioned.GroupVersions{g.externalGroupVersion}, nil) + return api.Codecs.CodecForVersions(serializer.Serializer, api.Codecs.UniversalDeserializer(), schema.GroupVersions{g.externalGroupVersion}, nil) } // NegotiatedSerializer returns the negotiated serializer for the server. @@ -352,7 +352,7 @@ func (g TestGroup) StorageCodec() runtime.Codec { } ds := recognizer.NewDecoder(s, api.Codecs.UniversalDeserializer()) - return api.Codecs.CodecForVersions(s, ds, unversioned.GroupVersions{g.externalGroupVersion}, nil) + return api.Codecs.CodecForVersions(s, ds, schema.GroupVersions{g.externalGroupVersion}, nil) } // Converter returns the api.Scheme for the API version to test against, as set by the @@ -436,8 +436,8 @@ func (g TestGroup) RESTMapper() meta.RESTMapper { } // ExternalGroupVersions returns all external group versions allowed for the server. -func ExternalGroupVersions() unversioned.GroupVersions { - versions := []unversioned.GroupVersion{} +func ExternalGroupVersions() schema.GroupVersions { + versions := []schema.GroupVersion{} for _, g := range Groups { gv := g.GroupVersion() versions = append(versions, *gv) @@ -473,6 +473,6 @@ func GetCodecForObject(obj runtime.Object) (runtime.Codec, error) { return nil, fmt.Errorf("unexpected kind: %v", kind) } -func NewTestGroup(external, internal unversioned.GroupVersion, internalTypes map[string]reflect.Type, externalTypes map[string]reflect.Type) TestGroup { +func NewTestGroup(external, internal schema.GroupVersion, internalTypes map[string]reflect.Type, externalTypes map[string]reflect.Type) TestGroup { return TestGroup{external, internal, internalTypes, externalTypes} } diff --git a/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.pb.go b/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.pb.go index a50052dacef..253fd661922 100644 --- a/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.pb.go @@ -4446,92 +4446,93 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1390 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xda, 0xb1, 0xbb, 0x7e, 0x8e, 0x49, 0xba, 0xa4, 0x62, 0x1b, 0x09, 0xdb, 0x6c, 0x05, - 0x4a, 0xa5, 0xd6, 0x56, 0x23, 0x40, 0x55, 0x11, 0x7f, 0xe2, 0x24, 0xad, 0xa2, 0x36, 0x6d, 0x34, - 0xa9, 0x8a, 0xd4, 0x16, 0x89, 0x8d, 0x77, 0xe2, 0xac, 0x6c, 0xef, 0x2e, 0x33, 0xb3, 0x51, 0x2d, - 0x90, 0xe8, 0xa5, 0x12, 0x07, 0x84, 0x7a, 0xe4, 0x02, 0x6a, 0xa5, 0x7e, 0x03, 0xbe, 0x44, 0xc5, - 0xa9, 0x17, 0x24, 0x0e, 0xc8, 0xa2, 0xe1, 0xc2, 0x95, 0x6b, 0x4e, 0x68, 0x66, 0x67, 0xd6, 0xbb, - 0x6e, 0x4d, 0x36, 0xd0, 0x03, 0x27, 0xef, 0xfb, 0xff, 0xe6, 0xbd, 0xdf, 0xbc, 0x37, 0x86, 0xf7, - 0x7a, 0x17, 0x69, 0xd3, 0xf5, 0x5b, 0xbd, 0x70, 0x07, 0x13, 0x0f, 0x33, 0x4c, 0x5b, 0x41, 0xaf, - 0xdb, 0xb2, 0x03, 0xb7, 0x15, 0x7a, 0xfb, 0x98, 0x50, 0xd7, 0xf7, 0xb0, 0xd3, 0xea, 0x62, 0x0f, - 0x13, 0x9b, 0x61, 0xa7, 0x19, 0x10, 0x9f, 0xf9, 0xc6, 0xdb, 0x91, 0x59, 0x73, 0x6c, 0xd6, 0x0c, - 0x7a, 0xdd, 0xa6, 0x1d, 0xb8, 0xcd, 0x84, 0xd9, 0xe2, 0xf9, 0xae, 0xcb, 0xf6, 0xc2, 0x9d, 0x66, - 0xc7, 0x1f, 0xb4, 0xba, 0x7e, 0xd7, 0x6f, 0x09, 0xeb, 0x9d, 0x70, 0x57, 0x50, 0x82, 0x10, 0x5f, - 0x91, 0xd7, 0xc5, 0xf3, 0x2f, 0x4f, 0x86, 0x84, 0x1e, 0x73, 0x07, 0x78, 0x32, 0x89, 0xc5, 0x0b, - 0x2f, 0x57, 0x0f, 0x99, 0xdb, 0x6f, 0xb9, 0x1e, 0xa3, 0x8c, 0x4c, 0x9a, 0x58, 0x3f, 0x17, 0x40, - 0x5f, 0xd9, 0xda, 0xb8, 0x42, 0xfc, 0x30, 0x30, 0x1a, 0x30, 0xe3, 0xd9, 0x03, 0x6c, 0x6a, 0x0d, - 0x6d, 0xa9, 0xdc, 0x9e, 0x7d, 0x3a, 0xaa, 0xe7, 0x0e, 0x46, 0xf5, 0x99, 0xeb, 0xf6, 0x00, 0x23, - 0x21, 0x31, 0x06, 0xa0, 0xcb, 0xc3, 0x50, 0x33, 0xdf, 0x28, 0x2c, 0x55, 0x96, 0x3f, 0x6e, 0x66, - 0x3a, 0x79, 0x53, 0x44, 0xb8, 0x15, 0x91, 0x97, 0x7d, 0xb2, 0xe6, 0xd2, 0x8e, 0xbf, 0x8f, 0xc9, - 0xb0, 0x3d, 0x2f, 0xc3, 0xe8, 0x52, 0x48, 0x51, 0x1c, 0xc2, 0x78, 0xa0, 0xc1, 0x7c, 0x40, 0xf0, - 0x2e, 0x26, 0x04, 0x3b, 0x52, 0x6e, 0x16, 0x1a, 0xda, 0xab, 0x88, 0x6b, 0xca, 0xb8, 0xf3, 0x5b, - 0x13, 0x01, 0xd0, 0x0b, 0x21, 0x8d, 0x27, 0x1a, 0x2c, 0x52, 0x4c, 0xf6, 0x31, 0x59, 0x71, 0x1c, - 0x82, 0x29, 0x6d, 0x0f, 0x57, 0xfb, 0x2e, 0xf6, 0xd8, 0xea, 0xc6, 0x1a, 0xa2, 0xe6, 0x8c, 0xa8, - 0xc4, 0x27, 0x19, 0x33, 0xda, 0x9e, 0xe6, 0xa8, 0x6d, 0xc9, 0x94, 0x16, 0xa7, 0xaa, 0x50, 0xf4, - 0x0f, 0x79, 0x58, 0x5d, 0x98, 0x55, 0xbd, 0xbc, 0xe6, 0x52, 0x66, 0x7c, 0x0a, 0xa5, 0x2e, 0x27, - 0xa8, 0xa9, 0x89, 0x0c, 0x5b, 0x19, 0x33, 0x54, 0x4e, 0xda, 0xaf, 0xc9, 0x84, 0x4a, 0x82, 0xa4, - 0x48, 0xba, 0xb3, 0x1e, 0x68, 0x50, 0x59, 0xd9, 0xda, 0x40, 0x98, 0xfa, 0x21, 0xe9, 0xe0, 0x0c, - 0xc0, 0x59, 0x06, 0xe0, 0xbf, 0x34, 0xb0, 0x3b, 0xd8, 0x31, 0xf3, 0x0d, 0x6d, 0x49, 0x6f, 0x1b, - 0x52, 0x0f, 0xae, 0xc7, 0x12, 0x94, 0xd0, 0xe2, 0x5e, 0x7b, 0xae, 0xe7, 0x88, 0x86, 0x27, 0xbc, - 0x5e, 0x75, 0x3d, 0x07, 0x09, 0x89, 0xf5, 0x93, 0x06, 0x73, 0x89, 0x3c, 0xc4, 0xa1, 0x2f, 0xc2, - 0x6c, 0x37, 0xd1, 0x73, 0x99, 0xd3, 0x82, 0xb4, 0x9e, 0x4d, 0xe2, 0x01, 0xa5, 0x34, 0x8d, 0x5d, - 0x28, 0x13, 0xe9, 0x49, 0xa1, 0x7b, 0x39, 0x7b, 0xc5, 0x54, 0x12, 0xe3, 0x50, 0x09, 0x26, 0x45, - 0x63, 0xd7, 0xd6, 0x9f, 0x51, 0xf5, 0x14, 0xde, 0x8d, 0xa5, 0xc4, 0xa5, 0xe2, 0x8d, 0x2a, 0xb7, - 0x67, 0xa7, 0xdc, 0x87, 0x23, 0x70, 0x98, 0xff, 0x7f, 0xe0, 0xf0, 0x92, 0xfe, 0xfd, 0xa3, 0x7a, - 0xee, 0xfe, 0x6f, 0x8d, 0x9c, 0xb5, 0x01, 0xfa, 0x5a, 0x48, 0x6c, 0xc6, 0xcb, 0xfb, 0x21, 0xe8, - 0x8e, 0xfc, 0x16, 0x4d, 0x29, 0xb4, 0xdf, 0x52, 0x57, 0x5f, 0xe9, 0x1c, 0x8e, 0xea, 0x55, 0x3e, - 0xd9, 0x9a, 0x8a, 0x81, 0x62, 0x13, 0xeb, 0x2e, 0x54, 0xd7, 0xef, 0x05, 0x3e, 0x61, 0x37, 0x02, - 0x26, 0x8a, 0xf1, 0x0e, 0x94, 0xb0, 0x60, 0x08, 0x6f, 0xfa, 0x18, 0xac, 0x91, 0x1a, 0x92, 0x52, - 0xe3, 0x0c, 0x14, 0xf1, 0x3d, 0xbb, 0xc3, 0x24, 0xea, 0xaa, 0x52, 0xad, 0xb8, 0xce, 0x99, 0x28, - 0x92, 0x59, 0x77, 0xa1, 0x2c, 0x90, 0xc1, 0xc1, 0xc5, 0x2d, 0x04, 0x30, 0x24, 0x76, 0x62, 0x0b, - 0xa1, 0x81, 0x22, 0x59, 0x8c, 0xce, 0xfc, 0x34, 0x74, 0x26, 0xca, 0xd0, 0x87, 0x6a, 0x64, 0xab, - 0x2e, 0x4c, 0xa6, 0x08, 0xe7, 0x40, 0x57, 0xa0, 0x91, 0x51, 0xe2, 0x59, 0xa9, 0x1c, 0xa1, 0x58, - 0x23, 0x11, 0x6d, 0x0f, 0x52, 0x28, 0xcf, 0x16, 0xec, 0x2c, 0x9c, 0x90, 0xd0, 0x90, 0xb1, 0xe6, - 0xa4, 0xda, 0x09, 0x75, 0x59, 0x94, 0x3c, 0x11, 0xe9, 0x6b, 0x30, 0xa7, 0xcd, 0xd7, 0xff, 0x70, - 0x0f, 0xb3, 0xa7, 0x62, 0x7d, 0xa7, 0xc1, 0x7c, 0xd2, 0x53, 0xf6, 0xf6, 0x65, 0x0f, 0x72, 0xf4, - 0x1c, 0x4a, 0x54, 0xe4, 0x47, 0x0d, 0x16, 0x52, 0x47, 0x3b, 0x56, 0xc7, 0x8f, 0x91, 0x54, 0x12, - 0x1c, 0x85, 0x63, 0x80, 0xe3, 0x97, 0x3c, 0x54, 0xaf, 0xd9, 0x3b, 0xb8, 0xbf, 0x8d, 0xfb, 0xb8, - 0xc3, 0x7c, 0x62, 0x7c, 0x05, 0x95, 0x81, 0xcd, 0x3a, 0x7b, 0x82, 0xab, 0x56, 0xc5, 0x7a, 0xc6, - 0x21, 0x92, 0x72, 0xd5, 0xdc, 0x1c, 0xfb, 0x59, 0xf7, 0x18, 0x19, 0xb6, 0x5f, 0x97, 0x39, 0x55, - 0x12, 0x12, 0x94, 0x0c, 0x27, 0x56, 0xbc, 0xa0, 0xd7, 0xef, 0x05, 0x7c, 0x92, 0xfc, 0x8b, 0xa7, - 0x45, 0x2a, 0x07, 0x84, 0xbf, 0x08, 0x5d, 0x82, 0x07, 0xd8, 0x63, 0xe3, 0x15, 0xbf, 0x39, 0x11, - 0x00, 0xbd, 0x10, 0x72, 0xf1, 0x23, 0x98, 0x9f, 0xcc, 0xde, 0x98, 0x87, 0x42, 0x0f, 0x0f, 0xa3, - 0x8e, 0x21, 0xfe, 0x69, 0x2c, 0x40, 0x71, 0xdf, 0xee, 0x87, 0xf2, 0x3e, 0xa2, 0x88, 0xb8, 0x94, - 0xbf, 0xa8, 0x59, 0x4f, 0x34, 0x30, 0xa7, 0x25, 0x62, 0xbc, 0x99, 0x70, 0xd4, 0xae, 0xc8, 0xac, - 0x0a, 0x57, 0xf1, 0x30, 0xf2, 0xba, 0x0e, 0xba, 0x1f, 0xf0, 0x67, 0x99, 0x4f, 0x64, 0xdf, 0xcf, - 0xaa, 0x5e, 0xde, 0x90, 0xfc, 0xc3, 0x51, 0xfd, 0x54, 0xca, 0xbd, 0x12, 0xa0, 0xd8, 0xd4, 0xb0, - 0xa0, 0x24, 0xf2, 0xa1, 0x66, 0x41, 0x6c, 0x11, 0xe0, 0xc3, 0xf0, 0x96, 0xe0, 0x20, 0x29, 0xb1, - 0xbe, 0x04, 0x9d, 0x6f, 0xc9, 0x4d, 0xcc, 0x6c, 0x0e, 0x21, 0x8a, 0xfb, 0xbb, 0xd7, 0x5c, 0xaf, - 0x27, 0x53, 0x8b, 0x21, 0xb4, 0x2d, 0xf9, 0x28, 0xd6, 0x30, 0x56, 0x60, 0x4e, 0xc1, 0xe9, 0x56, - 0x0a, 0xa3, 0x6f, 0x48, 0xa3, 0x39, 0x94, 0x16, 0xa3, 0x49, 0x7d, 0xeb, 0x1c, 0x94, 0x91, 0xef, - 0xb3, 0x2d, 0x9b, 0xed, 0x51, 0xa3, 0x0e, 0xc5, 0x80, 0x7f, 0xc8, 0x95, 0x57, 0xe6, 0x97, 0x41, - 0x48, 0x50, 0xc4, 0xb7, 0xbe, 0xd5, 0xe0, 0xf4, 0xd4, 0x05, 0xc4, 0x1f, 0x14, 0x9d, 0x98, 0x92, - 0xe9, 0xc7, 0x0f, 0x8a, 0xb1, 0x1e, 0x4a, 0x68, 0x19, 0x1f, 0x40, 0x35, 0xb5, 0xb5, 0xe4, 0x01, - 0x4e, 0x49, 0xb3, 0x6a, 0x2a, 0x1a, 0x4a, 0xeb, 0x5a, 0x7f, 0xe5, 0xa1, 0xb4, 0xcd, 0x6c, 0x16, - 0x52, 0xe3, 0x33, 0xd0, 0x07, 0x98, 0xd9, 0x8e, 0xcd, 0x6c, 0x11, 0x39, 0xfb, 0xcb, 0x4a, 0xd5, - 0x7e, 0x5c, 0x69, 0xc5, 0x41, 0xb1, 0x4b, 0xbe, 0xd8, 0xa8, 0x08, 0x24, 0xf3, 0x8b, 0x17, 0x5b, - 0x14, 0x1e, 0x49, 0x29, 0x9f, 0x16, 0x03, 0x4c, 0xa9, 0xdd, 0x55, 0x13, 0x20, 0x9e, 0x16, 0x9b, - 0x11, 0x1b, 0x29, 0xb9, 0xf1, 0x3e, 0x94, 0x08, 0xb6, 0xa9, 0xef, 0x99, 0x33, 0x42, 0xb3, 0xa6, - 0x5c, 0x22, 0xc1, 0x3d, 0x1c, 0xd5, 0x67, 0xa5, 0x73, 0x41, 0x23, 0xa9, 0x6d, 0xdc, 0x81, 0x13, - 0x0e, 0x66, 0xb6, 0xdb, 0xa7, 0x66, 0x51, 0x1c, 0xf4, 0xdd, 0xac, 0x8f, 0x0b, 0xe1, 0x6d, 0x2d, - 0xb2, 0x6d, 0x57, 0x78, 0x52, 0x92, 0x40, 0xca, 0x23, 0x9f, 0xab, 0x1d, 0xdf, 0xc1, 0x66, 0xa9, - 0xa1, 0x2d, 0x15, 0xc7, 0x73, 0x75, 0xd5, 0x77, 0x30, 0x12, 0x12, 0xeb, 0xa1, 0x06, 0x95, 0xc8, - 0xd3, 0xaa, 0x1d, 0x52, 0x6c, 0x5c, 0x88, 0x8f, 0x11, 0x35, 0xfc, 0xb4, 0xb2, 0xb9, 0x39, 0x0c, - 0xf0, 0xe1, 0xa8, 0x5e, 0x16, 0x6a, 0x9c, 0x88, 0x4f, 0x90, 0x28, 0x52, 0xfe, 0x88, 0x22, 0x9d, - 0x81, 0xe2, 0xae, 0x8b, 0xfb, 0x6a, 0xd0, 0xc7, 0x23, 0xfa, 0x32, 0x67, 0xa2, 0x48, 0x66, 0xfd, - 0x90, 0x87, 0x6a, 0xea, 0x70, 0x19, 0x1e, 0xbf, 0xf1, 0xec, 0xcf, 0x67, 0x78, 0x4f, 0x4c, 0xdd, - 0x32, 0xc6, 0x6d, 0x28, 0x75, 0xf8, 0xf9, 0xd4, 0x1f, 0x8e, 0xe5, 0x63, 0xf5, 0x42, 0x94, 0x66, - 0x8c, 0x25, 0x41, 0x52, 0x24, 0x3d, 0x1a, 0x57, 0xe0, 0x24, 0xc1, 0x8c, 0x0c, 0x57, 0x76, 0x19, - 0x26, 0xdb, 0xb8, 0xe3, 0x7b, 0x4e, 0xd4, 0xf2, 0x62, 0x5c, 0xe4, 0x93, 0x68, 0x52, 0x01, 0xbd, - 0x68, 0x63, 0xf5, 0x61, 0xe6, 0xa6, 0x3b, 0xc0, 0xbc, 0xee, 0x54, 0xba, 0x89, 0x1e, 0x7b, 0x71, - 0xdd, 0x95, 0xb1, 0x92, 0xf3, 0xf2, 0x78, 0xb6, 0xe7, 0x47, 0x70, 0x2f, 0x8e, 0xcb, 0x73, 0x9d, - 0x33, 0x51, 0x24, 0xbb, 0xb4, 0xc0, 0x37, 0xd8, 0x37, 0x8f, 0xeb, 0xb9, 0x87, 0x8f, 0xeb, 0xb9, - 0x47, 0x8f, 0xe5, 0x36, 0xbb, 0x03, 0x65, 0x1e, 0x8d, 0x32, 0x7b, 0x10, 0xbc, 0xea, 0x90, 0xd6, - 0xe7, 0xa0, 0x73, 0x28, 0x89, 0x59, 0xa9, 0xba, 0xa3, 0x4d, 0xed, 0xce, 0x32, 0x80, 0x1d, 0xb8, - 0xe9, 0xd1, 0x18, 0x0f, 0xa4, 0xf1, 0x73, 0x1f, 0x25, 0xb4, 0xda, 0xe7, 0x9f, 0x3e, 0xaf, 0xe5, - 0x9e, 0x3d, 0xaf, 0xe5, 0x7e, 0x7d, 0x5e, 0xcb, 0xdd, 0x3f, 0xa8, 0x69, 0x4f, 0x0f, 0x6a, 0xda, - 0xb3, 0x83, 0x9a, 0xf6, 0xfb, 0x41, 0x4d, 0x7b, 0xf8, 0x47, 0x2d, 0x77, 0xbb, 0x92, 0x68, 0xe4, - 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x22, 0x00, 0xde, 0x9c, 0x10, 0x00, 0x00, + // 1400 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6b, 0x1b, 0x47, + 0x14, 0xd7, 0x4a, 0x96, 0xb2, 0x7a, 0xb2, 0x6a, 0x67, 0xeb, 0xd0, 0x8d, 0xa1, 0x92, 0xba, 0xa1, + 0xc5, 0x81, 0x44, 0x22, 0x26, 0x2d, 0x21, 0xa5, 0x7f, 0x2c, 0xdb, 0x09, 0x26, 0x71, 0x62, 0xc6, + 0x21, 0x85, 0x24, 0x85, 0xae, 0xb5, 0x63, 0x79, 0x91, 0xb4, 0xbb, 0x9d, 0x99, 0x35, 0x11, 0x2d, + 0x34, 0x97, 0x40, 0x0f, 0xa5, 0xe4, 0xd8, 0x4b, 0x4b, 0x02, 0xf9, 0x06, 0xfd, 0x12, 0xa1, 0xa7, + 0x5c, 0x0a, 0x3d, 0x14, 0xd3, 0xb8, 0x97, 0x5e, 0x7b, 0xf5, 0xa9, 0xcc, 0xec, 0xcc, 0x6a, 0x57, + 0x8e, 0xe2, 0x75, 0x9b, 0x43, 0x4f, 0xda, 0xf7, 0xff, 0xcd, 0x7b, 0xbf, 0x79, 0x6f, 0x04, 0xef, + 0xf7, 0x2e, 0xd1, 0xa6, 0xeb, 0xb7, 0x7a, 0xe1, 0x16, 0x26, 0x1e, 0x66, 0x98, 0xb6, 0x82, 0x5e, + 0xb7, 0x65, 0x07, 0x6e, 0x2b, 0xf4, 0x76, 0x31, 0xa1, 0xae, 0xef, 0x61, 0xa7, 0xd5, 0xc5, 0x1e, + 0x26, 0x36, 0xc3, 0x4e, 0x33, 0x20, 0x3e, 0xf3, 0x8d, 0x77, 0x23, 0xb3, 0xe6, 0xc8, 0xac, 0x19, + 0xf4, 0xba, 0x4d, 0x3b, 0x70, 0x9b, 0x09, 0xb3, 0xf9, 0xf3, 0x5d, 0x97, 0xed, 0x84, 0x5b, 0xcd, + 0x8e, 0x3f, 0x68, 0x75, 0xfd, 0xae, 0xdf, 0x12, 0xd6, 0x5b, 0xe1, 0xb6, 0xa0, 0x04, 0x21, 0xbe, + 0x22, 0xaf, 0xf3, 0xe7, 0x5f, 0x9e, 0x0c, 0x09, 0x3d, 0xe6, 0x0e, 0xf0, 0x78, 0x12, 0xf3, 0x17, + 0x5f, 0xad, 0x4e, 0x3b, 0x3b, 0x78, 0x60, 0x1f, 0xb2, 0xba, 0xf0, 0x72, 0xab, 0x90, 0xb9, 0xfd, + 0x96, 0xeb, 0x31, 0xca, 0xc8, 0xb8, 0x89, 0xf5, 0x4b, 0x01, 0xf4, 0xa5, 0x8d, 0xb5, 0xab, 0xc4, + 0x0f, 0x03, 0xa3, 0x01, 0x53, 0x9e, 0x3d, 0xc0, 0xa6, 0xd6, 0xd0, 0x16, 0xca, 0xed, 0xe9, 0x67, + 0x7b, 0xf5, 0xdc, 0xfe, 0x5e, 0x7d, 0xea, 0x86, 0x3d, 0xc0, 0x48, 0x48, 0x8c, 0x01, 0xe8, 0xb2, + 0x04, 0xd4, 0xcc, 0x37, 0x0a, 0x0b, 0x95, 0xc5, 0x4f, 0x9a, 0x99, 0xea, 0xd5, 0x14, 0x11, 0x6e, + 0x47, 0xe4, 0x15, 0x9f, 0xac, 0xb8, 0xb4, 0xe3, 0xef, 0x62, 0x32, 0x6c, 0xcf, 0xca, 0x30, 0xba, + 0x14, 0x52, 0x14, 0x87, 0x30, 0x1e, 0x6a, 0x30, 0x1b, 0x10, 0xbc, 0x8d, 0x09, 0xc1, 0x8e, 0x94, + 0x9b, 0x85, 0x86, 0xf6, 0x3a, 0xe2, 0x9a, 0x32, 0xee, 0xec, 0xc6, 0x58, 0x00, 0x74, 0x28, 0xa4, + 0xf1, 0x54, 0x83, 0x79, 0x8a, 0xc9, 0x2e, 0x26, 0x4b, 0x8e, 0x43, 0x30, 0xa5, 0xed, 0xe1, 0x72, + 0xdf, 0xc5, 0x1e, 0x5b, 0x5e, 0x5b, 0x41, 0xd4, 0x9c, 0x12, 0x95, 0xf8, 0x34, 0x63, 0x46, 0x9b, + 0x93, 0x1c, 0xb5, 0x2d, 0x99, 0xd2, 0xfc, 0x44, 0x15, 0x8a, 0x5e, 0x91, 0x87, 0xd5, 0x85, 0x69, + 0xd5, 0xcb, 0xeb, 0x2e, 0x65, 0xc6, 0x67, 0x50, 0xea, 0x72, 0x82, 0x9a, 0x9a, 0xc8, 0xb0, 0x95, + 0x31, 0x43, 0xe5, 0xa4, 0xfd, 0x86, 0x4c, 0xa8, 0x24, 0x48, 0x8a, 0xa4, 0x3b, 0xeb, 0xa1, 0x06, + 0x95, 0xa5, 0x8d, 0x35, 0x84, 0xa9, 0x1f, 0x92, 0x0e, 0xce, 0x00, 0x9c, 0x45, 0x00, 0xfe, 0x4b, + 0x03, 0xbb, 0x83, 0x1d, 0x33, 0xdf, 0xd0, 0x16, 0xf4, 0xb6, 0x21, 0xf5, 0xe0, 0x46, 0x2c, 0x41, + 0x09, 0x2d, 0xee, 0xb5, 0xe7, 0x7a, 0x8e, 0x68, 0x78, 0xc2, 0xeb, 0x35, 0xd7, 0x73, 0x90, 0x90, + 0x58, 0x3f, 0x6b, 0x30, 0x93, 0xc8, 0x43, 0x1c, 0xfa, 0x12, 0x4c, 0x77, 0x13, 0x3d, 0x97, 0x39, + 0xcd, 0x49, 0xeb, 0xe9, 0x24, 0x1e, 0x50, 0x4a, 0xd3, 0xd8, 0x86, 0x32, 0x91, 0x9e, 0x14, 0xba, + 0x17, 0xb3, 0x57, 0x4c, 0x25, 0x31, 0x0a, 0x95, 0x60, 0x52, 0x34, 0x72, 0x6d, 0xfd, 0x15, 0x55, + 0x4f, 0xe1, 0xdd, 0x58, 0x48, 0x5c, 0x2a, 0xde, 0xa8, 0x72, 0x7b, 0x7a, 0xc2, 0x7d, 0x38, 0x02, + 0x87, 0xf9, 0xff, 0x07, 0x0e, 0x2f, 0xeb, 0x3f, 0x3c, 0xae, 0xe7, 0x1e, 0xfc, 0xde, 0xc8, 0x59, + 0x6b, 0xa0, 0xaf, 0x84, 0xc4, 0x66, 0xbc, 0xbc, 0x1f, 0x81, 0xee, 0xc8, 0x6f, 0xd1, 0x94, 0x42, + 0xfb, 0x1d, 0x75, 0xf5, 0x95, 0xce, 0xc1, 0x5e, 0xbd, 0xca, 0x07, 0x5c, 0x53, 0x31, 0x50, 0x6c, + 0x62, 0xdd, 0x83, 0xea, 0xea, 0xfd, 0xc0, 0x27, 0xec, 0x66, 0xc0, 0x44, 0x31, 0xde, 0x83, 0x12, + 0x16, 0x0c, 0xe1, 0x4d, 0x1f, 0x81, 0x35, 0x52, 0x43, 0x52, 0x6a, 0x9c, 0x81, 0x22, 0xbe, 0x6f, + 0x77, 0x98, 0x44, 0x5d, 0x55, 0xaa, 0x15, 0x57, 0x39, 0x13, 0x45, 0x32, 0xeb, 0x1e, 0x94, 0x05, + 0x32, 0x38, 0xb8, 0xb8, 0x85, 0x00, 0x86, 0xc4, 0x4e, 0x6c, 0x21, 0x34, 0x50, 0x24, 0x8b, 0xd1, + 0x99, 0x9f, 0x84, 0xce, 0x44, 0x19, 0xfa, 0x50, 0x8d, 0x6c, 0xd5, 0x85, 0xc9, 0x14, 0xe1, 0x1c, + 0xe8, 0x0a, 0x34, 0x32, 0x4a, 0x3c, 0x2b, 0x95, 0x23, 0x14, 0x6b, 0x24, 0xa2, 0xed, 0x40, 0x0a, + 0xe5, 0xd9, 0x82, 0x9d, 0x85, 0x13, 0x12, 0x1a, 0x32, 0xd6, 0x8c, 0x54, 0x3b, 0xa1, 0x2e, 0x8b, + 0x92, 0x27, 0x22, 0x7d, 0x03, 0xe6, 0xa4, 0xf9, 0xfa, 0x1f, 0xee, 0x61, 0xf6, 0x54, 0xac, 0xef, + 0x35, 0x98, 0x4d, 0x7a, 0xca, 0xde, 0xbe, 0xec, 0x41, 0x8e, 0x9e, 0x43, 0x89, 0x8a, 0xfc, 0xa4, + 0xc1, 0x5c, 0xea, 0x68, 0xc7, 0xea, 0xf8, 0x31, 0x92, 0x4a, 0x82, 0xa3, 0x70, 0x0c, 0x70, 0xfc, + 0x9a, 0x87, 0xea, 0x75, 0x7b, 0x0b, 0xf7, 0x37, 0x71, 0x1f, 0x77, 0x98, 0x4f, 0x8c, 0xaf, 0xa1, + 0x32, 0xb0, 0x59, 0x67, 0x47, 0x70, 0xd5, 0xaa, 0x58, 0xcd, 0x38, 0x44, 0x52, 0xae, 0x9a, 0xeb, + 0x23, 0x3f, 0xab, 0x1e, 0x23, 0xc3, 0xf6, 0x9b, 0x32, 0xa7, 0x4a, 0x42, 0x82, 0x92, 0xe1, 0xc4, + 0x8a, 0x17, 0xf4, 0xea, 0xfd, 0x80, 0x4f, 0x92, 0x7f, 0xf1, 0xb4, 0x48, 0xe5, 0x80, 0xf0, 0x97, + 0xa1, 0x4b, 0xf0, 0x00, 0x7b, 0x6c, 0xb4, 0xe2, 0xd7, 0xc7, 0x02, 0xa0, 0x43, 0x21, 0xe7, 0x3f, + 0x86, 0xd9, 0xf1, 0xec, 0x8d, 0x59, 0x28, 0xf4, 0xf0, 0x30, 0xea, 0x18, 0xe2, 0x9f, 0xc6, 0x1c, + 0x14, 0x77, 0xed, 0x7e, 0x28, 0xef, 0x23, 0x8a, 0x88, 0xcb, 0xf9, 0x4b, 0x9a, 0xf5, 0x54, 0x03, + 0x73, 0x52, 0x22, 0xc6, 0xdb, 0x09, 0x47, 0xed, 0x8a, 0xcc, 0xaa, 0x70, 0x0d, 0x0f, 0x23, 0xaf, + 0xab, 0xa0, 0xfb, 0x01, 0x7f, 0x96, 0xf9, 0x44, 0xf6, 0xfd, 0xac, 0xea, 0xe5, 0x4d, 0xc9, 0x3f, + 0xd8, 0xab, 0x9f, 0x4a, 0xb9, 0x57, 0x02, 0x14, 0x9b, 0x1a, 0x16, 0x94, 0x44, 0x3e, 0xd4, 0x2c, + 0x88, 0x2d, 0x02, 0x7c, 0x18, 0xde, 0x16, 0x1c, 0x24, 0x25, 0xd6, 0x57, 0xa0, 0xf3, 0x2d, 0xb9, + 0x8e, 0x99, 0xcd, 0x21, 0x44, 0x71, 0x7f, 0xfb, 0xba, 0xeb, 0xf5, 0x64, 0x6a, 0x31, 0x84, 0x36, + 0x25, 0x1f, 0xc5, 0x1a, 0xc6, 0x12, 0xcc, 0x28, 0x38, 0xdd, 0x4e, 0x61, 0xf4, 0x2d, 0x69, 0x34, + 0x83, 0xd2, 0x62, 0x34, 0xae, 0x6f, 0x9d, 0x83, 0x32, 0xf2, 0x7d, 0xb6, 0x61, 0xb3, 0x1d, 0x6a, + 0xd4, 0xa1, 0x18, 0xf0, 0x0f, 0xb9, 0xf2, 0xca, 0xfc, 0x32, 0x08, 0x09, 0x8a, 0xf8, 0xd6, 0x77, + 0x1a, 0x9c, 0x9e, 0xb8, 0x80, 0xf8, 0x83, 0xa2, 0x13, 0x53, 0x32, 0xfd, 0xf8, 0x41, 0x31, 0xd2, + 0x43, 0x09, 0x2d, 0xe3, 0x43, 0xa8, 0xa6, 0xb6, 0x96, 0x3c, 0xc0, 0x29, 0x69, 0x56, 0x4d, 0x45, + 0x43, 0x69, 0x5d, 0xeb, 0xef, 0x3c, 0x94, 0x36, 0x99, 0xcd, 0x42, 0x6a, 0x7c, 0x0e, 0xfa, 0x00, + 0x33, 0xdb, 0xb1, 0x99, 0x2d, 0x22, 0x67, 0x7f, 0x59, 0xa9, 0xda, 0x8f, 0x2a, 0xad, 0x38, 0x28, + 0x76, 0xc9, 0x17, 0x1b, 0x15, 0x81, 0x64, 0x7e, 0xf1, 0x62, 0x8b, 0xc2, 0x23, 0x29, 0xe5, 0xd3, + 0x62, 0x80, 0x29, 0xb5, 0xbb, 0x6a, 0x02, 0xc4, 0xd3, 0x62, 0x3d, 0x62, 0x23, 0x25, 0x37, 0x3e, + 0x80, 0x12, 0xc1, 0x36, 0xf5, 0x3d, 0x73, 0x4a, 0x68, 0xd6, 0x94, 0x4b, 0x24, 0xb8, 0x07, 0x7b, + 0xf5, 0x69, 0xe9, 0x5c, 0xd0, 0x48, 0x6a, 0x1b, 0x77, 0xe1, 0x84, 0x83, 0x99, 0xed, 0xf6, 0xa9, + 0x59, 0x14, 0x07, 0xbd, 0x98, 0xf5, 0x71, 0x21, 0xbc, 0xad, 0x44, 0xb6, 0xed, 0x0a, 0x4f, 0x4a, + 0x12, 0x48, 0x79, 0xe4, 0x73, 0xb5, 0xe3, 0x3b, 0xd8, 0x2c, 0x35, 0xb4, 0x85, 0xe2, 0x68, 0xae, + 0x2e, 0xfb, 0x0e, 0x46, 0x42, 0x62, 0x3d, 0xd2, 0xa0, 0x12, 0x79, 0x5a, 0xb6, 0x43, 0x8a, 0x8d, + 0x0b, 0xf1, 0x31, 0xa2, 0x86, 0x9f, 0x56, 0x36, 0xb7, 0x86, 0x01, 0x3e, 0xd8, 0xab, 0x97, 0x85, + 0x1a, 0x27, 0xe2, 0x13, 0x24, 0x8a, 0x94, 0x3f, 0xa2, 0x48, 0x67, 0xa0, 0xb8, 0xed, 0xe2, 0xbe, + 0x1a, 0xf4, 0xf1, 0x88, 0xbe, 0xc2, 0x99, 0x28, 0x92, 0x59, 0x3f, 0xe6, 0xa1, 0x9a, 0x3a, 0x5c, + 0x86, 0xc7, 0x6f, 0x3c, 0xfb, 0xf3, 0x19, 0xde, 0x13, 0x13, 0xb7, 0x8c, 0x71, 0x07, 0x4a, 0x1d, + 0x7e, 0x3e, 0xf5, 0x87, 0x63, 0xf1, 0x58, 0xbd, 0x10, 0xa5, 0x19, 0x61, 0x49, 0x90, 0x14, 0x49, + 0x8f, 0xc6, 0x55, 0x38, 0x49, 0x30, 0x23, 0xc3, 0xa5, 0x6d, 0x86, 0xc9, 0x26, 0xee, 0xf8, 0x9e, + 0x13, 0xb5, 0xbc, 0x18, 0x17, 0xf9, 0x24, 0x1a, 0x57, 0x40, 0x87, 0x6d, 0xac, 0x3e, 0x4c, 0xdd, + 0x72, 0x07, 0x98, 0xd7, 0x9d, 0x4a, 0x37, 0xd1, 0x63, 0x2f, 0xae, 0xbb, 0x32, 0x56, 0x72, 0x5e, + 0x1e, 0xcf, 0xf6, 0xfc, 0x08, 0xee, 0xc5, 0x51, 0x79, 0x6e, 0x70, 0x26, 0x8a, 0x64, 0x97, 0xe7, + 0xf8, 0x06, 0xfb, 0xf6, 0x49, 0x3d, 0xf7, 0xe8, 0x49, 0x3d, 0xf7, 0xf8, 0x89, 0xdc, 0x66, 0x77, + 0xa1, 0xcc, 0xa3, 0x51, 0x66, 0x0f, 0x82, 0xd7, 0x1d, 0xd2, 0xfa, 0x02, 0x74, 0x0e, 0x25, 0x31, + 0x2b, 0x55, 0x77, 0xb4, 0x89, 0xdd, 0x59, 0x04, 0xb0, 0x03, 0x37, 0x3d, 0x1a, 0xe3, 0x81, 0x34, + 0x7a, 0xee, 0xa3, 0x84, 0x56, 0xfb, 0xfc, 0xb3, 0x17, 0xb5, 0xdc, 0xf3, 0x17, 0xb5, 0xdc, 0x6f, + 0x2f, 0x6a, 0xb9, 0x07, 0xfb, 0x35, 0xed, 0xd9, 0x7e, 0x4d, 0x7b, 0xbe, 0x5f, 0xd3, 0xfe, 0xd8, + 0xaf, 0x69, 0x8f, 0xfe, 0xac, 0xe5, 0xee, 0x54, 0x12, 0x8d, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, + 0xac, 0x17, 0x87, 0x87, 0xd2, 0x10, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.proto b/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.proto index 91d3fbf6512..a10e2ddb0a3 100644 --- a/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/api/unversioned/generated.proto @@ -22,6 +22,7 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.api.unversioned; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/api/unversioned/group_version.go b/staging/src/k8s.io/client-go/pkg/api/unversioned/group_version.go index db842affe60..dd3355644a3 100644 --- a/staging/src/k8s.io/client-go/pkg/api/unversioned/group_version.go +++ b/staging/src/k8s.io/client-go/pkg/api/unversioned/group_version.go @@ -20,23 +20,10 @@ import ( "encoding/json" "fmt" "strings" + + "k8s.io/client-go/pkg/runtime/schema" ) -// ParseResourceArg takes the common style of string which may be either `resource.group.com` or `resource.version.group.com` -// and parses it out into both possibilities. This code takes no responsibility for knowing which representation was intended -// but with a knowledge of all GroupVersions, calling code can take a very good guess. If there are only two segments, then -// `*GroupVersionResource` is nil. -// `resource.group.com` -> `group=com, version=group, resource=resource` and `group=group.com, resource=resource` -func ParseResourceArg(arg string) (*GroupVersionResource, GroupResource) { - var gvr *GroupVersionResource - if strings.Count(arg, ".") >= 2 { - s := strings.SplitN(arg, ".", 3) - gvr = &GroupVersionResource{Group: s[2], Version: s[1], Resource: s[0]} - } - - return gvr, ParseGroupResource(arg) -} - // GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying // concepts during lookup stages without having partially valid types // @@ -46,14 +33,6 @@ type GroupResource struct { Resource string `protobuf:"bytes,2,opt,name=resource"` } -func (gr GroupResource) WithVersion(version string) GroupVersionResource { - return GroupVersionResource{Group: gr.Group, Version: version, Resource: gr.Resource} -} - -func (gr GroupResource) Empty() bool { - return len(gr.Group) == 0 && len(gr.Resource) == 0 -} - func (gr *GroupResource) String() string { if len(gr.Group) == 0 { return gr.Resource @@ -61,16 +40,6 @@ func (gr *GroupResource) String() string { return gr.Resource + "." + gr.Group } -// ParseGroupResource turns "resource.group" string into a GroupResource struct. Empty strings are allowed -// for each field. -func ParseGroupResource(gr string) GroupResource { - if i := strings.Index(gr, "."); i == -1 { - return GroupResource{Resource: gr} - } else { - return GroupResource{Group: gr[i+1:], Resource: gr[:i]} - } -} - // GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion // to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling // @@ -81,18 +50,6 @@ type GroupVersionResource struct { Resource string `protobuf:"bytes,3,opt,name=resource"` } -func (gvr GroupVersionResource) Empty() bool { - return len(gvr.Group) == 0 && len(gvr.Version) == 0 && len(gvr.Resource) == 0 -} - -func (gvr GroupVersionResource) GroupResource() GroupResource { - return GroupResource{Group: gvr.Group, Resource: gvr.Resource} -} - -func (gvr GroupVersionResource) GroupVersion() GroupVersion { - return GroupVersion{Group: gvr.Group, Version: gvr.Version} -} - func (gvr *GroupVersionResource) String() string { return strings.Join([]string{gvr.Group, "/", gvr.Version, ", Resource=", gvr.Resource}, "") } @@ -106,14 +63,6 @@ type GroupKind struct { Kind string `protobuf:"bytes,2,opt,name=kind"` } -func (gk GroupKind) Empty() bool { - return len(gk.Group) == 0 && len(gk.Kind) == 0 -} - -func (gk GroupKind) WithVersion(version string) GroupVersionKind { - return GroupVersionKind{Group: gk.Group, Version: version, Kind: gk.Kind} -} - func (gk *GroupKind) String() string { if len(gk.Group) == 0 { return gk.Kind @@ -131,19 +80,6 @@ type GroupVersionKind struct { Kind string `protobuf:"bytes,3,opt,name=kind"` } -// Empty returns true if group, version, and kind are empty -func (gvk GroupVersionKind) Empty() bool { - return len(gvk.Group) == 0 && len(gvk.Version) == 0 && len(gvk.Kind) == 0 -} - -func (gvk GroupVersionKind) GroupKind() GroupKind { - return GroupKind{Group: gvk.Group, Kind: gvk.Kind} -} - -func (gvk GroupVersionKind) GroupVersion() GroupVersion { - return GroupVersion{Group: gvk.Group, Version: gvk.Version} -} - func (gvk GroupVersionKind) String() string { return gvk.Group + "/" + gvk.Version + ", Kind=" + gvk.Kind } @@ -179,55 +115,6 @@ func (gv GroupVersion) String() string { return gv.Version } -// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false -// if none of the options match the group. It prefers a match to group and version over just group. -// TODO: Move GroupVersion to a package under pkg/runtime, since it's used by scheme. -// TODO: Introduce an adapter type between GroupVersion and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) -// in fewer places. -func (gv GroupVersion) KindForGroupVersionKinds(kinds []GroupVersionKind) (target GroupVersionKind, ok bool) { - for _, gvk := range kinds { - if gvk.Group == gv.Group && gvk.Version == gv.Version { - return gvk, true - } - } - for _, gvk := range kinds { - if gvk.Group == gv.Group { - return gv.WithKind(gvk.Kind), true - } - } - return GroupVersionKind{}, false -} - -// ParseGroupVersion turns "group/version" string into a GroupVersion struct. It reports error -// if it cannot parse the string. -func ParseGroupVersion(gv string) (GroupVersion, error) { - // this can be the internal version for the legacy kube types - // TODO once we've cleared the last uses as strings, this special case should be removed. - if (len(gv) == 0) || (gv == "/") { - return GroupVersion{}, nil - } - - switch strings.Count(gv, "/") { - case 0: - return GroupVersion{"", gv}, nil - case 1: - i := strings.Index(gv, "/") - return GroupVersion{gv[:i], gv[i+1:]}, nil - default: - return GroupVersion{}, fmt.Errorf("unexpected GroupVersion string: %v", gv) - } -} - -// WithKind creates a GroupVersionKind based on the method receiver's GroupVersion and the passed Kind. -func (gv GroupVersion) WithKind(kind string) GroupVersionKind { - return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} -} - -// WithResource creates a GroupVersionResource based on the method receiver's GroupVersion and the passed Resource. -func (gv GroupVersion) WithResource(resource string) GroupVersionResource { - return GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: resource} -} - // MarshalJSON implements the json.Marshaller interface. func (gv GroupVersion) MarshalJSON() ([]byte, error) { s := gv.String() @@ -242,11 +129,11 @@ func (gv *GroupVersion) unmarshal(value []byte) error { if err := json.Unmarshal(value, &s); err != nil { return err } - parsed, err := ParseGroupVersion(s) + parsed, err := schema.ParseGroupVersion(s) if err != nil { return err } - *gv = parsed + gv.Group, gv.Version = parsed.Group, parsed.Version return nil } @@ -259,87 +146,3 @@ func (gv *GroupVersion) UnmarshalJSON(value []byte) error { func (gv *GroupVersion) UnmarshalText(value []byte) error { return gv.unmarshal(value) } - -// GroupVersions can be used to represent a set of desired group versions. -// TODO: Move GroupVersions to a package under pkg/runtime, since it's used by scheme. -// TODO: Introduce an adapter type between GroupVersions and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) -// in fewer places. -type GroupVersions []GroupVersion - -// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false -// if none of the options match the group. -func (gvs GroupVersions) KindForGroupVersionKinds(kinds []GroupVersionKind) (GroupVersionKind, bool) { - var targets []GroupVersionKind - for _, gv := range gvs { - target, ok := gv.KindForGroupVersionKinds(kinds) - if !ok { - continue - } - targets = append(targets, target) - } - if len(targets) == 1 { - return targets[0], true - } - if len(targets) > 1 { - return bestMatch(kinds, targets), true - } - return GroupVersionKind{}, false -} - -// bestMatch tries to pick best matching GroupVersionKind and falls back to the first -// found if no exact match exists. -func bestMatch(kinds []GroupVersionKind, targets []GroupVersionKind) GroupVersionKind { - for _, gvk := range targets { - for _, k := range kinds { - if k == gvk { - return k - } - } - } - return targets[0] -} - -// ToAPIVersionAndKind is a convenience method for satisfying runtime.Object on types that -// do not use TypeMeta. -func (gvk *GroupVersionKind) ToAPIVersionAndKind() (string, string) { - if gvk == nil { - return "", "" - } - return gvk.GroupVersion().String(), gvk.Kind -} - -// FromAPIVersionAndKind returns a GVK representing the provided fields for types that -// do not use TypeMeta. This method exists to support test types and legacy serializations -// that have a distinct group and kind. -// TODO: further reduce usage of this method. -func FromAPIVersionAndKind(apiVersion, kind string) GroupVersionKind { - if gv, err := ParseGroupVersion(apiVersion); err == nil { - return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} - } - return GroupVersionKind{Kind: kind} -} - -// All objects that are serialized from a Scheme encode their type information. This interface is used -// by serialization to set type information from the Scheme onto the serialized version of an object. -// For objects that cannot be serialized or have unique requirements, this interface may be a no-op. -// TODO: this belongs in pkg/runtime, move unversioned.GVK into runtime. -type ObjectKind interface { - // SetGroupVersionKind sets or clears the intended serialized kind of an object. Passing kind nil - // should clear the current setting. - SetGroupVersionKind(kind GroupVersionKind) - // GroupVersionKind returns the stored group, version, and kind of an object, or nil if the object does - // not expose or provide these fields. - GroupVersionKind() GroupVersionKind -} - -// EmptyObjectKind implements the ObjectKind interface as a noop -// TODO: this belongs in pkg/runtime, move unversioned.GVK into runtime. -var EmptyObjectKind = emptyObjectKind{} - -type emptyObjectKind struct{} - -// SetGroupVersionKind implements the ObjectKind interface -func (emptyObjectKind) SetGroupVersionKind(gvk GroupVersionKind) {} - -// GroupVersionKind implements the ObjectKind interface -func (emptyObjectKind) GroupVersionKind() GroupVersionKind { return GroupVersionKind{} } diff --git a/staging/src/k8s.io/client-go/pkg/api/unversioned/meta.go b/staging/src/k8s.io/client-go/pkg/api/unversioned/meta.go index 48009da162b..224bf6cfccf 100644 --- a/staging/src/k8s.io/client-go/pkg/api/unversioned/meta.go +++ b/staging/src/k8s.io/client-go/pkg/api/unversioned/meta.go @@ -16,6 +16,10 @@ limitations under the License. package unversioned +import ( + "k8s.io/client-go/pkg/runtime/schema" +) + // ListMetaAccessor retrieves the list interface from an object // TODO: move this, and TypeMeta and ListMeta, to a different package type ListMetaAccessor interface { @@ -47,16 +51,16 @@ func (meta *ListMeta) SetResourceVersion(version string) { meta.ResourceVersion func (meta *ListMeta) GetSelfLink() string { return meta.SelfLink } func (meta *ListMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink } -func (obj *TypeMeta) GetObjectKind() ObjectKind { return obj } +func (obj *TypeMeta) GetObjectKind() schema.ObjectKind { return obj } // SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) SetGroupVersionKind(gvk GroupVersionKind) { +func (obj *TypeMeta) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } // GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) GroupVersionKind() GroupVersionKind { - return FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *TypeMeta) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } func (obj *ListMeta) GetListMeta() List { return obj } diff --git a/staging/src/k8s.io/client-go/pkg/api/unversioned/register.go b/staging/src/k8s.io/client-go/pkg/api/unversioned/register.go index 907188bc74e..88ff41b1456 100644 --- a/staging/src/k8s.io/client-go/pkg/api/unversioned/register.go +++ b/staging/src/k8s.io/client-go/pkg/api/unversioned/register.go @@ -16,10 +16,14 @@ limitations under the License. package unversioned +import ( + "k8s.io/client-go/pkg/runtime/schema" +) + // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = GroupVersion{Group: "", Version: ""} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: ""} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/generate.go b/staging/src/k8s.io/client-go/pkg/api/v1/generate.go new file mode 100644 index 00000000000..9145114e8ec --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/api/v1/generate.go @@ -0,0 +1,64 @@ +/* +Copyright 2014 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1 + +import ( + "fmt" + + utilrand "k8s.io/client-go/pkg/util/rand" +) + +// NameGenerator generates names for objects. Some backends may have more information +// available to guide selection of new names and this interface hides those details. +type NameGenerator interface { + // GenerateName generates a valid name from the base name, adding a random suffix to the + // the base. If base is valid, the returned name must also be valid. The generator is + // responsible for knowing the maximum valid name length. + GenerateName(base string) string +} + +// GenerateName will resolve the object name of the provided ObjectMeta to a generated version if +// necessary. It expects that validation for ObjectMeta has already completed (that Base is a +// valid name) and that the NameGenerator generates a name that is also valid. +func GenerateName(u NameGenerator, meta *ObjectMeta) { + if len(meta.GenerateName) == 0 || len(meta.Name) != 0 { + return + } + meta.Name = u.GenerateName(meta.GenerateName) +} + +// simpleNameGenerator generates random names. +type simpleNameGenerator struct{} + +// SimpleNameGenerator is a generator that returns the name plus a random suffix of five alphanumerics +// when a name is requested. The string is guaranteed to not exceed the length of a standard Kubernetes +// name (63 characters) +var SimpleNameGenerator NameGenerator = simpleNameGenerator{} + +const ( + // TODO: make this flexible for non-core resources with alternate naming rules. + maxNameLength = 63 + randomLength = 5 + maxGeneratedNameLength = maxNameLength - randomLength +) + +func (simpleNameGenerator) GenerateName(base string) string { + if len(base) > maxGeneratedNameLength { + base = base[:maxGeneratedNameLength] + } + return fmt.Sprintf("%s%s", base, utilrand.String(randomLength)) +} diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go index 69d224ce3cf..ee4437c8605 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go @@ -101,6 +101,7 @@ limitations under the License. NodeDaemonEndpoints NodeList NodeProxyOptions + NodeResources NodeSelector NodeSelectorRequirement NodeSelectorTerm @@ -173,6 +174,7 @@ limitations under the License. ServiceProxyOptions ServiceSpec ServiceStatus + Sysctl TCPSocketAction Taint Toleration @@ -521,350 +523,358 @@ func (m *NodeProxyOptions) Reset() { *m = NodeProxyOptions{} func (*NodeProxyOptions) ProtoMessage() {} func (*NodeProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{75} } +func (m *NodeResources) Reset() { *m = NodeResources{} } +func (*NodeResources) ProtoMessage() {} +func (*NodeResources) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{76} } + func (m *NodeSelector) Reset() { *m = NodeSelector{} } func (*NodeSelector) ProtoMessage() {} -func (*NodeSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{76} } +func (*NodeSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{77} } func (m *NodeSelectorRequirement) Reset() { *m = NodeSelectorRequirement{} } func (*NodeSelectorRequirement) ProtoMessage() {} func (*NodeSelectorRequirement) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{77} + return fileDescriptorGenerated, []int{78} } func (m *NodeSelectorTerm) Reset() { *m = NodeSelectorTerm{} } func (*NodeSelectorTerm) ProtoMessage() {} -func (*NodeSelectorTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{78} } +func (*NodeSelectorTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{79} } func (m *NodeSpec) Reset() { *m = NodeSpec{} } func (*NodeSpec) ProtoMessage() {} -func (*NodeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{79} } +func (*NodeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{80} } func (m *NodeStatus) Reset() { *m = NodeStatus{} } func (*NodeStatus) ProtoMessage() {} -func (*NodeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{80} } +func (*NodeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{81} } func (m *NodeSystemInfo) Reset() { *m = NodeSystemInfo{} } func (*NodeSystemInfo) ProtoMessage() {} -func (*NodeSystemInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{81} } +func (*NodeSystemInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{82} } func (m *ObjectFieldSelector) Reset() { *m = ObjectFieldSelector{} } func (*ObjectFieldSelector) ProtoMessage() {} -func (*ObjectFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{82} } +func (*ObjectFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{83} } func (m *ObjectMeta) Reset() { *m = ObjectMeta{} } func (*ObjectMeta) ProtoMessage() {} -func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{83} } +func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{84} } func (m *ObjectReference) Reset() { *m = ObjectReference{} } func (*ObjectReference) ProtoMessage() {} -func (*ObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{84} } +func (*ObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{85} } func (m *OwnerReference) Reset() { *m = OwnerReference{} } func (*OwnerReference) ProtoMessage() {} -func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{85} } +func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{86} } func (m *PersistentVolume) Reset() { *m = PersistentVolume{} } func (*PersistentVolume) ProtoMessage() {} -func (*PersistentVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{86} } +func (*PersistentVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{87} } func (m *PersistentVolumeClaim) Reset() { *m = PersistentVolumeClaim{} } func (*PersistentVolumeClaim) ProtoMessage() {} -func (*PersistentVolumeClaim) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{87} } +func (*PersistentVolumeClaim) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{88} } func (m *PersistentVolumeClaimList) Reset() { *m = PersistentVolumeClaimList{} } func (*PersistentVolumeClaimList) ProtoMessage() {} func (*PersistentVolumeClaimList) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{88} + return fileDescriptorGenerated, []int{89} } func (m *PersistentVolumeClaimSpec) Reset() { *m = PersistentVolumeClaimSpec{} } func (*PersistentVolumeClaimSpec) ProtoMessage() {} func (*PersistentVolumeClaimSpec) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{89} + return fileDescriptorGenerated, []int{90} } func (m *PersistentVolumeClaimStatus) Reset() { *m = PersistentVolumeClaimStatus{} } func (*PersistentVolumeClaimStatus) ProtoMessage() {} func (*PersistentVolumeClaimStatus) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{90} + return fileDescriptorGenerated, []int{91} } func (m *PersistentVolumeClaimVolumeSource) Reset() { *m = PersistentVolumeClaimVolumeSource{} } func (*PersistentVolumeClaimVolumeSource) ProtoMessage() {} func (*PersistentVolumeClaimVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{91} + return fileDescriptorGenerated, []int{92} } func (m *PersistentVolumeList) Reset() { *m = PersistentVolumeList{} } func (*PersistentVolumeList) ProtoMessage() {} -func (*PersistentVolumeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{92} } +func (*PersistentVolumeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{93} } func (m *PersistentVolumeSource) Reset() { *m = PersistentVolumeSource{} } func (*PersistentVolumeSource) ProtoMessage() {} -func (*PersistentVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{93} } +func (*PersistentVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{94} } func (m *PersistentVolumeSpec) Reset() { *m = PersistentVolumeSpec{} } func (*PersistentVolumeSpec) ProtoMessage() {} -func (*PersistentVolumeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{94} } +func (*PersistentVolumeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{95} } func (m *PersistentVolumeStatus) Reset() { *m = PersistentVolumeStatus{} } func (*PersistentVolumeStatus) ProtoMessage() {} -func (*PersistentVolumeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{95} } +func (*PersistentVolumeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{96} } func (m *PhotonPersistentDiskVolumeSource) Reset() { *m = PhotonPersistentDiskVolumeSource{} } func (*PhotonPersistentDiskVolumeSource) ProtoMessage() {} func (*PhotonPersistentDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{96} + return fileDescriptorGenerated, []int{97} } func (m *Pod) Reset() { *m = Pod{} } func (*Pod) ProtoMessage() {} -func (*Pod) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{97} } +func (*Pod) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{98} } func (m *PodAffinity) Reset() { *m = PodAffinity{} } func (*PodAffinity) ProtoMessage() {} -func (*PodAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{98} } +func (*PodAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{99} } func (m *PodAffinityTerm) Reset() { *m = PodAffinityTerm{} } func (*PodAffinityTerm) ProtoMessage() {} -func (*PodAffinityTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{99} } +func (*PodAffinityTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{100} } func (m *PodAntiAffinity) Reset() { *m = PodAntiAffinity{} } func (*PodAntiAffinity) ProtoMessage() {} -func (*PodAntiAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{100} } +func (*PodAntiAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{101} } func (m *PodAttachOptions) Reset() { *m = PodAttachOptions{} } func (*PodAttachOptions) ProtoMessage() {} -func (*PodAttachOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{101} } +func (*PodAttachOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{102} } func (m *PodCondition) Reset() { *m = PodCondition{} } func (*PodCondition) ProtoMessage() {} -func (*PodCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{102} } +func (*PodCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{103} } func (m *PodExecOptions) Reset() { *m = PodExecOptions{} } func (*PodExecOptions) ProtoMessage() {} -func (*PodExecOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{103} } +func (*PodExecOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{104} } func (m *PodList) Reset() { *m = PodList{} } func (*PodList) ProtoMessage() {} -func (*PodList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{104} } +func (*PodList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{105} } func (m *PodLogOptions) Reset() { *m = PodLogOptions{} } func (*PodLogOptions) ProtoMessage() {} -func (*PodLogOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{105} } +func (*PodLogOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{106} } func (m *PodProxyOptions) Reset() { *m = PodProxyOptions{} } func (*PodProxyOptions) ProtoMessage() {} -func (*PodProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{106} } +func (*PodProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{107} } func (m *PodSecurityContext) Reset() { *m = PodSecurityContext{} } func (*PodSecurityContext) ProtoMessage() {} -func (*PodSecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{107} } +func (*PodSecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{108} } func (m *PodSignature) Reset() { *m = PodSignature{} } func (*PodSignature) ProtoMessage() {} -func (*PodSignature) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{108} } +func (*PodSignature) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{109} } func (m *PodSpec) Reset() { *m = PodSpec{} } func (*PodSpec) ProtoMessage() {} -func (*PodSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{109} } +func (*PodSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{110} } func (m *PodStatus) Reset() { *m = PodStatus{} } func (*PodStatus) ProtoMessage() {} -func (*PodStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{110} } +func (*PodStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{111} } func (m *PodStatusResult) Reset() { *m = PodStatusResult{} } func (*PodStatusResult) ProtoMessage() {} -func (*PodStatusResult) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{111} } +func (*PodStatusResult) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{112} } func (m *PodTemplate) Reset() { *m = PodTemplate{} } func (*PodTemplate) ProtoMessage() {} -func (*PodTemplate) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{112} } +func (*PodTemplate) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{113} } func (m *PodTemplateList) Reset() { *m = PodTemplateList{} } func (*PodTemplateList) ProtoMessage() {} -func (*PodTemplateList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{113} } +func (*PodTemplateList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{114} } func (m *PodTemplateSpec) Reset() { *m = PodTemplateSpec{} } func (*PodTemplateSpec) ProtoMessage() {} -func (*PodTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{114} } +func (*PodTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{115} } func (m *Preconditions) Reset() { *m = Preconditions{} } func (*Preconditions) ProtoMessage() {} -func (*Preconditions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{115} } +func (*Preconditions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{116} } func (m *PreferAvoidPodsEntry) Reset() { *m = PreferAvoidPodsEntry{} } func (*PreferAvoidPodsEntry) ProtoMessage() {} -func (*PreferAvoidPodsEntry) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{116} } +func (*PreferAvoidPodsEntry) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{117} } func (m *PreferredSchedulingTerm) Reset() { *m = PreferredSchedulingTerm{} } func (*PreferredSchedulingTerm) ProtoMessage() {} func (*PreferredSchedulingTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{117} + return fileDescriptorGenerated, []int{118} } func (m *Probe) Reset() { *m = Probe{} } func (*Probe) ProtoMessage() {} -func (*Probe) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{118} } +func (*Probe) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{119} } func (m *QuobyteVolumeSource) Reset() { *m = QuobyteVolumeSource{} } func (*QuobyteVolumeSource) ProtoMessage() {} -func (*QuobyteVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{119} } +func (*QuobyteVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{120} } func (m *RBDVolumeSource) Reset() { *m = RBDVolumeSource{} } func (*RBDVolumeSource) ProtoMessage() {} -func (*RBDVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{120} } +func (*RBDVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{121} } func (m *RangeAllocation) Reset() { *m = RangeAllocation{} } func (*RangeAllocation) ProtoMessage() {} -func (*RangeAllocation) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{121} } +func (*RangeAllocation) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{122} } func (m *ReplicationController) Reset() { *m = ReplicationController{} } func (*ReplicationController) ProtoMessage() {} -func (*ReplicationController) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{122} } +func (*ReplicationController) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{123} } func (m *ReplicationControllerCondition) Reset() { *m = ReplicationControllerCondition{} } func (*ReplicationControllerCondition) ProtoMessage() {} func (*ReplicationControllerCondition) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{123} + return fileDescriptorGenerated, []int{124} } func (m *ReplicationControllerList) Reset() { *m = ReplicationControllerList{} } func (*ReplicationControllerList) ProtoMessage() {} func (*ReplicationControllerList) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{124} + return fileDescriptorGenerated, []int{125} } func (m *ReplicationControllerSpec) Reset() { *m = ReplicationControllerSpec{} } func (*ReplicationControllerSpec) ProtoMessage() {} func (*ReplicationControllerSpec) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{125} + return fileDescriptorGenerated, []int{126} } func (m *ReplicationControllerStatus) Reset() { *m = ReplicationControllerStatus{} } func (*ReplicationControllerStatus) ProtoMessage() {} func (*ReplicationControllerStatus) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{126} + return fileDescriptorGenerated, []int{127} } func (m *ResourceFieldSelector) Reset() { *m = ResourceFieldSelector{} } func (*ResourceFieldSelector) ProtoMessage() {} -func (*ResourceFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{127} } +func (*ResourceFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{128} } func (m *ResourceQuota) Reset() { *m = ResourceQuota{} } func (*ResourceQuota) ProtoMessage() {} -func (*ResourceQuota) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{128} } +func (*ResourceQuota) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{129} } func (m *ResourceQuotaList) Reset() { *m = ResourceQuotaList{} } func (*ResourceQuotaList) ProtoMessage() {} -func (*ResourceQuotaList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{129} } +func (*ResourceQuotaList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{130} } func (m *ResourceQuotaSpec) Reset() { *m = ResourceQuotaSpec{} } func (*ResourceQuotaSpec) ProtoMessage() {} -func (*ResourceQuotaSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{130} } +func (*ResourceQuotaSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{131} } func (m *ResourceQuotaStatus) Reset() { *m = ResourceQuotaStatus{} } func (*ResourceQuotaStatus) ProtoMessage() {} -func (*ResourceQuotaStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{131} } +func (*ResourceQuotaStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{132} } func (m *ResourceRequirements) Reset() { *m = ResourceRequirements{} } func (*ResourceRequirements) ProtoMessage() {} -func (*ResourceRequirements) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{132} } +func (*ResourceRequirements) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{133} } func (m *SELinuxOptions) Reset() { *m = SELinuxOptions{} } func (*SELinuxOptions) ProtoMessage() {} -func (*SELinuxOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{133} } +func (*SELinuxOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{134} } func (m *Secret) Reset() { *m = Secret{} } func (*Secret) ProtoMessage() {} -func (*Secret) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{134} } +func (*Secret) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{135} } func (m *SecretKeySelector) Reset() { *m = SecretKeySelector{} } func (*SecretKeySelector) ProtoMessage() {} -func (*SecretKeySelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{135} } +func (*SecretKeySelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{136} } func (m *SecretList) Reset() { *m = SecretList{} } func (*SecretList) ProtoMessage() {} -func (*SecretList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{136} } +func (*SecretList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{137} } func (m *SecretVolumeSource) Reset() { *m = SecretVolumeSource{} } func (*SecretVolumeSource) ProtoMessage() {} -func (*SecretVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{137} } +func (*SecretVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{138} } func (m *SecurityContext) Reset() { *m = SecurityContext{} } func (*SecurityContext) ProtoMessage() {} -func (*SecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{138} } +func (*SecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{139} } func (m *SerializedReference) Reset() { *m = SerializedReference{} } func (*SerializedReference) ProtoMessage() {} -func (*SerializedReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{139} } +func (*SerializedReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{140} } func (m *Service) Reset() { *m = Service{} } func (*Service) ProtoMessage() {} -func (*Service) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{140} } +func (*Service) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{141} } func (m *ServiceAccount) Reset() { *m = ServiceAccount{} } func (*ServiceAccount) ProtoMessage() {} -func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{141} } +func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{142} } func (m *ServiceAccountList) Reset() { *m = ServiceAccountList{} } func (*ServiceAccountList) ProtoMessage() {} -func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{142} } +func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{143} } func (m *ServiceList) Reset() { *m = ServiceList{} } func (*ServiceList) ProtoMessage() {} -func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{143} } +func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{144} } func (m *ServicePort) Reset() { *m = ServicePort{} } func (*ServicePort) ProtoMessage() {} -func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{144} } +func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{145} } func (m *ServiceProxyOptions) Reset() { *m = ServiceProxyOptions{} } func (*ServiceProxyOptions) ProtoMessage() {} -func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{145} } +func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{146} } func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } func (*ServiceSpec) ProtoMessage() {} -func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{146} } +func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{147} } func (m *ServiceStatus) Reset() { *m = ServiceStatus{} } func (*ServiceStatus) ProtoMessage() {} -func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{147} } +func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{148} } + +func (m *Sysctl) Reset() { *m = Sysctl{} } +func (*Sysctl) ProtoMessage() {} +func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{149} } func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } func (*TCPSocketAction) ProtoMessage() {} -func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{148} } +func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{150} } func (m *Taint) Reset() { *m = Taint{} } func (*Taint) ProtoMessage() {} -func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{149} } +func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{151} } func (m *Toleration) Reset() { *m = Toleration{} } func (*Toleration) ProtoMessage() {} -func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{150} } +func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{152} } func (m *Volume) Reset() { *m = Volume{} } func (*Volume) ProtoMessage() {} -func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{151} } +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{153} } func (m *VolumeMount) Reset() { *m = VolumeMount{} } func (*VolumeMount) ProtoMessage() {} -func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{152} } +func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{154} } func (m *VolumeSource) Reset() { *m = VolumeSource{} } func (*VolumeSource) ProtoMessage() {} -func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{153} } +func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{155} } func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} } func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {} func (*VsphereVirtualDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{154} + return fileDescriptorGenerated, []int{156} } func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} } func (*WeightedPodAffinityTerm) ProtoMessage() {} func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{155} + return fileDescriptorGenerated, []int{157} } func init() { @@ -944,6 +954,7 @@ func init() { proto.RegisterType((*NodeDaemonEndpoints)(nil), "k8s.io.client-go.pkg.api.v1.NodeDaemonEndpoints") proto.RegisterType((*NodeList)(nil), "k8s.io.client-go.pkg.api.v1.NodeList") proto.RegisterType((*NodeProxyOptions)(nil), "k8s.io.client-go.pkg.api.v1.NodeProxyOptions") + proto.RegisterType((*NodeResources)(nil), "k8s.io.client-go.pkg.api.v1.NodeResources") proto.RegisterType((*NodeSelector)(nil), "k8s.io.client-go.pkg.api.v1.NodeSelector") proto.RegisterType((*NodeSelectorRequirement)(nil), "k8s.io.client-go.pkg.api.v1.NodeSelectorRequirement") proto.RegisterType((*NodeSelectorTerm)(nil), "k8s.io.client-go.pkg.api.v1.NodeSelectorTerm") @@ -1016,6 +1027,7 @@ func init() { proto.RegisterType((*ServiceProxyOptions)(nil), "k8s.io.client-go.pkg.api.v1.ServiceProxyOptions") proto.RegisterType((*ServiceSpec)(nil), "k8s.io.client-go.pkg.api.v1.ServiceSpec") proto.RegisterType((*ServiceStatus)(nil), "k8s.io.client-go.pkg.api.v1.ServiceStatus") + proto.RegisterType((*Sysctl)(nil), "k8s.io.client-go.pkg.api.v1.Sysctl") proto.RegisterType((*TCPSocketAction)(nil), "k8s.io.client-go.pkg.api.v1.TCPSocketAction") proto.RegisterType((*Taint)(nil), "k8s.io.client-go.pkg.api.v1.Taint") proto.RegisterType((*Toleration)(nil), "k8s.io.client-go.pkg.api.v1.Toleration") @@ -4129,6 +4141,46 @@ func (m *NodeProxyOptions) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *NodeResources) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *NodeResources) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Capacity) > 0 { + for k := range m.Capacity { + data[i] = 0xa + i++ + v := m.Capacity[k] + msgSize := (&v).Size() + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + msgSize + sovGenerated(uint64(msgSize)) + i = encodeVarintGenerated(data, i, uint64(mapSize)) + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(k))) + i += copy(data[i:], k) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64((&v).Size())) + n71, err := (&v).MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n71 + } + } + return i, nil +} + func (m *NodeSelector) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -4298,11 +4350,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n71, err := (&v).MarshalTo(data[i:]) + n72, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n71 + i += n72 } } if len(m.Allocatable) > 0 { @@ -4320,11 +4372,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n72, err := (&v).MarshalTo(data[i:]) + n73, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n72 + i += n73 } } data[i] = 0x1a @@ -4358,19 +4410,19 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.DaemonEndpoints.Size())) - n73, err := m.DaemonEndpoints.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n73 - data[i] = 0x3a - i++ - i = encodeVarintGenerated(data, i, uint64(m.NodeInfo.Size())) - n74, err := m.NodeInfo.MarshalTo(data[i:]) + n74, err := m.DaemonEndpoints.MarshalTo(data[i:]) if err != nil { return 0, err } i += n74 + data[i] = 0x3a + i++ + i = encodeVarintGenerated(data, i, uint64(m.NodeInfo.Size())) + n75, err := m.NodeInfo.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n75 if len(m.Images) > 0 { for _, msg := range m.Images { data[i] = 0x42 @@ -4542,20 +4594,20 @@ func (m *ObjectMeta) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.CreationTimestamp.Size())) - n75, err := m.CreationTimestamp.MarshalTo(data[i:]) + n76, err := m.CreationTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n75 + i += n76 if m.DeletionTimestamp != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.DeletionTimestamp.Size())) - n76, err := m.DeletionTimestamp.MarshalTo(data[i:]) + n77, err := m.DeletionTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n76 + i += n77 } if m.DeletionGracePeriodSeconds != nil { data[i] = 0x50 @@ -4738,27 +4790,27 @@ func (m *PersistentVolume) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n77, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n77 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n78, err := m.Spec.MarshalTo(data[i:]) + n78, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n78 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n79, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n79, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n79 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n80, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n80 return i, nil } @@ -4780,27 +4832,27 @@ func (m *PersistentVolumeClaim) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n80, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n80 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n81, err := m.Spec.MarshalTo(data[i:]) + n81, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n81 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n82, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n82, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n82 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n83, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n83 return i, nil } @@ -4822,11 +4874,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n83, err := m.ListMeta.MarshalTo(data[i:]) + n84, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n83 + i += n84 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4875,11 +4927,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Resources.Size())) - n84, err := m.Resources.MarshalTo(data[i:]) + n85, err := m.Resources.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n84 + i += n85 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.VolumeName))) @@ -4888,11 +4940,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n85, err := m.Selector.MarshalTo(data[i:]) + n86, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n85 + i += n86 } return i, nil } @@ -4946,11 +4998,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n86, err := (&v).MarshalTo(data[i:]) + n87, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n86 + i += n87 } } return i, nil @@ -5004,11 +5056,11 @@ func (m *PersistentVolumeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n87, err := m.ListMeta.MarshalTo(data[i:]) + n88, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n87 + i += n88 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5043,163 +5095,163 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n88, err := m.GCEPersistentDisk.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n88 - } - if m.AWSElasticBlockStore != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n89, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + n89, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } i += n89 } - if m.HostPath != nil { - data[i] = 0x1a + if m.AWSElasticBlockStore != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n90, err := m.HostPath.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) + n90, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } i += n90 } - if m.Glusterfs != nil { - data[i] = 0x22 + if m.HostPath != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n91, err := m.Glusterfs.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) + n91, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } i += n91 } - if m.NFS != nil { - data[i] = 0x2a + if m.Glusterfs != nil { + data[i] = 0x22 i++ - i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n92, err := m.NFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) + n92, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } i += n92 } - if m.RBD != nil { - data[i] = 0x32 + if m.NFS != nil { + data[i] = 0x2a i++ - i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n93, err := m.RBD.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) + n93, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n93 } - if m.ISCSI != nil { - data[i] = 0x3a + if m.RBD != nil { + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n94, err := m.ISCSI.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) + n94, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } i += n94 } - if m.Cinder != nil { - data[i] = 0x42 + if m.ISCSI != nil { + data[i] = 0x3a i++ - i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n95, err := m.Cinder.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) + n95, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } i += n95 } - if m.CephFS != nil { - data[i] = 0x4a + if m.Cinder != nil { + data[i] = 0x42 i++ - i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n96, err := m.CephFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) + n96, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } i += n96 } - if m.FC != nil { - data[i] = 0x52 + if m.CephFS != nil { + data[i] = 0x4a i++ - i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n97, err := m.FC.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) + n97, err := m.CephFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n97 } - if m.Flocker != nil { - data[i] = 0x5a + if m.FC != nil { + data[i] = 0x52 i++ - i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n98, err := m.Flocker.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) + n98, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } i += n98 } - if m.FlexVolume != nil { - data[i] = 0x62 + if m.Flocker != nil { + data[i] = 0x5a i++ - i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n99, err := m.FlexVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) + n99, err := m.Flocker.MarshalTo(data[i:]) if err != nil { return 0, err } i += n99 } - if m.AzureFile != nil { - data[i] = 0x6a + if m.FlexVolume != nil { + data[i] = 0x62 i++ - i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n100, err := m.AzureFile.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) + n100, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n100 } - if m.VsphereVolume != nil { - data[i] = 0x72 + if m.AzureFile != nil { + data[i] = 0x6a i++ - i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n101, err := m.VsphereVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) + n101, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } i += n101 } - if m.Quobyte != nil { - data[i] = 0x7a + if m.VsphereVolume != nil { + data[i] = 0x72 i++ - i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n102, err := m.Quobyte.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) + n102, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n102 } + if m.Quobyte != nil { + data[i] = 0x7a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) + n103, err := m.Quobyte.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n103 + } if m.AzureDisk != nil { data[i] = 0x82 i++ data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n103, err := m.AzureDisk.MarshalTo(data[i:]) + n104, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n103 + i += n104 } if m.PhotonPersistentDisk != nil { data[i] = 0x8a @@ -5207,11 +5259,11 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n104, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n105, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n104 + i += n105 } return i, nil } @@ -5246,21 +5298,21 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n105, err := (&v).MarshalTo(data[i:]) + n106, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n105 + i += n106 } } data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeSource.Size())) - n106, err := m.PersistentVolumeSource.MarshalTo(data[i:]) + n107, err := m.PersistentVolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n106 + i += n107 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { data[i] = 0x1a @@ -5280,11 +5332,11 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.ClaimRef.Size())) - n107, err := m.ClaimRef.MarshalTo(data[i:]) + n108, err := m.ClaimRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n107 + i += n108 } data[i] = 0x2a i++ @@ -5367,27 +5419,27 @@ func (m *Pod) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n108, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n108 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n109, err := m.Spec.MarshalTo(data[i:]) + n109, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n109 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n110, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n110, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n110 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n111, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n111 return i, nil } @@ -5452,11 +5504,11 @@ func (m *PodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LabelSelector.Size())) - n111, err := m.LabelSelector.MarshalTo(data[i:]) + n112, err := m.LabelSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n111 + i += n112 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -5602,19 +5654,19 @@ func (m *PodCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - n112, err := m.LastProbeTime.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n112 - data[i] = 0x22 - i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n113, err := m.LastTransitionTime.MarshalTo(data[i:]) + n113, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n113 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n114, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n114 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -5713,11 +5765,11 @@ func (m *PodList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n114, err := m.ListMeta.MarshalTo(data[i:]) + n115, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n114 + i += n115 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5777,11 +5829,11 @@ func (m *PodLogOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.SinceTime.Size())) - n115, err := m.SinceTime.MarshalTo(data[i:]) + n116, err := m.SinceTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n115 + i += n116 } data[i] = 0x30 i++ @@ -5845,11 +5897,11 @@ func (m *PodSecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n116, err := m.SELinuxOptions.MarshalTo(data[i:]) + n117, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n116 + i += n117 } if m.RunAsUser != nil { data[i] = 0x10 @@ -5900,11 +5952,11 @@ func (m *PodSignature) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodController.Size())) - n117, err := m.PodController.MarshalTo(data[i:]) + n118, err := m.PodController.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n117 + i += n118 } return i, nil } @@ -6023,11 +6075,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x72 i++ i = encodeVarintGenerated(data, i, uint64(m.SecurityContext.Size())) - n118, err := m.SecurityContext.MarshalTo(data[i:]) + n119, err := m.SecurityContext.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n118 + i += n119 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -6107,11 +6159,11 @@ func (m *PodStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.StartTime.Size())) - n119, err := m.StartTime.MarshalTo(data[i:]) + n120, err := m.StartTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n119 + i += n120 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -6146,19 +6198,19 @@ func (m *PodStatusResult) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n120, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n120 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n121, err := m.Status.MarshalTo(data[i:]) + n121, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n121 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n122, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n122 return i, nil } @@ -6180,19 +6232,19 @@ func (m *PodTemplate) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n122, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n122 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n123, err := m.Template.MarshalTo(data[i:]) + n123, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n123 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) + n124, err := m.Template.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n124 return i, nil } @@ -6214,11 +6266,11 @@ func (m *PodTemplateList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n124, err := m.ListMeta.MarshalTo(data[i:]) + n125, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n124 + i += n125 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6252,19 +6304,19 @@ func (m *PodTemplateSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n125, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n125 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n126, err := m.Spec.MarshalTo(data[i:]) + n126, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n126 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n127, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n127 return i, nil } @@ -6310,19 +6362,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodSignature.Size())) - n127, err := m.PodSignature.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n127 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.EvictionTime.Size())) - n128, err := m.EvictionTime.MarshalTo(data[i:]) + n128, err := m.PodSignature.MarshalTo(data[i:]) if err != nil { return 0, err } i += n128 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.EvictionTime.Size())) + n129, err := m.EvictionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n129 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6355,11 +6407,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Preference.Size())) - n129, err := m.Preference.MarshalTo(data[i:]) + n130, err := m.Preference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n129 + i += n130 return i, nil } @@ -6381,11 +6433,11 @@ func (m *Probe) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Handler.Size())) - n130, err := m.Handler.MarshalTo(data[i:]) + n131, err := m.Handler.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n130 + i += n131 data[i] = 0x10 i++ i = encodeVarintGenerated(data, i, uint64(m.InitialDelaySeconds)) @@ -6500,11 +6552,11 @@ func (m *RBDVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n131, err := m.SecretRef.MarshalTo(data[i:]) + n132, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n131 + i += n132 } data[i] = 0x40 i++ @@ -6535,11 +6587,11 @@ func (m *RangeAllocation) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n132, err := m.ObjectMeta.MarshalTo(data[i:]) + n133, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n132 + i += n133 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Range))) @@ -6571,27 +6623,27 @@ func (m *ReplicationController) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n133, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n133 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n134, err := m.Spec.MarshalTo(data[i:]) + n134, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n134 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n135, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n135, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n135 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n136, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n136 return i, nil } @@ -6621,11 +6673,11 @@ func (m *ReplicationControllerCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n136, err := m.LastTransitionTime.MarshalTo(data[i:]) + n137, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n136 + i += n137 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6655,11 +6707,11 @@ func (m *ReplicationControllerList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n137, err := m.ListMeta.MarshalTo(data[i:]) + n138, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n137 + i += n138 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6716,11 +6768,11 @@ func (m *ReplicationControllerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n138, err := m.Template.MarshalTo(data[i:]) + n139, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n138 + i += n139 } data[i] = 0x20 i++ @@ -6799,11 +6851,11 @@ func (m *ResourceFieldSelector) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Divisor.Size())) - n139, err := m.Divisor.MarshalTo(data[i:]) + n140, err := m.Divisor.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n139 + i += n140 return i, nil } @@ -6825,27 +6877,27 @@ func (m *ResourceQuota) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n140, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n140 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n141, err := m.Spec.MarshalTo(data[i:]) + n141, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n141 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n142, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n142, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n142 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n143, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n143 return i, nil } @@ -6867,11 +6919,11 @@ func (m *ResourceQuotaList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n143, err := m.ListMeta.MarshalTo(data[i:]) + n144, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n143 + i += n144 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6917,11 +6969,11 @@ func (m *ResourceQuotaSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n144, err := (&v).MarshalTo(data[i:]) + n145, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n144 + i += n145 } } if len(m.Scopes) > 0 { @@ -6972,11 +7024,11 @@ func (m *ResourceQuotaStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n145, err := (&v).MarshalTo(data[i:]) + n146, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n145 + i += n146 } } if len(m.Used) > 0 { @@ -6994,11 +7046,11 @@ func (m *ResourceQuotaStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n146, err := (&v).MarshalTo(data[i:]) + n147, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n146 + i += n147 } } return i, nil @@ -7034,11 +7086,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n147, err := (&v).MarshalTo(data[i:]) + n148, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n147 + i += n148 } } if len(m.Requests) > 0 { @@ -7056,11 +7108,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n148, err := (&v).MarshalTo(data[i:]) + n149, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n148 + i += n149 } } return i, nil @@ -7118,11 +7170,11 @@ func (m *Secret) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n149, err := m.ObjectMeta.MarshalTo(data[i:]) + n150, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n149 + i += n150 if len(m.Data) > 0 { for k := range m.Data { data[i] = 0x12 @@ -7182,11 +7234,11 @@ func (m *SecretKeySelector) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n150, err := m.LocalObjectReference.MarshalTo(data[i:]) + n151, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n150 + i += n151 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) @@ -7212,11 +7264,11 @@ func (m *SecretList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n151, err := m.ListMeta.MarshalTo(data[i:]) + n152, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n151 + i += n152 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7290,11 +7342,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Capabilities.Size())) - n152, err := m.Capabilities.MarshalTo(data[i:]) + n153, err := m.Capabilities.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n152 + i += n153 } if m.Privileged != nil { data[i] = 0x10 @@ -7310,11 +7362,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n153, err := m.SELinuxOptions.MarshalTo(data[i:]) + n154, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n153 + i += n154 } if m.RunAsUser != nil { data[i] = 0x20 @@ -7362,11 +7414,11 @@ func (m *SerializedReference) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Reference.Size())) - n154, err := m.Reference.MarshalTo(data[i:]) + n155, err := m.Reference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n154 + i += n155 return i, nil } @@ -7388,27 +7440,27 @@ func (m *Service) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n155, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n155 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n156, err := m.Spec.MarshalTo(data[i:]) + n156, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n156 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n157, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n157, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n157 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n158, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n158 return i, nil } @@ -7430,11 +7482,11 @@ func (m *ServiceAccount) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n158, err := m.ObjectMeta.MarshalTo(data[i:]) + n159, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n158 + i += n159 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { data[i] = 0x12 @@ -7480,11 +7532,11 @@ func (m *ServiceAccountList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n159, err := m.ListMeta.MarshalTo(data[i:]) + n160, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n159 + i += n160 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7518,11 +7570,11 @@ func (m *ServiceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n160, err := m.ListMeta.MarshalTo(data[i:]) + n161, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n160 + i += n161 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7567,11 +7619,11 @@ func (m *ServicePort) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.TargetPort.Size())) - n161, err := m.TargetPort.MarshalTo(data[i:]) + n162, err := m.TargetPort.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n161 + i += n162 data[i] = 0x28 i++ i = encodeVarintGenerated(data, i, uint64(m.NodePort)) @@ -7730,11 +7782,37 @@ func (m *ServiceStatus) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LoadBalancer.Size())) - n162, err := m.LoadBalancer.MarshalTo(data[i:]) + n163, err := m.LoadBalancer.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n162 + i += n163 + return i, nil +} + +func (m *Sysctl) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *Sysctl) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Name))) + i += copy(data[i:], m.Name) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Value))) + i += copy(data[i:], m.Value) return i, nil } @@ -7756,11 +7834,11 @@ func (m *TCPSocketAction) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n163, err := m.Port.MarshalTo(data[i:]) + n164, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n163 + i += n164 return i, nil } @@ -7850,11 +7928,11 @@ func (m *Volume) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.VolumeSource.Size())) - n164, err := m.VolumeSource.MarshalTo(data[i:]) + n165, err := m.VolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n164 + i += n165 return i, nil } @@ -7915,163 +7993,163 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n165, err := m.HostPath.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n165 - } - if m.EmptyDir != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) - n166, err := m.EmptyDir.MarshalTo(data[i:]) + n166, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } i += n166 } - if m.GCEPersistentDisk != nil { - data[i] = 0x1a + if m.EmptyDir != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n167, err := m.GCEPersistentDisk.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) + n167, err := m.EmptyDir.MarshalTo(data[i:]) if err != nil { return 0, err } i += n167 } - if m.AWSElasticBlockStore != nil { - data[i] = 0x22 + if m.GCEPersistentDisk != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n168, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) + n168, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } i += n168 } - if m.GitRepo != nil { - data[i] = 0x2a + if m.AWSElasticBlockStore != nil { + data[i] = 0x22 i++ - i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) - n169, err := m.GitRepo.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) + n169, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } i += n169 } - if m.Secret != nil { - data[i] = 0x32 + if m.GitRepo != nil { + data[i] = 0x2a i++ - i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) - n170, err := m.Secret.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) + n170, err := m.GitRepo.MarshalTo(data[i:]) if err != nil { return 0, err } i += n170 } - if m.NFS != nil { - data[i] = 0x3a + if m.Secret != nil { + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n171, err := m.NFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) + n171, err := m.Secret.MarshalTo(data[i:]) if err != nil { return 0, err } i += n171 } - if m.ISCSI != nil { - data[i] = 0x42 + if m.NFS != nil { + data[i] = 0x3a i++ - i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n172, err := m.ISCSI.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) + n172, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n172 } - if m.Glusterfs != nil { - data[i] = 0x4a + if m.ISCSI != nil { + data[i] = 0x42 i++ - i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n173, err := m.Glusterfs.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) + n173, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } i += n173 } - if m.PersistentVolumeClaim != nil { - data[i] = 0x52 + if m.Glusterfs != nil { + data[i] = 0x4a i++ - i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) - n174, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) + n174, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } i += n174 } - if m.RBD != nil { - data[i] = 0x5a + if m.PersistentVolumeClaim != nil { + data[i] = 0x52 i++ - i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n175, err := m.RBD.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) + n175, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) if err != nil { return 0, err } i += n175 } - if m.FlexVolume != nil { - data[i] = 0x62 + if m.RBD != nil { + data[i] = 0x5a i++ - i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n176, err := m.FlexVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) + n176, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } i += n176 } - if m.Cinder != nil { - data[i] = 0x6a + if m.FlexVolume != nil { + data[i] = 0x62 i++ - i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n177, err := m.Cinder.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) + n177, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n177 } - if m.CephFS != nil { - data[i] = 0x72 + if m.Cinder != nil { + data[i] = 0x6a i++ - i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n178, err := m.CephFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) + n178, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } i += n178 } - if m.Flocker != nil { - data[i] = 0x7a + if m.CephFS != nil { + data[i] = 0x72 i++ - i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n179, err := m.Flocker.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) + n179, err := m.CephFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n179 } + if m.Flocker != nil { + data[i] = 0x7a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) + n180, err := m.Flocker.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n180 + } if m.DownwardAPI != nil { data[i] = 0x82 i++ data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.DownwardAPI.Size())) - n180, err := m.DownwardAPI.MarshalTo(data[i:]) + n181, err := m.DownwardAPI.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n180 + i += n181 } if m.FC != nil { data[i] = 0x8a @@ -8079,11 +8157,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n181, err := m.FC.MarshalTo(data[i:]) + n182, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n181 + i += n182 } if m.AzureFile != nil { data[i] = 0x92 @@ -8091,11 +8169,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n182, err := m.AzureFile.MarshalTo(data[i:]) + n183, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n182 + i += n183 } if m.ConfigMap != nil { data[i] = 0x9a @@ -8103,11 +8181,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMap.Size())) - n183, err := m.ConfigMap.MarshalTo(data[i:]) + n184, err := m.ConfigMap.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n183 + i += n184 } if m.VsphereVolume != nil { data[i] = 0xa2 @@ -8115,11 +8193,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n184, err := m.VsphereVolume.MarshalTo(data[i:]) + n185, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n184 + i += n185 } if m.Quobyte != nil { data[i] = 0xaa @@ -8127,11 +8205,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n185, err := m.Quobyte.MarshalTo(data[i:]) + n186, err := m.Quobyte.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n185 + i += n186 } if m.AzureDisk != nil { data[i] = 0xb2 @@ -8139,11 +8217,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n186, err := m.AzureDisk.MarshalTo(data[i:]) + n187, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n186 + i += n187 } if m.PhotonPersistentDisk != nil { data[i] = 0xba @@ -8151,11 +8229,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n187, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n188, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n187 + i += n188 } return i, nil } @@ -8207,11 +8285,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PodAffinityTerm.Size())) - n188, err := m.PodAffinityTerm.MarshalTo(data[i:]) + n189, err := m.PodAffinityTerm.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n188 + i += n189 return i, nil } @@ -9381,6 +9459,21 @@ func (m *NodeProxyOptions) Size() (n int) { return n } +func (m *NodeResources) Size() (n int) { + var l int + _ = l + if len(m.Capacity) > 0 { + for k, v := range m.Capacity { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + func (m *NodeSelector) Size() (n int) { var l int _ = l @@ -10726,6 +10819,16 @@ func (m *ServiceStatus) Size() (n int) { return n } +func (m *Sysctl) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Value) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *TCPSocketAction) Size() (n int) { var l int _ = l @@ -11901,6 +12004,26 @@ func (this *NodeProxyOptions) String() string { }, "") return s } +func (this *NodeResources) String() string { + if this == nil { + return "nil" + } + keysForCapacity := make([]string, 0, len(this.Capacity)) + for k := range this.Capacity { + keysForCapacity = append(keysForCapacity, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForCapacity) + mapStringForCapacity := "ResourceList{" + for _, k := range keysForCapacity { + mapStringForCapacity += fmt.Sprintf("%v: %v,", k, this.Capacity[ResourceName(k)]) + } + mapStringForCapacity += "}" + s := strings.Join([]string{`&NodeResources{`, + `Capacity:` + mapStringForCapacity + `,`, + `}`, + }, "") + return s +} func (this *NodeSelector) String() string { if this == nil { return "nil" @@ -13002,6 +13125,17 @@ func (this *ServiceStatus) String() string { }, "") return s } +func (this *Sysctl) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Sysctl{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `}`, + }, "") + return s +} func (this *TCPSocketAction) String() string { if this == nil { return "nil" @@ -24151,6 +24285,172 @@ func (m *NodeProxyOptions) Unmarshal(data []byte) error { } return nil } +func (m *NodeResources) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NodeResources: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeResources: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Capacity", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := ResourceName(data[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + if m.Capacity == nil { + m.Capacity = make(ResourceList) + } + m.Capacity[ResourceName(mapkey)] = *mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *NodeSelector) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -37382,6 +37682,114 @@ func (m *ServiceStatus) Unmarshal(data []byte) error { } return nil } +func (m *Sysctl) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Sysctl: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Sysctl: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *TCPSocketAction) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -39153,631 +39561,635 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10015 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x25, 0xd7, - 0x75, 0x98, 0xe7, 0x3d, 0x7e, 0xbd, 0xc3, 0xcf, 0xbd, 0xfb, 0x21, 0x8a, 0x91, 0x96, 0xeb, 0x91, - 0xb5, 0x5e, 0x49, 0x2b, 0xae, 0x77, 0x25, 0x45, 0xb2, 0xa5, 0xca, 0x26, 0xf9, 0xc8, 0x5d, 0x7a, - 0x97, 0xbb, 0x4f, 0xf7, 0x71, 0xb5, 0xb2, 0xad, 0x4a, 0x1e, 0xbe, 0xb9, 0x24, 0xc7, 0x3b, 0x9c, - 0x79, 0x9a, 0x99, 0xc7, 0x5d, 0xda, 0x0d, 0x90, 0x3a, 0x6a, 0x8a, 0x22, 0x46, 0xea, 0xa2, 0x35, - 0x5a, 0xa0, 0x2d, 0xea, 0x16, 0x68, 0x91, 0x36, 0x68, 0x1a, 0xa7, 0x6e, 0x62, 0xb7, 0x86, 0x51, - 0xa0, 0xa9, 0xe1, 0x7e, 0xa4, 0x70, 0x80, 0xa0, 0x09, 0x12, 0x80, 0x8d, 0x18, 0x14, 0xfd, 0xd1, - 0x1f, 0x2d, 0xd0, 0x5f, 0x25, 0x82, 0xb6, 0xb8, 0x9f, 0x73, 0xef, 0xbc, 0x79, 0x9c, 0x79, 0xd4, - 0x92, 0x51, 0x82, 0xfe, 0x7b, 0xef, 0x9c, 0x73, 0xcf, 0xfd, 0x98, 0x73, 0xcf, 0x3d, 0xf7, 0xdc, - 0x73, 0xcf, 0x85, 0xcb, 0xf7, 0x5f, 0x89, 0xe7, 0xbc, 0xf0, 0xca, 0xfd, 0xce, 0x3a, 0x89, 0x02, - 0x92, 0x90, 0xf8, 0x4a, 0xfb, 0xfe, 0xe6, 0x15, 0xa7, 0xed, 0x5d, 0xd9, 0xb9, 0x7a, 0x65, 0x93, - 0x04, 0x24, 0x72, 0x12, 0xe2, 0xce, 0xb5, 0xa3, 0x30, 0x09, 0xd1, 0x13, 0x9c, 0x7a, 0x2e, 0xa5, - 0x9e, 0x6b, 0xdf, 0xdf, 0x9c, 0x73, 0xda, 0xde, 0xdc, 0xce, 0xd5, 0x99, 0xe7, 0x37, 0xbd, 0x64, - 0xab, 0xb3, 0x3e, 0xd7, 0x0a, 0xb7, 0xaf, 0x6c, 0x86, 0x9b, 0xe1, 0x15, 0x56, 0x68, 0xbd, 0xb3, - 0xc1, 0xfe, 0xb1, 0x3f, 0xec, 0x17, 0x67, 0x36, 0x73, 0xad, 0x77, 0xd5, 0x11, 0x89, 0xc3, 0x4e, - 0xd4, 0x22, 0xd9, 0x06, 0xcc, 0xbc, 0xd4, 0xbb, 0x4c, 0x27, 0xd8, 0x21, 0x51, 0xec, 0x85, 0x01, - 0x71, 0xbb, 0x8a, 0x3d, 0x9f, 0x5f, 0x2c, 0xea, 0x04, 0x89, 0xb7, 0xdd, 0x5d, 0xcb, 0xd5, 0x7c, - 0xf2, 0x4e, 0xe2, 0xf9, 0x57, 0xbc, 0x20, 0x89, 0x93, 0x28, 0x5b, 0xc4, 0xfe, 0x5d, 0x0b, 0x2e, - 0xcc, 0xdf, 0x6b, 0x2e, 0xf9, 0x4e, 0x9c, 0x78, 0xad, 0x05, 0x3f, 0x6c, 0xdd, 0x6f, 0x26, 0x61, - 0x44, 0xde, 0x0c, 0xfd, 0xce, 0x36, 0x69, 0xb2, 0xde, 0xa0, 0xcb, 0x30, 0xb2, 0xc3, 0xfe, 0xaf, - 0xd4, 0xa7, 0xad, 0x0b, 0xd6, 0xa5, 0xda, 0xc2, 0xd4, 0x8f, 0xf7, 0x66, 0x3f, 0xb6, 0xbf, 0x37, - 0x3b, 0xf2, 0xa6, 0x80, 0x63, 0x45, 0x81, 0x2e, 0xc2, 0xd0, 0x46, 0xbc, 0xb6, 0xdb, 0x26, 0xd3, - 0x15, 0x46, 0x3b, 0x21, 0x68, 0x87, 0x96, 0x9b, 0x14, 0x8a, 0x05, 0x16, 0x5d, 0x81, 0x5a, 0xdb, - 0x89, 0x12, 0x2f, 0xf1, 0xc2, 0x60, 0xba, 0x7a, 0xc1, 0xba, 0x34, 0xb8, 0x70, 0x4a, 0x90, 0xd6, - 0x1a, 0x12, 0x81, 0x53, 0x1a, 0xda, 0x8c, 0x88, 0x38, 0xee, 0x9d, 0xc0, 0xdf, 0x9d, 0x1e, 0xb8, - 0x60, 0x5d, 0x1a, 0x49, 0x9b, 0x81, 0x05, 0x1c, 0x2b, 0x0a, 0xfb, 0x7b, 0x15, 0x18, 0x99, 0xdf, - 0xd8, 0xf0, 0x02, 0x2f, 0xd9, 0x45, 0x5f, 0x86, 0xb1, 0x20, 0x74, 0x89, 0xfc, 0xcf, 0x7a, 0x31, - 0x7a, 0xed, 0xd9, 0xb9, 0xc3, 0xe4, 0x62, 0xee, 0xb6, 0x56, 0x62, 0x61, 0x6a, 0x7f, 0x6f, 0x76, - 0x4c, 0x87, 0x60, 0x83, 0x23, 0x7a, 0x1b, 0x46, 0xdb, 0xa1, 0xab, 0x2a, 0xa8, 0xb0, 0x0a, 0x9e, - 0x39, 0xbc, 0x82, 0x46, 0x5a, 0x60, 0x61, 0x72, 0x7f, 0x6f, 0x76, 0x54, 0x03, 0x60, 0x9d, 0x1d, - 0xf2, 0x61, 0x92, 0xfe, 0x0d, 0x12, 0x4f, 0xd5, 0x50, 0x65, 0x35, 0x3c, 0x5f, 0x5c, 0x83, 0x56, - 0x68, 0xe1, 0xf4, 0xfe, 0xde, 0xec, 0x64, 0x06, 0x88, 0xb3, 0xac, 0xed, 0xaf, 0xc2, 0xc4, 0x7c, - 0x92, 0x38, 0xad, 0x2d, 0xe2, 0xf2, 0xef, 0x8b, 0x5e, 0x84, 0x81, 0xc0, 0xd9, 0x26, 0xe2, 0xeb, - 0x5f, 0x10, 0xc3, 0x3e, 0x70, 0xdb, 0xd9, 0x26, 0x07, 0x7b, 0xb3, 0x53, 0x77, 0x03, 0xef, 0xbd, - 0x8e, 0x90, 0x19, 0x0a, 0xc3, 0x8c, 0x1a, 0x5d, 0x03, 0x70, 0xc9, 0x8e, 0xd7, 0x22, 0x0d, 0x27, - 0xd9, 0x12, 0xd2, 0x80, 0x44, 0x59, 0xa8, 0x2b, 0x0c, 0xd6, 0xa8, 0xec, 0xaf, 0x5b, 0x50, 0x9b, - 0xdf, 0x09, 0x3d, 0xb7, 0x11, 0xba, 0x31, 0xea, 0xc0, 0x64, 0x3b, 0x22, 0x1b, 0x24, 0x52, 0xa0, - 0x69, 0xeb, 0x42, 0xf5, 0xd2, 0xe8, 0xb5, 0x6b, 0x05, 0xfd, 0x36, 0x0b, 0x2d, 0x05, 0x49, 0xb4, - 0xbb, 0xf0, 0x98, 0xa8, 0x7a, 0x32, 0x83, 0xc5, 0xd9, 0x3a, 0xec, 0xbf, 0x56, 0x81, 0xb3, 0xf3, - 0x5f, 0xed, 0x44, 0xa4, 0xee, 0xc5, 0xf7, 0xb3, 0x53, 0xc1, 0xf5, 0xe2, 0xfb, 0xb7, 0xd3, 0xc1, - 0x50, 0x32, 0x58, 0x17, 0x70, 0xac, 0x28, 0xd0, 0xf3, 0x30, 0x4c, 0x7f, 0xdf, 0xc5, 0x2b, 0xa2, - 0xf7, 0xa7, 0x05, 0xf1, 0x68, 0xdd, 0x49, 0x9c, 0x3a, 0x47, 0x61, 0x49, 0x83, 0x56, 0x61, 0xb4, - 0xe5, 0xb4, 0xb6, 0xbc, 0x60, 0x73, 0x35, 0x74, 0x09, 0xfb, 0xc2, 0xb5, 0x85, 0xe7, 0x28, 0xf9, - 0x62, 0x0a, 0x3e, 0xd8, 0x9b, 0x9d, 0xe6, 0x6d, 0x13, 0x2c, 0x34, 0x1c, 0xd6, 0xcb, 0x23, 0x5b, - 0x4d, 0xc4, 0x01, 0xc6, 0x09, 0x72, 0x26, 0xe1, 0x25, 0x6d, 0x4e, 0x0d, 0xb2, 0x39, 0x35, 0xd6, - 0x63, 0x3e, 0xfd, 0x13, 0x4b, 0x8c, 0xc9, 0xb2, 0xe7, 0x9b, 0xea, 0xe1, 0x1a, 0x40, 0x4c, 0x5a, - 0x11, 0x49, 0xb4, 0x51, 0x51, 0x9f, 0xb9, 0xa9, 0x30, 0x58, 0xa3, 0xa2, 0x93, 0x3f, 0xde, 0x72, - 0x22, 0x26, 0x2d, 0x62, 0x6c, 0xd4, 0xe4, 0x6f, 0x4a, 0x04, 0x4e, 0x69, 0x8c, 0xc9, 0x5f, 0x2d, - 0x9c, 0xfc, 0xff, 0xd2, 0x82, 0xe1, 0x05, 0x2f, 0x70, 0xbd, 0x60, 0x13, 0xbd, 0x05, 0x23, 0xdb, - 0x24, 0x71, 0x5c, 0x27, 0x71, 0xc4, 0xbc, 0xbf, 0x74, 0xb8, 0xf0, 0xdc, 0x59, 0xff, 0x0a, 0x69, - 0x25, 0xab, 0x24, 0x71, 0xd2, 0x6e, 0xa4, 0x30, 0xac, 0xb8, 0xa1, 0xbb, 0x30, 0x94, 0x38, 0xd1, - 0x26, 0x49, 0xc4, 0x74, 0x7f, 0xbe, 0x0c, 0x5f, 0x4c, 0x45, 0x8d, 0x04, 0x2d, 0x92, 0x2a, 0xc6, - 0x35, 0xc6, 0x04, 0x0b, 0x66, 0x76, 0x0b, 0xc6, 0x16, 0x9d, 0xb6, 0xb3, 0xee, 0xf9, 0x5e, 0xe2, - 0x91, 0x18, 0x7d, 0x12, 0xaa, 0x8e, 0xeb, 0x32, 0xc1, 0xaf, 0x2d, 0x9c, 0xdd, 0xdf, 0x9b, 0xad, - 0xce, 0xbb, 0xee, 0xc1, 0xde, 0x2c, 0x28, 0xaa, 0x5d, 0x4c, 0x29, 0xd0, 0xb3, 0x30, 0xe0, 0x46, - 0x61, 0x7b, 0xba, 0xc2, 0x28, 0xcf, 0xd1, 0x19, 0x5a, 0x8f, 0xc2, 0x76, 0x86, 0x94, 0xd1, 0xd8, - 0xff, 0xb6, 0x02, 0x68, 0x91, 0xb4, 0xb7, 0x96, 0x9b, 0xc6, 0xb7, 0xbc, 0x04, 0x23, 0xdb, 0x61, - 0xe0, 0x25, 0x61, 0x14, 0x8b, 0x0a, 0x99, 0x3c, 0xac, 0x0a, 0x18, 0x56, 0x58, 0x74, 0x01, 0x06, - 0xda, 0xe9, 0xb4, 0x1e, 0x93, 0x2a, 0x81, 0x4d, 0x68, 0x86, 0xa1, 0x14, 0x9d, 0x98, 0x44, 0x42, - 0x8e, 0x15, 0xc5, 0xdd, 0x98, 0x44, 0x98, 0x61, 0x52, 0xc9, 0xa1, 0x32, 0x25, 0xa4, 0x34, 0x23, - 0x39, 0x14, 0x83, 0x35, 0x2a, 0xf4, 0x2e, 0xd4, 0xf8, 0x3f, 0x4c, 0x36, 0x98, 0xc8, 0x16, 0x2a, - 0x83, 0x5b, 0x61, 0xcb, 0xf1, 0xb3, 0x83, 0x3f, 0xce, 0x24, 0x4d, 0x32, 0xc2, 0x29, 0x4f, 0x43, - 0xd2, 0x86, 0x0a, 0x25, 0xed, 0x6f, 0x59, 0x80, 0x16, 0xbd, 0xc0, 0x25, 0xd1, 0x09, 0x2c, 0x99, - 0xfd, 0x4d, 0x82, 0x3f, 0xa0, 0x4d, 0x0b, 0xb7, 0xdb, 0x61, 0x40, 0x82, 0x64, 0x31, 0x0c, 0x5c, - 0xbe, 0x8c, 0x7e, 0x06, 0x06, 0x12, 0x5a, 0x15, 0x6f, 0xd6, 0x45, 0xf9, 0x59, 0x68, 0x05, 0x07, - 0x7b, 0xb3, 0xe7, 0xba, 0x4b, 0xb0, 0x26, 0xb0, 0x32, 0xe8, 0xd3, 0x30, 0x14, 0x27, 0x4e, 0xd2, - 0x89, 0x45, 0x43, 0x3f, 0x2e, 0x1b, 0xda, 0x64, 0xd0, 0x83, 0xbd, 0xd9, 0x49, 0x55, 0x8c, 0x83, - 0xb0, 0x28, 0x80, 0x9e, 0x81, 0xe1, 0x6d, 0x12, 0xc7, 0xce, 0xa6, 0x54, 0x6c, 0x93, 0xa2, 0xec, - 0xf0, 0x2a, 0x07, 0x63, 0x89, 0x47, 0x4f, 0xc1, 0x20, 0x89, 0xa2, 0x30, 0x12, 0x12, 0x31, 0x2e, - 0x08, 0x07, 0x97, 0x28, 0x10, 0x73, 0x9c, 0xfd, 0xdb, 0x16, 0x4c, 0xaa, 0xb6, 0xf2, 0xba, 0x8e, - 0x71, 0xaa, 0xbb, 0x00, 0x2d, 0xd9, 0xb1, 0x98, 0x4d, 0xb0, 0xd1, 0x6b, 0x9f, 0x3a, 0x9c, 0x77, - 0xf7, 0x40, 0xa6, 0x75, 0x28, 0x50, 0x8c, 0x35, 0xbe, 0xf6, 0x8f, 0x2d, 0x38, 0x9d, 0xe9, 0xd3, - 0x2d, 0x2f, 0x4e, 0xd0, 0x9f, 0xef, 0xea, 0xd7, 0x95, 0x43, 0xea, 0xd6, 0x2c, 0xca, 0x39, 0x5a, - 0x9c, 0x75, 0x4f, 0x09, 0x8a, 0x84, 0x68, 0x9d, 0xc3, 0x30, 0xe8, 0x25, 0x64, 0x5b, 0xf6, 0xeb, - 0xf9, 0x92, 0xfd, 0xe2, 0x0d, 0x4c, 0x3f, 0xcf, 0x0a, 0xe5, 0x81, 0x39, 0x2b, 0xfb, 0x7f, 0x59, - 0x50, 0x5b, 0x0c, 0x83, 0x0d, 0x6f, 0x73, 0xd5, 0x69, 0x1f, 0xe3, 0x87, 0x69, 0xc2, 0x00, 0xe3, - 0xca, 0x9b, 0x7e, 0xb5, 0xa8, 0xe9, 0xa2, 0x41, 0x73, 0x74, 0xf1, 0xe4, 0x56, 0x81, 0xd2, 0x4b, - 0x14, 0x84, 0x19, 0xb3, 0x99, 0x97, 0xa1, 0xa6, 0x08, 0xd0, 0x14, 0x54, 0xef, 0x13, 0x6e, 0x32, - 0xd6, 0x30, 0xfd, 0x89, 0xce, 0xc0, 0xe0, 0x8e, 0xe3, 0x77, 0xc4, 0x6c, 0xc5, 0xfc, 0xcf, 0x67, - 0x2a, 0xaf, 0x58, 0xf6, 0x0f, 0x2c, 0x38, 0xa3, 0x2a, 0xb9, 0x49, 0x76, 0x9b, 0xc4, 0x27, 0xad, - 0x24, 0x8c, 0xd0, 0xfb, 0x16, 0x9c, 0xf1, 0x73, 0xf4, 0x90, 0x18, 0x8d, 0xa3, 0x68, 0xb0, 0x27, - 0x44, 0xc3, 0xcf, 0xe4, 0x61, 0x71, 0x6e, 0x6d, 0xe8, 0x49, 0xde, 0x17, 0x3e, 0x79, 0x47, 0x05, - 0x83, 0xea, 0x4d, 0xb2, 0xcb, 0x3a, 0x46, 0x9b, 0x3f, 0xae, 0x9a, 0x7f, 0x12, 0x92, 0x77, 0xcb, - 0x94, 0xbc, 0x4f, 0x96, 0xfc, 0x7c, 0x3d, 0x64, 0xee, 0xef, 0x55, 0xe0, 0xac, 0xa2, 0x31, 0xd4, - 0xf1, 0x47, 0x64, 0xf8, 0xfb, 0xeb, 0xee, 0x4d, 0xb2, 0xbb, 0x16, 0xd2, 0xf5, 0x34, 0xbf, 0xbb, - 0xe8, 0x2a, 0x8c, 0xba, 0x64, 0xc3, 0xe9, 0xf8, 0x89, 0x32, 0x17, 0x07, 0xf9, 0x3e, 0xa2, 0x9e, - 0x82, 0xb1, 0x4e, 0x63, 0xff, 0x56, 0x8d, 0xcd, 0xca, 0xc4, 0xf1, 0x02, 0x12, 0xd1, 0x05, 0x5a, - 0xb3, 0xea, 0xc7, 0x74, 0xab, 0x5e, 0x58, 0xf0, 0x4f, 0xc1, 0xa0, 0xb7, 0x4d, 0x55, 0x76, 0xc5, - 0xd4, 0xc4, 0x2b, 0x14, 0x88, 0x39, 0x0e, 0x3d, 0x0d, 0xc3, 0xad, 0x70, 0x7b, 0xdb, 0x09, 0xdc, - 0xe9, 0x2a, 0x33, 0x19, 0x46, 0xa9, 0x56, 0x5f, 0xe4, 0x20, 0x2c, 0x71, 0xe8, 0x09, 0x18, 0x70, - 0xa2, 0xcd, 0x78, 0x7a, 0x80, 0xd1, 0x8c, 0xd0, 0x9a, 0xe6, 0xa3, 0xcd, 0x18, 0x33, 0x28, 0x35, - 0x05, 0x1e, 0x84, 0xd1, 0x7d, 0x2f, 0xd8, 0xac, 0x7b, 0x11, 0x5b, 0xd7, 0x35, 0x53, 0xe0, 0x9e, - 0xc2, 0x60, 0x8d, 0x0a, 0x35, 0x60, 0xb0, 0x1d, 0x46, 0x49, 0x3c, 0x3d, 0xc4, 0x86, 0xf3, 0xb9, - 0x42, 0xe9, 0xe1, 0xfd, 0x6e, 0x84, 0x51, 0x92, 0x76, 0x85, 0xfe, 0x8b, 0x31, 0x67, 0x84, 0x16, - 0xa1, 0x4a, 0x82, 0x9d, 0xe9, 0x61, 0xc6, 0xef, 0x13, 0x87, 0xf3, 0x5b, 0x0a, 0x76, 0xde, 0x74, - 0xa2, 0x74, 0x16, 0x2d, 0x05, 0x3b, 0x98, 0x96, 0x46, 0x2d, 0xa8, 0x49, 0x47, 0x40, 0x3c, 0x3d, - 0x52, 0x46, 0xc0, 0xb0, 0x20, 0xc7, 0xe4, 0xbd, 0x8e, 0x17, 0x91, 0x6d, 0x12, 0x24, 0x71, 0x6a, - 0x0f, 0x4b, 0x6c, 0x8c, 0x53, 0xbe, 0xa8, 0x05, 0x63, 0xdc, 0x7c, 0x58, 0x0d, 0x3b, 0x41, 0x12, - 0x4f, 0xd7, 0x58, 0x93, 0x0b, 0x36, 0x9c, 0x6f, 0xa6, 0x25, 0x16, 0xce, 0x08, 0xf6, 0x63, 0x1a, - 0x30, 0xc6, 0x06, 0x53, 0xf4, 0x36, 0x8c, 0xfb, 0xde, 0x0e, 0x09, 0x48, 0x1c, 0x37, 0xa2, 0x70, - 0x9d, 0x4c, 0x03, 0xeb, 0xcd, 0x53, 0x45, 0x9b, 0xaf, 0x70, 0x9d, 0x2c, 0x9c, 0xda, 0xdf, 0x9b, - 0x1d, 0xbf, 0xa5, 0x97, 0xc6, 0x26, 0x33, 0xf4, 0x2e, 0x4c, 0x50, 0x5b, 0xc5, 0x4b, 0xd9, 0x8f, - 0x96, 0x67, 0x8f, 0xf6, 0xf7, 0x66, 0x27, 0xb0, 0x51, 0x1c, 0x67, 0xd8, 0xa1, 0x35, 0xa8, 0xf9, - 0xde, 0x06, 0x69, 0xed, 0xb6, 0x7c, 0x32, 0x3d, 0xc6, 0x78, 0x17, 0x4c, 0xb9, 0x5b, 0x92, 0x9c, - 0xdb, 0x87, 0xea, 0x2f, 0x4e, 0x19, 0xa1, 0x37, 0xe1, 0x5c, 0x42, 0xa2, 0x6d, 0x2f, 0x70, 0xe8, - 0xa2, 0x2d, 0x8c, 0x17, 0xb6, 0xc3, 0x1d, 0x67, 0x52, 0x7b, 0x5e, 0x0c, 0xec, 0xb9, 0xb5, 0x5c, - 0x2a, 0xdc, 0xa3, 0x34, 0xba, 0x03, 0x93, 0x6c, 0x3e, 0x35, 0x3a, 0xbe, 0xdf, 0x08, 0x7d, 0xaf, - 0xb5, 0x3b, 0x3d, 0xc1, 0x18, 0x3e, 0x2d, 0xf7, 0xad, 0x2b, 0x26, 0x9a, 0xda, 0xf5, 0xe9, 0x3f, - 0x9c, 0x2d, 0x8d, 0x7c, 0x98, 0x8c, 0x49, 0xab, 0x13, 0x79, 0xc9, 0x2e, 0x95, 0x7d, 0xf2, 0x30, - 0x99, 0x9e, 0x2c, 0xb3, 0x4f, 0x69, 0x9a, 0x85, 0xb8, 0xd3, 0x20, 0x03, 0xc4, 0x59, 0xd6, 0x54, - 0x55, 0xc4, 0x89, 0xeb, 0x05, 0xd3, 0x53, 0xcc, 0x30, 0x55, 0xf3, 0xab, 0x49, 0x81, 0x98, 0xe3, - 0xd8, 0xb6, 0x8f, 0xfe, 0xb8, 0x43, 0x75, 0xef, 0x29, 0x46, 0x98, 0x6e, 0xfb, 0x24, 0x02, 0xa7, - 0x34, 0x74, 0xc1, 0x4a, 0x92, 0xdd, 0x69, 0xc4, 0x48, 0xd5, 0x54, 0x5b, 0x5b, 0xfb, 0x02, 0xa6, - 0x70, 0x7b, 0x1d, 0x26, 0xd4, 0xb4, 0x66, 0xa3, 0x83, 0x66, 0x61, 0x90, 0x6a, 0x2e, 0xb9, 0x7b, - 0xa9, 0xd1, 0x26, 0x50, 0x85, 0x16, 0x63, 0x0e, 0x67, 0x4d, 0xf0, 0xbe, 0x4a, 0x16, 0x76, 0x13, - 0xc2, 0xad, 0xd8, 0xaa, 0xd6, 0x04, 0x89, 0xc0, 0x29, 0x8d, 0xfd, 0x7f, 0xf8, 0xa2, 0x98, 0xea, - 0x8e, 0x12, 0x7a, 0xf3, 0x32, 0x8c, 0x6c, 0x85, 0x71, 0x42, 0xa9, 0x59, 0x1d, 0x83, 0xe9, 0x2a, - 0x78, 0x43, 0xc0, 0xb1, 0xa2, 0x40, 0xaf, 0xc2, 0x78, 0x4b, 0xaf, 0x40, 0xa8, 0xf2, 0xb3, 0xa2, - 0x88, 0x59, 0x3b, 0x36, 0x69, 0xd1, 0x2b, 0x30, 0xc2, 0x5c, 0x79, 0xad, 0xd0, 0x17, 0xf6, 0xb2, - 0x5c, 0x99, 0x46, 0x1a, 0x02, 0x7e, 0xa0, 0xfd, 0xc6, 0x8a, 0x9a, 0xee, 0x3a, 0x68, 0x13, 0x56, - 0x1a, 0x42, 0xdd, 0xaa, 0x5d, 0xc7, 0x0d, 0x06, 0xc5, 0x02, 0x6b, 0xff, 0x6a, 0x45, 0x1b, 0x65, - 0x6a, 0xf4, 0x11, 0xf4, 0x45, 0x18, 0x7e, 0xe0, 0x78, 0x89, 0x17, 0x6c, 0x8a, 0x15, 0xf4, 0x85, - 0x92, 0xba, 0x97, 0x15, 0xbf, 0xc7, 0x8b, 0xf2, 0x75, 0x42, 0xfc, 0xc1, 0x92, 0x21, 0xe5, 0x1d, - 0x75, 0x82, 0x80, 0xf2, 0xae, 0xf4, 0xcf, 0x1b, 0xf3, 0xa2, 0x9c, 0xb7, 0xf8, 0x83, 0x25, 0x43, - 0xb4, 0x01, 0x20, 0x67, 0x1f, 0x71, 0x85, 0x0b, 0xed, 0xa7, 0xfb, 0x61, 0xbf, 0xa6, 0x4a, 0x2f, - 0x4c, 0xd0, 0x95, 0x29, 0xfd, 0x8f, 0x35, 0xce, 0x76, 0x87, 0x19, 0x22, 0xdd, 0xcd, 0x42, 0x6f, - 0xd3, 0x09, 0xe0, 0x44, 0x09, 0x71, 0xe7, 0x13, 0x31, 0x74, 0xcf, 0x95, 0x34, 0xa8, 0xd6, 0xbc, - 0x6d, 0xa2, 0xcf, 0x16, 0xc1, 0x05, 0xa7, 0x0c, 0xed, 0xef, 0x57, 0x61, 0xba, 0x57, 0x7b, 0xa9, - 0x4c, 0x92, 0x87, 0x5e, 0xb2, 0x48, 0x6d, 0x05, 0xcb, 0x94, 0xc9, 0x25, 0x01, 0xc7, 0x8a, 0x82, - 0x0a, 0x47, 0xec, 0x6d, 0x06, 0x8e, 0x2f, 0xe4, 0x57, 0x09, 0x47, 0x93, 0x41, 0xb1, 0xc0, 0x52, - 0xba, 0x88, 0x38, 0xb1, 0x70, 0xe1, 0x6a, 0x42, 0x84, 0x19, 0x14, 0x0b, 0xac, 0xbe, 0xfd, 0x1b, - 0x28, 0xd8, 0xfe, 0x19, 0x63, 0x34, 0xf8, 0x88, 0xc7, 0x08, 0xbd, 0x0b, 0xb0, 0xe1, 0x05, 0x5e, - 0xbc, 0xc5, 0xd8, 0x0f, 0xf5, 0xcf, 0x5e, 0x59, 0x25, 0xcb, 0x8a, 0x0d, 0xd6, 0x58, 0xa2, 0x97, - 0x60, 0x54, 0xcd, 0xd0, 0x95, 0xfa, 0xf4, 0xb0, 0xe9, 0xf8, 0x4b, 0xd5, 0x55, 0x1d, 0xeb, 0x74, - 0xf6, 0x57, 0xb2, 0x22, 0x23, 0x26, 0x86, 0x36, 0xc2, 0x56, 0xd9, 0x11, 0xae, 0x1c, 0x3e, 0xc2, - 0xf6, 0x7f, 0xae, 0xd2, 0xbd, 0xb3, 0x56, 0x59, 0x27, 0x2e, 0xa1, 0xd4, 0xde, 0xa0, 0x1a, 0xde, - 0x49, 0x88, 0x98, 0x96, 0x97, 0xfb, 0x99, 0x37, 0xfa, 0x7a, 0x40, 0xa7, 0x03, 0xe7, 0x84, 0xb6, - 0xa0, 0xe6, 0x3b, 0x31, 0xdb, 0x49, 0x12, 0x31, 0x1d, 0xfb, 0x63, 0x9b, 0x5a, 0xe1, 0x4e, 0x9c, - 0x68, 0x0b, 0x2e, 0xaf, 0x25, 0x65, 0x4e, 0x97, 0x27, 0x6a, 0x1d, 0xc8, 0x93, 0x03, 0xd5, 0x1c, - 0x6a, 0x42, 0xec, 0x62, 0x8e, 0x43, 0xaf, 0xc0, 0x58, 0x44, 0x98, 0xa8, 0x2c, 0x52, 0x03, 0x88, - 0x09, 0xdf, 0x60, 0x6a, 0x29, 0x61, 0x0d, 0x87, 0x0d, 0xca, 0xd4, 0x50, 0x1e, 0x3a, 0xc4, 0x50, - 0x7e, 0x06, 0x86, 0xd9, 0x0f, 0x25, 0x15, 0xea, 0x0b, 0xad, 0x70, 0x30, 0x96, 0xf8, 0xac, 0x10, - 0x8d, 0x94, 0x14, 0xa2, 0x67, 0x61, 0xa2, 0xee, 0x90, 0xed, 0x30, 0x58, 0x0a, 0xdc, 0x76, 0xe8, - 0x05, 0x09, 0x9a, 0x86, 0x01, 0xb6, 0xa4, 0xf0, 0x19, 0x3f, 0x40, 0x39, 0xe0, 0x01, 0x6a, 0xec, - 0xda, 0xff, 0xd7, 0x82, 0xf1, 0x3a, 0xf1, 0x49, 0x42, 0xee, 0xb4, 0x99, 0xfb, 0x01, 0x2d, 0x03, - 0xda, 0x8c, 0x9c, 0x16, 0x69, 0x90, 0xc8, 0x0b, 0xdd, 0x26, 0x69, 0x85, 0x01, 0x73, 0xb8, 0xd3, - 0x35, 0xf2, 0xdc, 0xfe, 0xde, 0x2c, 0xba, 0xde, 0x85, 0xc5, 0x39, 0x25, 0x90, 0x0b, 0xe3, 0xed, - 0x88, 0x18, 0xfe, 0x12, 0xab, 0xd8, 0x3e, 0x6f, 0xe8, 0x45, 0xb8, 0xf9, 0x68, 0x80, 0xb0, 0xc9, - 0x14, 0x7d, 0x0e, 0xa6, 0xc2, 0xa8, 0xbd, 0xe5, 0x04, 0x75, 0xd2, 0x26, 0x81, 0x4b, 0x6d, 0x66, - 0xe1, 0x14, 0x3b, 0xb3, 0xbf, 0x37, 0x3b, 0x75, 0x27, 0x83, 0xc3, 0x5d, 0xd4, 0xf6, 0x2f, 0x57, - 0xe0, 0x6c, 0x3d, 0x7c, 0x10, 0x3c, 0x70, 0x22, 0x77, 0xbe, 0xb1, 0xc2, 0x0d, 0x61, 0xe6, 0x64, - 0x94, 0xce, 0x4d, 0xab, 0xa7, 0x73, 0xf3, 0x4b, 0x30, 0xb2, 0xe1, 0x11, 0xdf, 0xc5, 0x64, 0x43, - 0x74, 0xef, 0x6a, 0x19, 0x8f, 0xc6, 0x32, 0x2d, 0x23, 0xbd, 0x02, 0xdc, 0xb7, 0xba, 0x2c, 0xd8, - 0x60, 0xc5, 0x10, 0x75, 0x60, 0x4a, 0x5a, 0xfa, 0x12, 0x2b, 0x66, 0xc7, 0x0b, 0xe5, 0x36, 0x12, - 0x66, 0x35, 0x6c, 0x3c, 0x70, 0x86, 0x21, 0xee, 0xaa, 0x82, 0xee, 0xd0, 0xb6, 0xe9, 0xea, 0x30, - 0xc0, 0x64, 0x85, 0xed, 0xd0, 0xd8, 0x16, 0x92, 0x41, 0xed, 0x7f, 0x64, 0xc1, 0x63, 0x5d, 0xa3, - 0x25, 0xf6, 0xd7, 0x6f, 0xc9, 0x8d, 0x2d, 0x3f, 0x9d, 0x29, 0x68, 0x65, 0xee, 0x98, 0x97, 0xdb, - 0xe4, 0x56, 0x4a, 0x6c, 0x72, 0xef, 0xc0, 0x99, 0xa5, 0xed, 0x76, 0xb2, 0x5b, 0xf7, 0x4c, 0x9f, - 0xec, 0xcb, 0x30, 0xb4, 0x4d, 0x5c, 0xaf, 0xb3, 0x2d, 0x3e, 0xeb, 0xac, 0x54, 0xa4, 0xab, 0x0c, - 0x7a, 0xb0, 0x37, 0x3b, 0xde, 0x4c, 0xc2, 0xc8, 0xd9, 0x24, 0x1c, 0x80, 0x05, 0xb9, 0xfd, 0x81, - 0x05, 0x93, 0x72, 0x42, 0xcd, 0xbb, 0x6e, 0x44, 0xe2, 0x18, 0xcd, 0x40, 0xc5, 0x6b, 0x0b, 0x46, - 0x20, 0x18, 0x55, 0x56, 0x1a, 0xb8, 0xe2, 0xb5, 0xd1, 0x17, 0xa1, 0xc6, 0x5d, 0xf9, 0xa9, 0x70, - 0xf4, 0x79, 0x34, 0xc0, 0x76, 0x1f, 0x6b, 0x92, 0x07, 0x4e, 0xd9, 0x49, 0xcb, 0x92, 0xa9, 0xea, - 0xaa, 0xe9, 0x58, 0xbe, 0x21, 0xe0, 0x58, 0x51, 0xa0, 0x4b, 0x30, 0x12, 0x84, 0x2e, 0x3f, 0x65, - 0xe1, 0xcb, 0x2e, 0x13, 0xb9, 0xdb, 0x02, 0x86, 0x15, 0xd6, 0xfe, 0x86, 0x05, 0x63, 0xb2, 0x8f, - 0x25, 0x8d, 0x5c, 0x3a, 0x49, 0x52, 0x03, 0x37, 0x9d, 0x24, 0xd4, 0x48, 0x65, 0x18, 0xc3, 0x36, - 0xad, 0xf6, 0x63, 0x9b, 0xda, 0xdf, 0xaf, 0xc0, 0x84, 0x6c, 0x4e, 0xb3, 0xb3, 0x1e, 0x93, 0x04, - 0xbd, 0x03, 0x35, 0x87, 0x0f, 0x3e, 0x91, 0x72, 0xf6, 0x7c, 0xd1, 0x0e, 0xdd, 0xf8, 0x66, 0xa9, - 0x61, 0x30, 0x2f, 0xf9, 0xe0, 0x94, 0x25, 0xda, 0x81, 0x53, 0x41, 0x98, 0xb0, 0xf5, 0x40, 0xe1, - 0xcb, 0x79, 0x44, 0xb3, 0xf5, 0x3c, 0x2e, 0xea, 0x39, 0x75, 0x3b, 0xcb, 0x0f, 0x77, 0x57, 0x81, - 0xee, 0x48, 0x2f, 0x46, 0x95, 0xd5, 0xf5, 0x6c, 0xb9, 0xba, 0x7a, 0x3b, 0x31, 0xec, 0x1f, 0x5a, - 0x50, 0x93, 0x64, 0xc7, 0xe9, 0x13, 0xbf, 0x07, 0xc3, 0x31, 0xfb, 0x34, 0x72, 0x98, 0x2e, 0x97, - 0x6b, 0x3a, 0xff, 0x9e, 0xe9, 0xe2, 0xc7, 0xff, 0xc7, 0x58, 0x72, 0x63, 0x6e, 0x48, 0xd5, 0x81, - 0x8f, 0x9e, 0x1b, 0x52, 0x35, 0xad, 0x87, 0x1b, 0xf2, 0x97, 0x2c, 0x18, 0xe2, 0xce, 0xa1, 0x72, - 0x1e, 0x36, 0xcd, 0x97, 0x9c, 0x72, 0x7c, 0x93, 0x02, 0x85, 0x6b, 0x19, 0xdd, 0x83, 0x1a, 0xfb, - 0xb1, 0x1c, 0x85, 0xdb, 0x62, 0x21, 0x78, 0xb6, 0x8c, 0x73, 0x8a, 0x2b, 0x3e, 0xae, 0x4d, 0xde, - 0x94, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x41, 0x95, 0xce, 0xfa, 0x94, 0xd4, 0x58, 0xd6, 0xac, 0x93, - 0x58, 0xd6, 0x2a, 0xc7, 0xbf, 0xac, 0xbd, 0x07, 0x93, 0x2d, 0xcd, 0x27, 0x9f, 0x2e, 0xa6, 0xd7, - 0x4a, 0xba, 0x9b, 0x35, 0x47, 0x3e, 0x77, 0x86, 0x2c, 0x9a, 0xec, 0x70, 0x96, 0x3f, 0x22, 0x30, - 0xc6, 0x0f, 0x14, 0x45, 0x7d, 0x03, 0x85, 0x32, 0xcb, 0xfd, 0x2e, 0xbc, 0x84, 0xaa, 0x8c, 0x05, - 0x9d, 0x34, 0x35, 0x46, 0xd8, 0x60, 0x6b, 0xff, 0x8d, 0x41, 0x18, 0x5c, 0xda, 0x21, 0x41, 0x72, - 0x8c, 0xb3, 0x7c, 0x1b, 0x26, 0xbc, 0x60, 0x27, 0xf4, 0x77, 0x88, 0xcb, 0xf1, 0x47, 0x5b, 0xd1, - 0xce, 0x89, 0x4a, 0x26, 0x56, 0x0c, 0x66, 0x38, 0xc3, 0xfc, 0x38, 0xf6, 0x93, 0x6f, 0xc0, 0x10, - 0x97, 0x08, 0xb1, 0x99, 0x2c, 0x70, 0x92, 0xb2, 0x01, 0x15, 0x33, 0x27, 0xdd, 0xf5, 0x72, 0xff, - 0xac, 0x60, 0x84, 0xee, 0xc3, 0xc4, 0x86, 0x17, 0xc5, 0x09, 0xdd, 0x10, 0xc6, 0x89, 0xb3, 0xdd, - 0x3e, 0xca, 0x46, 0x52, 0x0d, 0xc9, 0xb2, 0xc1, 0x0a, 0x67, 0x58, 0xa3, 0x2d, 0x18, 0xa7, 0xfb, - 0x98, 0xb4, 0xae, 0xe1, 0xfe, 0xeb, 0x52, 0xbe, 0xa4, 0x5b, 0x3a, 0x27, 0x6c, 0x32, 0xa6, 0xca, - 0xa8, 0xc5, 0x36, 0x3e, 0x23, 0x6c, 0x49, 0x57, 0xca, 0x88, 0xef, 0x78, 0x38, 0x8e, 0xea, 0x34, - 0x76, 0x7e, 0x5c, 0x33, 0x75, 0x5a, 0x7a, 0x4a, 0x6c, 0x7f, 0x97, 0x2e, 0x40, 0x74, 0x14, 0x4f, - 0x42, 0x77, 0xdf, 0x30, 0x75, 0xf7, 0x53, 0x25, 0x3e, 0x6e, 0x0f, 0xbd, 0xfd, 0x65, 0x18, 0xd5, - 0xbe, 0x3d, 0xba, 0x02, 0xb5, 0x96, 0x3c, 0xea, 0x14, 0x0a, 0x5c, 0x19, 0x10, 0xea, 0x0c, 0x14, - 0xa7, 0x34, 0x74, 0x60, 0xa8, 0xe1, 0x95, 0x8d, 0x88, 0xa0, 0x66, 0x19, 0x66, 0x18, 0xfb, 0x05, - 0x80, 0xa5, 0x87, 0xa4, 0x35, 0xdf, 0x62, 0x07, 0xf1, 0xda, 0xb9, 0x89, 0xd5, 0xfb, 0xdc, 0xc4, - 0x7e, 0x1b, 0xc6, 0x97, 0x1e, 0xd2, 0x95, 0x5d, 0x6e, 0xd3, 0x2e, 0xc2, 0x10, 0x61, 0x00, 0xd6, - 0xaa, 0x91, 0x54, 0x48, 0x39, 0x19, 0x16, 0x58, 0x76, 0x8c, 0xfe, 0xd0, 0x11, 0x13, 0x56, 0xdb, - 0xf2, 0x2e, 0x51, 0x20, 0xe6, 0x38, 0xfb, 0x3b, 0x16, 0x4c, 0x2c, 0x2f, 0x1a, 0x76, 0xf2, 0x1c, - 0x00, 0xb7, 0x37, 0xef, 0xdd, 0xbb, 0x2d, 0xfd, 0xa8, 0xdc, 0xd9, 0xa5, 0xa0, 0x58, 0xa3, 0x40, - 0x8f, 0x43, 0xd5, 0xef, 0x04, 0xc2, 0x0c, 0x1c, 0xde, 0xdf, 0x9b, 0xad, 0xde, 0xea, 0x04, 0x98, - 0xc2, 0xb4, 0xc0, 0x86, 0x6a, 0xe9, 0xc0, 0x86, 0xe2, 0xd0, 0xbe, 0x6f, 0x55, 0x61, 0x6a, 0xd9, - 0x27, 0x0f, 0x8d, 0x56, 0x5f, 0x84, 0x21, 0x37, 0xf2, 0x76, 0x48, 0x94, 0x75, 0x93, 0xd4, 0x19, - 0x14, 0x0b, 0x6c, 0xe9, 0x58, 0x0b, 0x23, 0xce, 0xa4, 0x7a, 0xcc, 0x71, 0x26, 0x85, 0x7d, 0x46, - 0x1b, 0x30, 0x1c, 0xf2, 0xef, 0x3f, 0x3d, 0xc8, 0x04, 0xfd, 0xd5, 0xc3, 0x1b, 0x93, 0x1d, 0x9f, - 0x39, 0x21, 0x3d, 0xfc, 0xd0, 0x5b, 0x29, 0x4b, 0x01, 0xc5, 0x92, 0xf9, 0xcc, 0x67, 0x60, 0x4c, - 0xa7, 0xec, 0xeb, 0xf4, 0xfb, 0xe7, 0x2c, 0x38, 0xbd, 0xec, 0x87, 0xad, 0xfb, 0x99, 0x60, 0x98, - 0x97, 0x60, 0x94, 0x4e, 0xd5, 0xd8, 0x88, 0x10, 0x33, 0x42, 0xe1, 0x04, 0x0a, 0xeb, 0x74, 0x5a, - 0xb1, 0xbb, 0x77, 0x57, 0xea, 0x79, 0x11, 0x74, 0x02, 0x85, 0x75, 0x3a, 0xfb, 0x3f, 0x59, 0xf0, - 0xe4, 0xf5, 0xc5, 0xa5, 0x06, 0x55, 0x23, 0x71, 0x42, 0x82, 0xa4, 0x2b, 0x88, 0xef, 0x22, 0x0c, - 0xb5, 0x5d, 0xad, 0x29, 0x4a, 0x04, 0x1a, 0x75, 0xd6, 0x0a, 0x81, 0xfd, 0xa8, 0x44, 0xb2, 0xfe, - 0x92, 0x05, 0xa7, 0xaf, 0x7b, 0x09, 0x26, 0xed, 0x30, 0x1b, 0x77, 0x17, 0x91, 0x76, 0x18, 0x7b, - 0x49, 0x18, 0xed, 0x66, 0xe3, 0xee, 0xb0, 0xc2, 0x60, 0x8d, 0x8a, 0xd7, 0xbc, 0xe3, 0x51, 0x05, - 0x2b, 0x3a, 0xa5, 0xd5, 0xcc, 0xe1, 0x58, 0x51, 0xd0, 0x8e, 0xb9, 0x5e, 0xc4, 0x6c, 0x91, 0x5d, - 0x31, 0x83, 0x55, 0xc7, 0xea, 0x12, 0x81, 0x53, 0x1a, 0xfb, 0xef, 0x58, 0x70, 0xf6, 0xba, 0xdf, - 0x89, 0x13, 0x12, 0x6d, 0xc4, 0x46, 0x63, 0x5f, 0x80, 0x1a, 0x91, 0x76, 0xb3, 0x68, 0xab, 0x5a, - 0x93, 0x94, 0x41, 0xcd, 0x83, 0xfe, 0x14, 0x5d, 0x89, 0x18, 0xb3, 0xfe, 0x22, 0xa2, 0xfe, 0x55, - 0x05, 0xc6, 0x6f, 0xac, 0xad, 0x35, 0xae, 0x93, 0x44, 0xe8, 0xe0, 0x62, 0x47, 0x4f, 0x43, 0xdb, - 0xe5, 0x8e, 0x5e, 0x9b, 0xeb, 0x31, 0xeb, 0x3a, 0x89, 0xe7, 0xcf, 0xf1, 0x18, 0xeb, 0xb9, 0x95, - 0x20, 0xb9, 0x13, 0x35, 0x93, 0xc8, 0x0b, 0x36, 0x73, 0x77, 0xc5, 0x72, 0x9d, 0xa8, 0xf6, 0x5a, - 0x27, 0xd0, 0x0b, 0x30, 0x14, 0xb7, 0xb6, 0x88, 0xda, 0xb4, 0xff, 0x94, 0x32, 0x43, 0x18, 0xf4, - 0x60, 0x6f, 0xb6, 0x76, 0x17, 0xaf, 0xf0, 0x3f, 0x58, 0x90, 0xa2, 0x77, 0x61, 0x74, 0x2b, 0x49, - 0xda, 0x37, 0x88, 0xe3, 0x92, 0x48, 0x6a, 0x89, 0x02, 0x2b, 0x90, 0x0e, 0x06, 0x2f, 0x90, 0x4e, - 0xac, 0x14, 0x16, 0x63, 0x9d, 0xa3, 0xdd, 0x04, 0x48, 0x71, 0x8f, 0x68, 0x6b, 0x63, 0xff, 0xc5, - 0x0a, 0x0c, 0xdf, 0x70, 0x02, 0xd7, 0x27, 0x11, 0x5a, 0x86, 0x01, 0xf2, 0x90, 0xb4, 0xca, 0x19, - 0xb0, 0xe9, 0x42, 0xca, 0x3d, 0x55, 0xf4, 0x3f, 0x66, 0xe5, 0x11, 0x86, 0x61, 0xda, 0xee, 0xeb, - 0x2a, 0x30, 0xf3, 0xb9, 0xe2, 0x51, 0x50, 0x22, 0xc1, 0x57, 0x61, 0x01, 0xc2, 0x92, 0x11, 0xf3, - 0xe9, 0xb4, 0xda, 0x4d, 0xaa, 0xdc, 0x92, 0x72, 0xb1, 0xd7, 0x6b, 0x8b, 0x0d, 0x4e, 0x2e, 0xf8, - 0x72, 0x9f, 0x8e, 0x04, 0xe2, 0x94, 0x9d, 0xfd, 0x0a, 0x9c, 0x61, 0xa7, 0x82, 0x4e, 0xb2, 0x65, - 0xcc, 0x99, 0x42, 0xe1, 0xb4, 0xff, 0x7e, 0x05, 0x4e, 0xad, 0x34, 0x17, 0x9b, 0xa6, 0x37, 0xee, - 0x15, 0x18, 0xe3, 0xcb, 0x33, 0x15, 0x3a, 0xc7, 0x17, 0xe5, 0x95, 0x1b, 0x7b, 0x4d, 0xc3, 0x61, - 0x83, 0x12, 0x3d, 0x09, 0x55, 0xef, 0xbd, 0x20, 0x1b, 0x1f, 0xb4, 0xf2, 0xc6, 0x6d, 0x4c, 0xe1, - 0x14, 0x4d, 0x57, 0x7a, 0xae, 0xe2, 0x14, 0x5a, 0xad, 0xf6, 0xaf, 0xc3, 0x84, 0x17, 0xb7, 0x62, - 0x6f, 0x25, 0xa0, 0xf3, 0xdf, 0x69, 0x49, 0xf1, 0x4d, 0x6d, 0x7f, 0xda, 0x54, 0x85, 0xc5, 0x19, - 0x6a, 0x4d, 0xdf, 0x0e, 0x96, 0xb6, 0x16, 0x8a, 0x23, 0x34, 0xbf, 0x02, 0x35, 0x15, 0x49, 0x23, - 0x03, 0xa0, 0xac, 0xfc, 0x00, 0xa8, 0x12, 0x0a, 0x47, 0xfa, 0x48, 0xab, 0xb9, 0x3e, 0xd2, 0x7f, - 0x6a, 0x41, 0x1a, 0x34, 0x80, 0x30, 0xd4, 0xda, 0x21, 0x3b, 0x80, 0x88, 0xe4, 0x61, 0xdf, 0xd3, - 0x05, 0x92, 0xc8, 0x67, 0x02, 0x97, 0x95, 0x86, 0x2c, 0x8b, 0x53, 0x36, 0xe8, 0x16, 0x0c, 0xb7, - 0x23, 0xd2, 0x4c, 0x58, 0x98, 0x6f, 0x1f, 0x1c, 0x99, 0x54, 0x37, 0x78, 0x49, 0x2c, 0x59, 0xd8, - 0xbf, 0x6e, 0x01, 0xdc, 0xf2, 0xb6, 0xbd, 0x04, 0x3b, 0xc1, 0x26, 0x39, 0xc6, 0x5d, 0xe4, 0x6d, - 0x18, 0x88, 0xdb, 0xa4, 0x55, 0xee, 0xe8, 0x28, 0x6d, 0x51, 0xb3, 0x4d, 0x5a, 0xe9, 0x67, 0xa0, - 0xff, 0x30, 0xe3, 0x63, 0xff, 0x0a, 0xc0, 0x44, 0x4a, 0x46, 0xcd, 0x78, 0xf4, 0xbc, 0x11, 0xd7, - 0xfa, 0x78, 0x26, 0xae, 0xb5, 0xc6, 0xa8, 0xb5, 0x50, 0xd6, 0x04, 0xaa, 0xdb, 0xce, 0x43, 0xb1, - 0x6b, 0x78, 0xa9, 0x6c, 0x83, 0x68, 0x4d, 0x73, 0xab, 0xce, 0x43, 0x6e, 0x46, 0x3d, 0x27, 0x05, - 0x68, 0xd5, 0x79, 0x78, 0xc0, 0x0f, 0x88, 0xd8, 0x0c, 0xa4, 0xdb, 0x94, 0xaf, 0xff, 0x97, 0xf4, - 0x3f, 0x53, 0x8a, 0xb4, 0x3a, 0x56, 0xab, 0x17, 0x08, 0x57, 0x5f, 0x9f, 0xb5, 0x7a, 0x41, 0xb6, - 0x56, 0x2f, 0x28, 0x51, 0xab, 0x17, 0xa0, 0xf7, 0x2d, 0x18, 0x16, 0x1e, 0x72, 0x16, 0x7e, 0x35, - 0x7a, 0xed, 0xd3, 0x7d, 0x55, 0x2d, 0x5c, 0xed, 0xbc, 0xfa, 0x2b, 0xd2, 0x76, 0x14, 0xd0, 0xc2, - 0x26, 0xc8, 0xaa, 0xd1, 0xb7, 0x2d, 0x98, 0x10, 0xbf, 0x31, 0x79, 0xaf, 0x43, 0xe2, 0x44, 0xac, - 0x52, 0x9f, 0x3b, 0x4a, 0x6b, 0x04, 0x0b, 0xde, 0xa8, 0x9f, 0x96, 0x2a, 0xc6, 0x44, 0x16, 0xb6, - 0x2d, 0xd3, 0x1e, 0xf4, 0x3d, 0x0b, 0xce, 0x6c, 0x3b, 0x0f, 0x79, 0x8d, 0x1c, 0x86, 0x9d, 0xc4, - 0x0b, 0x45, 0x88, 0xd9, 0x72, 0xbf, 0x72, 0xd2, 0xc5, 0x88, 0x37, 0xf7, 0x35, 0x79, 0x6c, 0x99, - 0x47, 0x52, 0xd8, 0xe8, 0xdc, 0x16, 0xce, 0xb8, 0x30, 0x22, 0x05, 0x33, 0xc7, 0x6a, 0x5f, 0xd0, - 0x17, 0xe3, 0xc3, 0x67, 0xa0, 0x74, 0xa0, 0xcd, 0xbd, 0xd1, 0x71, 0x82, 0xc4, 0x4b, 0x76, 0x35, - 0x1b, 0x9f, 0xd5, 0x22, 0x04, 0xf1, 0x18, 0x6b, 0xd9, 0x82, 0x31, 0x5d, 0xe6, 0x8e, 0xb1, 0xa6, - 0x10, 0x4e, 0xe7, 0xc8, 0xd3, 0x31, 0x56, 0xd8, 0x81, 0xc7, 0x7b, 0xca, 0xc5, 0xf1, 0x55, 0x6b, - 0xff, 0xd0, 0xd2, 0x15, 0xe6, 0x49, 0x38, 0x66, 0x56, 0x4d, 0xc7, 0xcc, 0xa5, 0xb2, 0x53, 0xa7, - 0x87, 0x77, 0x66, 0x43, 0x6f, 0x3f, 0x5d, 0x09, 0xd0, 0x1a, 0x0c, 0xf9, 0x14, 0x22, 0x4f, 0x83, - 0x2e, 0xf7, 0x33, 0x39, 0x53, 0xe3, 0x82, 0xc1, 0x63, 0x2c, 0x78, 0xd9, 0xbf, 0x61, 0xc1, 0xc0, - 0x49, 0x0c, 0x4f, 0xc3, 0x1c, 0x9e, 0x5e, 0x26, 0xaa, 0xb8, 0xeb, 0x39, 0x87, 0x9d, 0x07, 0x4b, - 0x0f, 0x13, 0x12, 0xc4, 0xcc, 0x94, 0xcc, 0x1d, 0xa1, 0x5f, 0xae, 0xc0, 0x28, 0xad, 0x48, 0xfa, - 0x89, 0x5e, 0x85, 0x71, 0xdf, 0x59, 0x27, 0xbe, 0x74, 0x27, 0x67, 0xb7, 0x5d, 0xb7, 0x74, 0x24, - 0x36, 0x69, 0x69, 0xe1, 0x0d, 0xdd, 0xdb, 0x2e, 0x4c, 0x22, 0x55, 0xd8, 0x70, 0xc5, 0x63, 0x93, - 0x96, 0x5a, 0xfe, 0x0f, 0x9c, 0xa4, 0xb5, 0x25, 0xb6, 0x64, 0xaa, 0xb9, 0xf7, 0x28, 0x10, 0x73, - 0x1c, 0x9a, 0x87, 0x49, 0x29, 0xb1, 0x6f, 0xf2, 0xa1, 0x13, 0xe6, 0xa2, 0xba, 0xa7, 0x87, 0x4d, - 0x34, 0xce, 0xd2, 0xa3, 0xcf, 0xc0, 0x04, 0x1d, 0x9c, 0xb0, 0x93, 0xc8, 0x60, 0x85, 0x41, 0x16, - 0xac, 0xc0, 0x82, 0x43, 0xd7, 0x0c, 0x0c, 0xce, 0x50, 0xda, 0xef, 0xc2, 0xe9, 0x5b, 0xa1, 0xe3, - 0x2e, 0x38, 0xbe, 0x13, 0xb4, 0x48, 0xb4, 0x12, 0x6c, 0x16, 0x9e, 0xeb, 0xea, 0x67, 0xaf, 0x95, - 0xa2, 0xb3, 0x57, 0x3b, 0x02, 0xa4, 0x57, 0x20, 0xc2, 0x6c, 0xde, 0x86, 0x61, 0x8f, 0x57, 0x25, - 0xa4, 0xf6, 0x6a, 0x91, 0x53, 0xa9, 0xab, 0x8d, 0x5a, 0xd8, 0x08, 0x07, 0x60, 0xc9, 0x92, 0xee, - 0x24, 0xf2, 0xbc, 0x50, 0xc5, 0x9b, 0x35, 0xfb, 0xaf, 0x58, 0x30, 0x79, 0x3b, 0x73, 0x19, 0xec, - 0x22, 0x0c, 0xc5, 0x24, 0xca, 0x71, 0xa9, 0x35, 0x19, 0x14, 0x0b, 0xec, 0x23, 0xdf, 0xa6, 0xff, - 0x42, 0x05, 0x6a, 0x2c, 0x66, 0xb3, 0xed, 0xb4, 0x8e, 0xd3, 0x28, 0x5d, 0x35, 0x8c, 0xd2, 0x82, - 0x4d, 0xa2, 0x6a, 0x50, 0x2f, 0x9b, 0x14, 0xdd, 0x55, 0x97, 0xa3, 0x4a, 0xed, 0x0f, 0x53, 0x86, - 0xfc, 0x1e, 0xcd, 0x84, 0x79, 0x97, 0x4a, 0x5e, 0x9c, 0x62, 0xa7, 0xa1, 0x8a, 0xf6, 0xa3, 0x77, - 0x1a, 0xaa, 0x9a, 0xd6, 0x43, 0x2b, 0x35, 0xb4, 0xd6, 0x33, 0xb5, 0xfd, 0x59, 0x16, 0x80, 0xe7, - 0xf8, 0xde, 0x57, 0x89, 0xba, 0x64, 0x38, 0x2b, 0xe2, 0xe9, 0x04, 0xf4, 0x80, 0x29, 0x18, 0xf1, - 0x8f, 0xdf, 0x1d, 0x4d, 0x8b, 0xd8, 0x37, 0x60, 0x32, 0x33, 0x76, 0xe8, 0x25, 0x18, 0x6c, 0x6f, - 0x39, 0x31, 0xc9, 0x44, 0x76, 0x0c, 0x36, 0x28, 0xf0, 0x60, 0x6f, 0x76, 0x42, 0x15, 0x60, 0x10, - 0xcc, 0xa9, 0xed, 0x3f, 0xb6, 0x60, 0xe0, 0x76, 0xe8, 0x1e, 0xa7, 0x8c, 0xdd, 0x30, 0x64, 0xec, - 0x62, 0xf1, 0x8d, 0xf3, 0x9e, 0xe2, 0xd5, 0xc8, 0x88, 0xd7, 0xa5, 0x12, 0xbc, 0x0e, 0x97, 0xac, - 0x6d, 0x18, 0x65, 0x37, 0xda, 0x45, 0x48, 0xcb, 0x0b, 0xc6, 0x06, 0x6a, 0x36, 0xb3, 0x81, 0x9a, - 0xd4, 0x48, 0xb5, 0x6d, 0xd4, 0x33, 0x30, 0x2c, 0x42, 0x28, 0xb2, 0x51, 0x87, 0x82, 0x16, 0x4b, - 0xbc, 0xfd, 0x6b, 0x55, 0x30, 0x6e, 0xd0, 0xa3, 0x1f, 0x59, 0x30, 0x17, 0xf1, 0x2b, 0x0f, 0x6e, - 0xbd, 0x13, 0x79, 0xc1, 0x66, 0xb3, 0xb5, 0x45, 0xdc, 0x8e, 0xef, 0x05, 0x9b, 0x2b, 0x9b, 0x41, - 0xa8, 0xc0, 0x4b, 0x0f, 0x49, 0xab, 0xc3, 0xbc, 0xab, 0xa5, 0x2f, 0xee, 0xab, 0x33, 0xd4, 0x6b, - 0xfb, 0x7b, 0xb3, 0x73, 0xb8, 0xaf, 0x5a, 0x70, 0x9f, 0xad, 0x42, 0xbf, 0x67, 0xc1, 0x15, 0x7e, - 0x87, 0xbc, 0x7c, 0x4f, 0x4a, 0x6d, 0x3c, 0x1b, 0x92, 0x69, 0xca, 0x6e, 0x8d, 0x44, 0xdb, 0x0b, - 0x2f, 0x8b, 0x41, 0xbe, 0xd2, 0xe8, 0xaf, 0x56, 0xdc, 0x6f, 0x33, 0xed, 0x7f, 0x53, 0x85, 0x71, - 0x3a, 0x9e, 0xe9, 0xfd, 0xd1, 0x97, 0x0c, 0x31, 0xf9, 0x78, 0x46, 0x4c, 0x4e, 0x19, 0xc4, 0x8f, - 0xe6, 0xea, 0x68, 0x02, 0xa7, 0x7c, 0x27, 0x4e, 0x6e, 0x10, 0x27, 0x4a, 0xd6, 0x89, 0xc3, 0x0e, - 0x2c, 0xc5, 0x24, 0xe8, 0xeb, 0x10, 0x54, 0xc5, 0xe5, 0xdc, 0xca, 0x72, 0xc3, 0xdd, 0x15, 0xa0, - 0x07, 0x80, 0xd8, 0xe9, 0x68, 0xe4, 0x04, 0x31, 0xef, 0x8c, 0x27, 0x1c, 0xb2, 0x7d, 0x56, 0x3b, - 0x23, 0xaa, 0x45, 0xb7, 0xba, 0xd8, 0xe1, 0x9c, 0x2a, 0xb4, 0x23, 0xf0, 0xc1, 0xb2, 0x47, 0xe0, - 0x43, 0x05, 0x01, 0xbf, 0x3f, 0x6f, 0xc1, 0x69, 0xfa, 0x61, 0xcc, 0xe0, 0xd0, 0x18, 0x85, 0x30, - 0x49, 0x7b, 0xe0, 0x93, 0x44, 0xc2, 0xc4, 0x0c, 0x2b, 0xb0, 0xa5, 0x4d, 0x3e, 0xa9, 0xc5, 0x76, - 0xd3, 0x64, 0x86, 0xb3, 0xdc, 0xed, 0x5f, 0xb3, 0x80, 0x45, 0x9f, 0x9d, 0xc4, 0x3a, 0x76, 0xdd, - 0x5c, 0xc7, 0xec, 0x62, 0xa5, 0xd1, 0x63, 0x09, 0x7b, 0x11, 0xa6, 0x28, 0xb6, 0x11, 0x85, 0x0f, - 0x77, 0xa5, 0x71, 0x5d, 0xec, 0x9b, 0xfd, 0xcb, 0x16, 0x57, 0x77, 0xca, 0x2a, 0x7e, 0x00, 0xa7, - 0x02, 0xed, 0x3f, 0x9d, 0xc8, 0xd2, 0x08, 0x9c, 0x2b, 0xaf, 0xd0, 0xd8, 0xfc, 0xd7, 0x22, 0xcc, - 0x32, 0x0c, 0x71, 0x77, 0x1d, 0xf6, 0x3f, 0xb0, 0xe0, 0x31, 0x9d, 0x50, 0xbb, 0x66, 0x56, 0xe4, - 0x10, 0xad, 0xc3, 0x48, 0xd8, 0x26, 0x91, 0x93, 0xee, 0x00, 0x2e, 0xc9, 0x11, 0xbf, 0x23, 0xe0, - 0x07, 0x7b, 0xb3, 0x67, 0x74, 0xee, 0x12, 0x8e, 0x55, 0x49, 0x64, 0xc3, 0x10, 0xdb, 0x89, 0xc6, - 0xe2, 0x82, 0x20, 0xcb, 0x44, 0xc1, 0x8e, 0x01, 0x62, 0x2c, 0x30, 0xf6, 0x5f, 0xb5, 0xf8, 0x28, - 0xeb, 0x4d, 0x47, 0x5f, 0x83, 0xa9, 0x6d, 0xba, 0x59, 0x58, 0x7a, 0xd8, 0xa6, 0x4b, 0x08, 0x3b, - 0xfe, 0xb4, 0xca, 0x28, 0xce, 0x1e, 0xdd, 0x5d, 0x98, 0x16, 0xad, 0x9f, 0x5a, 0xcd, 0xb0, 0xc5, - 0x5d, 0x15, 0xd9, 0xbf, 0x2f, 0x64, 0x95, 0x59, 0x2d, 0xcf, 0xc0, 0x70, 0x3b, 0x74, 0x17, 0x57, - 0xea, 0x58, 0x8c, 0x95, 0x9a, 0x6c, 0x0d, 0x0e, 0xc6, 0x12, 0x8f, 0xae, 0x01, 0x90, 0x87, 0x09, - 0x89, 0x02, 0xc7, 0x57, 0xc7, 0x96, 0xca, 0x48, 0x58, 0x52, 0x18, 0xac, 0x51, 0xd1, 0x32, 0xed, - 0x28, 0xdc, 0xf1, 0x5c, 0x16, 0xee, 0x5d, 0x35, 0xcb, 0x34, 0x14, 0x06, 0x6b, 0x54, 0x74, 0x8b, - 0xd6, 0x09, 0x62, 0xae, 0xc0, 0x9d, 0x75, 0x91, 0x40, 0x61, 0x24, 0xdd, 0xa2, 0xdd, 0xd5, 0x91, - 0xd8, 0xa4, 0xb5, 0x7f, 0xbb, 0x06, 0x90, 0x9a, 0x08, 0xe8, 0x7d, 0x0b, 0x46, 0x5a, 0x4e, 0xdb, - 0x69, 0xf1, 0xec, 0x38, 0xd5, 0xe2, 0x7b, 0x31, 0x69, 0xe1, 0xb9, 0x45, 0x51, 0x90, 0xfb, 0xb6, - 0x3e, 0x25, 0x05, 0x44, 0x82, 0x0b, 0xfd, 0x59, 0xaa, 0x66, 0xf4, 0x4d, 0x0b, 0x46, 0x1d, 0xdf, - 0x0f, 0x5b, 0x4e, 0xc2, 0x7a, 0x54, 0x29, 0xe3, 0xac, 0xd4, 0x5a, 0x32, 0x9f, 0x96, 0xe5, 0x8d, - 0x79, 0x41, 0x9e, 0x6a, 0x69, 0x98, 0xc2, 0xf6, 0xe8, 0x4d, 0x40, 0x9f, 0x92, 0xa6, 0x25, 0xff, - 0x28, 0x33, 0x59, 0xd3, 0xb2, 0xc6, 0x54, 0x83, 0x66, 0x55, 0xa2, 0x77, 0x8d, 0x5c, 0x01, 0x03, - 0x65, 0xee, 0xa6, 0x1a, 0x8b, 0x66, 0x51, 0x9a, 0x00, 0xf4, 0x45, 0x3d, 0x12, 0x76, 0xb0, 0xcc, - 0xc5, 0x4f, 0xcd, 0x76, 0x2b, 0x88, 0x82, 0x4d, 0x60, 0xd2, 0x35, 0x17, 0x09, 0x11, 0xda, 0x74, - 0xb5, 0xb8, 0x86, 0xcc, 0xea, 0x92, 0x2e, 0x0b, 0x19, 0x04, 0xce, 0x56, 0x81, 0xbe, 0xc8, 0xe3, - 0x94, 0x57, 0x82, 0x8d, 0x50, 0x44, 0x37, 0x5d, 0x2e, 0xf1, 0xcd, 0x77, 0xe3, 0x84, 0x6c, 0xd3, - 0x32, 0xe9, 0x32, 0x70, 0x5b, 0x70, 0xc1, 0x8a, 0x1f, 0x5a, 0x83, 0x21, 0x76, 0xab, 0x22, 0x9e, - 0x1e, 0x29, 0xe3, 0x26, 0x32, 0xef, 0x13, 0xa6, 0x8b, 0x2f, 0xfb, 0x1b, 0x63, 0xc1, 0x0b, 0xdd, - 0x90, 0xf7, 0x6f, 0xe3, 0x95, 0xe0, 0x6e, 0x4c, 0xd8, 0xfd, 0xdb, 0xda, 0xc2, 0x27, 0xd2, 0x0b, - 0xb5, 0x1c, 0x9e, 0x9b, 0x1d, 0xc9, 0x28, 0x49, 0xd7, 0x60, 0xf1, 0x5f, 0x26, 0x5d, 0x9a, 0x86, - 0x32, 0x0d, 0x35, 0x53, 0x34, 0xa5, 0x83, 0xfd, 0xa6, 0xc9, 0x0c, 0x67, 0xb9, 0xcf, 0x78, 0x30, - 0x6e, 0xcc, 0xd8, 0x63, 0x74, 0x76, 0xfa, 0x30, 0x95, 0x9d, 0x92, 0xc7, 0xe8, 0xe3, 0xfc, 0xa3, - 0x01, 0x98, 0x30, 0x05, 0x03, 0x5d, 0x81, 0xda, 0x36, 0x4b, 0x89, 0x94, 0x26, 0x62, 0x51, 0xf2, - 0xbf, 0x2a, 0x11, 0x38, 0xa5, 0x61, 0x29, 0x69, 0x58, 0x71, 0x2d, 0xe6, 0x24, 0x4d, 0x49, 0xa3, - 0x30, 0x58, 0xa3, 0xa2, 0x06, 0xdb, 0x7a, 0x18, 0x26, 0x4a, 0x71, 0x2b, 0x99, 0x59, 0x60, 0x50, - 0x2c, 0xb0, 0x54, 0x61, 0xdf, 0xa7, 0x1d, 0xf2, 0x4d, 0x7f, 0x97, 0x52, 0xd8, 0x37, 0x75, 0x24, - 0x36, 0x69, 0xe9, 0x02, 0x14, 0xc6, 0x4c, 0x08, 0x85, 0x59, 0x98, 0xc6, 0xf0, 0x34, 0xf9, 0x2d, - 0x23, 0x89, 0x47, 0x5f, 0x80, 0xc7, 0xd4, 0xa5, 0x20, 0xcc, 0xfd, 0x87, 0xb2, 0xc6, 0x21, 0x63, - 0x6f, 0xf7, 0xd8, 0x62, 0x3e, 0x19, 0xee, 0x55, 0x1e, 0xbd, 0x0e, 0x13, 0xc2, 0xa4, 0x93, 0x1c, - 0x87, 0xcd, 0x23, 0xde, 0x9b, 0x06, 0x16, 0x67, 0xa8, 0x51, 0x1d, 0xa6, 0x28, 0x84, 0x99, 0x52, - 0x92, 0x03, 0xbf, 0xdc, 0xa4, 0x56, 0xe6, 0x9b, 0x19, 0x3c, 0xee, 0x2a, 0x81, 0xe6, 0x61, 0x92, - 0xdb, 0x16, 0x74, 0x07, 0xc3, 0xbe, 0x83, 0x88, 0x46, 0x54, 0x93, 0xe0, 0x8e, 0x89, 0xc6, 0x59, - 0x7a, 0xf4, 0x0a, 0x8c, 0x39, 0x51, 0x6b, 0xcb, 0x4b, 0x48, 0x2b, 0xe9, 0x44, 0xfc, 0x66, 0xbb, - 0x76, 0x46, 0x3e, 0xaf, 0xe1, 0xb0, 0x41, 0x69, 0x7f, 0x15, 0x4e, 0xe7, 0x04, 0x3d, 0x53, 0xc1, - 0x71, 0xda, 0x9e, 0xec, 0x53, 0x26, 0x1a, 0x67, 0xbe, 0xb1, 0x22, 0x7b, 0xa3, 0x51, 0x51, 0xe9, - 0x64, 0x8e, 0x53, 0x2d, 0x3f, 0x9a, 0x92, 0xce, 0x65, 0x89, 0xc0, 0x29, 0x8d, 0xfd, 0xdf, 0x6b, - 0xa0, 0xb9, 0x19, 0x4a, 0xc4, 0x60, 0xbc, 0x02, 0x63, 0x32, 0xe5, 0x9f, 0x96, 0x6a, 0x4b, 0x75, - 0xf3, 0xba, 0x86, 0xc3, 0x06, 0x25, 0x6d, 0x5b, 0x20, 0x9d, 0x26, 0xd9, 0xd8, 0x1f, 0xe5, 0x4d, - 0xc1, 0x29, 0x0d, 0xba, 0x0c, 0x23, 0x31, 0xf1, 0x37, 0x6e, 0x79, 0xc1, 0x7d, 0x21, 0xd8, 0x4a, - 0x2b, 0x37, 0x05, 0x1c, 0x2b, 0x0a, 0xf4, 0x39, 0xa8, 0x76, 0x3c, 0x57, 0x88, 0xf2, 0x9c, 0xb4, - 0x3b, 0xef, 0xae, 0xd4, 0x0f, 0xf6, 0x66, 0x67, 0xf3, 0xf3, 0x18, 0xd2, 0x6d, 0x64, 0x3c, 0x47, - 0x27, 0x1f, 0x2d, 0x9a, 0xe7, 0x3f, 0x1e, 0xea, 0xd3, 0x7f, 0x7c, 0x0d, 0x40, 0xf4, 0x59, 0x4a, - 0x72, 0x35, 0xfd, 0x66, 0xd7, 0x15, 0x06, 0x6b, 0x54, 0x74, 0x33, 0xda, 0x8a, 0x88, 0x23, 0x77, - 0x6b, 0x3c, 0x22, 0x77, 0xe4, 0x43, 0x6c, 0x46, 0x17, 0xb3, 0xdc, 0x70, 0x77, 0x05, 0xa8, 0x0d, - 0xa7, 0x5c, 0x3a, 0x8f, 0x8c, 0x5a, 0x6b, 0x47, 0x88, 0x03, 0xa6, 0x35, 0xd6, 0xb3, 0x9c, 0x70, - 0x37, 0x73, 0xf4, 0x0e, 0xcc, 0x48, 0x60, 0xf7, 0xb5, 0x3f, 0x36, 0x5d, 0xaa, 0x0b, 0xe7, 0xf7, - 0xf7, 0x66, 0x67, 0xea, 0x3d, 0xa9, 0xf0, 0x21, 0x1c, 0xd0, 0xdb, 0x30, 0xc4, 0x4e, 0x1c, 0xe2, - 0xe9, 0x51, 0xb6, 0xda, 0xbd, 0x58, 0xd6, 0xe1, 0x36, 0xc7, 0xce, 0x2d, 0x44, 0x20, 0x63, 0x7a, - 0x8a, 0xc3, 0x80, 0x58, 0xf0, 0x44, 0x6d, 0x18, 0x75, 0x82, 0x20, 0x4c, 0x1c, 0x6e, 0x84, 0x8d, - 0x95, 0xb1, 0x23, 0xb5, 0x2a, 0xe6, 0xd3, 0xb2, 0xbc, 0x1e, 0x15, 0x1d, 0xa5, 0x61, 0xb0, 0x5e, - 0x05, 0x5d, 0xc6, 0xc3, 0x07, 0x54, 0x61, 0x4a, 0xa7, 0x7b, 0x3c, 0x3d, 0x5e, 0x66, 0x19, 0xbf, - 0x63, 0x14, 0xd2, 0x34, 0x98, 0xc9, 0x0c, 0x67, 0xb9, 0xa3, 0x39, 0xc3, 0x8f, 0x3a, 0x91, 0x86, - 0xe9, 0xa6, 0x7e, 0x54, 0xdd, 0x6d, 0xca, 0xae, 0x94, 0xf2, 0xd0, 0x3c, 0xa6, 0x09, 0x26, 0x33, - 0x57, 0x4a, 0x53, 0x14, 0xd6, 0xe9, 0x66, 0x3e, 0x0d, 0xa3, 0xda, 0x80, 0xf7, 0x13, 0x0f, 0x3a, - 0xf3, 0x3a, 0x4c, 0x65, 0x07, 0xb2, 0xaf, 0x78, 0xd2, 0xff, 0x59, 0x81, 0xc9, 0x9c, 0x93, 0x8c, - 0xfb, 0x1e, 0x8b, 0x98, 0x36, 0x54, 0xde, 0x4d, 0x2f, 0x70, 0x31, 0xc3, 0x98, 0x8a, 0xab, 0x52, - 0x42, 0x71, 0x49, 0x2d, 0x5a, 0xed, 0xa9, 0x45, 0x85, 0xb2, 0x1a, 0x38, 0xba, 0xb2, 0x32, 0x57, - 0x87, 0xc1, 0x52, 0xab, 0xc3, 0x23, 0x50, 0x70, 0xc6, 0x02, 0x33, 0x5c, 0x62, 0x81, 0x39, 0xb0, - 0x60, 0xc2, 0x94, 0xbc, 0x12, 0x23, 0xfe, 0x51, 0x1d, 0xc0, 0x39, 0xb6, 0x11, 0x4b, 0xa2, 0xd0, - 0xf7, 0x49, 0x24, 0x22, 0xc5, 0x26, 0xc4, 0xbe, 0x4a, 0x40, 0xb1, 0x46, 0x61, 0x7f, 0xbb, 0x02, - 0x53, 0x69, 0xd8, 0xb0, 0x48, 0x7d, 0x7a, 0x7c, 0x47, 0x03, 0x6b, 0xc6, 0xd1, 0x40, 0x51, 0x46, - 0xd3, 0x4c, 0xbb, 0x7a, 0x1e, 0x13, 0xbc, 0x9d, 0x39, 0x26, 0x78, 0xb1, 0x4f, 0xbe, 0x87, 0x1f, - 0x19, 0xfc, 0xb3, 0x0a, 0x9c, 0xcd, 0x16, 0x59, 0xf4, 0x1d, 0x6f, 0xfb, 0x18, 0xc7, 0xe9, 0x0b, - 0xc6, 0x38, 0xbd, 0xdc, 0x5f, 0x7f, 0x58, 0xe3, 0x7a, 0x0e, 0x96, 0x93, 0x19, 0xac, 0x4f, 0x1f, - 0x85, 0xf9, 0xe1, 0x23, 0xf6, 0x3b, 0x16, 0x3c, 0x9e, 0x5b, 0xee, 0x24, 0x5c, 0xa0, 0x6f, 0x99, - 0x2e, 0xd0, 0x17, 0x8e, 0xd0, 0xbd, 0x1e, 0x3e, 0xd1, 0xff, 0x5a, 0xe9, 0xd1, 0x2d, 0xe6, 0x2d, - 0xbb, 0x03, 0xa3, 0x4e, 0xab, 0x45, 0xe2, 0x78, 0x35, 0x74, 0x55, 0x2e, 0x9e, 0xe7, 0xd9, 0xfa, - 0x99, 0x82, 0x0f, 0xf6, 0x66, 0x67, 0xb2, 0x2c, 0x52, 0x34, 0xd6, 0x39, 0x98, 0x39, 0xb5, 0x2a, - 0xc7, 0x94, 0x53, 0xeb, 0x1a, 0xc0, 0x8e, 0xda, 0xa5, 0x67, 0x9d, 0x70, 0xda, 0xfe, 0x5d, 0xa3, - 0x42, 0xef, 0x30, 0xab, 0x97, 0x87, 0x48, 0x0c, 0x14, 0x4e, 0x38, 0xe3, 0x03, 0xea, 0xf1, 0x16, - 0xfc, 0xce, 0xa4, 0xf2, 0x58, 0x2a, 0x9e, 0xf6, 0x77, 0xab, 0xf0, 0x53, 0x87, 0x88, 0x1d, 0x9a, - 0x37, 0x4f, 0x3e, 0x9f, 0xcb, 0xba, 0xa7, 0x66, 0x72, 0x0b, 0x1b, 0xfe, 0xaa, 0xcc, 0xc7, 0xaa, - 0x7c, 0xe8, 0x8f, 0xf5, 0x2d, 0xdd, 0x99, 0xc8, 0x43, 0x1d, 0xaf, 0x1f, 0x79, 0x62, 0x3d, 0x3a, - 0xef, 0xe2, 0x09, 0x3a, 0x3e, 0xec, 0xaf, 0x5b, 0xf0, 0xf1, 0xdc, 0x4e, 0x19, 0x01, 0x16, 0x57, - 0xa0, 0xd6, 0xa2, 0x40, 0xed, 0x2e, 0x4a, 0x7a, 0xc5, 0x4c, 0x22, 0x70, 0x4a, 0x63, 0xc4, 0x51, - 0x54, 0x0a, 0xe3, 0x28, 0xfe, 0xbd, 0x05, 0x67, 0xb2, 0x8d, 0x38, 0x09, 0xad, 0xd3, 0x34, 0xb5, - 0xce, 0x5c, 0x7f, 0xdf, 0xbe, 0x87, 0xc2, 0xf9, 0xf6, 0x38, 0x9c, 0xeb, 0x5a, 0xac, 0xf8, 0x30, - 0xfe, 0xac, 0x05, 0xa7, 0x36, 0xd9, 0xfe, 0x42, 0xbb, 0xf1, 0x23, 0x3a, 0x56, 0x70, 0x4d, 0xea, - 0xd0, 0x8b, 0x42, 0x7c, 0xb7, 0xd4, 0x45, 0x82, 0xbb, 0x2b, 0x43, 0xdf, 0xb0, 0xe0, 0x8c, 0xf3, - 0x20, 0xee, 0xca, 0xa3, 0x2f, 0xe4, 0xe8, 0xf5, 0x02, 0x57, 0x5e, 0x41, 0x06, 0xfe, 0x85, 0xe9, - 0xfd, 0xbd, 0xd9, 0x33, 0x79, 0x54, 0x38, 0xb7, 0x56, 0xf4, 0xb6, 0xc8, 0x3f, 0x46, 0xcd, 0xbe, - 0x52, 0x77, 0xd7, 0xf2, 0xee, 0x1f, 0x70, 0x9d, 0x24, 0x31, 0x58, 0x71, 0x44, 0x5f, 0x86, 0xda, - 0xa6, 0xbc, 0xe4, 0x23, 0x94, 0x5e, 0xc1, 0xca, 0x92, 0x7b, 0x27, 0x88, 0x47, 0xb9, 0x2b, 0x14, - 0x4e, 0x99, 0xa2, 0x1b, 0x50, 0x0d, 0x36, 0x62, 0x71, 0x5f, 0xb7, 0x28, 0x8e, 0xc6, 0x8c, 0x5a, - 0xe2, 0x37, 0x10, 0x6f, 0x2f, 0x37, 0x31, 0x65, 0x41, 0x39, 0x45, 0xeb, 0xae, 0xf0, 0x61, 0x17, - 0x70, 0xc2, 0x0b, 0xf5, 0x6e, 0x4e, 0x78, 0xa1, 0x8e, 0x29, 0x0b, 0x16, 0xb0, 0x17, 0xb7, 0x62, - 0x4f, 0x38, 0xa8, 0x0b, 0x2e, 0x73, 0x77, 0xdd, 0xca, 0xe0, 0xa9, 0xe8, 0x18, 0x18, 0x73, 0x46, - 0x68, 0x0d, 0x86, 0x5a, 0x2c, 0x75, 0xb4, 0xf0, 0x1f, 0x14, 0x25, 0x14, 0xee, 0x4a, 0x33, 0xcd, - 0x0f, 0xd2, 0x38, 0x1c, 0x0b, 0x5e, 0x8c, 0x2b, 0x69, 0x6f, 0x6d, 0xc4, 0xc2, 0x3f, 0x50, 0xc4, - 0xb5, 0x2b, 0x09, 0xb8, 0xe0, 0xca, 0xe0, 0x58, 0xf0, 0x42, 0x75, 0xa8, 0x6c, 0xb4, 0x44, 0xfe, - 0xc7, 0x82, 0x1d, 0xad, 0x79, 0x9d, 0x74, 0x61, 0x68, 0x7f, 0x6f, 0xb6, 0xb2, 0xbc, 0x88, 0x2b, - 0x1b, 0x2d, 0xf4, 0x16, 0x0c, 0x6f, 0xf0, 0x0b, 0x82, 0x22, 0xd7, 0xe3, 0xd5, 0xa2, 0x5b, 0x8c, - 0x5d, 0xb7, 0x09, 0xf9, 0x4d, 0x06, 0x81, 0xc0, 0x92, 0x1d, 0x7a, 0x07, 0x60, 0x43, 0x5d, 0x79, - 0x14, 0xc9, 0x1e, 0xe7, 0xfa, 0xbb, 0x22, 0x29, 0x76, 0xcf, 0x0a, 0x8a, 0x35, 0x8e, 0x54, 0xe6, - 0x1d, 0x99, 0xfd, 0x9e, 0x25, 0x7a, 0x2c, 0x94, 0xf9, 0xdc, 0x64, 0xf9, 0x5c, 0xe6, 0x15, 0x0a, - 0xa7, 0x4c, 0x51, 0x07, 0xc6, 0x77, 0xe2, 0xf6, 0x16, 0x91, 0x53, 0x9f, 0x65, 0x7f, 0x1c, 0xbd, - 0xf6, 0x5a, 0x41, 0x4a, 0x4f, 0x51, 0xc4, 0x8b, 0x92, 0x8e, 0xe3, 0x77, 0x69, 0x30, 0x96, 0x46, - 0xe9, 0x4d, 0x9d, 0x2d, 0x36, 0x6b, 0xa1, 0x9f, 0xe4, 0xbd, 0x4e, 0xb8, 0xbe, 0x9b, 0x10, 0x91, - 0x1d, 0xb2, 0xe0, 0x93, 0xbc, 0xc1, 0x89, 0xbb, 0x3f, 0x89, 0x40, 0x60, 0xc9, 0x4e, 0x0d, 0x19, - 0xd3, 0xc6, 0x53, 0xa5, 0x87, 0xac, 0xab, 0x0f, 0xe9, 0x90, 0x31, 0xed, 0x9b, 0x32, 0x65, 0x5a, - 0xb7, 0xbd, 0x15, 0x26, 0x61, 0x90, 0xd1, 0xfd, 0xa7, 0xca, 0x68, 0xdd, 0x46, 0x4e, 0xc9, 0x6e, - 0xad, 0x9b, 0x47, 0x85, 0x73, 0x6b, 0xb5, 0x7f, 0x7f, 0xb0, 0x7b, 0xbd, 0x65, 0xe6, 0xf0, 0x2f, - 0x76, 0x9f, 0xae, 0x7e, 0xae, 0xff, 0xed, 0xde, 0x23, 0x3c, 0x67, 0xfd, 0x86, 0x05, 0xe7, 0xda, - 0xb9, 0x8b, 0xa9, 0x58, 0xb0, 0xfa, 0xdd, 0x35, 0xf2, 0x01, 0x53, 0xa9, 0x4f, 0xf3, 0xf1, 0xb8, - 0x47, 0x9d, 0x59, 0x0b, 0xb4, 0xfa, 0xa1, 0x2d, 0xd0, 0x7b, 0x30, 0xc2, 0x8c, 0xa6, 0x34, 0xf7, - 0x46, 0x9f, 0xe9, 0x2a, 0xd8, 0xd2, 0xb7, 0x28, 0x58, 0x60, 0xc5, 0x8c, 0x0e, 0xdc, 0x93, 0xd9, - 0x4e, 0x60, 0xc2, 0xd0, 0x22, 0x67, 0x2b, 0x77, 0x4d, 0x2c, 0x8b, 0x91, 0x78, 0xb2, 0x71, 0x18, - 0xf1, 0x41, 0x11, 0x01, 0x3e, 0xbc, 0xb2, 0x93, 0xb4, 0x68, 0xff, 0xb1, 0x95, 0x63, 0x7f, 0xf1, - 0x3d, 0xc8, 0x6b, 0xe6, 0x1e, 0xe4, 0x62, 0x76, 0x0f, 0xd2, 0xe5, 0x31, 0x30, 0xb6, 0x1f, 0xe5, - 0xf3, 0x16, 0x96, 0x4d, 0x0e, 0x62, 0xfb, 0x70, 0xa1, 0x68, 0x72, 0xb3, 0x00, 0x1e, 0x57, 0x1d, - 0x0a, 0xa6, 0x01, 0x3c, 0xee, 0x4a, 0x1d, 0x33, 0x4c, 0xd9, 0xeb, 0xdf, 0xf6, 0xff, 0xb6, 0xa0, - 0xda, 0x08, 0xdd, 0x63, 0xf4, 0x80, 0x5c, 0x37, 0x3c, 0x20, 0x4f, 0x17, 0xbe, 0xf9, 0xd3, 0xd3, - 0xdf, 0x71, 0x27, 0xe3, 0xef, 0xf8, 0x64, 0x31, 0xab, 0xc3, 0xbd, 0x1b, 0xdf, 0xab, 0x82, 0xfe, - 0x6a, 0x11, 0xfa, 0xad, 0xa3, 0x84, 0x74, 0x56, 0xcb, 0x3d, 0x64, 0x24, 0xea, 0x60, 0x01, 0x50, - 0xf2, 0xbe, 0xd7, 0x9f, 0xda, 0xc8, 0xce, 0x7b, 0xc4, 0xdb, 0xdc, 0x4a, 0x88, 0x9b, 0xed, 0xd8, - 0xc9, 0x45, 0x76, 0xfe, 0x37, 0x0b, 0x26, 0x33, 0xb5, 0xa3, 0xed, 0xbc, 0x2b, 0x23, 0x47, 0x75, - 0x69, 0x9c, 0x2a, 0xbc, 0x64, 0x32, 0x07, 0xa0, 0xdc, 0xf0, 0xd2, 0xf1, 0xc0, 0x8c, 0x30, 0xe5, - 0xa7, 0x8f, 0xb1, 0x46, 0x81, 0x5e, 0x82, 0xd1, 0x24, 0x6c, 0x87, 0x7e, 0xb8, 0xb9, 0x7b, 0x93, - 0xc8, 0x8c, 0x04, 0xea, 0x08, 0x63, 0x2d, 0x45, 0x61, 0x9d, 0xce, 0xfe, 0x41, 0x15, 0xb2, 0x8f, - 0x5e, 0xfd, 0x7f, 0x41, 0xfd, 0xd3, 0x23, 0xa8, 0xbf, 0x6b, 0xc1, 0x14, 0xad, 0x9d, 0xc5, 0xaf, - 0xc8, 0xf8, 0x4b, 0x95, 0x6e, 0xdc, 0x3a, 0x24, 0xdd, 0xf8, 0x45, 0xaa, 0xee, 0xdc, 0xb0, 0x23, - 0x53, 0xe0, 0x68, 0x5a, 0x8c, 0x42, 0xb1, 0xc0, 0x0a, 0x3a, 0x12, 0x45, 0xe2, 0x72, 0x8a, 0x4e, - 0x47, 0xa2, 0x08, 0x0b, 0xac, 0xcc, 0x46, 0x3e, 0x90, 0x9f, 0x8d, 0x9c, 0x67, 0x0c, 0x12, 0x71, - 0x13, 0xc2, 0x0e, 0xd0, 0x32, 0x06, 0xc9, 0x80, 0x8a, 0x94, 0xc6, 0xfe, 0x17, 0x55, 0x18, 0x6b, - 0x84, 0x6e, 0x1a, 0x5b, 0xfd, 0xa2, 0x11, 0x5b, 0x7d, 0x21, 0x13, 0x5b, 0x3d, 0xa5, 0xd3, 0x3e, - 0x9a, 0xd0, 0x6a, 0x91, 0x5b, 0x8a, 0xe5, 0xcb, 0x3f, 0x6a, 0x58, 0xb5, 0x91, 0x5b, 0x4a, 0x71, - 0xc2, 0x26, 0xe3, 0x3f, 0x53, 0xe1, 0xd4, 0x7f, 0x6c, 0xc1, 0x44, 0x23, 0x74, 0xa9, 0x88, 0xfe, - 0x59, 0x92, 0x47, 0x3d, 0x23, 0xd5, 0xd0, 0x21, 0x19, 0xa9, 0x7e, 0xd5, 0x82, 0xe1, 0x46, 0xe8, - 0x9e, 0x84, 0x2b, 0x71, 0xd9, 0x74, 0x25, 0x7e, 0xbc, 0x50, 0xf9, 0xf6, 0xf0, 0x1e, 0xfe, 0x46, - 0x15, 0xc6, 0x69, 0x93, 0xc3, 0x4d, 0xf9, 0xc1, 0x8c, 0xc1, 0xb1, 0x4a, 0x0c, 0x0e, 0x35, 0x07, - 0x43, 0xdf, 0x0f, 0x1f, 0x64, 0x3f, 0xde, 0x32, 0x83, 0x62, 0x81, 0x45, 0x97, 0x61, 0xa4, 0x1d, - 0x91, 0x1d, 0x2f, 0xec, 0xc4, 0xd9, 0xbb, 0x6e, 0x0d, 0x01, 0xc7, 0x8a, 0x02, 0xbd, 0x08, 0x63, - 0xb1, 0x17, 0xb4, 0x88, 0x0c, 0xac, 0x18, 0x60, 0x81, 0x15, 0x3c, 0xf1, 0x9f, 0x06, 0xc7, 0x06, - 0x15, 0x7a, 0x0b, 0x6a, 0xec, 0x3f, 0x9b, 0x43, 0x47, 0x48, 0x91, 0xce, 0xb3, 0x52, 0x49, 0x0e, - 0x38, 0x65, 0x86, 0xae, 0x01, 0x24, 0x32, 0x06, 0x24, 0x16, 0x67, 0xa6, 0xca, 0x38, 0x55, 0xd1, - 0x21, 0x31, 0xd6, 0xa8, 0xd0, 0x73, 0x50, 0x4b, 0x1c, 0xcf, 0xbf, 0xe5, 0x05, 0x24, 0x16, 0x51, - 0x34, 0x22, 0x81, 0xad, 0x00, 0xe2, 0x14, 0x4f, 0xd7, 0x7c, 0x76, 0xd3, 0x96, 0x3f, 0xc0, 0x30, - 0xc2, 0xa8, 0xd9, 0x9a, 0x7f, 0x4b, 0x41, 0xb1, 0x46, 0x61, 0xbf, 0xc0, 0xd6, 0xee, 0x3e, 0x63, - 0xef, 0x7f, 0x52, 0x01, 0xd4, 0x60, 0xb1, 0x26, 0xc6, 0x1b, 0x15, 0x5b, 0x30, 0x11, 0x93, 0x5b, - 0x5e, 0xd0, 0x79, 0x28, 0x58, 0x95, 0xbb, 0xed, 0xd0, 0x5c, 0xd2, 0xcb, 0xf0, 0xdb, 0xa5, 0x26, - 0x0c, 0x67, 0xf8, 0xd2, 0x21, 0x89, 0x3a, 0xc1, 0x7c, 0x7c, 0x37, 0x26, 0x91, 0x78, 0x65, 0x82, - 0x0d, 0x09, 0x96, 0x40, 0x9c, 0xe2, 0xa9, 0x0c, 0xb0, 0x3f, 0xb7, 0xc3, 0x00, 0x87, 0x61, 0x22, - 0xa5, 0x86, 0xa5, 0x1c, 0xd7, 0xe0, 0xd8, 0xa0, 0x42, 0xcb, 0x80, 0xe2, 0x4e, 0xbb, 0xed, 0xb3, - 0xa3, 0x2d, 0xc7, 0xbf, 0x1e, 0x85, 0x9d, 0x36, 0x0f, 0x37, 0x16, 0xd9, 0xba, 0x9b, 0x5d, 0x58, - 0x9c, 0x53, 0x82, 0x4e, 0xfa, 0x8d, 0x98, 0xfd, 0x16, 0xb7, 0x67, 0xb9, 0x83, 0xad, 0xc9, 0x40, - 0x58, 0xe2, 0xec, 0x0e, 0x5b, 0xaa, 0x58, 0xf6, 0xff, 0xa4, 0x13, 0x11, 0x44, 0x60, 0xbc, 0xcd, - 0x96, 0x23, 0x79, 0xbe, 0x5e, 0x6a, 0x28, 0x33, 0xd1, 0x2e, 0x3c, 0xcb, 0xb7, 0xce, 0x06, 0x9b, - 0x5c, 0xed, 0xff, 0x08, 0x4c, 0xd7, 0x88, 0x53, 0xc5, 0x61, 0x11, 0xcb, 0x2a, 0x6c, 0xb1, 0x4f, - 0x94, 0x79, 0xee, 0x26, 0xd5, 0xe3, 0x22, 0x32, 0x16, 0x4b, 0x2e, 0xe8, 0x4b, 0x3c, 0x40, 0x80, - 0xcd, 0xef, 0xf2, 0x6f, 0x50, 0x71, 0x7a, 0x23, 0x4a, 0x5b, 0xb0, 0xc0, 0x1a, 0x3b, 0x74, 0x0b, - 0xc6, 0x45, 0x8a, 0x78, 0xe1, 0x19, 0xa8, 0x1a, 0xbb, 0xe3, 0x71, 0xac, 0x23, 0x0f, 0xb2, 0x00, - 0x6c, 0x16, 0x46, 0x9b, 0xf0, 0xa4, 0xf6, 0x6e, 0x4c, 0x4e, 0x44, 0x16, 0x57, 0x1c, 0x1f, 0xdf, - 0xdf, 0x9b, 0x7d, 0x72, 0xed, 0x30, 0x42, 0x7c, 0x38, 0x1f, 0x74, 0x07, 0xce, 0x3a, 0xad, 0xc4, - 0xdb, 0x21, 0x75, 0xe2, 0xb8, 0xbe, 0x17, 0x10, 0xf3, 0x6a, 0xf5, 0xe3, 0xfb, 0x7b, 0xb3, 0x67, - 0xe7, 0xf3, 0x08, 0x70, 0x7e, 0x39, 0xf4, 0x1a, 0xd4, 0xdc, 0x20, 0x16, 0x63, 0x30, 0x64, 0x3c, - 0x91, 0x53, 0xab, 0xdf, 0x6e, 0xaa, 0xfe, 0xa7, 0x7f, 0x70, 0x5a, 0x00, 0xbd, 0xc7, 0x5f, 0xee, - 0x55, 0x1b, 0x12, 0xfe, 0x34, 0xd3, 0xcb, 0xa5, 0xb6, 0xc0, 0xc6, 0x2d, 0x10, 0xee, 0x34, 0x53, - 0x91, 0x8f, 0xc6, 0x05, 0x11, 0xa3, 0x0a, 0xf4, 0x79, 0x40, 0x31, 0x89, 0x76, 0xbc, 0x16, 0x99, - 0x6f, 0xb1, 0x94, 0x97, 0xec, 0x78, 0x6e, 0xc4, 0x08, 0xff, 0x47, 0xcd, 0x2e, 0x0a, 0x9c, 0x53, - 0x0a, 0xdd, 0xa0, 0x1a, 0x47, 0x87, 0x8a, 0x40, 0x55, 0x69, 0xda, 0x4d, 0xd7, 0x49, 0x3b, 0x22, - 0x2d, 0x27, 0x21, 0xae, 0xc9, 0x11, 0x67, 0xca, 0xd1, 0x65, 0x45, 0xa5, 0xf2, 0x06, 0x33, 0xbc, - 0xb2, 0x3b, 0x9d, 0x37, 0xdd, 0x29, 0x6d, 0x85, 0x71, 0x72, 0x9b, 0x24, 0x0f, 0xc2, 0xe8, 0x3e, - 0x73, 0xb6, 0x8f, 0x68, 0x29, 0xbe, 0x52, 0x14, 0xd6, 0xe9, 0xa8, 0x0d, 0xc4, 0x4e, 0x79, 0x56, - 0xea, 0xcc, 0x85, 0x3e, 0x92, 0xce, 0x9d, 0x1b, 0x1c, 0x8c, 0x25, 0x5e, 0x92, 0xae, 0x34, 0x16, - 0x99, 0x3b, 0x3c, 0x43, 0xba, 0xd2, 0x58, 0xc4, 0x12, 0x8f, 0xc2, 0xee, 0x87, 0x88, 0x26, 0xca, - 0x1c, 0x4d, 0x74, 0x6b, 0xf0, 0x92, 0x6f, 0x11, 0x3d, 0x84, 0x29, 0xf5, 0x18, 0x12, 0xcf, 0xbd, - 0x18, 0x4f, 0x4f, 0x96, 0x79, 0x37, 0x38, 0x37, 0x85, 0xa3, 0x8a, 0x4c, 0x5e, 0xc9, 0xf0, 0xc4, - 0x5d, 0xb5, 0x18, 0x29, 0x02, 0xa6, 0x0a, 0xd3, 0xb3, 0x5f, 0x81, 0x5a, 0xdc, 0x59, 0x77, 0xc3, - 0x6d, 0xc7, 0x0b, 0x98, 0xcf, 0x5a, 0x7f, 0x05, 0x57, 0x22, 0x70, 0x4a, 0x33, 0xf3, 0x59, 0x38, - 0xd5, 0x25, 0xd3, 0x7d, 0x85, 0xd4, 0xfd, 0xe2, 0x00, 0xd4, 0x94, 0x57, 0x07, 0x5d, 0x31, 0x1d, - 0x77, 0x8f, 0x67, 0x1d, 0x77, 0x23, 0x74, 0xe5, 0xd5, 0x7d, 0x75, 0xef, 0xe4, 0x3c, 0x83, 0xf9, - 0x6c, 0xe1, 0x47, 0x2c, 0x7f, 0xb3, 0xa5, 0x8f, 0x47, 0x42, 0x53, 0xb3, 0x7e, 0xe0, 0x50, 0xb3, - 0xbe, 0xe4, 0x2b, 0x47, 0xd4, 0x80, 0x6f, 0x87, 0xee, 0x4a, 0x23, 0xfb, 0x82, 0x47, 0x83, 0x02, - 0x31, 0xc7, 0x31, 0xbb, 0x8b, 0x2a, 0x65, 0x66, 0x77, 0x0d, 0x1f, 0xd5, 0xee, 0x92, 0x1c, 0x70, - 0xca, 0x0c, 0xed, 0xc0, 0xa9, 0x96, 0xf9, 0x22, 0x8b, 0xba, 0xb0, 0xf2, 0x7c, 0x1f, 0x2f, 0xa2, - 0x74, 0xb4, 0xec, 0xf3, 0x8b, 0x59, 0x7e, 0xb8, 0xbb, 0x0a, 0xfb, 0x07, 0xdc, 0x0b, 0x24, 0xb6, - 0x85, 0x24, 0xee, 0xf8, 0xc7, 0x99, 0x4c, 0xfa, 0x8e, 0xb1, 0x53, 0x7d, 0x04, 0xfe, 0xc7, 0xdf, - 0xb4, 0x98, 0xff, 0x71, 0x8d, 0x6c, 0xb7, 0x7d, 0x27, 0x39, 0xce, 0x68, 0xbd, 0x2f, 0xc1, 0x48, - 0x22, 0x6a, 0x29, 0x97, 0x01, 0x5b, 0x6b, 0x16, 0xf3, 0xc7, 0x2a, 0x45, 0x20, 0xa1, 0x58, 0x31, - 0xb4, 0xff, 0x35, 0xff, 0x0a, 0x12, 0x73, 0x12, 0x3b, 0xab, 0xdb, 0xe6, 0xce, 0xea, 0x99, 0xd2, - 0x9d, 0xe9, 0xb1, 0xc3, 0xfa, 0xae, 0xd9, 0x05, 0x66, 0xb0, 0x7d, 0xf4, 0x3d, 0xe2, 0xf6, 0x2a, - 0x98, 0xaf, 0xcc, 0xa0, 0xd7, 0x78, 0xa8, 0x2a, 0xd7, 0x88, 0xcf, 0xf6, 0x19, 0xa6, 0x6a, 0xff, - 0x7a, 0x05, 0xce, 0xe4, 0x3d, 0x3e, 0x8f, 0x5c, 0x18, 0x6b, 0x6b, 0xe6, 0x73, 0xb9, 0x44, 0x06, - 0xba, 0xc1, 0x9d, 0x9a, 0x2e, 0x3a, 0x14, 0x1b, 0x5c, 0x11, 0x81, 0x31, 0xb2, 0xe3, 0xb5, 0x94, - 0x7b, 0xa5, 0xd2, 0xbf, 0x8a, 0x52, 0xd5, 0x2c, 0x69, 0x8c, 0xb0, 0xc1, 0xf6, 0x18, 0x92, 0xb4, - 0xdb, 0xff, 0xd0, 0x82, 0xc7, 0x7a, 0x64, 0x3b, 0xa0, 0xd5, 0x3d, 0x60, 0x5e, 0x48, 0xf1, 0x8a, - 0x91, 0xaa, 0x8e, 0xfb, 0x26, 0xb1, 0xc0, 0xa2, 0x75, 0x00, 0xee, 0x5b, 0x64, 0x4f, 0xbb, 0x56, - 0xca, 0xc4, 0x00, 0x74, 0xdd, 0xac, 0xd6, 0x2e, 0xdd, 0xaa, 0xc7, 0x5c, 0x35, 0xae, 0xf6, 0x77, - 0xaa, 0x30, 0xc8, 0x5f, 0x97, 0x6c, 0xc0, 0xf0, 0x16, 0x4f, 0xae, 0xd8, 0x5f, 0x6e, 0xc7, 0xd4, - 0x4e, 0xe2, 0x00, 0x2c, 0xd9, 0xa0, 0x55, 0x38, 0xed, 0x05, 0x5e, 0xe2, 0x39, 0x7e, 0x9d, 0xf8, - 0xce, 0xae, 0x34, 0xbc, 0x79, 0x62, 0x6d, 0x99, 0x03, 0xf6, 0xf4, 0x4a, 0x37, 0x09, 0xce, 0x2b, - 0x87, 0x5e, 0xef, 0xca, 0x8e, 0xc4, 0x93, 0x56, 0xaa, 0xbb, 0x5a, 0x87, 0x67, 0x48, 0x42, 0xaf, - 0xc2, 0x78, 0xbb, 0x6b, 0x8b, 0xa1, 0x3d, 0x4b, 0x68, 0x6e, 0x2b, 0x4c, 0x5a, 0x54, 0x87, 0xa9, - 0xb8, 0xc3, 0x4e, 0x64, 0xd7, 0xb6, 0x22, 0x12, 0x6f, 0x85, 0xbe, 0x2b, 0x9e, 0xd3, 0x52, 0xe6, - 0x54, 0x33, 0x83, 0xc7, 0x5d, 0x25, 0x28, 0x97, 0x0d, 0xc7, 0xf3, 0x3b, 0x11, 0x49, 0xb9, 0x0c, - 0x99, 0x5c, 0x96, 0x33, 0x78, 0xdc, 0x55, 0xc2, 0xfe, 0x43, 0x0b, 0x4e, 0xe7, 0x84, 0x2d, 0xf0, - 0x68, 0xba, 0x4d, 0x2f, 0x4e, 0x54, 0xfa, 0x64, 0x2d, 0x9a, 0x8e, 0xc3, 0xb1, 0xa2, 0xa0, 0x52, - 0xc8, 0xf7, 0x8d, 0xd9, 0xe3, 0x40, 0x71, 0x30, 0x2b, 0xb0, 0xfd, 0xe5, 0x3a, 0x52, 0x8f, 0xe4, - 0x0f, 0xf4, 0x7c, 0x24, 0xff, 0x29, 0x18, 0xdc, 0x54, 0xbb, 0x73, 0xcd, 0x30, 0xe1, 0xfb, 0x73, - 0x8e, 0xb3, 0xbf, 0x55, 0x85, 0xc9, 0x4c, 0xf8, 0x12, 0x6d, 0x48, 0xe6, 0x2d, 0x7f, 0xe6, 0x52, - 0x58, 0x24, 0xed, 0xad, 0x9c, 0xf7, 0xfc, 0x2f, 0x9a, 0x4f, 0xfd, 0xa6, 0x6d, 0x5e, 0xa8, 0x1b, - 0x8f, 0x98, 0x95, 0x4d, 0xe9, 0xfe, 0x14, 0x0c, 0xb4, 0x43, 0xf5, 0x26, 0xa5, 0x12, 0x7a, 0xbc, - 0x50, 0x6f, 0x84, 0xa1, 0x8f, 0x19, 0x12, 0x3d, 0x2d, 0x7a, 0x9f, 0x71, 0x4e, 0x62, 0xc7, 0x0d, - 0x63, 0x6d, 0x08, 0x9e, 0x81, 0xe1, 0xfb, 0x64, 0x37, 0xf2, 0x82, 0xcd, 0xac, 0x6b, 0xf6, 0x26, - 0x07, 0x63, 0x89, 0x37, 0xd3, 0xb6, 0x0f, 0x1f, 0x73, 0xda, 0xf6, 0x91, 0xc2, 0x10, 0xcc, 0x5f, - 0xb1, 0x60, 0x92, 0xe5, 0x9c, 0x13, 0xd7, 0x60, 0xbd, 0x30, 0x38, 0xc6, 0x55, 0xf1, 0x29, 0x18, - 0x8c, 0x68, 0x65, 0xd9, 0x8c, 0xcb, 0xac, 0x05, 0x98, 0xe3, 0xd0, 0x13, 0xe2, 0xc5, 0x74, 0xfa, - 0xf9, 0xc6, 0x78, 0x06, 0xdb, 0xf4, 0xe9, 0x73, 0x16, 0xe0, 0x8f, 0x49, 0xdb, 0xf7, 0x78, 0x63, - 0x53, 0x4f, 0xcc, 0x47, 0x25, 0xc0, 0x3f, 0xb7, 0x71, 0x8f, 0x2a, 0xc0, 0x3f, 0x9f, 0xf9, 0xe1, - 0x26, 0xe8, 0xff, 0xa8, 0xc0, 0xf9, 0xdc, 0x72, 0xe9, 0xb1, 0xce, 0xb2, 0x71, 0xac, 0x73, 0x2d, - 0x73, 0xac, 0x63, 0x1f, 0x5e, 0xfa, 0xd1, 0x1c, 0xf4, 0xe4, 0x1f, 0xbf, 0x54, 0x4f, 0xf2, 0xf8, - 0x65, 0xa0, 0xac, 0xad, 0x30, 0x58, 0x60, 0x2b, 0xfc, 0x8e, 0x05, 0x8f, 0xe7, 0x8e, 0xd9, 0x47, - 0xef, 0x4a, 0x45, 0x6e, 0x33, 0x7b, 0x58, 0xd0, 0x7f, 0xbd, 0xda, 0xa3, 0x5b, 0xcc, 0x96, 0xbe, - 0x44, 0xf5, 0x0e, 0x43, 0xc6, 0xc2, 0x0c, 0x1a, 0xe3, 0x3a, 0x87, 0xc3, 0xb0, 0xc2, 0xa2, 0x58, - 0xbb, 0x92, 0xc0, 0x1b, 0xb9, 0x74, 0xc4, 0x29, 0x35, 0x67, 0x3a, 0xcf, 0xf4, 0xfb, 0xbc, 0x99, - 0x7b, 0x0a, 0xe8, 0x9e, 0xb6, 0x3d, 0xaa, 0x1e, 0x65, 0x7b, 0x34, 0x96, 0xbf, 0x35, 0x42, 0xf3, - 0x30, 0xb9, 0xed, 0x05, 0xec, 0xcd, 0x34, 0xd3, 0x0e, 0x51, 0xb7, 0xe0, 0x56, 0x4d, 0x34, 0xce, - 0xd2, 0xcf, 0xbc, 0x0a, 0xe3, 0x47, 0xf7, 0x98, 0x7c, 0x50, 0x85, 0x9f, 0x3a, 0x44, 0x2d, 0xf0, - 0xf5, 0xc0, 0xf8, 0x2e, 0xda, 0x7a, 0xd0, 0xf5, 0x6d, 0x1a, 0x70, 0x66, 0xa3, 0xe3, 0xfb, 0xbb, - 0x2c, 0x2c, 0x82, 0xb8, 0x92, 0x42, 0xd8, 0x78, 0xea, 0x35, 0xd3, 0xe5, 0x1c, 0x1a, 0x9c, 0x5b, - 0x12, 0x7d, 0x1e, 0x50, 0xb8, 0xce, 0x12, 0x31, 0xba, 0xe9, 0x8d, 0x65, 0xf6, 0x09, 0xaa, 0xe9, - 0x5c, 0xbd, 0xd3, 0x45, 0x81, 0x73, 0x4a, 0x51, 0x8b, 0x8f, 0x3d, 0x84, 0xaa, 0x9a, 0x95, 0xb1, - 0xf8, 0xb0, 0x8e, 0xc4, 0x26, 0x2d, 0xba, 0x0e, 0xa7, 0x9c, 0x1d, 0xc7, 0xe3, 0xd9, 0x66, 0x24, - 0x03, 0x6e, 0xf2, 0x29, 0x97, 0xc4, 0x7c, 0x96, 0x00, 0x77, 0x97, 0x41, 0x6d, 0xc3, 0xc9, 0xc4, - 0x13, 0x2f, 0xbf, 0x76, 0x04, 0x09, 0x2e, 0xed, 0x76, 0xb2, 0xff, 0xc0, 0xa2, 0x8b, 0x5e, 0xce, - 0x1b, 0x63, 0xc6, 0xd3, 0xdc, 0xda, 0x2d, 0x8d, 0xee, 0xa7, 0xb9, 0x99, 0xff, 0xd5, 0xa4, 0xe5, - 0xa2, 0x11, 0xa7, 0x61, 0x95, 0x86, 0x7d, 0x29, 0x6e, 0x27, 0x29, 0x0a, 0x74, 0x0f, 0x86, 0x5d, - 0x6f, 0xc7, 0x8b, 0xc3, 0xa8, 0xc4, 0x4b, 0xb8, 0x5d, 0xa1, 0x7a, 0xa9, 0xba, 0xac, 0x73, 0x26, - 0x58, 0x72, 0xb3, 0xff, 0x66, 0x05, 0xc6, 0x65, 0x7d, 0x6f, 0x74, 0x42, 0xa6, 0xc3, 0x8e, 0x6b, - 0x29, 0x7f, 0xc3, 0x58, 0xca, 0xaf, 0x94, 0xbb, 0xa2, 0xc5, 0x1a, 0xd5, 0x73, 0x09, 0xff, 0x42, - 0x66, 0x09, 0xbf, 0xda, 0x0f, 0xd3, 0x42, 0xef, 0xd1, 0x29, 0x83, 0xfe, 0x23, 0x94, 0xf8, 0x37, - 0xaf, 0x3b, 0x3d, 0x16, 0x8e, 0xef, 0x54, 0x32, 0xdd, 0x60, 0x0b, 0xc6, 0xd7, 0x60, 0x60, 0xcb, - 0x89, 0x5c, 0x71, 0x54, 0xf6, 0xe9, 0x3e, 0x3f, 0xc5, 0xdc, 0x0d, 0x27, 0x72, 0xb9, 0xda, 0xbf, - 0xac, 0x5e, 0x28, 0x71, 0x22, 0xb7, 0x30, 0xc8, 0x98, 0x55, 0x8a, 0x5e, 0x81, 0xa1, 0xb8, 0x15, - 0xb6, 0x55, 0x54, 0xd7, 0x05, 0xfe, 0x7a, 0x09, 0x85, 0x1c, 0xec, 0xcd, 0x22, 0xb3, 0x3a, 0x0a, - 0xc6, 0x82, 0x7e, 0x86, 0x40, 0x4d, 0x55, 0x7d, 0x8c, 0xe1, 0xac, 0x1f, 0x54, 0xe1, 0x74, 0x8e, - 0xa8, 0xa0, 0x9f, 0x31, 0x46, 0xed, 0xd5, 0xbe, 0x65, 0xed, 0x43, 0x8e, 0xdb, 0xcf, 0xb0, 0x0d, - 0x91, 0x2b, 0x64, 0xe3, 0x08, 0xd5, 0xdf, 0x8d, 0x49, 0xb6, 0x7a, 0x0a, 0x2a, 0xae, 0x9e, 0x56, - 0x7b, 0x42, 0x83, 0x4f, 0xab, 0x51, 0xed, 0x3c, 0xc6, 0x6f, 0xfc, 0xfe, 0x00, 0x9c, 0xc9, 0xbb, - 0x06, 0x8a, 0x7e, 0xde, 0xca, 0xa4, 0x0e, 0x7f, 0xbd, 0xff, 0xbb, 0xa4, 0x3c, 0x9f, 0xb8, 0x48, - 0x0f, 0x31, 0x67, 0x26, 0x13, 0x2f, 0x1c, 0x6d, 0x51, 0x3b, 0xbb, 0x18, 0x10, 0xf1, 0x2c, 0xf0, - 0x52, 0x1f, 0x7c, 0xee, 0x08, 0x4d, 0x11, 0x89, 0xe4, 0xe3, 0xcc, 0xc5, 0x00, 0x09, 0x2e, 0xbe, - 0x18, 0x20, 0xdb, 0x30, 0xb3, 0x09, 0xa3, 0x5a, 0xbf, 0x8e, 0x51, 0x04, 0x3c, 0xba, 0x26, 0x69, - 0xad, 0x3e, 0x46, 0x31, 0xf8, 0xdb, 0x16, 0x64, 0xc2, 0x35, 0x94, 0xd7, 0xc5, 0xea, 0xe9, 0x75, - 0xb9, 0x00, 0x03, 0x51, 0xe8, 0x93, 0x6c, 0x4e, 0x6b, 0x1c, 0xfa, 0x04, 0x33, 0x8c, 0x7a, 0x07, - 0xb1, 0xda, 0xeb, 0x1d, 0x44, 0xba, 0x1d, 0xf7, 0xc9, 0x0e, 0x91, 0x3e, 0x10, 0xa5, 0xbc, 0x6f, - 0x51, 0x20, 0xe6, 0x38, 0xfb, 0x47, 0x55, 0x18, 0xe2, 0x8e, 0x86, 0x63, 0x5c, 0x96, 0x1b, 0x62, - 0xcf, 0x5f, 0xea, 0x42, 0x26, 0x6f, 0xcd, 0x5c, 0xdd, 0x49, 0x1c, 0x2e, 0x50, 0xaa, 0x6f, 0xa9, - 0x9f, 0x00, 0xcd, 0x19, 0xbd, 0x9f, 0xc9, 0x6c, 0x69, 0x81, 0xf3, 0xd0, 0xc6, 0x62, 0x0b, 0x20, - 0x66, 0x4f, 0x62, 0x51, 0x1e, 0x22, 0x29, 0xde, 0x8b, 0xa5, 0xda, 0xd1, 0x54, 0xc5, 0x78, 0x6b, - 0xd2, 0x6c, 0x5c, 0x0a, 0x81, 0x35, 0xde, 0x33, 0x2f, 0x43, 0x4d, 0x11, 0x17, 0x59, 0xfa, 0x63, - 0xba, 0x48, 0xfe, 0x39, 0x98, 0xcc, 0xd4, 0xd5, 0xd7, 0x46, 0xe1, 0xfb, 0x16, 0x9c, 0xea, 0x7a, - 0xc2, 0x15, 0xbd, 0x6f, 0xc1, 0x19, 0x3f, 0xc7, 0xc3, 0x24, 0x3e, 0xf0, 0x51, 0x7c, 0x53, 0x6a, - 0x97, 0x90, 0x87, 0xc5, 0xb9, 0xb5, 0xc9, 0x34, 0x9f, 0x95, 0xfc, 0x34, 0x9f, 0xec, 0x1d, 0x20, - 0xde, 0xf6, 0x93, 0xb0, 0x80, 0x56, 0x4c, 0x0b, 0xe8, 0x13, 0x65, 0xc4, 0xa0, 0x87, 0xe9, 0xf3, - 0xef, 0x2c, 0x40, 0x9c, 0x20, 0xfb, 0x34, 0x1e, 0xf7, 0xd8, 0x69, 0x36, 0x7b, 0x2a, 0x37, 0x0a, - 0x83, 0x35, 0xaa, 0x3e, 0xd3, 0x9e, 0xab, 0x27, 0xa5, 0xca, 0xbd, 0x5b, 0x5f, 0x2d, 0xf1, 0x6e, - 0xfd, 0x6f, 0x56, 0x21, 0x1b, 0xda, 0x80, 0xbe, 0x0c, 0x63, 0x2d, 0xa7, 0xed, 0xac, 0x7b, 0xbe, - 0x97, 0x78, 0x24, 0x2e, 0x77, 0x6c, 0xb4, 0xa8, 0x95, 0x10, 0x3e, 0x5f, 0x0d, 0x82, 0x0d, 0x8e, - 0x68, 0x0e, 0xa0, 0x1d, 0x79, 0x3b, 0x9e, 0x4f, 0x36, 0x99, 0xdd, 0xa1, 0x92, 0xa4, 0x34, 0x14, - 0x14, 0x6b, 0x14, 0x39, 0x31, 0x74, 0xd5, 0x93, 0x88, 0xa1, 0x1b, 0xe8, 0x33, 0x86, 0x6e, 0xb0, - 0x54, 0x0c, 0x1d, 0x86, 0x73, 0xd2, 0x55, 0x4b, 0xff, 0x2f, 0x7b, 0x3e, 0xe1, 0x79, 0xfd, 0x44, - 0xe4, 0xe3, 0xcc, 0xfe, 0xde, 0xec, 0x39, 0x9c, 0x4b, 0x81, 0x7b, 0x94, 0xb4, 0x3b, 0x70, 0xba, - 0x49, 0x22, 0x8f, 0xa5, 0x5d, 0x72, 0xd3, 0x19, 0xf8, 0x0e, 0xd4, 0xa2, 0xcc, 0xe4, 0xef, 0xf3, - 0x4e, 0x9a, 0x96, 0xbc, 0x42, 0x4e, 0xf6, 0x94, 0xa5, 0xfd, 0x97, 0x2a, 0x30, 0x2c, 0x42, 0x88, - 0x8e, 0x71, 0x21, 0xb9, 0x69, 0xec, 0xef, 0x9e, 0x29, 0x9a, 0xb9, 0xac, 0x39, 0x3d, 0x77, 0x76, - 0xcd, 0xcc, 0xce, 0xee, 0xb9, 0x72, 0xec, 0x0e, 0xdf, 0xd3, 0xfd, 0xb0, 0x02, 0x13, 0x66, 0x28, - 0xd5, 0x31, 0x0e, 0xc7, 0x5b, 0x30, 0x1c, 0x8b, 0xf8, 0xa2, 0x4a, 0x99, 0x58, 0x8d, 0xec, 0x27, - 0x4d, 0xdf, 0xc0, 0x17, 0x11, 0x45, 0x92, 0x5d, 0x6e, 0x08, 0x53, 0xf5, 0x24, 0x42, 0x98, 0xec, - 0x1f, 0x31, 0x95, 0xaa, 0x0f, 0xe0, 0x49, 0xac, 0x09, 0x6f, 0x98, 0xda, 0xf7, 0x72, 0x29, 0x51, - 0x10, 0xed, 0xeb, 0xb1, 0x36, 0x7c, 0xcf, 0x82, 0x51, 0x41, 0x78, 0x12, 0x3d, 0xf8, 0xbc, 0xd9, - 0x83, 0xa7, 0x4b, 0xf5, 0xa0, 0x47, 0xd3, 0xff, 0x6e, 0x45, 0x35, 0xbd, 0x21, 0x9e, 0x0c, 0x2d, - 0x4c, 0xf4, 0x38, 0xd2, 0x8e, 0xc2, 0x24, 0x6c, 0x85, 0xbe, 0x58, 0xe5, 0x9f, 0x48, 0xa3, 0xce, - 0x39, 0xfc, 0x40, 0xfb, 0x8d, 0x15, 0x35, 0x8b, 0xa6, 0x0e, 0xa3, 0x44, 0x2c, 0x51, 0x79, 0x0f, - 0x96, 0xae, 0xcb, 0x07, 0xa1, 0x29, 0x4c, 0x5c, 0xd9, 0xe8, 0xf7, 0x21, 0xd4, 0x34, 0x86, 0x5c, - 0x71, 0xc2, 0x1a, 0x57, 0x19, 0xde, 0xc8, 0x6a, 0x18, 0x34, 0xdd, 0xa8, 0xb7, 0x05, 0x1c, 0x2b, - 0x0a, 0xfb, 0x65, 0xa6, 0x63, 0xd9, 0xf0, 0xf4, 0x17, 0x18, 0xfe, 0x0b, 0x43, 0x6a, 0x60, 0x99, - 0x93, 0xe4, 0x36, 0x0c, 0xd2, 0x2e, 0xca, 0x7d, 0x60, 0x39, 0x85, 0x46, 0x9b, 0xa0, 0x07, 0x88, - 0x45, 0x49, 0x8c, 0x39, 0x1b, 0x44, 0xba, 0x7c, 0xef, 0x2f, 0x97, 0xd6, 0x91, 0x7d, 0x78, 0xdb, - 0x59, 0xe2, 0x18, 0x96, 0x2c, 0x63, 0xa5, 0x91, 0x4d, 0xce, 0xb9, 0x28, 0x11, 0x38, 0xa5, 0x41, - 0x57, 0x84, 0xb9, 0x6e, 0xbe, 0x27, 0x2b, 0xcd, 0x75, 0x39, 0x24, 0x9a, 0xbd, 0x7e, 0x15, 0x46, - 0x55, 0x7a, 0xf2, 0x06, 0xcf, 0x32, 0x5d, 0xe3, 0xf6, 0xcb, 0x52, 0x0a, 0xc6, 0x3a, 0x0d, 0x5a, - 0x81, 0xd3, 0xae, 0x8a, 0x66, 0x6d, 0x74, 0xd6, 0x7d, 0xaf, 0x45, 0x8b, 0xf2, 0x9b, 0x24, 0x8f, - 0xed, 0xef, 0xcd, 0x9e, 0xae, 0x77, 0xa3, 0x71, 0x5e, 0x19, 0xb4, 0x06, 0x93, 0x31, 0x4f, 0xc3, - 0x2e, 0xef, 0x9c, 0x89, 0xec, 0x75, 0xcf, 0x4a, 0xa7, 0x7f, 0xd3, 0x44, 0x1f, 0x30, 0x10, 0x57, - 0x0a, 0x02, 0x84, 0xb3, 0x2c, 0xd0, 0xeb, 0x30, 0xe1, 0xeb, 0xcf, 0x29, 0x35, 0x44, 0x50, 0xaf, - 0x0a, 0x88, 0x30, 0x1e, 0x5b, 0x6a, 0xe0, 0x0c, 0x35, 0x7a, 0x0b, 0xa6, 0x75, 0x88, 0xb8, 0xd4, - 0xee, 0x04, 0x9b, 0x24, 0x16, 0xf9, 0x9f, 0x9f, 0xd8, 0xdf, 0x9b, 0x9d, 0xbe, 0xd5, 0x83, 0x06, - 0xf7, 0x2c, 0x8d, 0x5e, 0x81, 0x31, 0x39, 0x92, 0x5a, 0x80, 0x6f, 0x1a, 0x8a, 0xa3, 0xe1, 0xb0, - 0x41, 0xf9, 0xe1, 0xce, 0x36, 0xbe, 0x46, 0x0b, 0x6b, 0x8b, 0x2a, 0xfa, 0x0a, 0x8c, 0xe9, 0x6d, - 0x14, 0x6a, 0xf2, 0x53, 0xe5, 0x9f, 0xa8, 0x12, 0x8b, 0xb3, 0x6a, 0xb9, 0x8e, 0xc3, 0x06, 0x6f, - 0xbb, 0x05, 0x93, 0x99, 0x27, 0x72, 0xd5, 0x5b, 0xcb, 0xd6, 0xa3, 0x7a, 0x6b, 0xd9, 0xfe, 0xba, - 0x05, 0x83, 0x6b, 0x8e, 0x57, 0xfc, 0xd0, 0x41, 0x99, 0xc7, 0x8a, 0xd1, 0x4b, 0x30, 0x44, 0x36, - 0x36, 0x48, 0x4b, 0xbe, 0xdd, 0xfc, 0xa4, 0x7a, 0x79, 0x9f, 0x41, 0xe9, 0x4c, 0x62, 0x95, 0xf1, - 0xbf, 0x58, 0x10, 0xdb, 0xff, 0xc1, 0x02, 0x58, 0x0b, 0x7d, 0x79, 0xca, 0x52, 0xd0, 0x92, 0x85, - 0xae, 0x27, 0x17, 0x2e, 0xe6, 0x3c, 0xb9, 0x80, 0x52, 0x86, 0x39, 0x0f, 0x2e, 0xa8, 0xde, 0x54, - 0x4b, 0xf5, 0x66, 0xa0, 0x9f, 0xde, 0x7c, 0xd3, 0x02, 0x11, 0xf2, 0x52, 0x62, 0x59, 0x72, 0x65, - 0x9a, 0x74, 0x23, 0xbb, 0xc4, 0xb3, 0x65, 0xee, 0x6d, 0x88, 0x9c, 0x12, 0x4a, 0x94, 0x8c, 0x4c, - 0x12, 0x06, 0x57, 0xba, 0xf5, 0x1e, 0xe5, 0xe8, 0x55, 0x66, 0xf0, 0x15, 0xb7, 0xab, 0xaf, 0x44, - 0x5a, 0x2c, 0x8b, 0x38, 0x65, 0xac, 0xf2, 0x29, 0xe9, 0x59, 0xc4, 0x25, 0x02, 0xa7, 0x34, 0xe8, - 0x19, 0x18, 0x8e, 0x3b, 0xeb, 0x8c, 0x3c, 0x13, 0xff, 0xd2, 0xe4, 0x60, 0x2c, 0xf1, 0xf6, 0xcf, - 0x21, 0x30, 0xba, 0x66, 0xe4, 0x6e, 0xb2, 0x1e, 0x79, 0xee, 0xa6, 0xb7, 0x61, 0x84, 0x6c, 0xb7, - 0x93, 0xdd, 0xba, 0x17, 0x95, 0xcb, 0xa3, 0xb7, 0x24, 0xa8, 0xbb, 0xb9, 0x4b, 0x0c, 0x56, 0x1c, - 0x7b, 0x64, 0xe2, 0xaa, 0x7e, 0x24, 0x32, 0x71, 0x0d, 0xfc, 0x89, 0x64, 0xe2, 0x7a, 0x0b, 0x86, - 0x37, 0xf9, 0xdb, 0xfd, 0xe2, 0x9e, 0x5e, 0xc1, 0xf1, 0x55, 0xce, 0x43, 0xff, 0xfc, 0x42, 0x96, - 0x40, 0x60, 0xc9, 0x0e, 0xad, 0xc1, 0x10, 0xdf, 0x2c, 0x88, 0xe4, 0x56, 0x9f, 0x2a, 0xe3, 0x46, - 0xe9, 0xce, 0xf3, 0x24, 0x82, 0x9c, 0x04, 0x2f, 0x99, 0x79, 0x6b, 0xf8, 0xc3, 0x67, 0xde, 0x52, - 0xf9, 0xb2, 0x46, 0x1e, 0x55, 0xbe, 0x2c, 0x23, 0xef, 0x58, 0xed, 0x38, 0xf2, 0x8e, 0x7d, 0xd3, - 0x82, 0xb3, 0xed, 0xbc, 0xb4, 0x7d, 0x22, 0xf3, 0xd5, 0x67, 0x8f, 0x90, 0xc6, 0xd0, 0xa8, 0x9a, - 0x5d, 0x9f, 0xca, 0x25, 0xc3, 0xf9, 0x15, 0xcb, 0x04, 0x66, 0xa3, 0x1f, 0x3e, 0x81, 0xd9, 0x71, - 0xa7, 0xc8, 0x4a, 0xd3, 0x99, 0x8d, 0x1f, 0x4b, 0x3a, 0xb3, 0x89, 0x47, 0x98, 0xce, 0x4c, 0x4b, - 0x44, 0x36, 0xf9, 0x68, 0x13, 0x91, 0x6d, 0xc1, 0xa8, 0x1b, 0x3e, 0x08, 0x1e, 0x38, 0x91, 0x3b, - 0xdf, 0x58, 0x11, 0x79, 0xaf, 0x0a, 0x72, 0x2c, 0xd4, 0xd3, 0x02, 0x46, 0x0d, 0xdc, 0x5f, 0x98, - 0x22, 0xb1, 0xce, 0x5a, 0xa4, 0x64, 0x3b, 0xf5, 0x21, 0x53, 0xb2, 0x19, 0x89, 0xcd, 0xd0, 0x71, - 0x24, 0x36, 0xfb, 0x32, 0xbb, 0x69, 0xbd, 0xe1, 0x6d, 0xae, 0x3a, 0xed, 0xe9, 0xd3, 0x65, 0x6a, - 0x58, 0x94, 0xe4, 0xdd, 0x35, 0x28, 0x14, 0x4e, 0x99, 0x76, 0xa7, 0x4e, 0x3b, 0x73, 0xd2, 0xa9, - 0xd3, 0xce, 0x1e, 0x63, 0xea, 0xb4, 0x73, 0x27, 0x9a, 0x3a, 0xed, 0xb1, 0x3f, 0x91, 0xd4, 0x69, - 0x7f, 0x01, 0xce, 0x1f, 0xfe, 0x39, 0xd2, 0xe4, 0xbc, 0x8d, 0x74, 0x87, 0x9f, 0x49, 0xce, 0xcb, - 0x4c, 0x1d, 0x8d, 0xaa, 0x74, 0x06, 0xa7, 0x7f, 0x6e, 0xc1, 0x63, 0x3d, 0xf2, 0x9c, 0x94, 0xbe, - 0x7c, 0xd0, 0x86, 0xc9, 0xb6, 0x59, 0xb4, 0xf4, 0x35, 0x21, 0x23, 0xaf, 0x8a, 0x0a, 0x6b, 0xcb, - 0x20, 0x70, 0x96, 0xfd, 0xc2, 0x27, 0x7e, 0xfc, 0xc1, 0xf9, 0x8f, 0xfd, 0xe4, 0x83, 0xf3, 0x1f, - 0xfb, 0xbd, 0x0f, 0xce, 0x7f, 0xec, 0x67, 0xf7, 0xcf, 0x5b, 0x3f, 0xde, 0x3f, 0x6f, 0xfd, 0x64, - 0xff, 0xbc, 0xf5, 0x87, 0xfb, 0xe7, 0xad, 0x6f, 0xfe, 0xd1, 0xf9, 0x8f, 0x7d, 0xb1, 0xb2, 0x73, - 0xf5, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x70, 0xfd, 0x33, 0x79, 0x2a, 0xb5, 0x00, 0x00, + // 10068 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x8c, 0x24, 0xc7, + 0x75, 0x98, 0x7a, 0x66, 0xbf, 0xe6, 0xed, 0xe7, 0xd5, 0x7d, 0x70, 0xb9, 0x22, 0x6f, 0x4f, 0x4d, + 0xf1, 0x74, 0x24, 0x8f, 0x7b, 0xba, 0x23, 0x29, 0x52, 0x22, 0x43, 0x69, 0x77, 0x67, 0xf7, 0x6e, + 0x75, 0xb7, 0x77, 0xc3, 0x9a, 0x3d, 0x1e, 0x25, 0x31, 0xa4, 0x7a, 0xa7, 0x6b, 0x77, 0x5b, 0xd7, + 0xdb, 0x3d, 0xec, 0xee, 0xd9, 0xbb, 0x95, 0x62, 0xc0, 0x91, 0x19, 0x1b, 0x81, 0x05, 0x47, 0x41, + 0x22, 0x24, 0x40, 0x12, 0x44, 0x09, 0x90, 0xc0, 0x89, 0x11, 0xc7, 0x72, 0x14, 0x5b, 0x4a, 0x04, + 0x21, 0x40, 0x1c, 0x41, 0xf9, 0x70, 0x20, 0x03, 0x46, 0x6c, 0xd8, 0xc0, 0xc6, 0x5c, 0x23, 0xc8, + 0x8f, 0xfc, 0x48, 0x80, 0xfc, 0xca, 0xc1, 0x48, 0x82, 0xfa, 0xec, 0xaa, 0x9e, 0x9e, 0xed, 0x9e, + 0xe5, 0xed, 0xfa, 0x64, 0xf8, 0xdf, 0xcc, 0x7b, 0xaf, 0x5e, 0x7d, 0xf4, 0xab, 0x57, 0xaf, 0x5e, + 0xbd, 0x7a, 0x05, 0x17, 0xef, 0xbe, 0x12, 0xcf, 0x79, 0xe1, 0xa5, 0xbb, 0x9d, 0x75, 0x12, 0x05, + 0x24, 0x21, 0xf1, 0xa5, 0xf6, 0xdd, 0xcd, 0x4b, 0x4e, 0xdb, 0xbb, 0xb4, 0x73, 0xf9, 0xd2, 0x26, + 0x09, 0x48, 0xe4, 0x24, 0xc4, 0x9d, 0x6b, 0x47, 0x61, 0x12, 0xa2, 0x27, 0x38, 0xf5, 0x5c, 0x4a, + 0x3d, 0xd7, 0xbe, 0xbb, 0x39, 0xe7, 0xb4, 0xbd, 0xb9, 0x9d, 0xcb, 0x33, 0xcf, 0x6f, 0x7a, 0xc9, + 0x56, 0x67, 0x7d, 0xae, 0x15, 0x6e, 0x5f, 0xda, 0x0c, 0x37, 0xc3, 0x4b, 0xac, 0xd0, 0x7a, 0x67, + 0x83, 0xfd, 0x63, 0x7f, 0xd8, 0x2f, 0xce, 0x6c, 0xe6, 0x4a, 0xef, 0xaa, 0x23, 0x12, 0x87, 0x9d, + 0xa8, 0x45, 0xb2, 0x0d, 0x98, 0x79, 0xa9, 0x77, 0x99, 0x4e, 0xb0, 0x43, 0xa2, 0xd8, 0x0b, 0x03, + 0xe2, 0x76, 0x15, 0x7b, 0x3e, 0xbf, 0x58, 0xd4, 0x09, 0x12, 0x6f, 0xbb, 0xbb, 0x96, 0x17, 0x0f, + 0x26, 0x8f, 0x5b, 0x5b, 0x64, 0xdb, 0xe9, 0x2a, 0x75, 0x39, 0xbf, 0x54, 0x27, 0xf1, 0xfc, 0x4b, + 0x5e, 0x90, 0xc4, 0x49, 0x94, 0x2d, 0x62, 0xff, 0x9e, 0x05, 0xe7, 0xe6, 0xef, 0x34, 0x97, 0x7c, + 0x27, 0x4e, 0xbc, 0xd6, 0x82, 0x1f, 0xb6, 0xee, 0x36, 0x93, 0x30, 0x22, 0x6f, 0x86, 0x7e, 0x67, + 0x9b, 0x34, 0xd9, 0x18, 0xa0, 0x8b, 0x30, 0xb2, 0xc3, 0xfe, 0xaf, 0xd4, 0xa7, 0xad, 0x73, 0xd6, + 0x85, 0xda, 0xc2, 0xd4, 0x8f, 0xf7, 0x66, 0x3f, 0xb2, 0xbf, 0x37, 0x3b, 0xf2, 0xa6, 0x80, 0x63, + 0x45, 0x81, 0xce, 0xc3, 0xd0, 0x46, 0xbc, 0xb6, 0xdb, 0x26, 0xd3, 0x15, 0x46, 0x3b, 0x21, 0x68, + 0x87, 0x96, 0x9b, 0x14, 0x8a, 0x05, 0x16, 0x5d, 0x82, 0x5a, 0xdb, 0x89, 0x12, 0x2f, 0xf1, 0xc2, + 0x60, 0xba, 0x7a, 0xce, 0xba, 0x30, 0xb8, 0x70, 0x42, 0x90, 0xd6, 0x1a, 0x12, 0x81, 0x53, 0x1a, + 0xda, 0x8c, 0x88, 0x38, 0xee, 0xad, 0xc0, 0xdf, 0x9d, 0x1e, 0x38, 0x67, 0x5d, 0x18, 0x49, 0x9b, + 0x81, 0x05, 0x1c, 0x2b, 0x0a, 0xfb, 0x7b, 0x15, 0x18, 0x99, 0xdf, 0xd8, 0xf0, 0x02, 0x2f, 0xd9, + 0x45, 0x5f, 0x86, 0xb1, 0x20, 0x74, 0x89, 0xfc, 0xcf, 0x7a, 0x31, 0x7a, 0xe5, 0xd9, 0xb9, 0x83, + 0xa4, 0x69, 0xee, 0xa6, 0x56, 0x62, 0x61, 0x6a, 0x7f, 0x6f, 0x76, 0x4c, 0x87, 0x60, 0x83, 0x23, + 0x7a, 0x1b, 0x46, 0xdb, 0xa1, 0xab, 0x2a, 0xa8, 0xb0, 0x0a, 0x9e, 0x39, 0xb8, 0x82, 0x46, 0x5a, + 0x60, 0x61, 0x72, 0x7f, 0x6f, 0x76, 0x54, 0x03, 0x60, 0x9d, 0x1d, 0xf2, 0x61, 0x92, 0xfe, 0x0d, + 0x12, 0x4f, 0xd5, 0x50, 0x65, 0x35, 0x3c, 0x5f, 0x5c, 0x83, 0x56, 0x68, 0xe1, 0xe4, 0xfe, 0xde, + 0xec, 0x64, 0x06, 0x88, 0xb3, 0xac, 0xed, 0xaf, 0xc2, 0xc4, 0x7c, 0x92, 0x38, 0xad, 0x2d, 0xe2, + 0xf2, 0xef, 0x8b, 0x5e, 0x84, 0x81, 0xc0, 0xd9, 0x26, 0xe2, 0xeb, 0x9f, 0x13, 0xc3, 0x3e, 0x70, + 0xd3, 0xd9, 0x26, 0x0f, 0xf6, 0x66, 0xa7, 0x6e, 0x07, 0xde, 0x7b, 0x1d, 0x21, 0x33, 0x14, 0x86, + 0x19, 0x35, 0xba, 0x02, 0xe0, 0x92, 0x1d, 0xaf, 0x45, 0x1a, 0x4e, 0xb2, 0x25, 0xa4, 0x01, 0x89, + 0xb2, 0x50, 0x57, 0x18, 0xac, 0x51, 0xd9, 0x5f, 0xb7, 0xa0, 0x36, 0xbf, 0x13, 0x7a, 0x6e, 0x23, + 0x74, 0x63, 0xd4, 0x81, 0xc9, 0x76, 0x44, 0x36, 0x48, 0xa4, 0x40, 0xd3, 0xd6, 0xb9, 0xea, 0x85, + 0xd1, 0x2b, 0x57, 0x0a, 0xfa, 0x6d, 0x16, 0x5a, 0x0a, 0x92, 0x68, 0x77, 0xe1, 0x31, 0x51, 0xf5, + 0x64, 0x06, 0x8b, 0xb3, 0x75, 0xd8, 0x7f, 0xbd, 0x02, 0xa7, 0xe7, 0xbf, 0xda, 0x89, 0x48, 0xdd, + 0x8b, 0xef, 0x66, 0xa7, 0x82, 0xeb, 0xc5, 0x77, 0x6f, 0xa6, 0x83, 0xa1, 0x64, 0xb0, 0x2e, 0xe0, + 0x58, 0x51, 0xa0, 0xe7, 0x61, 0x98, 0xfe, 0xbe, 0x8d, 0x57, 0x44, 0xef, 0x4f, 0x0a, 0xe2, 0xd1, + 0xba, 0x93, 0x38, 0x75, 0x8e, 0xc2, 0x92, 0x06, 0xad, 0xc2, 0x68, 0xcb, 0x69, 0x6d, 0x79, 0xc1, + 0xe6, 0x6a, 0xe8, 0x12, 0xf6, 0x85, 0x6b, 0x0b, 0xcf, 0x51, 0xf2, 0xc5, 0x14, 0xfc, 0x60, 0x6f, + 0x76, 0x9a, 0xb7, 0x4d, 0xb0, 0xd0, 0x70, 0x58, 0x2f, 0x8f, 0x6c, 0x35, 0x11, 0x07, 0x18, 0x27, + 0xc8, 0x99, 0x84, 0x17, 0xb4, 0x39, 0x35, 0xc8, 0xe6, 0xd4, 0x58, 0x8f, 0xf9, 0xf4, 0x4f, 0x2d, + 0x31, 0x26, 0xcb, 0x9e, 0x6f, 0xaa, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x45, 0x24, 0xd1, 0x46, 0x45, + 0x7d, 0xe6, 0xa6, 0xc2, 0x60, 0x8d, 0x8a, 0x4e, 0xfe, 0x78, 0xcb, 0x89, 0x98, 0xb4, 0x88, 0xb1, + 0x51, 0x93, 0xbf, 0x29, 0x11, 0x38, 0xa5, 0x31, 0x26, 0x7f, 0xb5, 0x70, 0xf2, 0xff, 0x2b, 0x0b, + 0x86, 0x17, 0xbc, 0xc0, 0xf5, 0x82, 0x4d, 0xf4, 0x16, 0x8c, 0x6c, 0x93, 0xc4, 0x71, 0x9d, 0xc4, + 0x11, 0xf3, 0xfe, 0xc2, 0xc1, 0xc2, 0x73, 0x6b, 0xfd, 0x2b, 0xa4, 0x95, 0xac, 0x92, 0xc4, 0x49, + 0xbb, 0x91, 0xc2, 0xb0, 0xe2, 0x86, 0x6e, 0xc3, 0x50, 0xe2, 0x44, 0x9b, 0x24, 0x11, 0xd3, 0xfd, + 0xf9, 0x32, 0x7c, 0x31, 0x15, 0x35, 0x12, 0xb4, 0x48, 0xaa, 0x18, 0xd7, 0x18, 0x13, 0x2c, 0x98, + 0xd9, 0x2d, 0x18, 0x5b, 0x74, 0xda, 0xce, 0xba, 0xe7, 0x7b, 0x89, 0x47, 0x62, 0xf4, 0x09, 0xa8, + 0x3a, 0xae, 0xcb, 0x04, 0xbf, 0xb6, 0x70, 0x7a, 0x7f, 0x6f, 0xb6, 0x3a, 0xef, 0xba, 0x0f, 0xf6, + 0x66, 0x41, 0x51, 0xed, 0x62, 0x4a, 0x81, 0x9e, 0x85, 0x01, 0x37, 0x0a, 0xdb, 0xd3, 0x15, 0x46, + 0x79, 0x86, 0xce, 0xd0, 0x7a, 0x14, 0xb6, 0x33, 0xa4, 0x8c, 0xc6, 0xfe, 0x77, 0x15, 0x40, 0x8b, + 0xa4, 0xbd, 0xb5, 0xdc, 0x34, 0xbe, 0xe5, 0x05, 0x18, 0xd9, 0x0e, 0x03, 0x2f, 0x09, 0xa3, 0x58, + 0x54, 0xc8, 0xe4, 0x61, 0x55, 0xc0, 0xb0, 0xc2, 0xa2, 0x73, 0x30, 0xd0, 0x4e, 0xa7, 0xf5, 0x98, + 0x54, 0x09, 0x6c, 0x42, 0x33, 0x0c, 0xa5, 0xe8, 0xc4, 0x24, 0x12, 0x72, 0xac, 0x28, 0x6e, 0xc7, + 0x24, 0xc2, 0x0c, 0x93, 0x4a, 0x0e, 0x95, 0x29, 0x21, 0xa5, 0x19, 0xc9, 0xa1, 0x18, 0xac, 0x51, + 0xa1, 0x77, 0xa1, 0xc6, 0xff, 0x61, 0xb2, 0xc1, 0x44, 0xb6, 0x50, 0x19, 0xdc, 0x08, 0x5b, 0x8e, + 0x9f, 0x1d, 0xfc, 0x71, 0x26, 0x69, 0x92, 0x11, 0x4e, 0x79, 0x1a, 0x92, 0x36, 0x54, 0x28, 0x69, + 0x7f, 0xdb, 0x02, 0xb4, 0xe8, 0x05, 0x2e, 0x89, 0x8e, 0x61, 0xc9, 0xec, 0x6f, 0x12, 0xfc, 0x21, + 0x6d, 0x5a, 0xb8, 0xdd, 0x0e, 0x03, 0x12, 0x24, 0x8b, 0x61, 0xe0, 0xf2, 0x65, 0xf4, 0x33, 0x30, + 0x90, 0xd0, 0xaa, 0x78, 0xb3, 0xce, 0xcb, 0xcf, 0x42, 0x2b, 0x78, 0xb0, 0x37, 0x7b, 0xa6, 0xbb, + 0x04, 0x6b, 0x02, 0x2b, 0x83, 0x3e, 0x0d, 0x43, 0x71, 0xe2, 0x24, 0x9d, 0x58, 0x34, 0xf4, 0x63, + 0xb2, 0xa1, 0x4d, 0x06, 0x7d, 0xb0, 0x37, 0x3b, 0xa9, 0x8a, 0x71, 0x10, 0x16, 0x05, 0xd0, 0x33, + 0x30, 0xbc, 0x4d, 0xe2, 0xd8, 0xd9, 0x94, 0x8a, 0x6d, 0x52, 0x94, 0x1d, 0x5e, 0xe5, 0x60, 0x2c, + 0xf1, 0xe8, 0x29, 0x18, 0x24, 0x51, 0x14, 0x46, 0x42, 0x22, 0xc6, 0x05, 0xe1, 0xe0, 0x12, 0x05, + 0x62, 0x8e, 0xb3, 0x7f, 0xc7, 0x82, 0x49, 0xd5, 0x56, 0x5e, 0xd7, 0x11, 0x4e, 0x75, 0x17, 0xa0, + 0x25, 0x3b, 0x16, 0xb3, 0x09, 0x36, 0x7a, 0xe5, 0x93, 0x07, 0xf3, 0xee, 0x1e, 0xc8, 0xb4, 0x0e, + 0x05, 0x8a, 0xb1, 0xc6, 0xd7, 0xfe, 0xb1, 0x05, 0x27, 0x33, 0x7d, 0xba, 0xe1, 0xc5, 0x09, 0xfa, + 0x8b, 0x5d, 0xfd, 0xba, 0x74, 0x40, 0xdd, 0x9a, 0x1d, 0x3a, 0x47, 0x8b, 0xb3, 0xee, 0x29, 0x41, + 0x91, 0x10, 0xad, 0x73, 0x18, 0x06, 0xbd, 0x84, 0x6c, 0xcb, 0x7e, 0x3d, 0x5f, 0xb2, 0x5f, 0xbc, + 0x81, 0xe9, 0xe7, 0x59, 0xa1, 0x3c, 0x30, 0x67, 0x65, 0xff, 0x6f, 0x0b, 0x6a, 0x8b, 0x61, 0xb0, + 0xe1, 0x6d, 0xae, 0x3a, 0xed, 0x23, 0xfc, 0x30, 0x4d, 0x18, 0x60, 0x5c, 0x79, 0xd3, 0x2f, 0x17, + 0x35, 0x5d, 0x34, 0x68, 0x8e, 0x2e, 0x9e, 0xdc, 0x2a, 0x50, 0x7a, 0x89, 0x82, 0x30, 0x63, 0x36, + 0xf3, 0x32, 0xd4, 0x14, 0x01, 0x9a, 0x82, 0xea, 0x5d, 0xc2, 0x4d, 0xc6, 0x1a, 0xa6, 0x3f, 0xd1, + 0x29, 0x18, 0xdc, 0x71, 0xfc, 0x8e, 0x98, 0xad, 0x98, 0xff, 0xf9, 0x4c, 0xe5, 0x15, 0xcb, 0xfe, + 0x81, 0x05, 0xa7, 0x54, 0x25, 0xd7, 0xc9, 0x6e, 0x93, 0xf8, 0xa4, 0x95, 0x84, 0x11, 0x7a, 0xdf, + 0x82, 0x53, 0x7e, 0x8e, 0x1e, 0x12, 0xa3, 0x71, 0x18, 0x0d, 0xf6, 0x84, 0x68, 0xf8, 0xa9, 0x3c, + 0x2c, 0xce, 0xad, 0x0d, 0x3d, 0xc9, 0xfb, 0xc2, 0x27, 0xef, 0xa8, 0x60, 0x50, 0xbd, 0x4e, 0x76, + 0x59, 0xc7, 0x68, 0xf3, 0xc7, 0x55, 0xf3, 0x8f, 0x43, 0xf2, 0x6e, 0x98, 0x92, 0xf7, 0x89, 0x92, + 0x9f, 0xaf, 0x87, 0xcc, 0xfd, 0xfd, 0x0a, 0x9c, 0x56, 0x34, 0x86, 0x3a, 0x7e, 0x44, 0x86, 0xbf, + 0xbf, 0xee, 0x5e, 0x27, 0xbb, 0x6b, 0x21, 0x5d, 0x4f, 0xf3, 0xbb, 0x8b, 0x2e, 0xc3, 0xa8, 0x4b, + 0x36, 0x9c, 0x8e, 0x9f, 0x28, 0x73, 0x71, 0x90, 0xef, 0x23, 0xea, 0x29, 0x18, 0xeb, 0x34, 0xf6, + 0x6f, 0xd7, 0xd8, 0xac, 0x4c, 0x1c, 0x2f, 0x20, 0x11, 0x5d, 0xa0, 0x35, 0xab, 0x7e, 0x4c, 0xb7, + 0xea, 0x85, 0x05, 0xff, 0x14, 0x0c, 0x7a, 0xdb, 0x54, 0x65, 0x57, 0x4c, 0x4d, 0xbc, 0x42, 0x81, + 0x98, 0xe3, 0xd0, 0xd3, 0x30, 0xdc, 0x0a, 0xb7, 0xb7, 0x9d, 0xc0, 0x9d, 0xae, 0x32, 0x93, 0x61, + 0x94, 0x6a, 0xf5, 0x45, 0x0e, 0xc2, 0x12, 0x87, 0x9e, 0x80, 0x01, 0x27, 0xda, 0x8c, 0xa7, 0x07, + 0x18, 0xcd, 0x08, 0xad, 0x69, 0x3e, 0xda, 0x8c, 0x31, 0x83, 0x52, 0x53, 0xe0, 0x5e, 0x18, 0xdd, + 0xf5, 0x82, 0xcd, 0xba, 0x17, 0xb1, 0x75, 0x5d, 0x33, 0x05, 0xee, 0x28, 0x0c, 0xd6, 0xa8, 0x50, + 0x03, 0x06, 0xdb, 0x61, 0x94, 0xc4, 0xd3, 0x43, 0x6c, 0x38, 0x9f, 0x2b, 0x94, 0x1e, 0xde, 0xef, + 0x46, 0x18, 0x25, 0x69, 0x57, 0xe8, 0xbf, 0x18, 0x73, 0x46, 0x68, 0x11, 0xaa, 0x24, 0xd8, 0x99, + 0x1e, 0x66, 0xfc, 0x3e, 0x7e, 0x30, 0xbf, 0xa5, 0x60, 0xe7, 0x4d, 0x27, 0x4a, 0x67, 0xd1, 0x52, + 0xb0, 0x83, 0x69, 0x69, 0xd4, 0x82, 0x9a, 0x74, 0x1f, 0xc4, 0xd3, 0x23, 0x65, 0x04, 0x0c, 0x0b, + 0x72, 0x4c, 0xde, 0xeb, 0x78, 0x11, 0xd9, 0x26, 0x41, 0x12, 0xa7, 0xf6, 0xb0, 0xc4, 0xc6, 0x38, + 0xe5, 0x8b, 0x5a, 0x30, 0xc6, 0xcd, 0x87, 0xd5, 0xb0, 0x13, 0x24, 0xf1, 0x74, 0x8d, 0x35, 0xb9, + 0x60, 0xc3, 0xf9, 0x66, 0x5a, 0x62, 0xe1, 0x94, 0x60, 0x3f, 0xa6, 0x01, 0x63, 0x6c, 0x30, 0x45, + 0x6f, 0xc3, 0xb8, 0xef, 0xed, 0x90, 0x80, 0xc4, 0x71, 0x23, 0x0a, 0xd7, 0xc9, 0x34, 0xb0, 0xde, + 0x3c, 0x55, 0xb4, 0xf9, 0x0a, 0xd7, 0xc9, 0xc2, 0x89, 0xfd, 0xbd, 0xd9, 0xf1, 0x1b, 0x7a, 0x69, + 0x6c, 0x32, 0x43, 0xef, 0xc2, 0x04, 0xb5, 0x55, 0xbc, 0x94, 0xfd, 0x68, 0x79, 0xf6, 0x68, 0x7f, + 0x6f, 0x76, 0x02, 0x1b, 0xc5, 0x71, 0x86, 0x1d, 0x5a, 0x83, 0x9a, 0xef, 0x6d, 0x90, 0xd6, 0x6e, + 0xcb, 0x27, 0xd3, 0x63, 0x8c, 0x77, 0xc1, 0x94, 0xbb, 0x21, 0xc9, 0xb9, 0x7d, 0xa8, 0xfe, 0xe2, + 0x94, 0x11, 0x7a, 0x13, 0xce, 0x24, 0x24, 0xda, 0xf6, 0x02, 0x87, 0x2e, 0xda, 0xc2, 0x78, 0x61, + 0x3b, 0xdc, 0x71, 0x26, 0xb5, 0x67, 0xc5, 0xc0, 0x9e, 0x59, 0xcb, 0xa5, 0xc2, 0x3d, 0x4a, 0xa3, + 0x5b, 0x30, 0xc9, 0xe6, 0x53, 0xa3, 0xe3, 0xfb, 0x8d, 0xd0, 0xf7, 0x5a, 0xbb, 0xd3, 0x13, 0x8c, + 0xe1, 0xd3, 0x72, 0xdf, 0xba, 0x62, 0xa2, 0xa9, 0x5d, 0x9f, 0xfe, 0xc3, 0xd9, 0xd2, 0xc8, 0x87, + 0xc9, 0x98, 0xb4, 0x3a, 0x91, 0x97, 0xec, 0x52, 0xd9, 0x27, 0xf7, 0x93, 0xe9, 0xc9, 0x32, 0xfb, + 0x94, 0xa6, 0x59, 0x88, 0x3b, 0x0d, 0x32, 0x40, 0x9c, 0x65, 0x4d, 0x55, 0x45, 0x9c, 0xb8, 0x5e, + 0x30, 0x3d, 0xc5, 0x0c, 0x53, 0x35, 0xbf, 0x9a, 0x14, 0x88, 0x39, 0x8e, 0x6d, 0xfb, 0xe8, 0x8f, + 0x5b, 0x54, 0xf7, 0x9e, 0x60, 0x84, 0xe9, 0xb6, 0x4f, 0x22, 0x70, 0x4a, 0x43, 0x17, 0xac, 0x24, + 0xd9, 0x9d, 0x46, 0x8c, 0x54, 0x4d, 0xb5, 0xb5, 0xb5, 0x2f, 0x60, 0x0a, 0xb7, 0xd7, 0x61, 0x42, + 0x4d, 0x6b, 0x36, 0x3a, 0x68, 0x16, 0x06, 0xa9, 0xe6, 0x92, 0xbb, 0x97, 0x1a, 0x6d, 0x02, 0x55, + 0x68, 0x31, 0xe6, 0x70, 0xd6, 0x04, 0xef, 0xab, 0x64, 0x61, 0x37, 0x21, 0xdc, 0x8a, 0xad, 0x6a, + 0x4d, 0x90, 0x08, 0x9c, 0xd2, 0xd8, 0xff, 0x97, 0x2f, 0x8a, 0xa9, 0xee, 0x28, 0xa1, 0x37, 0x2f, + 0xc2, 0xc8, 0x56, 0x18, 0x27, 0x94, 0x9a, 0xd5, 0x31, 0x98, 0xae, 0x82, 0xd7, 0x04, 0x1c, 0x2b, + 0x0a, 0xf4, 0x2a, 0x8c, 0xb7, 0xf4, 0x0a, 0x84, 0x2a, 0x3f, 0x2d, 0x8a, 0x98, 0xb5, 0x63, 0x93, + 0x16, 0xbd, 0x02, 0x23, 0xcc, 0x95, 0xd7, 0x0a, 0x7d, 0x61, 0x2f, 0xcb, 0x95, 0x69, 0xa4, 0x21, + 0xe0, 0x0f, 0xb4, 0xdf, 0x58, 0x51, 0xd3, 0x5d, 0x07, 0x6d, 0xc2, 0x4a, 0x43, 0xa8, 0x5b, 0xb5, + 0xeb, 0xb8, 0xc6, 0xa0, 0x58, 0x60, 0xed, 0x5f, 0xab, 0x68, 0xa3, 0x4c, 0x8d, 0x3e, 0x82, 0xbe, + 0x08, 0xc3, 0xf7, 0x1c, 0x2f, 0xf1, 0x82, 0x4d, 0xb1, 0x82, 0xbe, 0x50, 0x52, 0xf7, 0xb2, 0xe2, + 0x77, 0x78, 0x51, 0xbe, 0x4e, 0x88, 0x3f, 0x58, 0x32, 0xa4, 0xbc, 0xa3, 0x4e, 0x10, 0x50, 0xde, + 0x95, 0xfe, 0x79, 0x63, 0x5e, 0x94, 0xf3, 0x16, 0x7f, 0xb0, 0x64, 0x88, 0x36, 0x00, 0xe4, 0xec, + 0x23, 0xae, 0x70, 0xa1, 0x7d, 0xaa, 0x1f, 0xf6, 0x6b, 0xaa, 0xf4, 0xc2, 0x04, 0x5d, 0x99, 0xd2, + 0xff, 0x58, 0xe3, 0x6c, 0x77, 0x98, 0x21, 0xd2, 0xdd, 0x2c, 0xf4, 0x36, 0x9d, 0x00, 0x4e, 0x94, + 0x10, 0x77, 0x3e, 0x11, 0x43, 0xf7, 0x5c, 0x49, 0x83, 0x6a, 0xcd, 0xdb, 0x26, 0xfa, 0x6c, 0x11, + 0x5c, 0x70, 0xca, 0xd0, 0xfe, 0x7e, 0x15, 0xa6, 0x7b, 0xb5, 0x97, 0xca, 0x24, 0xb9, 0xef, 0x25, + 0x8b, 0xd4, 0x56, 0xb0, 0x4c, 0x99, 0x5c, 0x12, 0x70, 0xac, 0x28, 0xa8, 0x70, 0xc4, 0xde, 0x66, + 0xe0, 0xf8, 0x42, 0x7e, 0x95, 0x70, 0x34, 0x19, 0x14, 0x0b, 0x2c, 0xa5, 0x8b, 0x88, 0x13, 0x0b, + 0x17, 0xae, 0x26, 0x44, 0x98, 0x41, 0xb1, 0xc0, 0xea, 0xdb, 0xbf, 0x81, 0x82, 0xed, 0x9f, 0x31, + 0x46, 0x83, 0x0f, 0x79, 0x8c, 0xd0, 0xbb, 0x00, 0x1b, 0x5e, 0xe0, 0xc5, 0x5b, 0x8c, 0xfd, 0x50, + 0xff, 0xec, 0x95, 0x55, 0xb2, 0xac, 0xd8, 0x60, 0x8d, 0x25, 0x7a, 0x09, 0x46, 0xd5, 0x0c, 0x5d, + 0xa9, 0x4f, 0x0f, 0x9b, 0x8e, 0xbf, 0x54, 0x5d, 0xd5, 0xb1, 0x4e, 0x67, 0x7f, 0x25, 0x2b, 0x32, + 0x62, 0x62, 0x68, 0x23, 0x6c, 0x95, 0x1d, 0xe1, 0xca, 0xc1, 0x23, 0x6c, 0xff, 0x97, 0x2a, 0xdd, + 0x3b, 0x6b, 0x95, 0x75, 0xe2, 0x12, 0x4a, 0xed, 0x0d, 0xaa, 0xe1, 0x9d, 0x84, 0x88, 0x69, 0x79, + 0xb1, 0x9f, 0x79, 0xa3, 0xaf, 0x07, 0x74, 0x3a, 0x70, 0x4e, 0x68, 0x0b, 0x6a, 0xbe, 0x13, 0xb3, + 0x9d, 0x24, 0x11, 0xd3, 0xb1, 0x3f, 0xb6, 0xa9, 0x15, 0xee, 0xc4, 0x89, 0xb6, 0xe0, 0xf2, 0x5a, + 0x52, 0xe6, 0x74, 0x79, 0xa2, 0xd6, 0x81, 0x3c, 0x39, 0x50, 0xcd, 0xa1, 0x26, 0xc4, 0x2e, 0xe6, + 0x38, 0xf4, 0x0a, 0x8c, 0x45, 0x84, 0x89, 0xca, 0x22, 0x35, 0x80, 0x98, 0xf0, 0x0d, 0xa6, 0x96, + 0x12, 0xd6, 0x70, 0xd8, 0xa0, 0x4c, 0x0d, 0xe5, 0xa1, 0x03, 0x0c, 0xe5, 0x67, 0x60, 0x98, 0xfd, + 0x50, 0x52, 0xa1, 0xbe, 0xd0, 0x0a, 0x07, 0x63, 0x89, 0xcf, 0x0a, 0xd1, 0x48, 0x49, 0x21, 0x7a, + 0x16, 0x26, 0xea, 0x0e, 0xd9, 0x0e, 0x83, 0xa5, 0xc0, 0x6d, 0x87, 0x5e, 0x90, 0xa0, 0x69, 0x18, + 0x60, 0x4b, 0x0a, 0x9f, 0xf1, 0x03, 0x94, 0x03, 0x1e, 0xa0, 0xc6, 0xae, 0xfd, 0xff, 0x2c, 0x18, + 0xaf, 0x13, 0x9f, 0x24, 0xe4, 0x56, 0x9b, 0xb9, 0x1f, 0xd0, 0x32, 0xa0, 0xcd, 0xc8, 0x69, 0x91, + 0x06, 0x89, 0xbc, 0xd0, 0x6d, 0x92, 0x56, 0x18, 0x30, 0x87, 0x3b, 0x5d, 0x23, 0xcf, 0xec, 0xef, + 0xcd, 0xa2, 0xab, 0x5d, 0x58, 0x9c, 0x53, 0x02, 0xb9, 0x30, 0xde, 0x8e, 0x88, 0xe1, 0x2f, 0xb1, + 0x8a, 0xed, 0xf3, 0x86, 0x5e, 0x84, 0x9b, 0x8f, 0x06, 0x08, 0x9b, 0x4c, 0xd1, 0xe7, 0x60, 0x2a, + 0x8c, 0xda, 0x5b, 0x4e, 0x50, 0x27, 0x6d, 0x12, 0xb8, 0xd4, 0x66, 0x16, 0x4e, 0xb1, 0x53, 0xfb, + 0x7b, 0xb3, 0x53, 0xb7, 0x32, 0x38, 0xdc, 0x45, 0x6d, 0xff, 0x4a, 0x05, 0x4e, 0xd7, 0xc3, 0x7b, + 0xc1, 0x3d, 0x27, 0x72, 0xe7, 0x1b, 0x2b, 0xdc, 0x10, 0x66, 0x4e, 0x46, 0xe9, 0xdc, 0xb4, 0x7a, + 0x3a, 0x37, 0xbf, 0x04, 0x23, 0x1b, 0x1e, 0xf1, 0x5d, 0x4c, 0x36, 0x44, 0xf7, 0x2e, 0x97, 0xf1, + 0x68, 0x2c, 0xd3, 0x32, 0xd2, 0x2b, 0xc0, 0x7d, 0xab, 0xcb, 0x82, 0x0d, 0x56, 0x0c, 0x51, 0x07, + 0xa6, 0xa4, 0xa5, 0x2f, 0xb1, 0x62, 0x76, 0xbc, 0x50, 0x6e, 0x23, 0x61, 0x56, 0xc3, 0xc6, 0x03, + 0x67, 0x18, 0xe2, 0xae, 0x2a, 0xe8, 0x0e, 0x6d, 0x9b, 0xae, 0x0e, 0x03, 0x4c, 0x56, 0xd8, 0x0e, + 0x8d, 0x6d, 0x21, 0x19, 0xd4, 0xfe, 0xc7, 0x16, 0x3c, 0xd6, 0x35, 0x5a, 0x62, 0x7f, 0xfd, 0x96, + 0xdc, 0xd8, 0xf2, 0xd3, 0x99, 0x82, 0x56, 0xe6, 0x8e, 0x79, 0xb9, 0x4d, 0x6e, 0xa5, 0xc4, 0x26, + 0xf7, 0x16, 0x9c, 0x5a, 0xda, 0x6e, 0x27, 0xbb, 0x75, 0xcf, 0xf4, 0xc9, 0xbe, 0x0c, 0x43, 0xdb, + 0xc4, 0xf5, 0x3a, 0xdb, 0xe2, 0xb3, 0xce, 0x4a, 0x45, 0xba, 0xca, 0xa0, 0x0f, 0xf6, 0x66, 0xc7, + 0x9b, 0x49, 0x18, 0x39, 0x9b, 0x84, 0x03, 0xb0, 0x20, 0xb7, 0x3f, 0xb0, 0x60, 0x52, 0x4e, 0xa8, + 0x79, 0xd7, 0x8d, 0x48, 0x1c, 0xa3, 0x19, 0xa8, 0x78, 0x6d, 0xc1, 0x08, 0x04, 0xa3, 0xca, 0x4a, + 0x03, 0x57, 0xbc, 0x36, 0xfa, 0x22, 0xd4, 0xb8, 0x2b, 0x3f, 0x15, 0x8e, 0x3e, 0x8f, 0x06, 0xd8, + 0xee, 0x63, 0x4d, 0xf2, 0xc0, 0x29, 0x3b, 0x69, 0x59, 0x32, 0x55, 0x5d, 0x35, 0x1d, 0xcb, 0xd7, + 0x04, 0x1c, 0x2b, 0x0a, 0x74, 0x01, 0x46, 0x82, 0xd0, 0xe5, 0xa7, 0x2c, 0x7c, 0xd9, 0x65, 0x22, + 0x77, 0x53, 0xc0, 0xb0, 0xc2, 0xda, 0xdf, 0xb0, 0x60, 0x4c, 0xf6, 0xb1, 0xa4, 0x91, 0x4b, 0x27, + 0x49, 0x6a, 0xe0, 0xa6, 0x93, 0x84, 0x1a, 0xa9, 0x0c, 0x63, 0xd8, 0xa6, 0xd5, 0x7e, 0x6c, 0x53, + 0xfb, 0xfb, 0x15, 0x98, 0x90, 0xcd, 0x69, 0x76, 0xd6, 0x63, 0x92, 0xa0, 0x77, 0xa0, 0xe6, 0xf0, + 0xc1, 0x27, 0x52, 0xce, 0x9e, 0x2f, 0xda, 0xa1, 0x1b, 0xdf, 0x2c, 0x35, 0x0c, 0xe6, 0x25, 0x1f, + 0x9c, 0xb2, 0x44, 0x3b, 0x70, 0x22, 0x08, 0x13, 0xb6, 0x1e, 0x28, 0x7c, 0x39, 0x8f, 0x68, 0xb6, + 0x9e, 0xc7, 0x45, 0x3d, 0x27, 0x6e, 0x66, 0xf9, 0xe1, 0xee, 0x2a, 0xd0, 0x2d, 0xe9, 0xc5, 0xa8, + 0xb2, 0xba, 0x9e, 0x2d, 0x57, 0x57, 0x6f, 0x27, 0x86, 0xfd, 0x43, 0x0b, 0x6a, 0x92, 0xec, 0x28, + 0x7d, 0xe2, 0x77, 0x60, 0x38, 0x66, 0x9f, 0x46, 0x0e, 0xd3, 0xc5, 0x72, 0x4d, 0xe7, 0xdf, 0x33, + 0x5d, 0xfc, 0xf8, 0xff, 0x18, 0x4b, 0x6e, 0xcc, 0x0d, 0xa9, 0x3a, 0xf0, 0xe8, 0xb9, 0x21, 0x55, + 0xd3, 0x7a, 0xb8, 0x21, 0x7f, 0xd9, 0x82, 0x21, 0xee, 0x1c, 0x2a, 0xe7, 0x61, 0xd3, 0x7c, 0xc9, + 0x29, 0xc7, 0x37, 0x29, 0x50, 0xb8, 0x96, 0xd1, 0x1d, 0xa8, 0xb1, 0x1f, 0xcb, 0x51, 0xb8, 0x2d, + 0x16, 0x82, 0x67, 0xcb, 0x38, 0xa7, 0xb8, 0xe2, 0xe3, 0xda, 0xe4, 0x4d, 0xc9, 0x00, 0xa7, 0xbc, + 0xec, 0x1f, 0x54, 0xe9, 0xac, 0x4f, 0x49, 0x8d, 0x65, 0xcd, 0x3a, 0x8e, 0x65, 0xad, 0x72, 0xf4, + 0xcb, 0xda, 0x7b, 0x30, 0xd9, 0xd2, 0x7c, 0xf2, 0xe9, 0x62, 0x7a, 0xa5, 0xa4, 0xbb, 0x59, 0x73, + 0xe4, 0x73, 0x67, 0xc8, 0xa2, 0xc9, 0x0e, 0x67, 0xf9, 0x23, 0x02, 0x63, 0xfc, 0x40, 0x51, 0xd4, + 0x37, 0x50, 0x28, 0xb3, 0xdc, 0xef, 0xc2, 0x4b, 0xa8, 0xca, 0x58, 0xd0, 0x49, 0x53, 0x63, 0x84, + 0x0d, 0xb6, 0xf6, 0xdf, 0x1c, 0x84, 0xc1, 0xa5, 0x1d, 0x12, 0x24, 0x47, 0x38, 0xcb, 0xb7, 0x61, + 0xc2, 0x0b, 0x76, 0x42, 0x7f, 0x87, 0xb8, 0x1c, 0x7f, 0xb8, 0x15, 0xed, 0x8c, 0xa8, 0x64, 0x62, + 0xc5, 0x60, 0x86, 0x33, 0xcc, 0x8f, 0x62, 0x3f, 0xf9, 0x06, 0x0c, 0x71, 0x89, 0x10, 0x9b, 0xc9, + 0x02, 0x27, 0x29, 0x1b, 0x50, 0x31, 0x73, 0xd2, 0x5d, 0x2f, 0xf7, 0xcf, 0x0a, 0x46, 0xe8, 0x2e, + 0x4c, 0x6c, 0x78, 0x51, 0x9c, 0xd0, 0x0d, 0x61, 0x9c, 0x38, 0xdb, 0xed, 0xc3, 0x6c, 0x24, 0xd5, + 0x90, 0x2c, 0x1b, 0xac, 0x70, 0x86, 0x35, 0xda, 0x82, 0x71, 0xba, 0x8f, 0x49, 0xeb, 0x1a, 0xee, + 0xbf, 0x2e, 0xe5, 0x4b, 0xba, 0xa1, 0x73, 0xc2, 0x26, 0x63, 0xaa, 0x8c, 0x5a, 0x6c, 0xe3, 0x33, + 0xc2, 0x96, 0x74, 0xa5, 0x8c, 0xf8, 0x8e, 0x87, 0xe3, 0xa8, 0x4e, 0x63, 0xe7, 0xc7, 0x35, 0x53, + 0xa7, 0xa5, 0xa7, 0xc4, 0xf6, 0x77, 0xe9, 0x02, 0x44, 0x47, 0xf1, 0x38, 0x74, 0xf7, 0x35, 0x53, + 0x77, 0x3f, 0x55, 0xe2, 0xe3, 0xf6, 0xd0, 0xdb, 0x5f, 0x86, 0x51, 0xed, 0xdb, 0xa3, 0x4b, 0x50, + 0x6b, 0xc9, 0xa3, 0x4e, 0xa1, 0xc0, 0x95, 0x01, 0xa1, 0xce, 0x40, 0x71, 0x4a, 0x43, 0x07, 0x86, + 0x1a, 0x5e, 0xd9, 0x88, 0x08, 0x6a, 0x96, 0x61, 0x86, 0xb1, 0x5f, 0x00, 0x58, 0xba, 0x4f, 0x5a, + 0xf3, 0x2d, 0x76, 0x10, 0xaf, 0x9d, 0x9b, 0x58, 0xbd, 0xcf, 0x4d, 0xec, 0xb7, 0x61, 0x7c, 0xe9, + 0x3e, 0x5d, 0xd9, 0xe5, 0x36, 0xed, 0x3c, 0x0c, 0x11, 0x06, 0x60, 0xad, 0x1a, 0x49, 0x85, 0x94, + 0x93, 0x61, 0x81, 0x65, 0xc7, 0xe8, 0xf7, 0x1d, 0x31, 0x61, 0xb5, 0x2d, 0xef, 0x12, 0x05, 0x62, + 0x8e, 0xb3, 0xbf, 0x63, 0xc1, 0xc4, 0xf2, 0xa2, 0x61, 0x27, 0xcf, 0x01, 0x70, 0x7b, 0xf3, 0xce, + 0x9d, 0x9b, 0xd2, 0x8f, 0xca, 0x9d, 0x5d, 0x0a, 0x8a, 0x35, 0x0a, 0xf4, 0x38, 0x54, 0xfd, 0x4e, + 0x20, 0xcc, 0xc0, 0xe1, 0xfd, 0xbd, 0xd9, 0xea, 0x8d, 0x4e, 0x80, 0x29, 0x4c, 0x0b, 0x6c, 0xa8, + 0x96, 0x0e, 0x6c, 0x28, 0x0e, 0xed, 0xfb, 0x56, 0x15, 0xa6, 0x96, 0x7d, 0x72, 0xdf, 0x68, 0xf5, + 0x79, 0x18, 0x72, 0x23, 0x6f, 0x87, 0x44, 0x59, 0x37, 0x49, 0x9d, 0x41, 0xb1, 0xc0, 0x96, 0x8e, + 0xb5, 0x30, 0xe2, 0x4c, 0xaa, 0x47, 0x1c, 0x67, 0x52, 0xd8, 0x67, 0xb4, 0x01, 0xc3, 0x21, 0xff, + 0xfe, 0xd3, 0x83, 0x4c, 0xd0, 0x5f, 0x3d, 0xb8, 0x31, 0xd9, 0xf1, 0x99, 0x13, 0xd2, 0xc3, 0x0f, + 0xbd, 0x95, 0xb2, 0x14, 0x50, 0x2c, 0x99, 0xcf, 0x7c, 0x06, 0xc6, 0x74, 0xca, 0xbe, 0x4e, 0xbf, + 0x7f, 0xce, 0x82, 0x93, 0xcb, 0x7e, 0xd8, 0xba, 0x9b, 0x09, 0x86, 0x79, 0x09, 0x46, 0xe9, 0x54, + 0x8d, 0x8d, 0x08, 0x31, 0x23, 0x14, 0x4e, 0xa0, 0xb0, 0x4e, 0xa7, 0x15, 0xbb, 0x7d, 0x7b, 0xa5, + 0x9e, 0x17, 0x41, 0x27, 0x50, 0x58, 0xa7, 0xb3, 0xff, 0xb3, 0x05, 0x4f, 0x5e, 0x5d, 0x5c, 0x6a, + 0x50, 0x35, 0x12, 0x27, 0x24, 0x48, 0xba, 0x82, 0xf8, 0xce, 0xc3, 0x50, 0xdb, 0xd5, 0x9a, 0xa2, + 0x44, 0xa0, 0x51, 0x67, 0xad, 0x10, 0xd8, 0x47, 0x25, 0x92, 0xf5, 0x97, 0x2d, 0x38, 0x79, 0xd5, + 0x4b, 0x30, 0x69, 0x87, 0xd9, 0xb8, 0xbb, 0x88, 0xb4, 0xc3, 0xd8, 0x4b, 0xc2, 0x68, 0x37, 0x1b, + 0x77, 0x87, 0x15, 0x06, 0x6b, 0x54, 0xbc, 0xe6, 0x1d, 0x8f, 0x2a, 0x58, 0xd1, 0x29, 0xad, 0x66, + 0x0e, 0xc7, 0x8a, 0x82, 0x76, 0xcc, 0xf5, 0x22, 0x66, 0x8b, 0xec, 0x8a, 0x19, 0xac, 0x3a, 0x56, + 0x97, 0x08, 0x9c, 0xd2, 0xd8, 0x7f, 0xd7, 0x82, 0xd3, 0x57, 0xfd, 0x4e, 0x9c, 0x90, 0x68, 0x23, + 0x36, 0x1a, 0xfb, 0x02, 0xd4, 0x88, 0xb4, 0x9b, 0x45, 0x5b, 0xd5, 0x9a, 0xa4, 0x0c, 0x6a, 0x1e, + 0xf4, 0xa7, 0xe8, 0x4a, 0xc4, 0x98, 0xf5, 0x17, 0x11, 0xf5, 0xaf, 0x2b, 0x30, 0x7e, 0x6d, 0x6d, + 0xad, 0x71, 0x95, 0x24, 0x42, 0x07, 0x17, 0x3b, 0x7a, 0x1a, 0xda, 0x2e, 0x77, 0xf4, 0xca, 0x5c, + 0x8f, 0x59, 0xd7, 0x49, 0x3c, 0x7f, 0x8e, 0xc7, 0x58, 0xcf, 0xad, 0x04, 0xc9, 0xad, 0xa8, 0x99, + 0x44, 0x5e, 0xb0, 0x99, 0xbb, 0x2b, 0x96, 0xeb, 0x44, 0xb5, 0xd7, 0x3a, 0x81, 0x5e, 0x80, 0x21, + 0x16, 0xe2, 0x2d, 0x6d, 0x9b, 0x8f, 0x2a, 0x33, 0x84, 0x41, 0x1f, 0xec, 0xcd, 0xd6, 0x6e, 0xe3, + 0x15, 0xfe, 0x07, 0x0b, 0x52, 0xf4, 0x2e, 0x8c, 0x6e, 0x25, 0x49, 0xfb, 0x1a, 0x71, 0x5c, 0x12, + 0x49, 0x2d, 0x51, 0x60, 0x05, 0xd2, 0xc1, 0xe0, 0x05, 0xd2, 0x89, 0x95, 0xc2, 0x62, 0xac, 0x73, + 0xb4, 0x9b, 0x00, 0x29, 0xee, 0x21, 0x6d, 0x6d, 0xec, 0xbf, 0x5c, 0x81, 0xe1, 0x6b, 0x4e, 0xe0, + 0xfa, 0x24, 0x42, 0xcb, 0x30, 0x40, 0xee, 0x93, 0x56, 0x39, 0x03, 0x36, 0x5d, 0x48, 0xb9, 0xa7, + 0x8a, 0xfe, 0xc7, 0xac, 0x3c, 0xc2, 0x30, 0x4c, 0xdb, 0x7d, 0x55, 0x05, 0x66, 0x3e, 0x57, 0x3c, + 0x0a, 0x4a, 0x24, 0xf8, 0x2a, 0x2c, 0x40, 0x58, 0x32, 0x62, 0x3e, 0x9d, 0x56, 0xbb, 0x49, 0x95, + 0x5b, 0x52, 0x2e, 0xf6, 0x7a, 0x6d, 0xb1, 0xc1, 0xc9, 0x05, 0x5f, 0xee, 0xd3, 0x91, 0x40, 0x9c, + 0xb2, 0xb3, 0x5f, 0x81, 0x53, 0xec, 0x54, 0xd0, 0x49, 0xb6, 0x8c, 0x39, 0x53, 0x28, 0x9c, 0xf6, + 0x3f, 0xa8, 0xc0, 0x89, 0x95, 0xe6, 0x62, 0xd3, 0xf4, 0xc6, 0xbd, 0x02, 0x63, 0x7c, 0x79, 0xa6, + 0x42, 0xe7, 0xf8, 0xa2, 0xbc, 0x72, 0x63, 0xaf, 0x69, 0x38, 0x6c, 0x50, 0xa2, 0x27, 0xa1, 0xea, + 0xbd, 0x17, 0x64, 0xe3, 0x83, 0x56, 0xde, 0xb8, 0x89, 0x29, 0x9c, 0xa2, 0xe9, 0x4a, 0xcf, 0x55, + 0x9c, 0x42, 0xab, 0xd5, 0xfe, 0x75, 0x98, 0xf0, 0xe2, 0x56, 0xec, 0xad, 0x04, 0x74, 0xfe, 0x3b, + 0x2d, 0x29, 0xbe, 0xa9, 0xed, 0x4f, 0x9b, 0xaa, 0xb0, 0x38, 0x43, 0xad, 0xe9, 0xdb, 0xc1, 0xd2, + 0xd6, 0x42, 0x71, 0x84, 0xe6, 0x57, 0xa0, 0xa6, 0x22, 0x69, 0x64, 0x00, 0x94, 0x95, 0x1f, 0x00, + 0x55, 0x42, 0xe1, 0x48, 0x1f, 0x69, 0x35, 0xd7, 0x47, 0xfa, 0xcf, 0x2c, 0x48, 0x83, 0x06, 0x10, + 0x86, 0x5a, 0x3b, 0x64, 0x07, 0x10, 0x91, 0x3c, 0xec, 0x7b, 0xba, 0x40, 0x12, 0xf9, 0x4c, 0xe0, + 0xb2, 0xd2, 0x90, 0x65, 0x71, 0xca, 0x06, 0xdd, 0x80, 0xe1, 0x76, 0x44, 0x9a, 0x09, 0x0b, 0xf3, + 0xed, 0x83, 0x23, 0x93, 0xea, 0x06, 0x2f, 0x89, 0x25, 0x0b, 0xfb, 0x37, 0x2c, 0x80, 0x1b, 0xde, + 0xb6, 0x97, 0x60, 0x27, 0xd8, 0x24, 0x47, 0xb8, 0x8b, 0xbc, 0x09, 0x03, 0x71, 0x9b, 0xb4, 0xca, + 0x1d, 0x1d, 0xa5, 0x2d, 0x6a, 0xb6, 0x49, 0x2b, 0xfd, 0x0c, 0xf4, 0x1f, 0x66, 0x7c, 0xec, 0x5f, + 0x05, 0x98, 0x48, 0xc9, 0xa8, 0x19, 0x8f, 0x9e, 0x37, 0xe2, 0x5a, 0x1f, 0xcf, 0xc4, 0xb5, 0xd6, + 0x18, 0xb5, 0x16, 0xca, 0x9a, 0x40, 0x75, 0xdb, 0xb9, 0x2f, 0x76, 0x0d, 0x2f, 0x95, 0x6d, 0x10, + 0xad, 0x69, 0x6e, 0xd5, 0xb9, 0xcf, 0xcd, 0xa8, 0xe7, 0xa4, 0x00, 0xad, 0x3a, 0xf7, 0x1f, 0xf0, + 0x03, 0x22, 0x36, 0x03, 0xe9, 0x36, 0xe5, 0xeb, 0xff, 0x35, 0xfd, 0xcf, 0x94, 0x22, 0xad, 0x8e, + 0xd5, 0xea, 0x05, 0xc2, 0xd5, 0xd7, 0x67, 0xad, 0x5e, 0x90, 0xad, 0xd5, 0x0b, 0x4a, 0xd4, 0xea, + 0x05, 0xe8, 0x7d, 0x0b, 0x86, 0x85, 0x87, 0x9c, 0x85, 0x5f, 0x8d, 0x5e, 0xf9, 0x74, 0x5f, 0x55, + 0x0b, 0x57, 0x3b, 0xaf, 0xfe, 0x92, 0xb4, 0x1d, 0x05, 0xb4, 0xb0, 0x09, 0xb2, 0x6a, 0xf4, 0x6d, + 0x0b, 0x26, 0xc4, 0x6f, 0x4c, 0xde, 0xeb, 0x90, 0x38, 0x11, 0xab, 0xd4, 0xe7, 0x0e, 0xd3, 0x1a, + 0xc1, 0x82, 0x37, 0xea, 0x53, 0x52, 0xc5, 0x98, 0xc8, 0xc2, 0xb6, 0x65, 0xda, 0x83, 0xbe, 0x67, + 0xc1, 0xa9, 0x6d, 0xe7, 0x3e, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x08, 0x31, 0x5b, 0xee, + 0x57, 0x4e, 0xba, 0x18, 0xf1, 0xe6, 0xbe, 0x26, 0x8f, 0x2d, 0xf3, 0x48, 0x0a, 0x1b, 0x9d, 0xdb, + 0xc2, 0x19, 0x17, 0x46, 0xa4, 0x60, 0xe6, 0x58, 0xed, 0x0b, 0xfa, 0x62, 0x7c, 0xf0, 0x0c, 0x94, + 0x0e, 0xb4, 0xb9, 0x37, 0x3a, 0x4e, 0x90, 0x78, 0xc9, 0xae, 0x66, 0xe3, 0xb3, 0x5a, 0x84, 0x20, + 0x1e, 0x61, 0x2d, 0x5b, 0x30, 0xa6, 0xcb, 0xdc, 0x11, 0xd6, 0x14, 0xc2, 0xc9, 0x1c, 0x79, 0x3a, + 0xc2, 0x0a, 0x3b, 0xf0, 0x78, 0x4f, 0xb9, 0x38, 0xba, 0x6a, 0xed, 0x1f, 0x5a, 0xba, 0xc2, 0x3c, + 0x0e, 0xc7, 0xcc, 0xaa, 0xe9, 0x98, 0xb9, 0x50, 0x76, 0xea, 0xf4, 0xf0, 0xce, 0x6c, 0xe8, 0xed, + 0xa7, 0x2b, 0x01, 0x5a, 0x83, 0x21, 0x9f, 0x42, 0xe4, 0x69, 0xd0, 0xc5, 0x7e, 0x26, 0x67, 0x6a, + 0x5c, 0x30, 0x78, 0x8c, 0x05, 0x2f, 0xfb, 0x37, 0x2d, 0x18, 0x38, 0x8e, 0xe1, 0x69, 0x98, 0xc3, + 0xd3, 0xcb, 0x44, 0x15, 0x57, 0x3e, 0xe7, 0xb0, 0x73, 0x6f, 0xe9, 0x7e, 0x42, 0x82, 0x98, 0x99, + 0x92, 0xb9, 0x23, 0xf4, 0x2b, 0x15, 0x18, 0xa5, 0x15, 0x49, 0x3f, 0xd1, 0xab, 0x30, 0xee, 0x3b, + 0xeb, 0xc4, 0x97, 0xee, 0xe4, 0xec, 0xb6, 0xeb, 0x86, 0x8e, 0xc4, 0x26, 0x2d, 0x2d, 0xbc, 0xa1, + 0x7b, 0xdb, 0x85, 0x49, 0xa4, 0x0a, 0x1b, 0xae, 0x78, 0x6c, 0xd2, 0x52, 0xcb, 0xff, 0x9e, 0x93, + 0xb4, 0xb6, 0xc4, 0x96, 0x4c, 0x35, 0xf7, 0x0e, 0x05, 0x62, 0x8e, 0x43, 0xf3, 0x30, 0x29, 0x25, + 0xf6, 0x4d, 0x3e, 0x74, 0xc2, 0x5c, 0x54, 0xf7, 0xf4, 0xb0, 0x89, 0xc6, 0x59, 0x7a, 0xf4, 0x19, + 0x98, 0xa0, 0x83, 0x13, 0x76, 0x12, 0x19, 0xac, 0x30, 0xc8, 0x82, 0x15, 0x58, 0x70, 0xe8, 0x9a, + 0x81, 0xc1, 0x19, 0x4a, 0xfb, 0x5d, 0x38, 0x79, 0x23, 0x74, 0xdc, 0x05, 0xc7, 0x77, 0x82, 0x16, + 0x89, 0x56, 0x82, 0xcd, 0xc2, 0x73, 0x5d, 0xfd, 0xec, 0xb5, 0x52, 0x74, 0xf6, 0x6a, 0x47, 0x80, + 0xf4, 0x0a, 0x44, 0x98, 0xcd, 0xdb, 0x30, 0xec, 0xf1, 0xaa, 0x84, 0xd4, 0x5e, 0x2e, 0x72, 0x2a, + 0x75, 0xb5, 0x51, 0x0b, 0x1b, 0xe1, 0x00, 0x2c, 0x59, 0xd2, 0x9d, 0x44, 0x9e, 0x17, 0xaa, 0x78, + 0xb3, 0x66, 0xff, 0x55, 0x0b, 0x26, 0x6f, 0x66, 0x2e, 0x83, 0x9d, 0x87, 0xa1, 0x98, 0x44, 0x39, + 0x2e, 0xb5, 0x26, 0x83, 0x62, 0x81, 0x7d, 0xe8, 0xdb, 0xf4, 0x5f, 0xac, 0x40, 0x8d, 0xc5, 0x6c, + 0xb6, 0x9d, 0xd6, 0x51, 0x1a, 0xa5, 0xab, 0x86, 0x51, 0x5a, 0xb0, 0x49, 0x54, 0x0d, 0xea, 0x65, + 0x93, 0xa2, 0xdb, 0xea, 0x72, 0x54, 0xa9, 0xfd, 0x61, 0xca, 0x90, 0xdf, 0xa3, 0x99, 0x30, 0xef, + 0x52, 0xc9, 0x8b, 0x53, 0xec, 0x34, 0x54, 0xd1, 0x3e, 0x7a, 0xa7, 0xa1, 0xaa, 0x69, 0x3d, 0xb4, + 0x52, 0x43, 0x6b, 0x3d, 0x53, 0xdb, 0x9f, 0x65, 0x01, 0x78, 0x8e, 0xef, 0x7d, 0x95, 0xa8, 0x4b, + 0x86, 0xb3, 0x22, 0x9e, 0x4e, 0x40, 0x1f, 0x30, 0x05, 0x23, 0xfe, 0xf1, 0xbb, 0xa3, 0x69, 0x11, + 0xfb, 0x1a, 0x4c, 0x66, 0xc6, 0x0e, 0xbd, 0x04, 0x83, 0xed, 0x2d, 0x27, 0x26, 0x99, 0xc8, 0x8e, + 0xc1, 0x06, 0x05, 0x3e, 0xd8, 0x9b, 0x9d, 0x50, 0x05, 0x18, 0x04, 0x73, 0x6a, 0xfb, 0x4f, 0x2c, + 0x18, 0xb8, 0x19, 0xba, 0x47, 0x29, 0x63, 0xd7, 0x0c, 0x19, 0x3b, 0x5f, 0x7c, 0xe3, 0xbc, 0xa7, + 0x78, 0x35, 0x32, 0xe2, 0x75, 0xa1, 0x04, 0xaf, 0x83, 0x25, 0x6b, 0x1b, 0x46, 0xd9, 0x8d, 0x76, + 0x11, 0xd2, 0xf2, 0x82, 0xb1, 0x81, 0x9a, 0xcd, 0x6c, 0xa0, 0x26, 0x35, 0x52, 0x6d, 0x1b, 0xf5, + 0x0c, 0x0c, 0x8b, 0x10, 0x8a, 0x6c, 0xd4, 0xa1, 0xa0, 0xc5, 0x12, 0x6f, 0xff, 0x7a, 0x15, 0x8c, + 0x1b, 0xf4, 0xe8, 0x47, 0x16, 0xcc, 0x45, 0xfc, 0xca, 0x83, 0x5b, 0xef, 0x44, 0x5e, 0xb0, 0xd9, + 0x6c, 0x6d, 0x11, 0xb7, 0xe3, 0x7b, 0xc1, 0xe6, 0xca, 0x66, 0x10, 0x2a, 0xf0, 0xd2, 0x7d, 0xd2, + 0xea, 0x30, 0xef, 0x6a, 0xe9, 0x8b, 0xfb, 0xea, 0x0c, 0xf5, 0xca, 0xfe, 0xde, 0xec, 0x1c, 0xee, + 0xab, 0x16, 0xdc, 0x67, 0xab, 0xd0, 0xef, 0x5b, 0x70, 0x89, 0xdf, 0x21, 0x2f, 0xdf, 0x93, 0x52, + 0x1b, 0xcf, 0x86, 0x64, 0x9a, 0xb2, 0x5b, 0x23, 0xd1, 0xf6, 0xc2, 0xcb, 0x62, 0x90, 0x2f, 0x35, + 0xfa, 0xab, 0x15, 0xf7, 0xdb, 0x4c, 0xfb, 0xdf, 0x56, 0x61, 0x9c, 0x8e, 0x67, 0x7a, 0x7f, 0xf4, + 0x25, 0x43, 0x4c, 0x3e, 0x96, 0x11, 0x93, 0x13, 0x06, 0xf1, 0xc3, 0xb9, 0x3a, 0x9a, 0xc0, 0x09, + 0xdf, 0x89, 0x93, 0x6b, 0xc4, 0x89, 0x92, 0x75, 0xe2, 0xb0, 0x03, 0x4b, 0x31, 0x09, 0xfa, 0x3a, + 0x04, 0x55, 0x71, 0x39, 0x37, 0xb2, 0xdc, 0x70, 0x77, 0x05, 0xe8, 0x1e, 0x20, 0x76, 0x3a, 0x1a, + 0x39, 0x41, 0xcc, 0x3b, 0xe3, 0x09, 0x87, 0x6c, 0x9f, 0xd5, 0xce, 0x88, 0x6a, 0xd1, 0x8d, 0x2e, + 0x76, 0x38, 0xa7, 0x0a, 0xed, 0x08, 0x7c, 0xb0, 0xec, 0x11, 0xf8, 0x50, 0x41, 0xc0, 0xef, 0xcf, + 0x5b, 0x70, 0x92, 0x7e, 0x18, 0x33, 0x38, 0x34, 0x46, 0x21, 0x4c, 0xd2, 0x1e, 0xf8, 0x24, 0x91, + 0x30, 0x31, 0xc3, 0x0a, 0x6c, 0x69, 0x93, 0x4f, 0x6a, 0xb1, 0x5d, 0x37, 0x99, 0xe1, 0x2c, 0x77, + 0xfb, 0xd7, 0x2d, 0x60, 0xd1, 0x67, 0xc7, 0xb1, 0x8e, 0x5d, 0x35, 0xd7, 0x31, 0xbb, 0x58, 0x69, + 0xf4, 0x58, 0xc2, 0x5e, 0x84, 0x29, 0x8a, 0x6d, 0x44, 0xe1, 0xfd, 0x5d, 0x69, 0x5c, 0x17, 0xfb, + 0x66, 0xdf, 0xaf, 0xf0, 0x99, 0xa3, 0xae, 0x6f, 0xa1, 0x5f, 0xb0, 0x60, 0xa4, 0xe5, 0xb4, 0x9d, + 0x16, 0x4f, 0x41, 0x52, 0xc2, 0x0f, 0x63, 0x94, 0x9f, 0x5b, 0x14, 0x65, 0xb9, 0x0f, 0xe1, 0x93, + 0xb2, 0xeb, 0x12, 0x5c, 0xe8, 0x37, 0x50, 0x95, 0xcf, 0x78, 0x30, 0x6e, 0x30, 0x3b, 0xc2, 0x8d, + 0xe7, 0x2f, 0x58, 0x5c, 0xeb, 0xab, 0xcd, 0xc1, 0x3d, 0x38, 0x11, 0x68, 0xff, 0xa9, 0x3e, 0x93, + 0xb6, 0xf0, 0x5c, 0x79, 0xbd, 0xce, 0xd4, 0xa0, 0x16, 0x68, 0x97, 0x61, 0x88, 0xbb, 0xeb, 0xb0, + 0xff, 0xa1, 0x05, 0x8f, 0xe9, 0x84, 0xda, 0x6d, 0xbb, 0x22, 0xbf, 0x70, 0x1d, 0x46, 0xc2, 0x36, + 0x89, 0x9c, 0x74, 0x23, 0x74, 0x41, 0x8e, 0xfe, 0x2d, 0x01, 0x7f, 0xb0, 0x37, 0x7b, 0x4a, 0xe7, + 0x2e, 0xe1, 0x58, 0x95, 0x44, 0x36, 0x0c, 0xb1, 0x71, 0x89, 0xc5, 0x3d, 0x49, 0x96, 0x90, 0x83, + 0x9d, 0x86, 0xc4, 0x58, 0x60, 0xec, 0xbf, 0x66, 0x71, 0x61, 0xd3, 0x9b, 0x8e, 0xbe, 0x06, 0x53, + 0xdb, 0x74, 0xcf, 0xb4, 0x74, 0xbf, 0x4d, 0x57, 0x52, 0x76, 0x0a, 0x6c, 0x95, 0x59, 0x3f, 0x7a, + 0x74, 0x77, 0x61, 0x5a, 0xb4, 0x7e, 0x6a, 0x35, 0xc3, 0x16, 0x77, 0x55, 0x64, 0xff, 0x81, 0x98, + 0xb2, 0xcc, 0x78, 0x7b, 0x06, 0x86, 0xdb, 0xa1, 0xbb, 0xb8, 0x52, 0xc7, 0x62, 0xac, 0x94, 0xce, + 0x69, 0x70, 0x30, 0x96, 0x78, 0x74, 0x05, 0x80, 0xdc, 0x4f, 0x48, 0x14, 0x38, 0xbe, 0x3a, 0xbd, + 0x55, 0xb6, 0xd2, 0x92, 0xc2, 0x60, 0x8d, 0x8a, 0x96, 0x69, 0x47, 0xe1, 0x8e, 0xe7, 0xb2, 0xa8, + 0xf7, 0xaa, 0x59, 0xa6, 0xa1, 0x30, 0x58, 0xa3, 0xa2, 0x3b, 0xd5, 0x4e, 0x10, 0xf3, 0x75, 0xcc, + 0x59, 0x17, 0x79, 0x24, 0x46, 0xd2, 0x9d, 0xea, 0x6d, 0x1d, 0x89, 0x4d, 0x5a, 0xfb, 0x77, 0x6a, + 0x00, 0xa9, 0xa5, 0x84, 0xde, 0xef, 0x9e, 0xa1, 0x9f, 0x2a, 0x6b, 0x66, 0x3d, 0xbc, 0xe9, 0x89, + 0xbe, 0x69, 0xc1, 0xa8, 0xe3, 0xfb, 0x61, 0xcb, 0x49, 0x58, 0x8f, 0x2a, 0x65, 0x75, 0x85, 0x68, + 0xc9, 0x7c, 0x5a, 0x96, 0x37, 0xe6, 0x05, 0x79, 0xb8, 0xa7, 0x61, 0x0a, 0xdb, 0xa3, 0x37, 0x01, + 0x7d, 0x52, 0x5a, 0xd8, 0xfc, 0xa3, 0xcc, 0x64, 0x2d, 0xec, 0x1a, 0xd3, 0x90, 0x9a, 0x71, 0x8d, + 0xde, 0x35, 0x52, 0x26, 0x0c, 0x94, 0xb9, 0xa2, 0x6b, 0xd8, 0x0e, 0x45, 0xd9, 0x12, 0xd0, 0x17, + 0xf5, 0x80, 0xe0, 0xc1, 0x32, 0xf7, 0x5f, 0x35, 0x13, 0xb6, 0x20, 0x18, 0x38, 0x81, 0x49, 0xd7, + 0x5c, 0x2b, 0x45, 0x84, 0xd7, 0xe5, 0xe2, 0x1a, 0x32, 0x8b, 0x6c, 0xba, 0x3a, 0x66, 0x10, 0x38, + 0x5b, 0x05, 0xfa, 0x22, 0x0f, 0xd7, 0x5e, 0x09, 0x36, 0x42, 0x11, 0xe4, 0x75, 0xb1, 0xc4, 0x37, + 0xdf, 0x8d, 0x13, 0xb2, 0x4d, 0xcb, 0xa4, 0xab, 0xe1, 0x4d, 0xc1, 0x05, 0x2b, 0x7e, 0x68, 0x0d, + 0x86, 0xd8, 0xe5, 0x92, 0x78, 0x7a, 0xa4, 0x8c, 0xb7, 0xcc, 0xbc, 0x56, 0x99, 0xda, 0x20, 0xec, + 0x6f, 0x8c, 0x05, 0x2f, 0x74, 0x4d, 0x5e, 0x43, 0x8e, 0x57, 0x82, 0xdb, 0x31, 0x61, 0xd7, 0x90, + 0x6b, 0x0b, 0x1f, 0x4f, 0xef, 0x15, 0x73, 0x78, 0x6e, 0x92, 0x28, 0xa3, 0x24, 0x35, 0x45, 0xc4, + 0x7f, 0x99, 0x7b, 0x6a, 0x1a, 0xca, 0x34, 0xd4, 0xcc, 0x54, 0x95, 0x0e, 0xf6, 0x9b, 0x26, 0x33, + 0x9c, 0xe5, 0x7e, 0x8c, 0x6b, 0xe0, 0x8c, 0x0f, 0x53, 0xd9, 0x29, 0x79, 0x84, 0x2b, 0xee, 0x1f, + 0x0f, 0xc0, 0x84, 0x29, 0x18, 0xe8, 0x12, 0xd4, 0xb6, 0x59, 0x66, 0xa8, 0x34, 0x1f, 0x8d, 0x92, + 0xff, 0x55, 0x89, 0xc0, 0x29, 0x0d, 0xcb, 0xcc, 0xc3, 0x8a, 0x6b, 0xa1, 0x37, 0x69, 0x66, 0x1e, + 0x85, 0xc1, 0x1a, 0x15, 0xb5, 0x5b, 0xd7, 0xc3, 0x30, 0x51, 0x8a, 0x5b, 0xc9, 0xcc, 0x02, 0x83, + 0x62, 0x81, 0xa5, 0x0a, 0xfb, 0x2e, 0xed, 0x90, 0x6f, 0xba, 0xfd, 0x94, 0xc2, 0xbe, 0xae, 0x23, + 0xb1, 0x49, 0x4b, 0x17, 0xa0, 0x30, 0x66, 0x42, 0x28, 0xac, 0xe3, 0x34, 0x94, 0xa9, 0xc9, 0x2f, + 0x5b, 0x49, 0x3c, 0xfa, 0x02, 0x3c, 0xa6, 0xee, 0x46, 0x61, 0xee, 0x46, 0x95, 0x35, 0x0e, 0x19, + 0x5b, 0xdc, 0xc7, 0x16, 0xf3, 0xc9, 0x70, 0xaf, 0xf2, 0xe8, 0x75, 0x98, 0x10, 0x96, 0xad, 0xe4, + 0x38, 0x6c, 0x9e, 0x74, 0x5f, 0x37, 0xb0, 0x38, 0x43, 0x8d, 0xea, 0x30, 0x45, 0x21, 0xcc, 0xa2, + 0x94, 0x1c, 0xf8, 0x1d, 0x2f, 0xb5, 0x32, 0x5f, 0xcf, 0xe0, 0x71, 0x57, 0x09, 0x34, 0x0f, 0x93, + 0xdc, 0xb6, 0xa0, 0x1b, 0x39, 0xf6, 0x1d, 0x44, 0x50, 0xa6, 0x9a, 0x04, 0xb7, 0x4c, 0x34, 0xce, + 0xd2, 0xa3, 0x57, 0x60, 0xcc, 0x89, 0x5a, 0x5b, 0x5e, 0x42, 0x5a, 0x49, 0x27, 0xe2, 0x17, 0xfc, + 0xb5, 0x50, 0x81, 0x79, 0x0d, 0x87, 0x0d, 0x4a, 0xfb, 0xab, 0x70, 0x32, 0x27, 0xf6, 0x9b, 0x0a, + 0x8e, 0xd3, 0xf6, 0x64, 0x9f, 0x32, 0x41, 0x49, 0xf3, 0x8d, 0x15, 0xd9, 0x1b, 0x8d, 0x8a, 0x4a, + 0x27, 0xf3, 0x1f, 0x6b, 0x69, 0xe2, 0x94, 0x74, 0x2e, 0x4b, 0x04, 0x4e, 0x69, 0xec, 0xff, 0x51, + 0x03, 0xcd, 0xdb, 0x52, 0x22, 0x14, 0xe5, 0x15, 0x18, 0x93, 0x99, 0x0f, 0xb5, 0x8c, 0x63, 0xaa, + 0x9b, 0x57, 0x35, 0x1c, 0x36, 0x28, 0x69, 0xdb, 0x02, 0xe9, 0x3b, 0xca, 0x86, 0x40, 0x29, 0xa7, + 0x12, 0x4e, 0x69, 0xd0, 0x45, 0x18, 0x89, 0x89, 0xbf, 0x71, 0xc3, 0x0b, 0xee, 0x0a, 0xc1, 0x56, + 0x5a, 0xb9, 0x29, 0xe0, 0x58, 0x51, 0xa0, 0xcf, 0x41, 0xb5, 0xe3, 0xb9, 0x42, 0x94, 0xe7, 0xa4, + 0xdd, 0x79, 0x7b, 0xa5, 0xfe, 0x60, 0x6f, 0x76, 0x36, 0x3f, 0x9d, 0x23, 0xdd, 0x4d, 0xc7, 0x73, + 0x74, 0xf2, 0xd1, 0xa2, 0x79, 0x6e, 0xf4, 0xa1, 0x3e, 0xdd, 0xe8, 0x57, 0x00, 0x44, 0x9f, 0xa5, + 0x24, 0x57, 0xd3, 0x6f, 0x76, 0x55, 0x61, 0xb0, 0x46, 0x45, 0xf7, 0xe4, 0xad, 0x88, 0x38, 0x72, + 0xd3, 0xca, 0x03, 0x93, 0x47, 0x3e, 0xc4, 0x9e, 0x7c, 0x31, 0xcb, 0x0d, 0x77, 0x57, 0x80, 0xda, + 0x70, 0xc2, 0xa5, 0xf3, 0xc8, 0xa8, 0xb5, 0x76, 0x88, 0x70, 0x68, 0x5a, 0x63, 0x3d, 0xcb, 0x09, + 0x77, 0x33, 0x47, 0xef, 0xc0, 0x8c, 0x04, 0x76, 0xdf, 0x7e, 0x64, 0xd3, 0xa5, 0xba, 0x70, 0x76, + 0x7f, 0x6f, 0x76, 0xa6, 0xde, 0x93, 0x0a, 0x1f, 0xc0, 0x01, 0xbd, 0x0d, 0x43, 0xec, 0xe0, 0x25, + 0x9e, 0x1e, 0x65, 0xab, 0xdd, 0x8b, 0x65, 0xfd, 0x8e, 0x73, 0xec, 0xf8, 0x46, 0xc4, 0x73, 0xa6, + 0x87, 0x59, 0x0c, 0x88, 0x05, 0x4f, 0xd4, 0x86, 0x51, 0x27, 0x08, 0xc2, 0xc4, 0xe1, 0x46, 0xd8, + 0x58, 0x19, 0x3b, 0x52, 0xab, 0x62, 0x3e, 0x2d, 0xcb, 0xeb, 0x51, 0x41, 0x62, 0x1a, 0x06, 0xeb, + 0x55, 0xd0, 0x65, 0x3c, 0xbc, 0x47, 0x15, 0xa6, 0x3c, 0x7b, 0x88, 0xa7, 0xc7, 0xcb, 0x2c, 0xe3, + 0xb7, 0x8c, 0x42, 0x9a, 0x06, 0x33, 0x99, 0xe1, 0x2c, 0x77, 0x34, 0x67, 0xb8, 0x93, 0x27, 0xd2, + 0x68, 0xe5, 0xd4, 0x9d, 0xac, 0x7b, 0x8f, 0xd9, 0xcd, 0x5a, 0x1e, 0xa1, 0xc8, 0x34, 0xc1, 0x64, + 0xe6, 0x66, 0x6d, 0x8a, 0xc2, 0x3a, 0xdd, 0xcc, 0xa7, 0x61, 0x54, 0x1b, 0xf0, 0x7e, 0xc2, 0x62, + 0x67, 0x5e, 0x87, 0xa9, 0xec, 0x40, 0xf6, 0x15, 0x56, 0xfb, 0xbf, 0x2a, 0x30, 0x99, 0x73, 0xa0, + 0x73, 0xd7, 0x63, 0x81, 0xe3, 0x86, 0xca, 0xbb, 0xee, 0x05, 0x2e, 0x66, 0x18, 0x53, 0x71, 0x55, + 0x4a, 0x28, 0x2e, 0xa9, 0x45, 0xab, 0x3d, 0xb5, 0xa8, 0x50, 0x56, 0x03, 0x87, 0x57, 0x56, 0xe6, + 0xea, 0x30, 0x58, 0x6a, 0x75, 0x78, 0x08, 0x0a, 0xce, 0x58, 0x60, 0x86, 0x4b, 0x2c, 0x30, 0x0f, + 0x2c, 0x98, 0x30, 0x25, 0xaf, 0xc4, 0x88, 0x3f, 0xaa, 0x03, 0x38, 0xc7, 0x36, 0x62, 0x49, 0x14, + 0xfa, 0x3e, 0x89, 0x44, 0xc0, 0xdc, 0x84, 0xd8, 0x57, 0x09, 0x28, 0xd6, 0x28, 0xec, 0x6f, 0x57, + 0x60, 0x2a, 0x8d, 0x9e, 0x16, 0x19, 0x60, 0x8f, 0xee, 0x84, 0x64, 0xcd, 0x38, 0x21, 0x29, 0x4a, + 0xec, 0x9a, 0x69, 0x57, 0xcf, 0xd3, 0x92, 0xb7, 0x33, 0xa7, 0x25, 0x2f, 0xf6, 0xc9, 0xf7, 0xe0, + 0x93, 0x93, 0x7f, 0x5e, 0x81, 0xd3, 0xd9, 0x22, 0x8b, 0xbe, 0xe3, 0x6d, 0x1f, 0xe1, 0x38, 0x7d, + 0xc1, 0x18, 0xa7, 0x97, 0xfb, 0xeb, 0x0f, 0x6b, 0x5c, 0xcf, 0xc1, 0x72, 0x32, 0x83, 0xf5, 0xe9, + 0xc3, 0x30, 0x3f, 0x78, 0xc4, 0x7e, 0xd7, 0x82, 0xc7, 0x73, 0xcb, 0x1d, 0x87, 0x27, 0xf8, 0x2d, + 0xd3, 0x13, 0xfc, 0xc2, 0x21, 0xba, 0xd7, 0xc3, 0x35, 0xfc, 0xdf, 0x2a, 0x3d, 0xba, 0xc5, 0xbc, + 0x65, 0xb7, 0x60, 0xd4, 0x69, 0xb5, 0x48, 0x1c, 0xaf, 0x86, 0xae, 0x4a, 0x49, 0xf4, 0x3c, 0x5b, + 0x3f, 0x53, 0xf0, 0x83, 0xbd, 0xd9, 0x99, 0x2c, 0x8b, 0x14, 0x8d, 0x75, 0x0e, 0x66, 0x6a, 0xb1, + 0xca, 0x11, 0xa5, 0x16, 0xbb, 0x02, 0xb0, 0xa3, 0x76, 0xe9, 0x59, 0x27, 0x9c, 0xb6, 0x7f, 0xd7, + 0xa8, 0xd0, 0x3b, 0xcc, 0xea, 0xe5, 0x91, 0x22, 0x03, 0x85, 0x13, 0xce, 0xf8, 0x80, 0x7a, 0xd8, + 0x09, 0xbf, 0x3a, 0xaa, 0x3c, 0x96, 0x8a, 0xa7, 0xfd, 0xdd, 0x2a, 0x7c, 0xf4, 0x00, 0xb1, 0x43, + 0xf3, 0xe6, 0x01, 0xf0, 0x73, 0x59, 0xf7, 0xd4, 0x4c, 0x6e, 0x61, 0xc3, 0x5f, 0x95, 0xf9, 0x58, + 0x95, 0x0f, 0xfd, 0xb1, 0xbe, 0xa5, 0x3b, 0x13, 0x79, 0xc4, 0xe7, 0xd5, 0x43, 0x4f, 0xac, 0x9f, + 0x4e, 0xe7, 0xff, 0xd7, 0x2d, 0xf8, 0x58, 0x6e, 0xa7, 0x8c, 0x38, 0x93, 0x4b, 0x50, 0x6b, 0x51, + 0xa0, 0x76, 0x25, 0x27, 0xbd, 0x69, 0x27, 0x11, 0x38, 0xa5, 0x31, 0xc2, 0x49, 0x2a, 0x85, 0xe1, + 0x24, 0xff, 0xc1, 0x82, 0x53, 0xd9, 0x46, 0x1c, 0x87, 0xd6, 0x69, 0x9a, 0x5a, 0x67, 0xae, 0xbf, + 0x6f, 0xdf, 0x43, 0xe1, 0x7c, 0x7b, 0x1c, 0xce, 0x74, 0x2d, 0x56, 0x7c, 0x18, 0x7f, 0xd6, 0x82, + 0x13, 0x9b, 0x6c, 0x7f, 0xa1, 0x5d, 0x7c, 0x12, 0x1d, 0x2b, 0xb8, 0x2d, 0x76, 0xe0, 0x7d, 0x29, + 0xbe, 0x5b, 0xea, 0x22, 0xc1, 0xdd, 0x95, 0xa1, 0x6f, 0x58, 0x70, 0xca, 0xb9, 0x17, 0x77, 0x3d, + 0x27, 0x20, 0xe4, 0xe8, 0xf5, 0x02, 0x57, 0x5e, 0xc1, 0x43, 0x04, 0x0b, 0xd3, 0xfb, 0x7b, 0xb3, + 0xa7, 0xf2, 0xa8, 0x70, 0x6e, 0xad, 0xe8, 0x6d, 0x91, 0x86, 0x8d, 0x9a, 0x7d, 0xa5, 0xae, 0xf0, + 0xe5, 0x5d, 0xc3, 0xe0, 0x3a, 0x49, 0x62, 0xb0, 0xe2, 0x88, 0xbe, 0x0c, 0xb5, 0x4d, 0x79, 0xd7, + 0x49, 0x28, 0xbd, 0x82, 0x95, 0x25, 0xf7, 0x6a, 0x14, 0x0f, 0xf6, 0x57, 0x28, 0x9c, 0x32, 0x45, + 0xd7, 0xa0, 0x1a, 0x6c, 0xc4, 0xe2, 0xda, 0x72, 0x51, 0x38, 0x91, 0x19, 0xbc, 0xc5, 0x2f, 0x62, + 0xde, 0x5c, 0x6e, 0x62, 0xca, 0x82, 0x72, 0x8a, 0xd6, 0x5d, 0xe1, 0xc3, 0x2e, 0xe0, 0x84, 0x17, + 0xea, 0xdd, 0x9c, 0xf0, 0x42, 0x1d, 0x53, 0x16, 0x2c, 0x6e, 0x31, 0x6e, 0xc5, 0x9e, 0x70, 0x50, + 0x17, 0xdc, 0x69, 0xef, 0xba, 0x9c, 0xc2, 0x33, 0xf2, 0x31, 0x30, 0xe6, 0x8c, 0xd0, 0x1a, 0x0c, + 0xb5, 0x58, 0x06, 0x6d, 0xe1, 0x3f, 0x28, 0xca, 0xab, 0xdc, 0x95, 0x6d, 0x9b, 0x1f, 0xa4, 0x71, + 0x38, 0x16, 0xbc, 0x18, 0x57, 0xd2, 0xde, 0xda, 0x88, 0x85, 0x7f, 0xa0, 0x88, 0x6b, 0x57, 0x2e, + 0x74, 0xc1, 0x95, 0xc1, 0xb1, 0xe0, 0x85, 0xea, 0x50, 0xd9, 0x68, 0x89, 0x34, 0x98, 0x05, 0x3b, + 0x5a, 0xf3, 0x56, 0xed, 0xc2, 0xd0, 0xfe, 0xde, 0x6c, 0x65, 0x79, 0x11, 0x57, 0x36, 0x5a, 0xe8, + 0x2d, 0x18, 0xde, 0xe0, 0xf7, 0x24, 0x45, 0xca, 0xcb, 0xcb, 0x45, 0x97, 0x39, 0xbb, 0x2e, 0x55, + 0xf2, 0x0b, 0x1d, 0x02, 0x81, 0x25, 0x3b, 0xf4, 0x0e, 0xc0, 0x86, 0xba, 0xf9, 0x29, 0x72, 0x5e, + 0xce, 0xf5, 0x77, 0x53, 0x54, 0xec, 0x9e, 0x15, 0x14, 0x6b, 0x1c, 0xa9, 0xcc, 0x3b, 0xf2, 0x11, + 0x00, 0x96, 0xef, 0xb2, 0x50, 0xe6, 0x73, 0xdf, 0x0c, 0xe0, 0x32, 0xaf, 0x50, 0x38, 0x65, 0x8a, + 0x3a, 0x30, 0xbe, 0x13, 0xb7, 0xb7, 0x88, 0x9c, 0xfa, 0x2c, 0x09, 0xe6, 0xe8, 0x95, 0xd7, 0x0a, + 0x32, 0x9b, 0x8a, 0x22, 0x5e, 0x94, 0x74, 0x1c, 0xbf, 0x4b, 0x83, 0xb1, 0x6c, 0x52, 0x6f, 0xea, + 0x6c, 0xb1, 0x59, 0x0b, 0xfd, 0x24, 0xef, 0x75, 0xc2, 0xf5, 0xdd, 0x84, 0x88, 0x24, 0x99, 0x05, + 0x9f, 0xe4, 0x0d, 0x4e, 0xdc, 0xfd, 0x49, 0x04, 0x02, 0x4b, 0x76, 0x6a, 0xc8, 0x98, 0x36, 0x9e, + 0x2a, 0x3d, 0x64, 0x5d, 0x7d, 0x48, 0x87, 0x8c, 0x69, 0xdf, 0x94, 0x29, 0xd3, 0xba, 0xed, 0xad, + 0x30, 0x09, 0x83, 0x8c, 0xee, 0x3f, 0x51, 0x46, 0xeb, 0x36, 0x72, 0x4a, 0x76, 0x6b, 0xdd, 0x3c, + 0x2a, 0x9c, 0x5b, 0xab, 0xfd, 0x07, 0x83, 0xdd, 0xeb, 0x2d, 0x33, 0x87, 0x7f, 0xa9, 0xfb, 0x74, + 0xf5, 0x73, 0xfd, 0x6f, 0xf7, 0x1e, 0xe2, 0x39, 0xeb, 0x37, 0x2c, 0x38, 0xd3, 0xce, 0x5d, 0x4c, + 0xc5, 0x82, 0xd5, 0xef, 0xae, 0x91, 0x0f, 0x98, 0xca, 0x00, 0x9b, 0x8f, 0xc7, 0x3d, 0xea, 0xcc, + 0x5a, 0xa0, 0xd5, 0x0f, 0x6d, 0x81, 0xde, 0x81, 0x11, 0x66, 0x34, 0xa5, 0x29, 0x48, 0xfa, 0xcc, + 0xda, 0xc1, 0x96, 0xbe, 0x45, 0xc1, 0x02, 0x2b, 0x66, 0x74, 0xe0, 0x9e, 0xcc, 0x76, 0x02, 0x13, + 0x86, 0x16, 0xa9, 0x6b, 0xb9, 0x6b, 0x62, 0x59, 0x8c, 0xc4, 0x93, 0x8d, 0x83, 0x88, 0x1f, 0x14, + 0x11, 0xe0, 0x83, 0x2b, 0x3b, 0x4e, 0x8b, 0xf6, 0x9f, 0x58, 0x39, 0xf6, 0x17, 0xdf, 0x83, 0xbc, + 0x66, 0xee, 0x41, 0xce, 0x67, 0xf7, 0x20, 0x5d, 0x1e, 0x03, 0x63, 0xfb, 0x51, 0x3e, 0x7d, 0x63, + 0xd9, 0x1c, 0x29, 0xb6, 0x0f, 0xe7, 0x8a, 0x26, 0x37, 0x8b, 0x63, 0x72, 0xd5, 0xa1, 0x60, 0x1a, + 0xc7, 0xe4, 0xae, 0xd4, 0x31, 0xc3, 0x94, 0xbd, 0x05, 0x6f, 0xff, 0x1f, 0x0b, 0xaa, 0x8d, 0xd0, + 0x3d, 0x42, 0x0f, 0xc8, 0x55, 0xc3, 0x03, 0xf2, 0x74, 0xe1, 0xd3, 0x47, 0x3d, 0xfd, 0x1d, 0xb7, + 0x32, 0xfe, 0x8e, 0x4f, 0x14, 0xb3, 0x3a, 0xd8, 0xbb, 0xf1, 0xbd, 0x2a, 0xe8, 0x8f, 0x37, 0xa1, + 0xdf, 0x3e, 0x4c, 0x64, 0x6b, 0xb5, 0xdc, 0x7b, 0x4e, 0xa2, 0x0e, 0x16, 0x00, 0x25, 0xaf, 0xbd, + 0xfd, 0xd4, 0x06, 0xb8, 0xde, 0x21, 0xde, 0xe6, 0x56, 0x42, 0xdc, 0x6c, 0xc7, 0x8e, 0x2f, 0xc0, + 0xf5, 0xbf, 0x5b, 0x30, 0x99, 0xa9, 0x1d, 0x6d, 0xe7, 0xdd, 0x9c, 0x39, 0xac, 0x4b, 0xe3, 0x44, + 0xe1, 0x5d, 0x9b, 0x39, 0x00, 0xe5, 0x86, 0x97, 0x8e, 0x07, 0x66, 0x84, 0x29, 0x3f, 0x7d, 0x8c, + 0x35, 0x0a, 0xf4, 0x12, 0x8c, 0x26, 0x61, 0x3b, 0xf4, 0xc3, 0xcd, 0xdd, 0xeb, 0x44, 0x26, 0x66, + 0x50, 0x47, 0x18, 0x6b, 0x29, 0x0a, 0xeb, 0x74, 0xf6, 0x0f, 0xaa, 0x90, 0x7d, 0xfb, 0xeb, 0xcf, + 0x05, 0xf5, 0xa7, 0x47, 0x50, 0x7f, 0xcf, 0x82, 0x29, 0x5a, 0x3b, 0x8b, 0x5f, 0x91, 0x61, 0xa8, + 0x2a, 0xeb, 0xba, 0x75, 0x40, 0xd6, 0xf5, 0xf3, 0x54, 0xdd, 0xb9, 0x61, 0x47, 0x66, 0x02, 0xd2, + 0xb4, 0x18, 0x85, 0x62, 0x81, 0x15, 0x74, 0x24, 0x8a, 0xc4, 0x1d, 0x1d, 0x9d, 0x8e, 0x44, 0x11, + 0x16, 0x58, 0x99, 0x94, 0x7d, 0x20, 0x3f, 0x29, 0x3b, 0x4f, 0x9c, 0x24, 0xe2, 0x26, 0x84, 0x1d, + 0xa0, 0x25, 0x4e, 0x92, 0x01, 0x15, 0x29, 0x8d, 0xfd, 0x2f, 0xab, 0x30, 0xd6, 0x08, 0xdd, 0x34, + 0xc4, 0xfc, 0x45, 0x23, 0xc4, 0xfc, 0x5c, 0x26, 0xc4, 0x7c, 0x4a, 0xa7, 0x7d, 0x38, 0x11, 0xe6, + 0x22, 0xc5, 0x16, 0x7b, 0x36, 0xe0, 0xb0, 0xd1, 0xe5, 0x46, 0x8a, 0x2d, 0xc5, 0x09, 0x9b, 0x8c, + 0xff, 0x4c, 0x45, 0x95, 0xff, 0x89, 0x05, 0x13, 0x8d, 0xd0, 0xa5, 0x22, 0xfa, 0x67, 0x49, 0x1e, + 0xf5, 0xc4, 0x5c, 0x43, 0x07, 0x24, 0xe6, 0xfa, 0x35, 0x0b, 0x86, 0x1b, 0xa1, 0x7b, 0x1c, 0xae, + 0xc4, 0x65, 0xd3, 0x95, 0xf8, 0xb1, 0x42, 0xe5, 0xdb, 0xc3, 0x7b, 0xf8, 0x9b, 0x55, 0x18, 0xa7, + 0x4d, 0x0e, 0x37, 0xe5, 0x07, 0x33, 0x06, 0xc7, 0x2a, 0x31, 0x38, 0xd4, 0x1c, 0x0c, 0x7d, 0x3f, + 0xbc, 0x97, 0xfd, 0x78, 0xcb, 0x0c, 0x8a, 0x05, 0x16, 0x5d, 0x84, 0x91, 0x76, 0x44, 0x76, 0xbc, + 0xb0, 0x13, 0x67, 0xaf, 0xfc, 0x35, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0x22, 0x8c, 0xc5, 0x5e, 0xd0, + 0x22, 0x32, 0xb0, 0x62, 0x80, 0x05, 0x56, 0xf0, 0xfc, 0x87, 0x1a, 0x1c, 0x1b, 0x54, 0xe8, 0x2d, + 0xa8, 0xb1, 0xff, 0x6c, 0x0e, 0x1d, 0x22, 0x53, 0x3c, 0x4f, 0xce, 0x25, 0x39, 0xe0, 0x94, 0x19, + 0xba, 0x02, 0x90, 0xc8, 0x18, 0x90, 0x58, 0x9c, 0x99, 0x2a, 0xe3, 0x54, 0x45, 0x87, 0xc4, 0x58, + 0xa3, 0x42, 0xcf, 0x41, 0x2d, 0x71, 0x3c, 0xff, 0x86, 0x17, 0x90, 0x58, 0x44, 0xd1, 0x88, 0x3c, + 0xbe, 0x02, 0x88, 0x53, 0x3c, 0x5d, 0xf3, 0xd9, 0x85, 0x63, 0xfe, 0x0e, 0xc5, 0x08, 0xa3, 0x66, + 0x6b, 0xfe, 0x0d, 0x05, 0xc5, 0x1a, 0x85, 0xfd, 0x02, 0x5b, 0xbb, 0xfb, 0xbc, 0x82, 0xf0, 0x93, + 0x0a, 0xa0, 0x06, 0x8b, 0x35, 0x31, 0x9e, 0xea, 0xd8, 0x82, 0x89, 0x98, 0xdc, 0xf0, 0x82, 0xce, + 0x7d, 0xc1, 0xaa, 0xdc, 0xa5, 0x8f, 0xe6, 0x92, 0x5e, 0x86, 0x5f, 0xb2, 0x35, 0x61, 0x38, 0xc3, + 0x97, 0x0e, 0x49, 0xd4, 0x09, 0xe6, 0xe3, 0xdb, 0x31, 0x89, 0xc4, 0x63, 0x1b, 0x6c, 0x48, 0xb0, + 0x04, 0xe2, 0x14, 0x4f, 0x65, 0x80, 0xfd, 0xb9, 0x19, 0x06, 0x38, 0x0c, 0x13, 0x29, 0x35, 0x2c, + 0xf3, 0xba, 0x06, 0xc7, 0x06, 0x15, 0x5a, 0x06, 0x14, 0x77, 0xda, 0x6d, 0x9f, 0x1d, 0x6d, 0x39, + 0xfe, 0xd5, 0x28, 0xec, 0xb4, 0x79, 0xb8, 0xb1, 0x48, 0x5a, 0xde, 0xec, 0xc2, 0xe2, 0x9c, 0x12, + 0x74, 0xd2, 0x6f, 0xc4, 0xec, 0xb7, 0xb8, 0x44, 0xcc, 0x1d, 0x6c, 0x4d, 0x06, 0xc2, 0x12, 0x67, + 0x77, 0xd8, 0x52, 0xc5, 0x1e, 0x41, 0x48, 0x3a, 0x11, 0x41, 0x04, 0xc6, 0xdb, 0x6c, 0x39, 0x92, + 0xe7, 0xeb, 0xa5, 0x86, 0x32, 0x13, 0xed, 0xc2, 0x93, 0x9d, 0xeb, 0x6c, 0xb0, 0xc9, 0xd5, 0xfe, + 0x4f, 0xc0, 0x74, 0x8d, 0x38, 0x55, 0x1c, 0x16, 0xb1, 0xac, 0xc2, 0x16, 0xfb, 0x78, 0x99, 0x57, + 0x7f, 0x52, 0x3d, 0x2e, 0x22, 0x63, 0xb1, 0xe4, 0x82, 0xbe, 0xc4, 0x03, 0x04, 0xd8, 0xfc, 0x2e, + 0xff, 0x14, 0x17, 0xa7, 0x37, 0xa2, 0xb4, 0x05, 0x0b, 0xac, 0xb1, 0x43, 0x37, 0x60, 0x5c, 0x64, + 0xca, 0x17, 0x9e, 0x81, 0xaa, 0xb1, 0x3b, 0x1e, 0xc7, 0x3a, 0xf2, 0x41, 0x16, 0x80, 0xcd, 0xc2, + 0x68, 0x13, 0x9e, 0xd4, 0x9e, 0xcf, 0xc9, 0x89, 0xc8, 0xe2, 0x8a, 0xe3, 0x63, 0xfb, 0x7b, 0xb3, + 0x4f, 0xae, 0x1d, 0x44, 0x88, 0x0f, 0xe6, 0x83, 0x6e, 0xc1, 0x69, 0xa7, 0x95, 0x78, 0x3b, 0xa4, + 0x4e, 0x1c, 0xd7, 0xf7, 0x02, 0x62, 0xde, 0x30, 0x7f, 0x7c, 0x7f, 0x6f, 0xf6, 0xf4, 0x7c, 0x1e, + 0x01, 0xce, 0x2f, 0x87, 0x5e, 0x83, 0x9a, 0x1b, 0xc4, 0x62, 0x0c, 0x86, 0x8c, 0x97, 0x82, 0x6a, + 0xf5, 0x9b, 0x4d, 0xd5, 0xff, 0xf4, 0x0f, 0x4e, 0x0b, 0xa0, 0xf7, 0xf8, 0x03, 0xc6, 0x6a, 0x43, + 0xc2, 0x5f, 0xa8, 0x7a, 0xb9, 0xd4, 0x16, 0xd8, 0xb8, 0x05, 0xc2, 0x9d, 0x66, 0x2a, 0xf2, 0xd1, + 0xb8, 0x20, 0x62, 0x54, 0x81, 0x3e, 0x0f, 0x28, 0x26, 0xd1, 0x8e, 0xd7, 0x22, 0xf3, 0x2d, 0x96, + 0xf9, 0x93, 0x1d, 0xcf, 0x8d, 0x18, 0xe1, 0xff, 0xa8, 0xd9, 0x45, 0x81, 0x73, 0x4a, 0xa1, 0x6b, + 0x54, 0xe3, 0xe8, 0x50, 0x11, 0xa8, 0x2a, 0x4d, 0xbb, 0xe9, 0x3a, 0x69, 0x47, 0xa4, 0xe5, 0x24, + 0xc4, 0x35, 0x39, 0xe2, 0x4c, 0x39, 0xba, 0xac, 0xa8, 0x8c, 0xe6, 0x60, 0x86, 0x57, 0x76, 0x67, + 0x35, 0xa7, 0x3b, 0xa5, 0xad, 0x30, 0x4e, 0x6e, 0x92, 0xe4, 0x5e, 0x18, 0xdd, 0x65, 0xce, 0xf6, + 0x11, 0x2d, 0xd3, 0x59, 0x8a, 0xc2, 0x3a, 0x1d, 0xb5, 0x81, 0xd8, 0x29, 0xcf, 0x4a, 0x9d, 0xb9, + 0xd0, 0x47, 0xd2, 0xb9, 0x73, 0x8d, 0x83, 0xb1, 0xc4, 0x4b, 0xd2, 0x95, 0xc6, 0x22, 0x73, 0x87, + 0x67, 0x48, 0x57, 0x1a, 0x8b, 0x58, 0xe2, 0x51, 0xd8, 0xfd, 0x1e, 0xd3, 0x44, 0x99, 0xa3, 0x89, + 0x6e, 0x0d, 0x5e, 0xf2, 0x49, 0xa6, 0xfb, 0x30, 0xa5, 0xde, 0x84, 0xe2, 0x29, 0x28, 0xe3, 0xe9, + 0xc9, 0x32, 0xcf, 0x27, 0xe7, 0x66, 0xb2, 0x54, 0x91, 0xc9, 0x2b, 0x19, 0x9e, 0xb8, 0xab, 0x16, + 0x23, 0x53, 0xc2, 0x54, 0x61, 0x96, 0xfa, 0x4b, 0x50, 0x8b, 0x3b, 0xeb, 0x6e, 0xb8, 0xed, 0x78, + 0x01, 0xf3, 0x59, 0xeb, 0x8f, 0x01, 0x4b, 0x04, 0x4e, 0x69, 0x66, 0x3e, 0x0b, 0x27, 0xba, 0x64, + 0xba, 0xaf, 0x90, 0xba, 0x5f, 0x1a, 0x80, 0x9a, 0xf2, 0xea, 0xa0, 0x4b, 0xa6, 0xe3, 0xee, 0xf1, + 0xac, 0xe3, 0x6e, 0x84, 0xae, 0xbc, 0xba, 0xaf, 0xee, 0x9d, 0x9c, 0xd7, 0x40, 0x9f, 0x2d, 0xfc, + 0x88, 0xe5, 0x6f, 0xb6, 0xf4, 0xf1, 0x56, 0x6a, 0x6a, 0xd6, 0x0f, 0x1c, 0x68, 0xd6, 0x97, 0x7c, + 0xec, 0x89, 0x1a, 0xf0, 0xed, 0xd0, 0x5d, 0x69, 0x64, 0x1f, 0x32, 0x69, 0x50, 0x20, 0xe6, 0x38, + 0x66, 0x77, 0x51, 0xa5, 0xcc, 0xec, 0xae, 0xe1, 0xc3, 0xda, 0x5d, 0x92, 0x03, 0x4e, 0x99, 0xa1, + 0x1d, 0x38, 0xd1, 0x32, 0x1f, 0xa6, 0x51, 0x17, 0x56, 0x9e, 0xef, 0xe3, 0x61, 0x98, 0x8e, 0x96, + 0x84, 0x7f, 0x31, 0xcb, 0x0f, 0x77, 0x57, 0x61, 0xff, 0x80, 0x7b, 0x81, 0xc4, 0xb6, 0x90, 0xc4, + 0x1d, 0xff, 0x28, 0x73, 0x6a, 0xdf, 0x32, 0x76, 0xaa, 0x0f, 0xc1, 0xff, 0xf8, 0x5b, 0x16, 0xf3, + 0x3f, 0xae, 0x91, 0xed, 0xb6, 0xef, 0x24, 0x47, 0x19, 0xad, 0xf7, 0x25, 0x18, 0x49, 0x44, 0x2d, + 0xe5, 0x12, 0x81, 0x6b, 0xcd, 0x62, 0xfe, 0x58, 0xa5, 0x08, 0x24, 0x14, 0x2b, 0x86, 0xf6, 0xbf, + 0xe1, 0x5f, 0x41, 0x62, 0x8e, 0x63, 0x67, 0x75, 0xd3, 0xdc, 0x59, 0x3d, 0x53, 0xba, 0x33, 0x3d, + 0x76, 0x58, 0xdf, 0x35, 0xbb, 0xc0, 0x0c, 0xb6, 0x47, 0xdf, 0x23, 0x6e, 0xaf, 0x82, 0xf9, 0xd8, + 0x0e, 0x7a, 0x8d, 0x87, 0xaa, 0x72, 0x8d, 0xf8, 0x6c, 0x9f, 0x61, 0xaa, 0xf6, 0x6f, 0x54, 0xe0, + 0x54, 0xde, 0x1b, 0xfc, 0xc8, 0x85, 0xb1, 0xb6, 0x66, 0x3e, 0x97, 0xcb, 0xe7, 0xa0, 0x1b, 0xdc, + 0xa9, 0xe9, 0xa2, 0x43, 0xb1, 0xc1, 0x15, 0x11, 0x18, 0x23, 0x3b, 0x5e, 0x4b, 0xb9, 0x57, 0x2a, + 0xfd, 0xab, 0x28, 0x55, 0xcd, 0x92, 0xc6, 0x08, 0x1b, 0x6c, 0x8f, 0x20, 0x57, 0xbd, 0xfd, 0x8f, + 0x2c, 0x78, 0xac, 0x47, 0xd2, 0x07, 0x5a, 0xdd, 0x3d, 0xe6, 0x85, 0x14, 0x8f, 0x39, 0xa9, 0xea, + 0xb8, 0x6f, 0x12, 0x0b, 0x2c, 0x5a, 0x07, 0xe0, 0xbe, 0x45, 0xf6, 0xc2, 0x6d, 0xa5, 0x4c, 0x0c, + 0x40, 0xd7, 0xcd, 0x6a, 0xed, 0xd2, 0xad, 0x7a, 0xd3, 0x56, 0xe3, 0x6a, 0x7f, 0xa7, 0x0a, 0x83, + 0xfc, 0x91, 0xcd, 0x06, 0x0c, 0x6f, 0xf1, 0x1c, 0x93, 0xfd, 0xa5, 0xb8, 0x4c, 0xed, 0x24, 0x0e, + 0xc0, 0x92, 0x0d, 0x5a, 0x85, 0x93, 0x5e, 0xe0, 0x25, 0x9e, 0xe3, 0xd7, 0x89, 0xef, 0xec, 0x4a, + 0xc3, 0x9b, 0xe7, 0x17, 0x97, 0xa9, 0x70, 0x4f, 0xae, 0x74, 0x93, 0xe0, 0xbc, 0x72, 0xe8, 0xf5, + 0xae, 0x24, 0x51, 0x3c, 0x77, 0xa7, 0xba, 0xab, 0x75, 0x70, 0xa2, 0x28, 0xf4, 0x2a, 0x8c, 0xb7, + 0xbb, 0xb6, 0x18, 0xda, 0xeb, 0x8c, 0xe6, 0xb6, 0xc2, 0xa4, 0x45, 0x75, 0x98, 0x8a, 0x3b, 0xec, + 0x44, 0x76, 0x6d, 0x2b, 0x22, 0xf1, 0x56, 0xe8, 0xbb, 0xe2, 0x55, 0x31, 0x65, 0x4e, 0x35, 0x33, + 0x78, 0xdc, 0x55, 0x82, 0x72, 0xd9, 0x70, 0x3c, 0xbf, 0x13, 0x91, 0x94, 0xcb, 0x90, 0xc9, 0x65, + 0x39, 0x83, 0xc7, 0x5d, 0x25, 0xec, 0x3f, 0xb2, 0xe0, 0x64, 0x4e, 0xd8, 0x02, 0x8f, 0xa6, 0xdb, + 0xf4, 0xe2, 0x44, 0x65, 0x91, 0xd6, 0xa2, 0xe9, 0x38, 0x1c, 0x2b, 0x0a, 0x2a, 0x85, 0x7c, 0xdf, + 0x98, 0x3d, 0x0e, 0x14, 0x07, 0xb3, 0x02, 0xdb, 0x5f, 0xca, 0x27, 0x74, 0x0e, 0x06, 0x3a, 0x31, + 0x91, 0x2f, 0xbe, 0x2b, 0x0d, 0xc5, 0x5c, 0x04, 0x0c, 0x43, 0x0d, 0x93, 0x4d, 0xb5, 0x3b, 0xd7, + 0x0c, 0x13, 0xbe, 0x3f, 0xe7, 0x38, 0xfb, 0x5b, 0x55, 0x98, 0xcc, 0x84, 0x2f, 0xd1, 0x86, 0x6c, + 0x87, 0x81, 0x97, 0x84, 0x2a, 0xdb, 0x10, 0x73, 0x29, 0x2c, 0x92, 0xf6, 0xd6, 0xaa, 0x80, 0x63, + 0x45, 0x81, 0xce, 0x9b, 0x2f, 0x1e, 0xa7, 0x6d, 0x5e, 0xa8, 0x1b, 0x6f, 0xb9, 0x95, 0xcd, 0x6c, + 0xff, 0x14, 0x0c, 0xb4, 0x43, 0xf5, 0x34, 0xa7, 0x12, 0x7a, 0xbc, 0x50, 0x6f, 0x84, 0xa1, 0x8f, + 0x19, 0x12, 0x3d, 0x2d, 0x7a, 0x9f, 0x71, 0x4e, 0x62, 0xc7, 0x0d, 0x63, 0x6d, 0x08, 0x9e, 0x81, + 0xe1, 0xbb, 0x64, 0x37, 0xf2, 0x82, 0xcd, 0xac, 0x6b, 0xf6, 0x3a, 0x07, 0x63, 0x89, 0x37, 0xb3, + 0xd7, 0x0f, 0x1f, 0x71, 0xf6, 0xfa, 0x91, 0xc2, 0x10, 0xcc, 0x5f, 0xb5, 0x60, 0x92, 0xa5, 0xde, + 0x13, 0xd7, 0x60, 0xbd, 0x30, 0x38, 0xc2, 0x55, 0xf1, 0x29, 0x18, 0x8c, 0x68, 0x65, 0xd9, 0xc4, + 0xd3, 0xac, 0x05, 0x98, 0xe3, 0xd0, 0x13, 0xe2, 0xe1, 0x78, 0xfa, 0xf9, 0xc6, 0x78, 0x22, 0xdf, + 0xf4, 0x05, 0x78, 0x16, 0xe0, 0x8f, 0x49, 0xdb, 0xf7, 0x78, 0x63, 0x53, 0x4f, 0xcc, 0xa3, 0x12, + 0xe0, 0x9f, 0xdb, 0xb8, 0x87, 0x15, 0xe0, 0x9f, 0xcf, 0xfc, 0x60, 0x13, 0xf4, 0x7f, 0x56, 0xe0, + 0x6c, 0x6e, 0xb9, 0xf4, 0x58, 0x67, 0xd9, 0x38, 0xd6, 0xb9, 0x92, 0x39, 0xd6, 0xb1, 0x0f, 0x2e, + 0xfd, 0x70, 0x0e, 0x7a, 0xf2, 0x8f, 0x5f, 0xaa, 0xc7, 0x79, 0xfc, 0x32, 0x50, 0xd6, 0x56, 0x18, + 0x2c, 0xb0, 0x15, 0x7e, 0xd7, 0x82, 0xc7, 0x73, 0xc7, 0xec, 0xd1, 0xbb, 0x52, 0x91, 0xdb, 0xcc, + 0x1e, 0x16, 0xf4, 0xdf, 0xa8, 0xf6, 0xe8, 0x16, 0xb3, 0xa5, 0x2f, 0x50, 0xbd, 0xc3, 0x90, 0xb1, + 0x30, 0x83, 0xc6, 0xb8, 0xce, 0xe1, 0x30, 0xac, 0xb0, 0x28, 0xd6, 0xae, 0x24, 0xf0, 0x46, 0x2e, + 0x1d, 0x72, 0x4a, 0xcd, 0x99, 0xce, 0x33, 0xfd, 0x3e, 0x6f, 0xe6, 0x9e, 0x02, 0xba, 0xa3, 0x6d, + 0x8f, 0xaa, 0x87, 0xd9, 0x1e, 0x8d, 0xe5, 0x6f, 0x8d, 0xd0, 0x3c, 0x4c, 0x6e, 0x7b, 0x01, 0x7b, + 0x3a, 0xce, 0xb4, 0x43, 0xd4, 0x2d, 0xb8, 0x55, 0x13, 0x8d, 0xb3, 0xf4, 0x33, 0xaf, 0xc2, 0xf8, + 0xe1, 0x3d, 0x26, 0x1f, 0x54, 0xe1, 0xa3, 0x07, 0xa8, 0x05, 0xbe, 0x1e, 0x18, 0xdf, 0x45, 0x5b, + 0x0f, 0xba, 0xbe, 0x4d, 0x03, 0x4e, 0x6d, 0x74, 0x7c, 0x7f, 0x97, 0x85, 0x45, 0x10, 0x57, 0x52, + 0x08, 0x1b, 0x4f, 0x3d, 0xea, 0xba, 0x9c, 0x43, 0x83, 0x73, 0x4b, 0xa2, 0xcf, 0x03, 0x0a, 0xd7, + 0x59, 0x3e, 0x4a, 0x37, 0xbd, 0xb1, 0xcc, 0x3e, 0x41, 0x35, 0x9d, 0xab, 0xb7, 0xba, 0x28, 0x70, + 0x4e, 0x29, 0x6a, 0xf1, 0xb1, 0xf7, 0x60, 0x55, 0xb3, 0x32, 0x16, 0x1f, 0xd6, 0x91, 0xd8, 0xa4, + 0x45, 0x57, 0xe1, 0x84, 0xb3, 0xe3, 0x78, 0x3c, 0xdb, 0x8c, 0x64, 0xc0, 0x4d, 0x3e, 0xe5, 0x92, + 0x98, 0xcf, 0x12, 0xe0, 0xee, 0x32, 0xa8, 0x6d, 0x38, 0x99, 0x78, 0xfe, 0xe9, 0xd7, 0x0e, 0x21, + 0xc1, 0xa5, 0xdd, 0x4e, 0xf6, 0x1f, 0x5a, 0x74, 0xd1, 0xcb, 0x79, 0x6a, 0xcd, 0x78, 0xa1, 0x5c, + 0xbb, 0xa5, 0xd1, 0xfd, 0x42, 0x39, 0xf3, 0xbf, 0x9a, 0xb4, 0x5c, 0x34, 0xe2, 0x34, 0xac, 0xd2, + 0xb0, 0x2f, 0xc5, 0xed, 0x24, 0x45, 0x81, 0xee, 0xc0, 0xb0, 0xeb, 0xed, 0x78, 0x71, 0x18, 0x95, + 0x78, 0x10, 0xb8, 0x2b, 0x54, 0x2f, 0x55, 0x97, 0x75, 0xce, 0x04, 0x4b, 0x6e, 0xf6, 0xdf, 0xaa, + 0xc0, 0xb8, 0xac, 0xef, 0x8d, 0x4e, 0xc8, 0x74, 0xd8, 0x51, 0x2d, 0xe5, 0x6f, 0x18, 0x4b, 0xf9, + 0xa5, 0x72, 0x57, 0xb4, 0x58, 0xa3, 0x7a, 0x2e, 0xe1, 0x5f, 0xc8, 0x2c, 0xe1, 0x97, 0xfb, 0x61, + 0x5a, 0xe8, 0x3d, 0x3a, 0x61, 0xd0, 0x3f, 0x42, 0xf9, 0x8f, 0xf3, 0xba, 0xd3, 0x63, 0xe1, 0xf8, + 0x4e, 0x25, 0xd3, 0x0d, 0xb6, 0x60, 0x7c, 0x0d, 0x06, 0xb6, 0x9c, 0xc8, 0x2d, 0x97, 0x6f, 0xad, + 0xab, 0xf8, 0xdc, 0x35, 0x27, 0x72, 0xb9, 0xda, 0xbf, 0xa8, 0x1e, 0x6a, 0x71, 0x22, 0xb7, 0x30, + 0xc8, 0x98, 0x55, 0x8a, 0x5e, 0x81, 0xa1, 0xb8, 0x15, 0xb6, 0x55, 0x54, 0xd7, 0x39, 0xfe, 0x88, + 0x0b, 0x85, 0x3c, 0xd8, 0x9b, 0x45, 0x66, 0x75, 0x14, 0x8c, 0x05, 0xfd, 0x0c, 0x81, 0x9a, 0xaa, + 0xfa, 0x08, 0xc3, 0x59, 0x3f, 0xa8, 0xc2, 0xc9, 0x1c, 0x51, 0x41, 0x3f, 0x63, 0x8c, 0xda, 0xab, + 0x7d, 0xcb, 0xda, 0x87, 0x1c, 0xb7, 0x9f, 0x61, 0x1b, 0x22, 0x57, 0xc8, 0xc6, 0x21, 0xaa, 0xbf, + 0x1d, 0x93, 0x6c, 0xf5, 0x14, 0x54, 0x5c, 0x3d, 0xad, 0xf6, 0x98, 0x06, 0x9f, 0x56, 0xa3, 0xda, + 0x79, 0x84, 0xdf, 0xf8, 0xfd, 0x01, 0x38, 0x95, 0x77, 0x0d, 0x14, 0xfd, 0xbc, 0x95, 0xc9, 0xa0, + 0xfe, 0x7a, 0xff, 0x77, 0x49, 0x79, 0x5a, 0x75, 0x91, 0x1e, 0x62, 0xce, 0xcc, 0xa9, 0x5e, 0x38, + 0xda, 0xa2, 0x76, 0x76, 0x31, 0x20, 0xe2, 0xc9, 0xf0, 0xa5, 0x3e, 0xf8, 0xdc, 0x21, 0x9a, 0x22, + 0xf2, 0xe9, 0xc7, 0x99, 0x8b, 0x01, 0x12, 0x5c, 0x7c, 0x31, 0x40, 0xb6, 0x61, 0x66, 0x13, 0x46, + 0xb5, 0x7e, 0x1d, 0xa1, 0x08, 0x78, 0x74, 0x4d, 0xd2, 0x5a, 0x7d, 0x84, 0x62, 0xf0, 0x77, 0x2c, + 0xc8, 0x84, 0x6b, 0x28, 0xaf, 0x8b, 0xd5, 0xd3, 0xeb, 0x72, 0x0e, 0x06, 0xa2, 0xd0, 0x27, 0xd9, + 0xd4, 0xde, 0x38, 0xf4, 0x09, 0x66, 0x18, 0xf5, 0x1c, 0x64, 0xb5, 0xd7, 0x73, 0x90, 0x74, 0x3b, + 0xee, 0x93, 0x1d, 0x22, 0x7d, 0x20, 0x4a, 0x79, 0xdf, 0xa0, 0x40, 0xcc, 0x71, 0xf6, 0x8f, 0xaa, + 0x30, 0xc4, 0x1d, 0x0d, 0x47, 0xb8, 0x2c, 0x37, 0xc4, 0x9e, 0xbf, 0xd4, 0x85, 0x4c, 0xde, 0x9a, + 0xb9, 0xba, 0x93, 0x38, 0x5c, 0xa0, 0x54, 0xdf, 0x52, 0x3f, 0x01, 0x9a, 0x33, 0x7a, 0x3f, 0x93, + 0xd9, 0xd2, 0x02, 0xe7, 0xa1, 0x8d, 0xc5, 0x16, 0x40, 0xcc, 0x5e, 0x06, 0xa3, 0x3c, 0x44, 0x52, + 0xbc, 0x17, 0x4b, 0xb5, 0xa3, 0xa9, 0x8a, 0xf1, 0xd6, 0xa4, 0xd9, 0xb8, 0x14, 0x02, 0x6b, 0xbc, + 0x67, 0x5e, 0x86, 0x9a, 0x22, 0x2e, 0xb2, 0xf4, 0xc7, 0x74, 0x91, 0xfc, 0x0b, 0x30, 0x99, 0xa9, + 0xab, 0xaf, 0x8d, 0xc2, 0xf7, 0x2d, 0x38, 0xd1, 0xf5, 0x92, 0x2d, 0x7a, 0xdf, 0x82, 0x53, 0x7e, + 0x8e, 0x87, 0x49, 0x7c, 0xe0, 0xc3, 0xf8, 0xa6, 0xd4, 0x2e, 0x21, 0x0f, 0x8b, 0x73, 0x6b, 0x93, + 0x69, 0x3e, 0x2b, 0xf9, 0x69, 0x3e, 0xd9, 0x73, 0x48, 0xbc, 0xed, 0xc7, 0x61, 0x01, 0xad, 0x98, + 0x16, 0xd0, 0xc7, 0xcb, 0x88, 0x41, 0x0f, 0xd3, 0xe7, 0xdf, 0x5b, 0x80, 0x38, 0x41, 0xf6, 0x85, + 0x40, 0xee, 0xb1, 0xd3, 0x6c, 0xf6, 0x54, 0x6e, 0x14, 0x06, 0x6b, 0x54, 0x7d, 0x66, 0x7f, 0x57, + 0x2f, 0x6b, 0x95, 0x7b, 0xbe, 0xbf, 0x5a, 0xe2, 0xf9, 0xfe, 0xdf, 0xaa, 0x42, 0x36, 0xb4, 0x01, + 0x7d, 0x19, 0xc6, 0x5a, 0x4e, 0xdb, 0x59, 0xf7, 0x7c, 0x2f, 0xf1, 0x48, 0x5c, 0xee, 0xd8, 0x68, + 0x51, 0x2b, 0x21, 0x7c, 0xbe, 0x1a, 0x04, 0x1b, 0x1c, 0xd1, 0x1c, 0x40, 0x3b, 0xf2, 0x76, 0x3c, + 0x9f, 0x6c, 0x32, 0xbb, 0x43, 0x25, 0x49, 0x69, 0x28, 0x28, 0xd6, 0x28, 0x72, 0x62, 0xe8, 0xaa, + 0xc7, 0x11, 0x43, 0x37, 0xd0, 0x67, 0x0c, 0xdd, 0x60, 0xa9, 0x18, 0x3a, 0x0c, 0x67, 0xa4, 0xab, + 0x96, 0xfe, 0x5f, 0xf6, 0x7c, 0xc2, 0xf3, 0xfa, 0x89, 0xc8, 0xc7, 0x99, 0xfd, 0xbd, 0xd9, 0x33, + 0x38, 0x97, 0x02, 0xf7, 0x28, 0x69, 0x77, 0xe0, 0x64, 0x93, 0x44, 0x1e, 0x4b, 0xbb, 0xe4, 0xa6, + 0x33, 0xf0, 0x1d, 0xa8, 0x45, 0x99, 0xc9, 0xdf, 0xe7, 0x9d, 0x34, 0x2d, 0x79, 0x85, 0x9c, 0xec, + 0x29, 0x4b, 0xfb, 0xaf, 0x54, 0x60, 0x58, 0x84, 0x10, 0x1d, 0xe1, 0x42, 0x72, 0xdd, 0xd8, 0xdf, + 0x3d, 0x53, 0x34, 0x73, 0x59, 0x73, 0x7a, 0xee, 0xec, 0x9a, 0x99, 0x9d, 0xdd, 0x73, 0xe5, 0xd8, + 0x1d, 0xbc, 0xa7, 0xfb, 0x61, 0x05, 0x26, 0xcc, 0x50, 0xaa, 0x23, 0x1c, 0x8e, 0xb7, 0x60, 0x38, + 0x16, 0xf1, 0x45, 0x95, 0x32, 0xb1, 0x1a, 0xd9, 0x4f, 0xaa, 0x36, 0xed, 0x32, 0xa2, 0x48, 0xb2, + 0xcb, 0x0d, 0x61, 0xaa, 0x1e, 0x47, 0x08, 0x93, 0xfd, 0x23, 0xa6, 0x52, 0xf5, 0x01, 0x3c, 0x8e, + 0x35, 0xe1, 0x0d, 0x53, 0xfb, 0x5e, 0x2c, 0x25, 0x0a, 0xa2, 0x7d, 0x3d, 0xd6, 0x86, 0xef, 0x59, + 0x30, 0x2a, 0x08, 0x8f, 0xa3, 0x07, 0x9f, 0x37, 0x7b, 0xf0, 0x74, 0xa9, 0x1e, 0xf4, 0x68, 0xfa, + 0xdf, 0xab, 0xa8, 0xa6, 0x37, 0xc4, 0xcb, 0xa9, 0x85, 0x89, 0x1e, 0x47, 0xda, 0x51, 0x98, 0x84, + 0xad, 0xd0, 0x17, 0xab, 0xfc, 0x13, 0x69, 0xd4, 0x39, 0x87, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0xcd, + 0xa2, 0xa9, 0xc3, 0x28, 0x11, 0x4b, 0x54, 0xde, 0xbb, 0xad, 0xeb, 0xf2, 0x5d, 0x6c, 0x0a, 0x13, + 0x57, 0x36, 0xfa, 0x7d, 0x0f, 0x36, 0x8d, 0x21, 0x57, 0x9c, 0xb0, 0xc6, 0x55, 0x86, 0x37, 0xb2, + 0x1a, 0x06, 0x4d, 0x37, 0xea, 0x4d, 0x01, 0xc7, 0x8a, 0xc2, 0x7e, 0x99, 0xe9, 0x58, 0x36, 0x3c, + 0xfd, 0x05, 0x86, 0xff, 0xe2, 0x90, 0x1a, 0x58, 0xe6, 0x24, 0xb9, 0x09, 0x83, 0xb4, 0x8b, 0x72, + 0x1f, 0x58, 0x4e, 0xa1, 0xd1, 0x26, 0xe8, 0x01, 0x62, 0x51, 0x12, 0x63, 0xce, 0x06, 0x91, 0x2e, + 0xdf, 0xfb, 0xcb, 0xa5, 0x75, 0x64, 0x1f, 0xde, 0x76, 0x96, 0x38, 0x86, 0x25, 0xcb, 0x58, 0x69, + 0x64, 0x93, 0x73, 0x2e, 0x4a, 0x04, 0x4e, 0x69, 0xd0, 0x25, 0x61, 0xae, 0x9b, 0xcf, 0xea, 0x4a, + 0x73, 0x5d, 0x0e, 0x89, 0x66, 0xaf, 0x5f, 0x86, 0x51, 0x95, 0x9e, 0xbc, 0xc1, 0xb3, 0x4c, 0xd7, + 0xb8, 0xfd, 0xb2, 0x94, 0x82, 0xb1, 0x4e, 0x83, 0x56, 0xe0, 0xa4, 0xab, 0xa2, 0x59, 0x1b, 0x9d, + 0x75, 0xdf, 0x6b, 0xd1, 0xa2, 0xfc, 0x26, 0xc9, 0x63, 0xfb, 0x7b, 0xb3, 0x27, 0xeb, 0xdd, 0x68, + 0x9c, 0x57, 0x06, 0xad, 0xc1, 0x64, 0xcc, 0xd3, 0xb0, 0xcb, 0x3b, 0x67, 0x22, 0x7b, 0xdd, 0xb3, + 0xd2, 0xe9, 0xdf, 0x34, 0xd1, 0x0f, 0x18, 0x88, 0x2b, 0x05, 0x01, 0xc2, 0x59, 0x16, 0xe8, 0x75, + 0x98, 0xf0, 0xf5, 0x57, 0xa5, 0x1a, 0x22, 0xa8, 0x57, 0x05, 0x44, 0x18, 0x6f, 0x4e, 0x35, 0x70, + 0x86, 0x1a, 0xbd, 0x05, 0xd3, 0x3a, 0x44, 0x5c, 0x6a, 0x77, 0x82, 0x4d, 0x12, 0x8b, 0xfc, 0xcf, + 0x4f, 0xec, 0xef, 0xcd, 0x4e, 0xdf, 0xe8, 0x41, 0x83, 0x7b, 0x96, 0x46, 0xaf, 0xc0, 0x98, 0x1c, + 0x49, 0x2d, 0xc0, 0x37, 0x0d, 0xc5, 0xd1, 0x70, 0xd8, 0xa0, 0xfc, 0x70, 0x67, 0x1b, 0x5f, 0xa3, + 0x85, 0xb5, 0x45, 0x15, 0x7d, 0x05, 0xc6, 0xf4, 0x36, 0x0a, 0x35, 0xf9, 0xc9, 0xf2, 0x2f, 0x75, + 0x89, 0xc5, 0x59, 0xb5, 0x5c, 0xc7, 0x61, 0x83, 0xb7, 0x7d, 0x0b, 0x86, 0x9a, 0xbb, 0x71, 0x2b, + 0xf1, 0x1f, 0xd6, 0x8b, 0xca, 0x2d, 0x98, 0xcc, 0x3c, 0x3d, 0xac, 0xde, 0xb0, 0xb6, 0x1e, 0xd6, + 0x1b, 0xd6, 0xf6, 0xd7, 0x2d, 0x18, 0x5c, 0x73, 0xbc, 0xe2, 0x97, 0x13, 0xca, 0x34, 0x19, 0xbd, + 0x04, 0x43, 0x64, 0x63, 0x83, 0xb4, 0xe4, 0x9b, 0xd8, 0x4f, 0x4a, 0xa3, 0x66, 0x89, 0x41, 0xe9, + 0xd4, 0x64, 0x95, 0xf1, 0xbf, 0x58, 0x10, 0xdb, 0xff, 0xd1, 0x02, 0x58, 0x0b, 0x7d, 0x79, 0x6c, + 0x53, 0xd0, 0x92, 0x85, 0xae, 0x37, 0x1c, 0xce, 0xe7, 0xbc, 0xe1, 0x80, 0x52, 0x86, 0x39, 0x2f, + 0x38, 0xa8, 0xde, 0x54, 0x4b, 0xf5, 0x66, 0xa0, 0x9f, 0xde, 0x7c, 0xd3, 0x02, 0x11, 0x43, 0x53, + 0x42, 0x12, 0x5c, 0x99, 0x77, 0xdd, 0x48, 0x57, 0xf1, 0x6c, 0x99, 0x8b, 0x20, 0x22, 0x49, 0x85, + 0x92, 0x4d, 0x23, 0x35, 0x85, 0xc1, 0x95, 0xee, 0xe5, 0x47, 0x39, 0x7a, 0x95, 0x59, 0x90, 0xc5, + 0xed, 0xea, 0x2b, 0x33, 0x17, 0x4b, 0x4b, 0x4e, 0x19, 0xab, 0x04, 0x4d, 0x7a, 0x5a, 0x72, 0x89, + 0xc0, 0x29, 0x0d, 0x7a, 0x06, 0x86, 0xe3, 0xce, 0x3a, 0x23, 0xcf, 0x04, 0xd4, 0x34, 0x39, 0x18, + 0x4b, 0xbc, 0xfd, 0x73, 0x08, 0x8c, 0xae, 0x19, 0xc9, 0xa0, 0xac, 0x87, 0x9e, 0x0c, 0xea, 0x6d, + 0x18, 0x21, 0xdb, 0xed, 0x64, 0xb7, 0xee, 0x45, 0xe5, 0x12, 0xf3, 0x2d, 0x09, 0xea, 0x6e, 0xee, + 0x12, 0x83, 0x15, 0xc7, 0x1e, 0xa9, 0xbd, 0xaa, 0x8f, 0x44, 0x6a, 0xaf, 0x81, 0x3f, 0x95, 0xd4, + 0x5e, 0x6f, 0xc1, 0xf0, 0xa6, 0x97, 0x60, 0xd2, 0x0e, 0xc5, 0xc5, 0xbf, 0x82, 0xf3, 0xb0, 0xab, + 0x9c, 0xb8, 0x3b, 0x5f, 0x8f, 0x40, 0x60, 0xc9, 0x0e, 0xad, 0xc1, 0x10, 0xdf, 0x7d, 0x88, 0x6c, + 0x59, 0x9f, 0x2c, 0xe3, 0x97, 0xe9, 0x4e, 0x1c, 0x25, 0xa2, 0xa6, 0x04, 0x2f, 0x99, 0xca, 0x6b, + 0xf8, 0xc3, 0xa7, 0xf2, 0x52, 0x09, 0xb8, 0x46, 0x1e, 0x56, 0x02, 0x2e, 0x23, 0x91, 0x59, 0xed, + 0x28, 0x12, 0x99, 0x7d, 0xd3, 0x82, 0xd3, 0xed, 0xbc, 0x3c, 0x80, 0x22, 0x95, 0xd6, 0x67, 0x0f, + 0x91, 0x17, 0xd1, 0xa8, 0x9a, 0xdd, 0xc7, 0xca, 0x25, 0xc3, 0xf9, 0x15, 0xcb, 0x8c, 0x68, 0xa3, + 0x1f, 0x3e, 0x23, 0xda, 0x51, 0xe7, 0xdc, 0x4a, 0xf3, 0xa3, 0x8d, 0x1f, 0x49, 0x7e, 0xb4, 0x89, + 0x87, 0x98, 0x1f, 0x4d, 0xcb, 0x6c, 0x36, 0xf9, 0x70, 0x33, 0x9b, 0x6d, 0xc1, 0xa8, 0x1b, 0xde, + 0x0b, 0xee, 0x39, 0x91, 0x3b, 0xdf, 0x58, 0x11, 0x89, 0xb4, 0x0a, 0x92, 0x36, 0xd4, 0xd3, 0x02, + 0x46, 0x0d, 0xdc, 0x01, 0x99, 0x22, 0xb1, 0xce, 0x5a, 0xe4, 0x78, 0x3b, 0xf1, 0x21, 0x73, 0xbc, + 0x19, 0x99, 0xd2, 0xd0, 0x51, 0x64, 0x4a, 0xfb, 0x32, 0xbb, 0xba, 0xbd, 0xe1, 0x6d, 0xae, 0x3a, + 0xed, 0xe9, 0x93, 0x65, 0x6a, 0x58, 0x94, 0xe4, 0xdd, 0x35, 0x28, 0x14, 0x4e, 0x99, 0x76, 0xe7, + 0x62, 0x3b, 0x75, 0xdc, 0xb9, 0xd8, 0x4e, 0x1f, 0x61, 0x2e, 0xb6, 0x33, 0xc7, 0x9a, 0x8b, 0xed, + 0xb1, 0x3f, 0x95, 0x5c, 0x6c, 0x7f, 0x09, 0xce, 0x1e, 0xfc, 0x39, 0xd2, 0x6c, 0xbf, 0x8d, 0xd4, + 0x65, 0x90, 0xc9, 0xf6, 0xcb, 0x4c, 0x1d, 0x8d, 0xaa, 0x74, 0x4a, 0xa8, 0x7f, 0x61, 0xc1, 0x63, + 0x3d, 0x12, 0xa7, 0x94, 0xbe, 0xcd, 0xd0, 0x86, 0xc9, 0xb6, 0x59, 0xb4, 0xf4, 0xbd, 0x23, 0x23, + 0x51, 0x8b, 0x8a, 0x93, 0xcb, 0x20, 0x70, 0x96, 0xfd, 0xc2, 0xc7, 0x7f, 0xfc, 0xc1, 0xd9, 0x8f, + 0xfc, 0xe4, 0x83, 0xb3, 0x1f, 0xf9, 0xfd, 0x0f, 0xce, 0x7e, 0xe4, 0x67, 0xf7, 0xcf, 0x5a, 0x3f, + 0xde, 0x3f, 0x6b, 0xfd, 0x64, 0xff, 0xac, 0xf5, 0x47, 0xfb, 0x67, 0xad, 0x6f, 0xfe, 0xf1, 0xd9, + 0x8f, 0x7c, 0xb1, 0xb2, 0x73, 0xf9, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xba, 0xe2, 0xd2, + 0xb8, 0xb6, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto b/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto index 0599bb1ecb1..59b2be5ef49 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto @@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.api.v1; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -1465,6 +1466,13 @@ message NodeProxyOptions { optional string path = 1; } +// NodeResources is an object for conveying resource information about a node. +// see http://releases.k8s.io/HEAD/docs/design/resources.md for more details. +message NodeResources { + // Capacity represents the available resources of a node + map capacity = 1; +} + // A node selector represents the union of the results of one or more label queries // over a set of nodes; that is, it represents the OR of the selectors represented // by the node selector terms. @@ -1514,7 +1522,7 @@ message NodeSpec { optional string providerID = 3; // Unschedulable controls node schedulability of new pods. By default, node is schedulable. - // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration"` + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration" // +optional optional bool unschedulable = 4; } @@ -3360,6 +3368,12 @@ message ServiceStatus { optional LoadBalancerStatus loadBalancer = 1; } +message Sysctl { + optional string name = 1; + + optional string value = 2; +} + // TCPSocketAction describes an action based on opening a socket message TCPSocketAction { // Number or name of the port to access on the container. diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go b/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go index d33a79c724f..d7fa9afe34c 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/helpers.go @@ -1,5 +1,5 @@ /* -Copyright 2016 The Kubernetes Authors. +Copyright 2014 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -16,18 +16,441 @@ limitations under the License. package v1 -import "k8s.io/client-go/pkg/types" +import ( + "encoding/json" + "fmt" + "strings" + + "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/fields" + "k8s.io/client-go/pkg/labels" + "k8s.io/client-go/pkg/selection" + "k8s.io/client-go/pkg/types" + "k8s.io/client-go/pkg/util/sets" +) + +// IsOpaqueIntResourceName returns true if the resource name has the opaque +// integer resource prefix. +func IsOpaqueIntResourceName(name ResourceName) bool { + return strings.HasPrefix(string(name), ResourceOpaqueIntPrefix) +} + +// OpaqueIntResourceName returns a ResourceName with the canonical opaque +// integer prefix prepended. If the argument already has the prefix, it is +// returned unmodified. +func OpaqueIntResourceName(name string) ResourceName { + if IsOpaqueIntResourceName(ResourceName(name)) { + return ResourceName(name) + } + return ResourceName(fmt.Sprintf("%s%s", api.ResourceOpaqueIntPrefix, name)) +} // NewDeleteOptions returns a DeleteOptions indicating the resource should // be deleted within the specified grace period. Use zero to indicate // immediate deletion. If you would prefer to use the default grace period, -// use &v1.DeleteOptions{} directly. +// use &api.DeleteOptions{} directly. func NewDeleteOptions(grace int64) *DeleteOptions { return &DeleteOptions{GracePeriodSeconds: &grace} } +// NewPreconditionDeleteOptions returns a DeleteOptions with a UID precondition set. +func NewPreconditionDeleteOptions(uid string) *DeleteOptions { + u := types.UID(uid) + p := Preconditions{UID: &u} + return &DeleteOptions{Preconditions: &p} +} + // NewUIDPreconditions returns a Preconditions with UID set. func NewUIDPreconditions(uid string) *Preconditions { u := types.UID(uid) return &Preconditions{UID: &u} } + +// this function aims to check if the service's ClusterIP is set or not +// the objective is not to perform validation here +func IsServiceIPSet(service *Service) bool { + return service.Spec.ClusterIP != ClusterIPNone && service.Spec.ClusterIP != "" +} + +// this function aims to check if the service's cluster IP is requested or not +func IsServiceIPRequested(service *Service) bool { + // ExternalName services are CNAME aliases to external ones. Ignore the IP. + if service.Spec.Type == ServiceTypeExternalName { + return false + } + return service.Spec.ClusterIP == "" +} + +var standardFinalizers = sets.NewString( + string(FinalizerKubernetes), + FinalizerOrphan, +) + +// HasAnnotation returns a bool if passed in annotation exists +func HasAnnotation(obj ObjectMeta, ann string) bool { + _, found := obj.Annotations[ann] + return found +} + +// SetMetaDataAnnotation sets the annotation and value +func SetMetaDataAnnotation(obj *ObjectMeta, ann string, value string) { + if obj.Annotations == nil { + obj.Annotations = make(map[string]string) + } + obj.Annotations[ann] = value +} + +func IsStandardFinalizerName(str string) bool { + return standardFinalizers.Has(str) +} + +// SingleObject returns a ListOptions for watching a single object. +func SingleObject(meta ObjectMeta) ListOptions { + return ListOptions{ + FieldSelector: fields.OneTermEqualSelector("metadata.name", meta.Name).String(), + ResourceVersion: meta.ResourceVersion, + } +} + +// AddToNodeAddresses appends the NodeAddresses to the passed-by-pointer slice, +// only if they do not already exist +func AddToNodeAddresses(addresses *[]NodeAddress, addAddresses ...NodeAddress) { + for _, add := range addAddresses { + exists := false + for _, existing := range *addresses { + if existing.Address == add.Address && existing.Type == add.Type { + exists = true + break + } + } + if !exists { + *addresses = append(*addresses, add) + } + } +} + +// TODO: make method on LoadBalancerStatus? +func LoadBalancerStatusEqual(l, r *LoadBalancerStatus) bool { + return ingressSliceEqual(l.Ingress, r.Ingress) +} + +func ingressSliceEqual(lhs, rhs []LoadBalancerIngress) bool { + if len(lhs) != len(rhs) { + return false + } + for i := range lhs { + if !ingressEqual(&lhs[i], &rhs[i]) { + return false + } + } + return true +} + +func ingressEqual(lhs, rhs *LoadBalancerIngress) bool { + if lhs.IP != rhs.IP { + return false + } + if lhs.Hostname != rhs.Hostname { + return false + } + return true +} + +// TODO: make method on LoadBalancerStatus? +func LoadBalancerStatusDeepCopy(lb *LoadBalancerStatus) *LoadBalancerStatus { + c := &LoadBalancerStatus{} + c.Ingress = make([]LoadBalancerIngress, len(lb.Ingress)) + for i := range lb.Ingress { + c.Ingress[i] = lb.Ingress[i] + } + return c +} + +// GetAccessModesAsString returns a string representation of an array of access modes. +// modes, when present, are always in the same order: RWO,ROX,RWX. +func GetAccessModesAsString(modes []PersistentVolumeAccessMode) string { + modes = removeDuplicateAccessModes(modes) + modesStr := []string{} + if containsAccessMode(modes, ReadWriteOnce) { + modesStr = append(modesStr, "RWO") + } + if containsAccessMode(modes, ReadOnlyMany) { + modesStr = append(modesStr, "ROX") + } + if containsAccessMode(modes, ReadWriteMany) { + modesStr = append(modesStr, "RWX") + } + return strings.Join(modesStr, ",") +} + +// GetAccessModesAsString returns an array of AccessModes from a string created by GetAccessModesAsString +func GetAccessModesFromString(modes string) []PersistentVolumeAccessMode { + strmodes := strings.Split(modes, ",") + accessModes := []PersistentVolumeAccessMode{} + for _, s := range strmodes { + s = strings.Trim(s, " ") + switch { + case s == "RWO": + accessModes = append(accessModes, ReadWriteOnce) + case s == "ROX": + accessModes = append(accessModes, ReadOnlyMany) + case s == "RWX": + accessModes = append(accessModes, ReadWriteMany) + } + } + return accessModes +} + +// removeDuplicateAccessModes returns an array of access modes without any duplicates +func removeDuplicateAccessModes(modes []PersistentVolumeAccessMode) []PersistentVolumeAccessMode { + accessModes := []PersistentVolumeAccessMode{} + for _, m := range modes { + if !containsAccessMode(accessModes, m) { + accessModes = append(accessModes, m) + } + } + return accessModes +} + +func containsAccessMode(modes []PersistentVolumeAccessMode, mode PersistentVolumeAccessMode) bool { + for _, m := range modes { + if m == mode { + return true + } + } + return false +} + +// NodeSelectorRequirementsAsSelector converts the []NodeSelectorRequirement api type into a struct that implements +// labels.Selector. +func NodeSelectorRequirementsAsSelector(nsm []NodeSelectorRequirement) (labels.Selector, error) { + if len(nsm) == 0 { + return labels.Nothing(), nil + } + selector := labels.NewSelector() + for _, expr := range nsm { + var op selection.Operator + switch expr.Operator { + case NodeSelectorOpIn: + op = selection.In + case NodeSelectorOpNotIn: + op = selection.NotIn + case NodeSelectorOpExists: + op = selection.Exists + case NodeSelectorOpDoesNotExist: + op = selection.DoesNotExist + case NodeSelectorOpGt: + op = selection.GreaterThan + case NodeSelectorOpLt: + op = selection.LessThan + default: + return nil, fmt.Errorf("%q is not a valid node selector operator", expr.Operator) + } + r, err := labels.NewRequirement(expr.Key, op, expr.Values) + if err != nil { + return nil, err + } + selector = selector.Add(*r) + } + return selector, nil +} + +const ( + // AffinityAnnotationKey represents the key of affinity data (json serialized) + // in the Annotations of a Pod. + AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" + + // TolerationsAnnotationKey represents the key of tolerations data (json serialized) + // in the Annotations of a Pod. + TolerationsAnnotationKey string = "scheduler.alpha.kubernetes.io/tolerations" + + // TaintsAnnotationKey represents the key of taints data (json serialized) + // in the Annotations of a Node. + TaintsAnnotationKey string = "scheduler.alpha.kubernetes.io/taints" + + // SeccompPodAnnotationKey represents the key of a seccomp profile applied + // to all containers of a pod. + SeccompPodAnnotationKey string = "seccomp.security.alpha.kubernetes.io/pod" + + // SeccompContainerAnnotationKeyPrefix represents the key of a seccomp profile applied + // to one container of a pod. + SeccompContainerAnnotationKeyPrefix string = "container.seccomp.security.alpha.kubernetes.io/" + + // CreatedByAnnotation represents the key used to store the spec(json) + // used to create the resource. + CreatedByAnnotation = "kubernetes.io/created-by" + + // PreferAvoidPodsAnnotationKey represents the key of preferAvoidPods data (json serialized) + // in the Annotations of a Node. + PreferAvoidPodsAnnotationKey string = "scheduler.alpha.kubernetes.io/preferAvoidPods" + + // SysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure + // container of a pod. The annotation value is a comma separated list of sysctl_name=value + // key-value pairs. Only a limited set of whitelisted and isolated sysctls is supported by + // the kubelet. Pods with other sysctls will fail to launch. + SysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/sysctls" + + // UnsafeSysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure + // container of a pod. The annotation value is a comma separated list of sysctl_name=value + // key-value pairs. Unsafe sysctls must be explicitly enabled for a kubelet. They are properly + // namespaced to a pod or a container, but their isolation is usually unclear or weak. Their use + // is at-your-own-risk. Pods that attempt to set an unsafe sysctl that is not enabled for a kubelet + // will fail to launch. + UnsafeSysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/unsafe-sysctls" +) + +// GetAffinityFromPod gets the json serialized affinity data from Pod.Annotations +// and converts it to the Affinity type in api. +func GetAffinityFromPodAnnotations(annotations map[string]string) (*Affinity, error) { + if len(annotations) > 0 && annotations[AffinityAnnotationKey] != "" { + var affinity Affinity + err := json.Unmarshal([]byte(annotations[AffinityAnnotationKey]), &affinity) + if err != nil { + return nil, err + } + return &affinity, nil + } + return nil, nil +} + +// GetTolerationsFromPodAnnotations gets the json serialized tolerations data from Pod.Annotations +// and converts it to the []Toleration type in api. +func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]Toleration, error) { + var tolerations []Toleration + if len(annotations) > 0 && annotations[TolerationsAnnotationKey] != "" { + err := json.Unmarshal([]byte(annotations[TolerationsAnnotationKey]), &tolerations) + if err != nil { + return tolerations, err + } + } + return tolerations, nil +} + +// GetTaintsFromNodeAnnotations gets the json serialized taints data from Pod.Annotations +// and converts it to the []Taint type in api. +func GetTaintsFromNodeAnnotations(annotations map[string]string) ([]Taint, error) { + var taints []Taint + if len(annotations) > 0 && annotations[TaintsAnnotationKey] != "" { + err := json.Unmarshal([]byte(annotations[TaintsAnnotationKey]), &taints) + if err != nil { + return []Taint{}, err + } + } + return taints, nil +} + +// TolerationToleratesTaint checks if the toleration tolerates the taint. +func TolerationToleratesTaint(toleration *Toleration, taint *Taint) bool { + if len(toleration.Effect) != 0 && toleration.Effect != taint.Effect { + return false + } + + if toleration.Key != taint.Key { + return false + } + // TODO: Use proper defaulting when Toleration becomes a field of PodSpec + if (len(toleration.Operator) == 0 || toleration.Operator == TolerationOpEqual) && toleration.Value == taint.Value { + return true + } + if toleration.Operator == TolerationOpExists { + return true + } + return false +} + +// TaintToleratedByTolerations checks if taint is tolerated by any of the tolerations. +func TaintToleratedByTolerations(taint *Taint, tolerations []Toleration) bool { + tolerated := false + for i := range tolerations { + if TolerationToleratesTaint(&tolerations[i], taint) { + tolerated = true + break + } + } + return tolerated +} + +// MatchTaint checks if the taint matches taintToMatch. Taints are unique by key:effect, +// if the two taints have same key:effect, regard as they match. +func (t *Taint) MatchTaint(taintToMatch Taint) bool { + return t.Key == taintToMatch.Key && t.Effect == taintToMatch.Effect +} + +// taint.ToString() converts taint struct to string in format key=value:effect or key:effect. +func (t *Taint) ToString() string { + if len(t.Value) == 0 { + return fmt.Sprintf("%v:%v", t.Key, t.Effect) + } + return fmt.Sprintf("%v=%v:%v", t.Key, t.Value, t.Effect) +} + +func GetAvoidPodsFromNodeAnnotations(annotations map[string]string) (AvoidPods, error) { + var avoidPods AvoidPods + if len(annotations) > 0 && annotations[PreferAvoidPodsAnnotationKey] != "" { + err := json.Unmarshal([]byte(annotations[PreferAvoidPodsAnnotationKey]), &avoidPods) + if err != nil { + return avoidPods, err + } + } + return avoidPods, nil +} + +// SysctlsFromPodAnnotations parses the sysctl annotations into a slice of safe Sysctls +// and a slice of unsafe Sysctls. This is only a convenience wrapper around +// SysctlsFromPodAnnotation. +func SysctlsFromPodAnnotations(a map[string]string) ([]Sysctl, []Sysctl, error) { + safe, err := SysctlsFromPodAnnotation(a[SysctlsPodAnnotationKey]) + if err != nil { + return nil, nil, err + } + unsafe, err := SysctlsFromPodAnnotation(a[UnsafeSysctlsPodAnnotationKey]) + if err != nil { + return nil, nil, err + } + + return safe, unsafe, nil +} + +// SysctlsFromPodAnnotation parses an annotation value into a slice of Sysctls. +func SysctlsFromPodAnnotation(annotation string) ([]Sysctl, error) { + if len(annotation) == 0 { + return nil, nil + } + + kvs := strings.Split(annotation, ",") + sysctls := make([]Sysctl, len(kvs)) + for i, kv := range kvs { + cs := strings.Split(kv, "=") + if len(cs) != 2 || len(cs[0]) == 0 { + return nil, fmt.Errorf("sysctl %q not of the format sysctl_name=value", kv) + } + sysctls[i].Name = cs[0] + sysctls[i].Value = cs[1] + } + return sysctls, nil +} + +// PodAnnotationsFromSysctls creates an annotation value for a slice of Sysctls. +func PodAnnotationsFromSysctls(sysctls []Sysctl) string { + if len(sysctls) == 0 { + return "" + } + + kvs := make([]string, len(sysctls)) + for i := range sysctls { + kvs[i] = fmt.Sprintf("%s=%s", sysctls[i].Name, sysctls[i].Value) + } + return strings.Join(kvs, ",") +} + +type Sysctl struct { + Name string `protobuf:"bytes,1,opt,name=name"` + Value string `protobuf:"bytes,2,opt,name=value"` +} + +// NodeResources is an object for conveying resource information about a node. +// see http://releases.k8s.io/HEAD/docs/design/resources.md for more details. +type NodeResources struct { + // Capacity represents the available resources of a node + Capacity ResourceList `protobuf:"bytes,1,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"` +} diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/ref.go b/staging/src/k8s.io/client-go/pkg/api/v1/ref.go index 69bed2fa8cf..1422ee55e5a 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/ref.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/ref.go @@ -24,8 +24,8 @@ import ( "strings" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) var ( @@ -123,11 +123,11 @@ func GetPartialReference(obj runtime.Object, fieldPath string) (*ObjectReference // IsAnAPIObject allows clients to preemptively get a reference to an API object and pass it to places that // intend only to get a reference to that object. This simplifies the event recording interface. -func (obj *ObjectReference) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *ObjectReference) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *ObjectReference) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *ObjectReference) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *ObjectReference) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *ObjectReference) GetObjectKind() schema.ObjectKind { return obj } diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/register.go b/staging/src/k8s.io/client-go/pkg/api/v1/register.go index 7f31222fbf5..21fdb64a29a 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/register.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/register.go @@ -19,6 +19,7 @@ package v1 import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -26,7 +27,7 @@ import ( const GroupName = "" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs, addFastPathConversionFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/resource_helpers.go b/staging/src/k8s.io/client-go/pkg/api/v1/resource_helpers.go new file mode 100644 index 00000000000..87eaa4c3a9d --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/api/v1/resource_helpers.go @@ -0,0 +1,229 @@ +/* +Copyright 2014 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1 + +import ( + "time" + + "k8s.io/client-go/pkg/api/resource" + "k8s.io/client-go/pkg/api/unversioned" +) + +// Returns string version of ResourceName. +func (self ResourceName) String() string { + return string(self) +} + +// Returns the CPU limit if specified. +func (self *ResourceList) Cpu() *resource.Quantity { + if val, ok := (*self)[ResourceCPU]; ok { + return &val + } + return &resource.Quantity{Format: resource.DecimalSI} +} + +// Returns the Memory limit if specified. +func (self *ResourceList) Memory() *resource.Quantity { + if val, ok := (*self)[ResourceMemory]; ok { + return &val + } + return &resource.Quantity{Format: resource.BinarySI} +} + +func (self *ResourceList) Pods() *resource.Quantity { + if val, ok := (*self)[ResourcePods]; ok { + return &val + } + return &resource.Quantity{} +} + +func (self *ResourceList) NvidiaGPU() *resource.Quantity { + if val, ok := (*self)[ResourceNvidiaGPU]; ok { + return &val + } + return &resource.Quantity{} +} + +func GetContainerStatus(statuses []ContainerStatus, name string) (ContainerStatus, bool) { + for i := range statuses { + if statuses[i].Name == name { + return statuses[i], true + } + } + return ContainerStatus{}, false +} + +func GetExistingContainerStatus(statuses []ContainerStatus, name string) ContainerStatus { + for i := range statuses { + if statuses[i].Name == name { + return statuses[i] + } + } + return ContainerStatus{} +} + +// IsPodAvailable returns true if a pod is available; false otherwise. +// Precondition for an available pod is that it must be ready. On top +// of that, there are two cases when a pod can be considered available: +// 1. minReadySeconds == 0, or +// 2. LastTransitionTime (is set) + minReadySeconds < current time +func IsPodAvailable(pod *Pod, minReadySeconds int32, now unversioned.Time) bool { + if !IsPodReady(pod) { + return false + } + + c := GetPodReadyCondition(pod.Status) + minReadySecondsDuration := time.Duration(minReadySeconds) * time.Second + if minReadySeconds == 0 || !c.LastTransitionTime.IsZero() && c.LastTransitionTime.Add(minReadySecondsDuration).Before(now.Time) { + return true + } + return false +} + +// IsPodReady returns true if a pod is ready; false otherwise. +func IsPodReady(pod *Pod) bool { + return IsPodReadyConditionTrue(pod.Status) +} + +// IsPodReady retruns true if a pod is ready; false otherwise. +func IsPodReadyConditionTrue(status PodStatus) bool { + condition := GetPodReadyCondition(status) + return condition != nil && condition.Status == ConditionTrue +} + +// Extracts the pod ready condition from the given status and returns that. +// Returns nil if the condition is not present. +func GetPodReadyCondition(status PodStatus) *PodCondition { + _, condition := GetPodCondition(&status, PodReady) + return condition +} + +// GetPodCondition extracts the provided condition from the given status and returns that. +// Returns nil and -1 if the condition is not present, and the index of the located condition. +func GetPodCondition(status *PodStatus, conditionType PodConditionType) (int, *PodCondition) { + if status == nil { + return -1, nil + } + for i := range status.Conditions { + if status.Conditions[i].Type == conditionType { + return i, &status.Conditions[i] + } + } + return -1, nil +} + +// GetNodeCondition extracts the provided condition from the given status and returns that. +// Returns nil and -1 if the condition is not present, and the index of the located condition. +func GetNodeCondition(status *NodeStatus, conditionType NodeConditionType) (int, *NodeCondition) { + if status == nil { + return -1, nil + } + for i := range status.Conditions { + if status.Conditions[i].Type == conditionType { + return i, &status.Conditions[i] + } + } + return -1, nil +} + +// Updates existing pod condition or creates a new one. Sets LastTransitionTime to now if the +// status has changed. +// Returns true if pod condition has changed or has been added. +func UpdatePodCondition(status *PodStatus, condition *PodCondition) bool { + condition.LastTransitionTime = unversioned.Now() + // Try to find this pod condition. + conditionIndex, oldCondition := GetPodCondition(status, condition.Type) + + if oldCondition == nil { + // We are adding new pod condition. + status.Conditions = append(status.Conditions, *condition) + return true + } else { + // We are updating an existing condition, so we need to check if it has changed. + if condition.Status == oldCondition.Status { + condition.LastTransitionTime = oldCondition.LastTransitionTime + } + + isEqual := condition.Status == oldCondition.Status && + condition.Reason == oldCondition.Reason && + condition.Message == oldCondition.Message && + condition.LastProbeTime.Equal(oldCondition.LastProbeTime) && + condition.LastTransitionTime.Equal(oldCondition.LastTransitionTime) + + status.Conditions[conditionIndex] = *condition + // Return true if one of the fields have changed. + return !isEqual + } +} + +// IsNodeReady returns true if a node is ready; false otherwise. +func IsNodeReady(node *Node) bool { + for _, c := range node.Status.Conditions { + if c.Type == NodeReady { + return c.Status == ConditionTrue + } + } + return false +} + +// PodRequestsAndLimits returns a dictionary of all defined resources summed up for all +// containers of the pod. +func PodRequestsAndLimits(pod *Pod) (reqs map[ResourceName]resource.Quantity, limits map[ResourceName]resource.Quantity, err error) { + reqs, limits = map[ResourceName]resource.Quantity{}, map[ResourceName]resource.Quantity{} + for _, container := range pod.Spec.Containers { + for name, quantity := range container.Resources.Requests { + if value, ok := reqs[name]; !ok { + reqs[name] = *quantity.Copy() + } else { + value.Add(quantity) + reqs[name] = value + } + } + for name, quantity := range container.Resources.Limits { + if value, ok := limits[name]; !ok { + limits[name] = *quantity.Copy() + } else { + value.Add(quantity) + limits[name] = value + } + } + } + // init containers define the minimum of any resource + for _, container := range pod.Spec.InitContainers { + for name, quantity := range container.Resources.Requests { + value, ok := reqs[name] + if !ok { + reqs[name] = *quantity.Copy() + continue + } + if quantity.Cmp(value) > 0 { + reqs[name] = *quantity.Copy() + } + } + for name, quantity := range container.Resources.Limits { + value, ok := limits[name] + if !ok { + limits[name] = *quantity.Copy() + continue + } + if quantity.Cmp(value) > 0 { + limits[name] = *quantity.Copy() + } + } + } + return +} diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/types.go b/staging/src/k8s.io/client-go/pkg/api/v1/types.go index ea543a81334..870216293c7 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/types.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/types.go @@ -2818,7 +2818,7 @@ type NodeSpec struct { // +optional ProviderID string `json:"providerID,omitempty" protobuf:"bytes,3,opt,name=providerID"` // Unschedulable controls node schedulability of new pods. By default, node is schedulable. - // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration"` + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration" // +optional Unschedulable bool `json:"unschedulable,omitempty" protobuf:"varint,4,opt,name=unschedulable"` } @@ -2995,6 +2995,8 @@ const ( NodeDiskPressure NodeConditionType = "DiskPressure" // NodeNetworkUnavailable means that network for the node is not correctly configured. NodeNetworkUnavailable NodeConditionType = "NetworkUnavailable" + // NodeInodePressure means the kublet is under pressure due to insufficient available inodes. + NodeInodePressure NodeConditionType = "InodePressure" ) // NodeCondition contains condition information for a node. @@ -3056,6 +3058,11 @@ const ( // Number of Pods that may be running on this Node: see ResourcePods ) +const ( + // Namespace prefix for opaque counted resources (alpha). + ResourceOpaqueIntPrefix = "pod.alpha.kubernetes.io/opaque-int-resource-" +) + // ResourceList is a set of (resource name, quantity) pairs. type ResourceList map[ResourceName]resource.Quantity @@ -3790,6 +3797,35 @@ const ( // DockerConfigKey is the key of the required data for SecretTypeDockercfg secrets DockerConfigKey = ".dockercfg" + // SecretTypeDockerConfigJson contains a dockercfg file that follows the same format rules as ~/.docker/config.json + // + // Required fields: + // - Secret.Data[".dockerconfigjson"] - a serialized ~/.docker/config.json file + SecretTypeDockerConfigJson SecretType = "kubernetes.io/dockerconfigjson" + + // DockerConfigJsonKey is the key of the required data for SecretTypeDockerConfigJson secrets + DockerConfigJsonKey = ".dockerconfigjson" + + // SecretTypeBasicAuth contains data needed for basic authentication. + // + // Required at least one of fields: + // - Secret.Data["username"] - username used for authentication + // - Secret.Data["password"] - password or token needed for authentication + SecretTypeBasicAuth SecretType = "kubernetes.io/basic-auth" + + // BasicAuthUsernameKey is the key of the username for SecretTypeBasicAuth secrets + BasicAuthUsernameKey = "username" + // BasicAuthPasswordKey is the key of the password or token for SecretTypeBasicAuth secrets + BasicAuthPasswordKey = "password" + + // SecretTypeSSHAuth contains data needed for SSH authetication. + // + // Required field: + // - Secret.Data["ssh-privatekey"] - private SSH key needed for authentication + SecretTypeSSHAuth SecretType = "kubernetes.io/ssh-auth" + + // SSHAuthPrivateKey is the key of the required SSH private key for SecretTypeSSHAuth secrets + SSHAuthPrivateKey = "ssh-privatekey" // SecretTypeTLS contains information about a TLS client or server secret. It // is primarily used with TLS termination of the Ingress resource, but may be // used in other types. @@ -4011,4 +4047,14 @@ type RangeAllocation struct { const ( // "default-scheduler" is the name of default scheduler. DefaultSchedulerName = "default-scheduler" + + // RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule + // corresponding to every RequiredDuringScheduling affinity rule. + // When the --hard-pod-affinity-weight scheduler flag is not specified, + // DefaultHardPodAffinityWeight defines the weight of the implicit PreferredDuringScheduling affinity rule. + DefaultHardPodAffinitySymmetricWeight int = 1 + + // When the --failure-domains scheduler flag is not specified, + // DefaultFailureDomains defines the set of label keys used when TopologyKey is empty in PreferredDuringScheduling anti-affinity. + DefaultFailureDomains string = unversioned.LabelHostname + "," + unversioned.LabelZoneFailureDomain + "," + unversioned.LabelZoneRegion ) diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/client-go/pkg/api/v1/types_swagger_doc_generated.go index 5620489b30d..7322cea87eb 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/types_swagger_doc_generated.go @@ -901,7 +901,7 @@ var map_NodeSpec = map[string]string{ "podCIDR": "PodCIDR represents the pod IP range assigned to the node.", "externalID": "External ID of the node assigned by some machine database (e.g. a cloud provider). Deprecated.", "providerID": "ID of the node assigned by the cloud provider in the format: ://", - "unschedulable": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration\"`", + "unschedulable": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration\"", } func (NodeSpec) SwaggerDoc() map[string]string { diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go index 35fe2e2c274..c630041e724 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go @@ -189,6 +189,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_NodeList_To_v1_NodeList, Convert_v1_NodeProxyOptions_To_api_NodeProxyOptions, Convert_api_NodeProxyOptions_To_v1_NodeProxyOptions, + Convert_v1_NodeResources_To_api_NodeResources, + Convert_api_NodeResources_To_v1_NodeResources, Convert_v1_NodeSelector_To_api_NodeSelector, Convert_api_NodeSelector_To_v1_NodeSelector, Convert_v1_NodeSelectorRequirement_To_api_NodeSelectorRequirement, @@ -333,6 +335,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_ServiceSpec_To_v1_ServiceSpec, Convert_v1_ServiceStatus_To_api_ServiceStatus, Convert_api_ServiceStatus_To_v1_ServiceStatus, + Convert_v1_Sysctl_To_api_Sysctl, + Convert_api_Sysctl_To_v1_Sysctl, Convert_v1_TCPSocketAction_To_api_TCPSocketAction, Convert_api_TCPSocketAction_To_v1_TCPSocketAction, Convert_v1_Taint_To_api_Taint, @@ -2152,6 +2156,24 @@ func Convert_api_NodeProxyOptions_To_v1_NodeProxyOptions(in *api.NodeProxyOption return autoConvert_api_NodeProxyOptions_To_v1_NodeProxyOptions(in, out, s) } +func autoConvert_v1_NodeResources_To_api_NodeResources(in *NodeResources, out *api.NodeResources, s conversion.Scope) error { + out.Capacity = *(*api.ResourceList)(unsafe.Pointer(&in.Capacity)) + return nil +} + +func Convert_v1_NodeResources_To_api_NodeResources(in *NodeResources, out *api.NodeResources, s conversion.Scope) error { + return autoConvert_v1_NodeResources_To_api_NodeResources(in, out, s) +} + +func autoConvert_api_NodeResources_To_v1_NodeResources(in *api.NodeResources, out *NodeResources, s conversion.Scope) error { + out.Capacity = *(*ResourceList)(unsafe.Pointer(&in.Capacity)) + return nil +} + +func Convert_api_NodeResources_To_v1_NodeResources(in *api.NodeResources, out *NodeResources, s conversion.Scope) error { + return autoConvert_api_NodeResources_To_v1_NodeResources(in, out, s) +} + func autoConvert_v1_NodeSelector_To_api_NodeSelector(in *NodeSelector, out *api.NodeSelector, s conversion.Scope) error { out.NodeSelectorTerms = *(*[]api.NodeSelectorTerm)(unsafe.Pointer(&in.NodeSelectorTerms)) return nil @@ -4155,6 +4177,26 @@ func Convert_api_ServiceStatus_To_v1_ServiceStatus(in *api.ServiceStatus, out *S return autoConvert_api_ServiceStatus_To_v1_ServiceStatus(in, out, s) } +func autoConvert_v1_Sysctl_To_api_Sysctl(in *Sysctl, out *api.Sysctl, s conversion.Scope) error { + out.Name = in.Name + out.Value = in.Value + return nil +} + +func Convert_v1_Sysctl_To_api_Sysctl(in *Sysctl, out *api.Sysctl, s conversion.Scope) error { + return autoConvert_v1_Sysctl_To_api_Sysctl(in, out, s) +} + +func autoConvert_api_Sysctl_To_v1_Sysctl(in *api.Sysctl, out *Sysctl, s conversion.Scope) error { + out.Name = in.Name + out.Value = in.Value + return nil +} + +func Convert_api_Sysctl_To_v1_Sysctl(in *api.Sysctl, out *Sysctl, s conversion.Scope) error { + return autoConvert_api_Sysctl_To_v1_Sysctl(in, out, s) +} + func autoConvert_v1_TCPSocketAction_To_api_TCPSocketAction(in *TCPSocketAction, out *api.TCPSocketAction, s conversion.Scope) error { out.Port = in.Port return nil diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go index 3a79f138321..0ece706a90d 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go @@ -112,6 +112,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeDaemonEndpoints, InType: reflect.TypeOf(&NodeDaemonEndpoints{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeList, InType: reflect.TypeOf(&NodeList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeProxyOptions, InType: reflect.TypeOf(&NodeProxyOptions{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeResources, InType: reflect.TypeOf(&NodeResources{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeSelector, InType: reflect.TypeOf(&NodeSelector{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeSelectorRequirement, InType: reflect.TypeOf(&NodeSelectorRequirement{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NodeSelectorTerm, InType: reflect.TypeOf(&NodeSelectorTerm{})}, @@ -184,6 +185,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ServiceProxyOptions, InType: reflect.TypeOf(&ServiceProxyOptions{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ServiceSpec, InType: reflect.TypeOf(&ServiceSpec{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ServiceStatus, InType: reflect.TypeOf(&ServiceStatus{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Sysctl, InType: reflect.TypeOf(&Sysctl{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_TCPSocketAction, InType: reflect.TypeOf(&TCPSocketAction{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Taint, InType: reflect.TypeOf(&Taint{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Toleration, InType: reflect.TypeOf(&Toleration{})}, @@ -1689,6 +1691,23 @@ func DeepCopy_v1_NodeProxyOptions(in interface{}, out interface{}, c *conversion } } +func DeepCopy_v1_NodeResources(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*NodeResources) + out := out.(*NodeResources) + if in.Capacity != nil { + in, out := &in.Capacity, &out.Capacity + *out = make(ResourceList) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } else { + out.Capacity = nil + } + return nil + } +} + func DeepCopy_v1_NodeSelector(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*NodeSelector) @@ -3494,6 +3513,16 @@ func DeepCopy_v1_ServiceStatus(in interface{}, out interface{}, c *conversion.Cl } } +func DeepCopy_v1_Sysctl(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Sysctl) + out := out.(*Sysctl) + out.Name = in.Name + out.Value = in.Value + return nil + } +} + func DeepCopy_v1_TCPSocketAction(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*TCPSocketAction) diff --git a/staging/src/k8s.io/client-go/pkg/apimachinery/announced/group_factory.go b/staging/src/k8s.io/client-go/pkg/apimachinery/announced/group_factory.go index 9473ee5694c..075c67c6e62 100644 --- a/staging/src/k8s.io/client-go/pkg/apimachinery/announced/group_factory.go +++ b/staging/src/k8s.io/client-go/pkg/apimachinery/announced/group_factory.go @@ -23,10 +23,10 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/sets" ) @@ -107,7 +107,7 @@ type GroupMetaFactory struct { VersionArgs map[string]*GroupVersionFactoryArgs // assembled by Register() - prioritizedVersionList []unversioned.GroupVersion + prioritizedVersionList []schema.GroupVersion } // Register constructs the finalized prioritized version list and sanity checks @@ -124,11 +124,11 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro if pvSet.Len() != len(gmf.GroupArgs.VersionPreferenceOrder) { return fmt.Errorf("preference order for group %v has duplicates: %v", gmf.GroupArgs.GroupName, gmf.GroupArgs.VersionPreferenceOrder) } - prioritizedVersions := []unversioned.GroupVersion{} + prioritizedVersions := []schema.GroupVersion{} for _, v := range gmf.GroupArgs.VersionPreferenceOrder { prioritizedVersions = append( prioritizedVersions, - unversioned.GroupVersion{ + schema.GroupVersion{ Group: gmf.GroupArgs.GroupName, Version: v, }, @@ -136,7 +136,7 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro } // Go through versions that weren't explicitly prioritized. - unprioritizedVersions := []unversioned.GroupVersion{} + unprioritizedVersions := []schema.GroupVersion{} for _, v := range gmf.VersionArgs { if v.GroupName != gmf.GroupArgs.GroupName { return fmt.Errorf("found %v/%v in group %v?", v.GroupName, v.VersionName, gmf.GroupArgs.GroupName) @@ -145,7 +145,7 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro pvSet.Delete(v.VersionName) continue } - unprioritizedVersions = append(unprioritizedVersions, unversioned.GroupVersion{Group: v.GroupName, Version: v.VersionName}) + unprioritizedVersions = append(unprioritizedVersions, schema.GroupVersion{Group: v.GroupName, Version: v.VersionName}) } if len(unprioritizedVersions) > 1 { glog.Warningf("group %v has multiple unprioritized versions: %#v. They will have an arbitrary preference order!", gmf.GroupArgs.GroupName, unprioritizedVersions) @@ -159,7 +159,7 @@ func (gmf *GroupMetaFactory) Register(m *registered.APIRegistrationManager) erro return nil } -func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersions []unversioned.GroupVersion, groupMeta *apimachinery.GroupMeta) meta.RESTMapper { +func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersions []schema.GroupVersion, groupMeta *apimachinery.GroupMeta) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString() @@ -183,7 +183,7 @@ func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersi // Enable enables group versions that are allowed, adds methods to the scheme, etc. func (gmf *GroupMetaFactory) Enable(m *registered.APIRegistrationManager, scheme *runtime.Scheme) error { - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range gmf.prioritizedVersionList { if !m.IsAllowedVersion(v) { continue @@ -214,7 +214,7 @@ func (gmf *GroupMetaFactory) Enable(m *registered.APIRegistrationManager, scheme for _, v := range externalVersions { gvf := gmf.VersionArgs[v.Version] if err := groupMeta.AddVersionInterfaces( - unversioned.GroupVersion{Group: gvf.GroupName, Version: gvf.VersionName}, + schema.GroupVersion{Group: gvf.GroupName, Version: gvf.VersionName}, &meta.VersionInterfaces{ ObjectConvertor: scheme, MetadataAccessor: accessor, diff --git a/staging/src/k8s.io/client-go/pkg/apimachinery/registered/registered.go b/staging/src/k8s.io/client-go/pkg/apimachinery/registered/registered.go index 887980ea858..46d6bec540b 100644 --- a/staging/src/k8s.io/client-go/pkg/apimachinery/registered/registered.go +++ b/staging/src/k8s.io/client-go/pkg/apimachinery/registered/registered.go @@ -26,8 +26,8 @@ import ( "github.com/golang/glog" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/sets" ) @@ -45,16 +45,16 @@ var ( // isn't easy right now because there are so many callers of this package. type APIRegistrationManager struct { // registeredGroupVersions stores all API group versions for which RegisterGroup is called. - registeredVersions map[unversioned.GroupVersion]struct{} + registeredVersions map[schema.GroupVersion]struct{} // thirdPartyGroupVersions are API versions which are dynamically // registered (and unregistered) via API calls to the apiserver - thirdPartyGroupVersions []unversioned.GroupVersion + thirdPartyGroupVersions []schema.GroupVersion // enabledVersions represents all enabled API versions. It should be a // subset of registeredVersions. Please call EnableVersions() to add // enabled versions. - enabledVersions map[unversioned.GroupVersion]struct{} + enabledVersions map[schema.GroupVersion]struct{} // map of group meta for all groups. groupMetaMap map[string]*apimachinery.GroupMeta @@ -63,7 +63,7 @@ type APIRegistrationManager struct { // KUBE_API_VERSIONS environment variable. The install package of each group // checks this list before add their versions to the latest package and // Scheme. This list is small and order matters, so represent as a slice - envRequestedVersions []unversioned.GroupVersion + envRequestedVersions []schema.GroupVersion } // NewAPIRegistrationManager constructs a new manager. The argument ought to be @@ -71,16 +71,16 @@ type APIRegistrationManager struct { // wish to test. func NewAPIRegistrationManager(kubeAPIVersions string) (*APIRegistrationManager, error) { m := &APIRegistrationManager{ - registeredVersions: map[unversioned.GroupVersion]struct{}{}, - thirdPartyGroupVersions: []unversioned.GroupVersion{}, - enabledVersions: map[unversioned.GroupVersion]struct{}{}, + registeredVersions: map[schema.GroupVersion]struct{}{}, + thirdPartyGroupVersions: []schema.GroupVersion{}, + enabledVersions: map[schema.GroupVersion]struct{}{}, groupMetaMap: map[string]*apimachinery.GroupMeta{}, - envRequestedVersions: []unversioned.GroupVersion{}, + envRequestedVersions: []schema.GroupVersion{}, } if len(kubeAPIVersions) != 0 { for _, version := range strings.Split(kubeAPIVersions, ",") { - gv, err := unversioned.ParseGroupVersion(version) + gv, err := schema.ParseGroupVersion(version) if err != nil { return nil, fmt.Errorf("invalid api version: %s in KUBE_API_VERSIONS: %s.", version, kubeAPIVersions) @@ -122,7 +122,7 @@ var ( ) // RegisterVersions adds the given group versions to the list of registered group versions. -func (m *APIRegistrationManager) RegisterVersions(availableVersions []unversioned.GroupVersion) { +func (m *APIRegistrationManager) RegisterVersions(availableVersions []schema.GroupVersion) { for _, v := range availableVersions { m.registeredVersions[v] = struct{}{} } @@ -141,8 +141,8 @@ func (m *APIRegistrationManager) RegisterGroup(groupMeta apimachinery.GroupMeta) // EnableVersions adds the versions for the given group to the list of enabled versions. // Note that the caller should call RegisterGroup before calling this method. // The caller of this function is responsible to add the versions to scheme and RESTMapper. -func (m *APIRegistrationManager) EnableVersions(versions ...unversioned.GroupVersion) error { - var unregisteredVersions []unversioned.GroupVersion +func (m *APIRegistrationManager) EnableVersions(versions ...schema.GroupVersion) error { + var unregisteredVersions []schema.GroupVersion for _, v := range versions { if _, found := m.registeredVersions[v]; !found { unregisteredVersions = append(unregisteredVersions, v) @@ -158,7 +158,7 @@ func (m *APIRegistrationManager) EnableVersions(versions ...unversioned.GroupVer // IsAllowedVersion returns if the version is allowed by the KUBE_API_VERSIONS // environment variable. If the environment variable is empty, then it always // returns true. -func (m *APIRegistrationManager) IsAllowedVersion(v unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsAllowedVersion(v schema.GroupVersion) bool { if len(m.envRequestedVersions) == 0 { return true } @@ -171,15 +171,15 @@ func (m *APIRegistrationManager) IsAllowedVersion(v unversioned.GroupVersion) bo } // IsEnabledVersion returns if a version is enabled. -func (m *APIRegistrationManager) IsEnabledVersion(v unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsEnabledVersion(v schema.GroupVersion) bool { _, found := m.enabledVersions[v] return found } // EnabledVersions returns all enabled versions. Groups are randomly ordered, but versions within groups // are priority order from best to worst -func (m *APIRegistrationManager) EnabledVersions() []unversioned.GroupVersion { - ret := []unversioned.GroupVersion{} +func (m *APIRegistrationManager) EnabledVersions() []schema.GroupVersion { + ret := []schema.GroupVersion{} for _, groupMeta := range m.groupMetaMap { for _, version := range groupMeta.GroupVersions { if m.IsEnabledVersion(version) { @@ -191,13 +191,13 @@ func (m *APIRegistrationManager) EnabledVersions() []unversioned.GroupVersion { } // EnabledVersionsForGroup returns all enabled versions for a group in order of best to worst -func (m *APIRegistrationManager) EnabledVersionsForGroup(group string) []unversioned.GroupVersion { +func (m *APIRegistrationManager) EnabledVersionsForGroup(group string) []schema.GroupVersion { groupMeta, ok := m.groupMetaMap[group] if !ok { - return []unversioned.GroupVersion{} + return []schema.GroupVersion{} } - ret := []unversioned.GroupVersion{} + ret := []schema.GroupVersion{} for _, version := range groupMeta.GroupVersions { if m.IsEnabledVersion(version) { ret = append(ret, version) @@ -224,14 +224,14 @@ func (m *APIRegistrationManager) IsRegistered(group string) bool { } // IsRegisteredVersion returns if a version is registered. -func (m *APIRegistrationManager) IsRegisteredVersion(v unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsRegisteredVersion(v schema.GroupVersion) bool { _, found := m.registeredVersions[v] return found } // RegisteredGroupVersions returns all registered group versions. -func (m *APIRegistrationManager) RegisteredGroupVersions() []unversioned.GroupVersion { - ret := []unversioned.GroupVersion{} +func (m *APIRegistrationManager) RegisteredGroupVersions() []schema.GroupVersion { + ret := []schema.GroupVersion{} for groupVersion := range m.registeredVersions { ret = append(ret, groupVersion) } @@ -239,7 +239,7 @@ func (m *APIRegistrationManager) RegisteredGroupVersions() []unversioned.GroupVe } // IsThirdPartyAPIGroupVersion returns true if the api version is a user-registered group/version. -func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv unversioned.GroupVersion) bool { +func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv schema.GroupVersion) bool { for ix := range m.thirdPartyGroupVersions { if m.thirdPartyGroupVersions[ix] == gv { return true @@ -252,9 +252,9 @@ func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv unversioned.Grou // registers them in the API machinery and enables them. // Skips GroupVersions that are already registered. // Returns the list of GroupVersions that were skipped. -func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...unversioned.GroupVersion) []unversioned.GroupVersion { - filteredGVs := []unversioned.GroupVersion{} - skippedGVs := []unversioned.GroupVersion{} +func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...schema.GroupVersion) []schema.GroupVersion { + filteredGVs := []schema.GroupVersion{} + skippedGVs := []schema.GroupVersion{} for ix := range gvs { if !m.IsRegisteredVersion(gvs[ix]) { filteredGVs = append(filteredGVs, gvs[ix]) @@ -274,7 +274,7 @@ func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...unversione } // InterfacesFor is a union meta.VersionInterfacesFunc func for all registered types -func (m *APIRegistrationManager) InterfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func (m *APIRegistrationManager) InterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { groupMeta, err := m.Group(version.Group) if err != nil { return nil, err @@ -303,7 +303,7 @@ func (m *APIRegistrationManager) GroupOrDie(group string) *apimachinery.GroupMet // 1. legacy kube group preferred version, extensions preferred version, metrics perferred version, legacy // kube any version, extensions any version, metrics any version, all other groups alphabetical preferred version, // all other groups alphabetical. -func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.GroupVersion) meta.RESTMapper { +func (m *APIRegistrationManager) RESTMapper(versionPatterns ...schema.GroupVersion) meta.RESTMapper { unionMapper := meta.MultiRESTMapper{} unionedGroups := sets.NewString() for enabledVersion := range m.enabledVersions { @@ -315,8 +315,8 @@ func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.Group } if len(versionPatterns) != 0 { - resourcePriority := []unversioned.GroupVersionResource{} - kindPriority := []unversioned.GroupVersionKind{} + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} for _, versionPriority := range versionPatterns { resourcePriority = append(resourcePriority, versionPriority.WithResource(meta.AnyResource)) kindPriority = append(kindPriority, versionPriority.WithKind(meta.AnyKind)) @@ -326,8 +326,8 @@ func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.Group } if len(m.envRequestedVersions) != 0 { - resourcePriority := []unversioned.GroupVersionResource{} - kindPriority := []unversioned.GroupVersionKind{} + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} for _, versionPriority := range m.envRequestedVersions { resourcePriority = append(resourcePriority, versionPriority.WithResource(meta.AnyResource)) @@ -357,9 +357,9 @@ func (m *APIRegistrationManager) RESTMapper(versionPatterns ...unversioned.Group // prioritiesForGroups returns the resource and kind priorities for a PriorityRESTMapper, preferring the preferred version of each group first, // then any non-preferred version of the group second. -func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]unversioned.GroupVersionResource, []unversioned.GroupVersionKind) { - resourcePriority := []unversioned.GroupVersionResource{} - kindPriority := []unversioned.GroupVersionKind{} +func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]schema.GroupVersionResource, []schema.GroupVersionKind) { + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} for _, group := range groups { availableVersions := m.EnabledVersionsForGroup(group) @@ -369,8 +369,8 @@ func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]unvers } } for _, group := range groups { - resourcePriority = append(resourcePriority, unversioned.GroupVersionResource{Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource}) - kindPriority = append(kindPriority, unversioned.GroupVersionKind{Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind}) + resourcePriority = append(resourcePriority, schema.GroupVersionResource{Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource}) + kindPriority = append(kindPriority, schema.GroupVersionKind{Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind}) } return resourcePriority, kindPriority @@ -392,8 +392,8 @@ func (m *APIRegistrationManager) AllPreferredGroupVersions() string { // ValidateEnvRequestedVersions returns a list of versions that are requested in // the KUBE_API_VERSIONS environment variable, but not enabled. -func (m *APIRegistrationManager) ValidateEnvRequestedVersions() []unversioned.GroupVersion { - var missingVersions []unversioned.GroupVersion +func (m *APIRegistrationManager) ValidateEnvRequestedVersions() []schema.GroupVersion { + var missingVersions []schema.GroupVersion for _, v := range m.envRequestedVersions { if _, found := m.enabledVersions[v]; !found { missingVersions = append(missingVersions, v) diff --git a/staging/src/k8s.io/client-go/pkg/apimachinery/types.go b/staging/src/k8s.io/client-go/pkg/apimachinery/types.go index f520a1572cf..0bab7077270 100644 --- a/staging/src/k8s.io/client-go/pkg/apimachinery/types.go +++ b/staging/src/k8s.io/client-go/pkg/apimachinery/types.go @@ -20,17 +20,17 @@ import ( "fmt" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupMeta stores the metadata of a group. type GroupMeta struct { // GroupVersion represents the preferred version of the group. - GroupVersion unversioned.GroupVersion + GroupVersion schema.GroupVersion // GroupVersions is Group + all versions in that group. - GroupVersions []unversioned.GroupVersion + GroupVersions []schema.GroupVersion // Codec is the default codec for serializing output that should use // the preferred version. Use this Codec when writing to @@ -52,16 +52,16 @@ type GroupMeta struct { // string, or an error if the version is not known. // TODO: make this stop being a func pointer and always use the default // function provided below once every place that populates this field has been changed. - InterfacesFor func(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) + InterfacesFor func(version schema.GroupVersion) (*meta.VersionInterfaces, error) // InterfacesByVersion stores the per-version interfaces. - InterfacesByVersion map[unversioned.GroupVersion]*meta.VersionInterfaces + InterfacesByVersion map[schema.GroupVersion]*meta.VersionInterfaces } // DefaultInterfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. // TODO: Remove the "Default" prefix. -func (gm *GroupMeta) DefaultInterfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func (gm *GroupMeta) DefaultInterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { if v, ok := gm.InterfacesByVersion[version]; ok { return v, nil } @@ -73,12 +73,12 @@ func (gm *GroupMeta) DefaultInterfacesFor(version unversioned.GroupVersion) (*me // (If you use this, be sure to set .InterfacesFor = .DefaultInterfacesFor) // TODO: remove the "Interfaces" suffix and make this also maintain the // .GroupVersions member. -func (gm *GroupMeta) AddVersionInterfaces(version unversioned.GroupVersion, interfaces *meta.VersionInterfaces) error { +func (gm *GroupMeta) AddVersionInterfaces(version schema.GroupVersion, interfaces *meta.VersionInterfaces) error { if e, a := gm.GroupVersion.Group, version.Group; a != e { return fmt.Errorf("got a version in group %v, but am in group %v", a, e) } if gm.InterfacesByVersion == nil { - gm.InterfacesByVersion = make(map[unversioned.GroupVersion]*meta.VersionInterfaces) + gm.InterfacesByVersion = make(map[schema.GroupVersion]*meta.VersionInterfaces) } gm.InterfacesByVersion[version] = interfaces diff --git a/staging/src/k8s.io/client-go/pkg/apis/apps/register.go b/staging/src/k8s.io/client-go/pkg/apis/apps/register.go index f791022298a..e36955ebf60 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/apps/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/apps/register.go @@ -18,8 +18,8 @@ package apps import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) var ( @@ -31,15 +31,15 @@ var ( const GroupName = "apps" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.pb.go index a495ee63433..989b2922088 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.pb.go @@ -1032,45 +1032,45 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 627 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xe3, 0xa4, 0x29, 0x61, 0x53, 0xbe, 0x96, 0x0a, 0x45, 0x11, 0x72, 0xab, 0x5c, 0x08, - 0x52, 0xbb, 0x56, 0x4a, 0x2b, 0x2a, 0x8e, 0x46, 0x02, 0x21, 0x01, 0x45, 0x0e, 0xaa, 0xa0, 0x08, - 0xa4, 0xb5, 0x33, 0x0d, 0x4b, 0x6c, 0xaf, 0xe5, 0x1d, 0xe7, 0xcc, 0x85, 0x03, 0x37, 0xde, 0x82, - 0x47, 0xe0, 0x15, 0x2a, 0x71, 0xe9, 0x91, 0x53, 0x45, 0xc3, 0x8b, 0x20, 0x6f, 0x36, 0x1f, 0x34, - 0x49, 0xa9, 0x7a, 0xf3, 0xec, 0xce, 0xff, 0x37, 0x33, 0xff, 0x1d, 0x93, 0x87, 0xbd, 0x5d, 0xc5, - 0x84, 0x74, 0x7a, 0x99, 0x0f, 0x69, 0x0c, 0x08, 0xca, 0x49, 0x7a, 0x5d, 0x87, 0x27, 0x42, 0x39, - 0x3c, 0x49, 0x94, 0xd3, 0x6f, 0xf9, 0x80, 0xbc, 0xe5, 0x74, 0x21, 0x86, 0x94, 0x23, 0x74, 0x58, - 0x92, 0x4a, 0x94, 0xf4, 0xde, 0x50, 0xc8, 0x26, 0x42, 0x96, 0xf4, 0xba, 0x2c, 0x17, 0xb2, 0x5c, - 0xc8, 0x8c, 0xb0, 0xbe, 0xd9, 0x15, 0xf8, 0x31, 0xf3, 0x59, 0x20, 0x23, 0xa7, 0x2b, 0xbb, 0xd2, - 0xd1, 0x7a, 0x3f, 0x3b, 0xd4, 0x91, 0x0e, 0xf4, 0xd7, 0x90, 0x5b, 0xdf, 0x5a, 0xd8, 0x90, 0x93, - 0x82, 0x92, 0x59, 0x1a, 0xc0, 0xd9, 0x5e, 0xea, 0x3b, 0x8b, 0x35, 0x59, 0xdc, 0x87, 0x54, 0x09, - 0x19, 0x43, 0x67, 0x46, 0xb6, 0xb1, 0x58, 0xd6, 0x9f, 0x19, 0xb8, 0xbe, 0x39, 0x3f, 0x3b, 0xcd, - 0x62, 0x14, 0xd1, 0x6c, 0x4f, 0xad, 0xf9, 0xe9, 0x19, 0x8a, 0xd0, 0x11, 0x31, 0x2a, 0x4c, 0xcf, - 0x4a, 0x1a, 0xdf, 0x8b, 0xa4, 0xda, 0x46, 0x8e, 0x70, 0x98, 0x85, 0x6d, 0x40, 0xfa, 0x86, 0x54, - 0x22, 0x40, 0xde, 0xe1, 0xc8, 0x6b, 0xd6, 0xba, 0xd5, 0xac, 0x6e, 0x35, 0xd9, 0x42, 0xd7, 0x59, - 0xbf, 0xc5, 0xf6, 0xfc, 0x4f, 0x10, 0xe0, 0x0b, 0x40, 0xee, 0xd2, 0xa3, 0x93, 0xb5, 0xc2, 0xe0, - 0x64, 0x8d, 0x4c, 0xce, 0xbc, 0x31, 0x8d, 0x1e, 0x90, 0x25, 0x95, 0x40, 0x50, 0x2b, 0x6a, 0xea, - 0x2e, 0xbb, 0xe0, 0x5b, 0xb2, 0xa9, 0xee, 0xda, 0x09, 0x04, 0xee, 0x8a, 0xa9, 0xb2, 0x94, 0x47, - 0x9e, 0x66, 0x52, 0x9f, 0x2c, 0x2b, 0xe4, 0x98, 0xa9, 0x5a, 0x49, 0xd3, 0x1f, 0x5d, 0x8a, 0xae, - 0x09, 0xee, 0x75, 0xc3, 0x5f, 0x1e, 0xc6, 0x9e, 0x21, 0x37, 0x7e, 0x5a, 0xe4, 0xc6, 0x54, 0xf6, - 0x73, 0xa1, 0x90, 0xbe, 0x9f, 0x71, 0xcb, 0x39, 0xc7, 0xad, 0xa9, 0xbd, 0x60, 0xb9, 0x5c, 0x9b, - 0x76, 0xd3, 0x94, 0xab, 0x8c, 0x4e, 0xa6, 0x2c, 0x7b, 0x4b, 0xca, 0x02, 0x21, 0x52, 0xb5, 0xe2, - 0x7a, 0xa9, 0x59, 0xdd, 0xda, 0xbe, 0xcc, 0x54, 0xee, 0x35, 0x53, 0xa0, 0xfc, 0x2c, 0x47, 0x79, - 0x43, 0x62, 0xe3, 0x47, 0xe9, 0x9f, 0x69, 0x72, 0x2f, 0x69, 0x93, 0x54, 0x52, 0x48, 0x42, 0x11, - 0x70, 0xa5, 0xa7, 0x29, 0xbb, 0x2b, 0x79, 0x63, 0x9e, 0x39, 0xf3, 0xc6, 0xb7, 0xf4, 0x03, 0xa9, - 0x28, 0x08, 0x21, 0x40, 0x99, 0x9a, 0xf7, 0xdc, 0xbe, 0xe8, 0xdc, 0xdc, 0x87, 0xb0, 0x6d, 0xb4, - 0x43, 0xfe, 0x28, 0xf2, 0xc6, 0x4c, 0xfa, 0x8e, 0x54, 0x10, 0xa2, 0x24, 0xe4, 0x08, 0xe6, 0x45, - 0x37, 0xcf, 0xdf, 0xc2, 0x57, 0xb2, 0xf3, 0xda, 0x08, 0xf4, 0x92, 0x8c, 0x5d, 0x1d, 0x9d, 0x7a, - 0x63, 0x20, 0xfd, 0x62, 0x91, 0xd5, 0xbe, 0x0c, 0xb3, 0x08, 0x1e, 0x87, 0x5c, 0x44, 0xa3, 0x0c, - 0x55, 0x5b, 0xd2, 0x2e, 0x3f, 0xf8, 0x4f, 0xa5, 0x7c, 0x14, 0x85, 0x10, 0xe3, 0xfe, 0x84, 0xe1, - 0xde, 0x35, 0xf5, 0x56, 0xf7, 0xe7, 0x80, 0xbd, 0xb9, 0xe5, 0xe8, 0x0e, 0xa9, 0x2a, 0x48, 0xfb, - 0x22, 0x80, 0x97, 0x3c, 0x82, 0x5a, 0x79, 0xdd, 0x6a, 0x5e, 0x75, 0x6f, 0x1b, 0x50, 0xb5, 0x3d, - 0xb9, 0xf2, 0xa6, 0xf3, 0x1a, 0x5f, 0x2d, 0x72, 0x6b, 0x66, 0x6b, 0xe9, 0x13, 0x42, 0xa5, 0x9f, - 0xa7, 0x41, 0xe7, 0xe9, 0xf0, 0x17, 0x17, 0x32, 0xd6, 0xaf, 0x58, 0x72, 0xef, 0x0c, 0x4e, 0xd6, - 0xe8, 0xde, 0xcc, 0xad, 0x37, 0x47, 0x41, 0x37, 0xa6, 0x76, 0xa0, 0xa8, 0x77, 0x60, 0x6c, 0xe5, - 0xec, 0x1e, 0xb8, 0xf7, 0x8f, 0x4e, 0xed, 0xc2, 0xf1, 0xa9, 0x5d, 0xf8, 0x75, 0x6a, 0x17, 0x3e, - 0x0f, 0x6c, 0xeb, 0x68, 0x60, 0x5b, 0xc7, 0x03, 0xdb, 0xfa, 0x3d, 0xb0, 0xad, 0x6f, 0x7f, 0xec, - 0xc2, 0xc1, 0x15, 0xb3, 0x92, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x28, 0x58, 0x61, 0xec, 0xf5, - 0x05, 0x00, 0x00, + // 637 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcd, 0x6e, 0xd3, 0x4c, + 0x14, 0x86, 0xe3, 0xa4, 0xe9, 0x97, 0x6f, 0x52, 0xfe, 0x86, 0x0a, 0x45, 0x11, 0x72, 0xab, 0x6c, + 0x08, 0x52, 0x3b, 0x56, 0x4a, 0x2b, 0x2a, 0x96, 0x46, 0x02, 0x21, 0x01, 0x45, 0x0e, 0xaa, 0xa0, + 0x08, 0xa4, 0xb1, 0x73, 0x9a, 0x9a, 0xd8, 0x1e, 0xcb, 0x73, 0x9c, 0x35, 0x1b, 0x16, 0xec, 0xb8, + 0x0b, 0x2e, 0x81, 0x5b, 0xa8, 0xc4, 0xa6, 0x4b, 0x56, 0x15, 0x0d, 0x37, 0x82, 0x3c, 0x99, 0x24, + 0xa6, 0x4e, 0x4a, 0xd5, 0x9d, 0xcf, 0xcc, 0x79, 0x9f, 0xf3, 0x33, 0xaf, 0xc9, 0xc3, 0xc1, 0xae, + 0x64, 0xbe, 0xb0, 0x06, 0xa9, 0x0b, 0x49, 0x04, 0x08, 0xd2, 0x8a, 0x07, 0x7d, 0x8b, 0xc7, 0xbe, + 0xb4, 0x78, 0x1c, 0x4b, 0x6b, 0xd8, 0x71, 0x01, 0x79, 0xc7, 0xea, 0x43, 0x04, 0x09, 0x47, 0xe8, + 0xb1, 0x38, 0x11, 0x28, 0xe8, 0xbd, 0xb1, 0x90, 0xcd, 0x84, 0x2c, 0x1e, 0xf4, 0x59, 0x26, 0x64, + 0x99, 0x90, 0x69, 0x61, 0x73, 0xb3, 0xef, 0xe3, 0x51, 0xea, 0x32, 0x4f, 0x84, 0x56, 0x5f, 0xf4, + 0x85, 0xa5, 0xf4, 0x6e, 0x7a, 0xa8, 0x22, 0x15, 0xa8, 0xaf, 0x31, 0xb7, 0xb9, 0xb5, 0xb0, 0x21, + 0x2b, 0x01, 0x29, 0xd2, 0xc4, 0x83, 0xf3, 0xbd, 0x34, 0x77, 0x16, 0x6b, 0xd2, 0x68, 0x08, 0x89, + 0xf4, 0x45, 0x04, 0xbd, 0x82, 0x6c, 0x63, 0xb1, 0x6c, 0x58, 0x18, 0xb8, 0xb9, 0x39, 0x3f, 0x3b, + 0x49, 0x23, 0xf4, 0xc3, 0x62, 0x4f, 0xdb, 0x17, 0xa7, 0x4b, 0xef, 0x08, 0x42, 0x5e, 0x50, 0x75, + 0xe6, 0xab, 0x52, 0xf4, 0x03, 0xcb, 0x8f, 0x50, 0x62, 0x72, 0x5e, 0xd2, 0xfa, 0x56, 0x26, 0xf5, + 0x2e, 0x72, 0x84, 0xc3, 0x34, 0xe8, 0x02, 0xd2, 0x37, 0xa4, 0x16, 0x02, 0xf2, 0x1e, 0x47, 0xde, + 0x30, 0xd6, 0x8d, 0x76, 0x7d, 0xab, 0xcd, 0x16, 0xbe, 0x15, 0x1b, 0x76, 0xd8, 0x9e, 0xfb, 0x11, + 0x3c, 0x7c, 0x01, 0xc8, 0x6d, 0x7a, 0x7c, 0xba, 0x56, 0x1a, 0x9d, 0xae, 0x91, 0xd9, 0x99, 0x33, + 0xa5, 0xd1, 0x03, 0xb2, 0x24, 0x63, 0xf0, 0x1a, 0x65, 0x45, 0xdd, 0x65, 0x97, 0x74, 0x00, 0xcb, + 0x75, 0xd7, 0x8d, 0xc1, 0xb3, 0x57, 0x74, 0x95, 0xa5, 0x2c, 0x72, 0x14, 0x93, 0xba, 0x64, 0x59, + 0x22, 0xc7, 0x54, 0x36, 0x2a, 0x8a, 0xfe, 0xe8, 0x4a, 0x74, 0x45, 0xb0, 0xaf, 0x6b, 0xfe, 0xf2, + 0x38, 0x76, 0x34, 0xb9, 0xf5, 0xc3, 0x20, 0x37, 0x72, 0xd9, 0xcf, 0x7d, 0x89, 0xf4, 0x7d, 0x61, + 0x5b, 0xd6, 0x05, 0xdb, 0xca, 0xb9, 0x89, 0x65, 0x72, 0xb5, 0xb4, 0x9b, 0xba, 0x5c, 0x6d, 0x72, + 0x92, 0x5b, 0xd9, 0x5b, 0x52, 0xf5, 0x11, 0x42, 0xd9, 0x28, 0xaf, 0x57, 0xda, 0xf5, 0xad, 0xed, + 0xab, 0x4c, 0x65, 0x5f, 0xd3, 0x05, 0xaa, 0xcf, 0x32, 0x94, 0x33, 0x26, 0xb6, 0xbe, 0x57, 0xfe, + 0x9a, 0x26, 0xdb, 0x25, 0x6d, 0x93, 0x5a, 0x02, 0x71, 0xe0, 0x7b, 0x5c, 0xaa, 0x69, 0xaa, 0xf6, + 0x4a, 0xd6, 0x98, 0xa3, 0xcf, 0x9c, 0xe9, 0x2d, 0xfd, 0x40, 0x6a, 0x12, 0x02, 0xf0, 0x50, 0x24, + 0xfa, 0x3d, 0xb7, 0x2f, 0x3b, 0x37, 0x77, 0x21, 0xe8, 0x6a, 0xed, 0x98, 0x3f, 0x89, 0x9c, 0x29, + 0x93, 0xbe, 0x23, 0x35, 0x84, 0x30, 0x0e, 0x38, 0x82, 0x7e, 0xd1, 0xcd, 0x8b, 0x5d, 0xf8, 0x4a, + 0xf4, 0x5e, 0x6b, 0x81, 0x32, 0xc9, 0x74, 0xab, 0x93, 0x53, 0x67, 0x0a, 0xa4, 0x9f, 0x0d, 0xb2, + 0x3a, 0x14, 0x41, 0x1a, 0xc2, 0xe3, 0x80, 0xfb, 0xe1, 0x24, 0x43, 0x36, 0x96, 0xd4, 0x96, 0x1f, + 0xfc, 0xa3, 0x52, 0x36, 0x8a, 0x44, 0x88, 0x70, 0x7f, 0xc6, 0xb0, 0xef, 0xea, 0x7a, 0xab, 0xfb, + 0x73, 0xc0, 0xce, 0xdc, 0x72, 0x74, 0x87, 0xd4, 0x25, 0x24, 0x43, 0xdf, 0x83, 0x97, 0x3c, 0x84, + 0x46, 0x75, 0xdd, 0x68, 0xff, 0x6f, 0xdf, 0xd6, 0xa0, 0x7a, 0x77, 0x76, 0xe5, 0xe4, 0xf3, 0x5a, + 0x5f, 0x0c, 0x72, 0xab, 0xe0, 0x5a, 0xfa, 0x84, 0x50, 0xe1, 0x66, 0x69, 0xd0, 0x7b, 0x3a, 0xfe, + 0xc5, 0x7d, 0x11, 0xa9, 0x57, 0xac, 0xd8, 0x77, 0x46, 0xa7, 0x6b, 0x74, 0xaf, 0x70, 0xeb, 0xcc, + 0x51, 0xd0, 0x8d, 0x9c, 0x07, 0xca, 0xca, 0x03, 0xd3, 0x55, 0x16, 0x7d, 0x60, 0xdf, 0x3f, 0x3e, + 0x33, 0x4b, 0x27, 0x67, 0x66, 0xe9, 0xe7, 0x99, 0x59, 0xfa, 0x34, 0x32, 0x8d, 0xe3, 0x91, 0x69, + 0x9c, 0x8c, 0x4c, 0xe3, 0xd7, 0xc8, 0x34, 0xbe, 0xfe, 0x36, 0x4b, 0x07, 0xff, 0x69, 0x4b, 0xfe, + 0x09, 0x00, 0x00, 0xff, 0xff, 0x64, 0x32, 0x5a, 0xad, 0x2b, 0x06, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto index 4d4b054b333..960c5e6b5c3 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/register.go index 3ab76cf6ae7..a91e498e3e6 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "apps" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) @@ -47,5 +47,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *StatefulSet) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *StatefulSetList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *StatefulSet) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *StatefulSetList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/authentication/register.go b/staging/src/k8s.io/client-go/pkg/apis/authentication/register.go index 4759c011b9b..9f5aca19047 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authentication/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/authentication/register.go @@ -18,23 +18,23 @@ package authentication import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "authentication.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.pb.go index f95573135f1..e37a5b214d8 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.pb.go @@ -1236,46 +1236,46 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 642 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xcf, 0x6e, 0x13, 0x31, - 0x10, 0xc6, 0xb3, 0xf9, 0x53, 0x12, 0x87, 0x42, 0xb1, 0x84, 0x14, 0x45, 0x62, 0x13, 0x85, 0x4b, - 0x90, 0x5a, 0xaf, 0x52, 0x09, 0xa8, 0x5a, 0x71, 0xe8, 0xaa, 0x05, 0xf5, 0x80, 0x90, 0x5c, 0x8a, - 0x10, 0x12, 0x07, 0x27, 0x99, 0x6e, 0x97, 0x6d, 0xd6, 0x2b, 0xaf, 0x9d, 0xd2, 0x5b, 0x1f, 0x81, - 0x23, 0x47, 0xde, 0x83, 0x17, 0xe8, 0xb1, 0x07, 0x0e, 0x1c, 0x50, 0x45, 0xc2, 0x8b, 0x20, 0x7b, - 0x4d, 0x93, 0x36, 0xcd, 0x81, 0xf6, 0xb6, 0xfe, 0x3c, 0xf3, 0x9b, 0x6f, 0xc6, 0x3b, 0x68, 0x33, - 0x5a, 0x4b, 0x49, 0xc8, 0xbd, 0x48, 0x75, 0x41, 0xc4, 0x20, 0x21, 0xf5, 0x92, 0x28, 0xf0, 0x58, - 0x12, 0xa6, 0x1e, 0x53, 0xf2, 0x00, 0x62, 0x19, 0xf6, 0x98, 0x0c, 0x79, 0xec, 0x0d, 0x3b, 0x5d, - 0x90, 0xac, 0xe3, 0x05, 0x10, 0x83, 0x60, 0x12, 0xfa, 0x24, 0x11, 0x5c, 0x72, 0xdc, 0xc9, 0x10, - 0x64, 0x82, 0x20, 0x49, 0x14, 0x10, 0x8d, 0x20, 0x97, 0x11, 0xc4, 0x22, 0xea, 0x2b, 0x41, 0x28, - 0x0f, 0x54, 0x97, 0xf4, 0xf8, 0xc0, 0x0b, 0x78, 0xc0, 0x3d, 0x43, 0xea, 0xaa, 0x7d, 0x73, 0x32, - 0x07, 0xf3, 0x95, 0x55, 0xa8, 0xaf, 0xce, 0x35, 0xe9, 0x09, 0x48, 0xb9, 0x12, 0x3d, 0xb8, 0xea, - 0xaa, 0xfe, 0x74, 0x7e, 0x8e, 0x8a, 0x87, 0x20, 0xd2, 0x90, 0xc7, 0xd0, 0x9f, 0x49, 0x5b, 0x9e, - 0x9f, 0x36, 0x9c, 0x69, 0xbd, 0xbe, 0x72, 0x7d, 0xb4, 0x50, 0xb1, 0x0c, 0x07, 0xb3, 0x9e, 0x3a, - 0xd7, 0x87, 0x2b, 0x19, 0x1e, 0x7a, 0x61, 0x2c, 0x53, 0x29, 0xae, 0xa6, 0xb4, 0x9e, 0x23, 0xb4, - 0xfd, 0x59, 0x0a, 0xf6, 0x8e, 0x1d, 0x2a, 0xc0, 0x0d, 0x54, 0x0a, 0x25, 0x0c, 0xd2, 0x9a, 0xd3, - 0x2c, 0xb4, 0x2b, 0x7e, 0x65, 0x7c, 0xde, 0x28, 0xed, 0x68, 0x81, 0x66, 0xfa, 0x7a, 0xf9, 0xeb, - 0xb7, 0x46, 0xee, 0xe4, 0x57, 0x33, 0xd7, 0xfa, 0x9e, 0x47, 0xd5, 0xb7, 0x3c, 0x82, 0x98, 0xc2, - 0x30, 0x84, 0x23, 0xfc, 0x1e, 0x95, 0x07, 0x20, 0x59, 0x9f, 0x49, 0x56, 0x73, 0x9a, 0x4e, 0xbb, - 0xba, 0xda, 0x26, 0x73, 0x1f, 0x8e, 0x0c, 0x3b, 0xe4, 0x4d, 0xf7, 0x13, 0xf4, 0xe4, 0x6b, 0x90, - 0xcc, 0xc7, 0xa7, 0xe7, 0x8d, 0xdc, 0xf8, 0xbc, 0x81, 0x26, 0x1a, 0xbd, 0xa0, 0xe1, 0x3e, 0x2a, - 0xa6, 0x09, 0xf4, 0x6a, 0x79, 0x43, 0xf5, 0xc9, 0x7f, 0xff, 0x0e, 0x64, 0xca, 0xe7, 0x6e, 0x02, - 0x3d, 0xff, 0xae, 0xad, 0x57, 0xd4, 0x27, 0x6a, 0xe8, 0xf8, 0x10, 0x2d, 0xa4, 0x92, 0x49, 0x95, - 0xd6, 0x0a, 0xa6, 0xce, 0xd6, 0x2d, 0xeb, 0x18, 0x96, 0x7f, 0xcf, 0x56, 0x5a, 0xc8, 0xce, 0xd4, - 0xd6, 0x68, 0x3d, 0x43, 0xf7, 0xaf, 0x98, 0xc2, 0x8f, 0x51, 0x49, 0x6a, 0xc9, 0x4c, 0xaf, 0xe2, - 0x2f, 0xda, 0xcc, 0x52, 0x16, 0x97, 0xdd, 0xb5, 0x7e, 0x38, 0xe8, 0xc1, 0x4c, 0x15, 0xbc, 0x81, - 0x16, 0xa7, 0x1c, 0x41, 0xdf, 0x20, 0xca, 0xfe, 0x43, 0x8b, 0x58, 0xdc, 0x9c, 0xbe, 0xa4, 0x97, - 0x63, 0xf1, 0x47, 0x54, 0x54, 0x29, 0x08, 0x3b, 0xde, 0x8d, 0x1b, 0xb4, 0xbd, 0x97, 0x82, 0xd8, - 0x89, 0xf7, 0xf9, 0x64, 0xae, 0x5a, 0xa1, 0x06, 0xab, 0xdb, 0x02, 0x21, 0xb8, 0x30, 0x63, 0x9d, - 0x6a, 0x6b, 0x5b, 0x8b, 0x34, 0xbb, 0x6b, 0x8d, 0xf2, 0xa8, 0xfc, 0x8f, 0x82, 0x97, 0x51, 0x59, - 0x67, 0xc6, 0x6c, 0x00, 0x76, 0x16, 0x4b, 0x36, 0xc9, 0xc4, 0x68, 0x9d, 0x5e, 0x44, 0xe0, 0x47, - 0xa8, 0xa0, 0xc2, 0xbe, 0x71, 0x5f, 0xf1, 0xab, 0x36, 0xb0, 0xb0, 0xb7, 0xb3, 0x45, 0xb5, 0x8e, - 0x5b, 0x68, 0x21, 0x10, 0x5c, 0x25, 0xfa, 0x59, 0xf5, 0x2f, 0x8d, 0xf4, 0x63, 0xbc, 0x32, 0x0a, - 0xb5, 0x37, 0x38, 0x42, 0x25, 0xd0, 0x3b, 0x50, 0x2b, 0x36, 0x0b, 0xed, 0xea, 0xea, 0xcb, 0x5b, - 0x8c, 0x80, 0x98, 0x65, 0xda, 0x8e, 0xa5, 0x38, 0x9e, 0x6a, 0x55, 0x6b, 0x34, 0xab, 0x51, 0x3f, - 0xb2, 0x0b, 0x67, 0x62, 0xf0, 0x12, 0x2a, 0x44, 0x70, 0x9c, 0xb5, 0x49, 0xf5, 0x27, 0xde, 0x45, - 0xa5, 0xa1, 0xde, 0x45, 0xfb, 0x1e, 0x2f, 0x6e, 0x60, 0x66, 0xb2, 0xd0, 0x34, 0x63, 0xad, 0xe7, - 0xd7, 0x1c, 0xff, 0xc9, 0xe9, 0xc8, 0xcd, 0x9d, 0x8d, 0xdc, 0xdc, 0xcf, 0x91, 0x9b, 0x3b, 0x19, - 0xbb, 0xce, 0xe9, 0xd8, 0x75, 0xce, 0xc6, 0xae, 0xf3, 0x7b, 0xec, 0x3a, 0x5f, 0xfe, 0xb8, 0xb9, - 0x0f, 0x77, 0x2c, 0xe0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0xd0, 0x35, 0x8c, 0xb5, 0x05, - 0x00, 0x00, + // 654 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xcd, 0x6e, 0xd3, 0x4a, + 0x14, 0xc7, 0xed, 0x7c, 0xf4, 0x26, 0x93, 0xdb, 0x7b, 0xcb, 0x48, 0x48, 0x51, 0x24, 0x9c, 0x28, + 0x6c, 0x82, 0xd4, 0x8e, 0x95, 0x8a, 0x8f, 0xaa, 0x15, 0x8b, 0x5a, 0x2d, 0xa8, 0x0b, 0x84, 0x34, + 0xa5, 0x08, 0x21, 0xb1, 0x98, 0x38, 0xa7, 0xae, 0x71, 0x63, 0x5b, 0xe3, 0x99, 0x94, 0xee, 0xfa, + 0x08, 0x2c, 0x59, 0xf2, 0x1e, 0xbc, 0x40, 0x97, 0x5d, 0xb0, 0x60, 0x81, 0x2a, 0x12, 0x5e, 0x04, + 0xcd, 0x78, 0x68, 0xd2, 0xa6, 0x41, 0xa2, 0xdd, 0x79, 0xfe, 0x73, 0xfe, 0xbf, 0xf3, 0x31, 0x3e, + 0x68, 0x33, 0x5a, 0xcb, 0x48, 0x98, 0xb8, 0x91, 0xec, 0x01, 0x8f, 0x41, 0x40, 0xe6, 0xa6, 0x51, + 0xe0, 0xb2, 0x34, 0xcc, 0x5c, 0x26, 0xc5, 0x01, 0xc4, 0x22, 0xf4, 0x99, 0x08, 0x93, 0xd8, 0x1d, + 0x76, 0x7b, 0x20, 0x58, 0xd7, 0x0d, 0x20, 0x06, 0xce, 0x04, 0xf4, 0x49, 0xca, 0x13, 0x91, 0xe0, + 0x6e, 0x8e, 0x20, 0x13, 0x04, 0x49, 0xa3, 0x80, 0x28, 0x04, 0xb9, 0x8c, 0x20, 0x06, 0xd1, 0x58, + 0x09, 0x42, 0x71, 0x20, 0x7b, 0xc4, 0x4f, 0x06, 0x6e, 0x90, 0x04, 0x89, 0xab, 0x49, 0x3d, 0xb9, + 0xaf, 0x4f, 0xfa, 0xa0, 0xbf, 0xf2, 0x0c, 0x8d, 0xd5, 0xb9, 0x45, 0xba, 0x1c, 0xb2, 0x44, 0x72, + 0x1f, 0xae, 0x56, 0xd5, 0x78, 0x34, 0xdf, 0x23, 0xe3, 0x21, 0xf0, 0x2c, 0x4c, 0x62, 0xe8, 0xcf, + 0xd8, 0x96, 0xe7, 0xdb, 0x86, 0x33, 0xad, 0x37, 0x56, 0xae, 0x8f, 0xe6, 0x32, 0x16, 0xe1, 0x60, + 0xb6, 0xa6, 0x87, 0x7f, 0x0e, 0xcf, 0xfc, 0x03, 0x18, 0xb0, 0x19, 0x57, 0xf7, 0x7a, 0x97, 0x14, + 0xe1, 0xa1, 0x1b, 0xc6, 0x22, 0x13, 0xfc, 0xaa, 0xa5, 0xfd, 0x04, 0xa1, 0xed, 0x0f, 0x82, 0xb3, + 0xd7, 0xec, 0x50, 0x02, 0x6e, 0xa2, 0x72, 0x28, 0x60, 0x90, 0xd5, 0xed, 0x56, 0xb1, 0x53, 0xf5, + 0xaa, 0xe3, 0xf3, 0x66, 0x79, 0x47, 0x09, 0x34, 0xd7, 0xd7, 0x2b, 0x9f, 0x3e, 0x37, 0xad, 0x93, + 0xef, 0x2d, 0xab, 0xfd, 0xa5, 0x80, 0x6a, 0xaf, 0x92, 0x08, 0x62, 0x0a, 0xc3, 0x10, 0x8e, 0xf0, + 0x1b, 0x54, 0x19, 0x80, 0x60, 0x7d, 0x26, 0x58, 0xdd, 0x6e, 0xd9, 0x9d, 0xda, 0x6a, 0x87, 0xcc, + 0x7d, 0x6e, 0x32, 0xec, 0x92, 0x97, 0xbd, 0xf7, 0xe0, 0x8b, 0x17, 0x20, 0x98, 0x87, 0x4f, 0xcf, + 0x9b, 0xd6, 0xf8, 0xbc, 0x89, 0x26, 0x1a, 0xbd, 0xa0, 0xe1, 0x3e, 0x2a, 0x65, 0x29, 0xf8, 0xf5, + 0x82, 0xa6, 0x7a, 0xe4, 0xaf, 0x7f, 0x22, 0x32, 0x55, 0xe7, 0x6e, 0x0a, 0xbe, 0xf7, 0xaf, 0xc9, + 0x57, 0x52, 0x27, 0xaa, 0xe9, 0xf8, 0x10, 0x2d, 0x64, 0x82, 0x09, 0x99, 0xd5, 0x8b, 0x3a, 0xcf, + 0xd6, 0x2d, 0xf3, 0x68, 0x96, 0xf7, 0x9f, 0xc9, 0xb4, 0x90, 0x9f, 0xa9, 0xc9, 0xd1, 0x7e, 0x8c, + 0xfe, 0xbf, 0x52, 0x14, 0xbe, 0x8f, 0xca, 0x42, 0x49, 0x7a, 0x7a, 0x55, 0x6f, 0xd1, 0x38, 0xcb, + 0x79, 0x5c, 0x7e, 0xd7, 0xfe, 0x6a, 0xa3, 0x3b, 0x33, 0x59, 0xf0, 0x06, 0x5a, 0x9c, 0xaa, 0x08, + 0xfa, 0x1a, 0x51, 0xf1, 0xee, 0x1a, 0xc4, 0xe2, 0xe6, 0xf4, 0x25, 0xbd, 0x1c, 0x8b, 0xdf, 0xa1, + 0x92, 0xcc, 0x80, 0x9b, 0xf1, 0x6e, 0xdc, 0xa0, 0xed, 0xbd, 0x0c, 0xf8, 0x4e, 0xbc, 0x9f, 0x4c, + 0xe6, 0xaa, 0x14, 0xaa, 0xb1, 0xaa, 0x2d, 0xe0, 0x3c, 0xe1, 0x7a, 0xac, 0x53, 0x6d, 0x6d, 0x2b, + 0x91, 0xe6, 0x77, 0xed, 0x51, 0x01, 0x55, 0x7e, 0x53, 0xf0, 0x32, 0xaa, 0x28, 0x67, 0xcc, 0x06, + 0x60, 0x66, 0xb1, 0x64, 0x4c, 0x3a, 0x46, 0xe9, 0xf4, 0x22, 0x02, 0xdf, 0x43, 0x45, 0x19, 0xf6, + 0x75, 0xf5, 0x55, 0xaf, 0x66, 0x02, 0x8b, 0x7b, 0x3b, 0x5b, 0x54, 0xe9, 0xb8, 0x8d, 0x16, 0x02, + 0x9e, 0xc8, 0x54, 0x3d, 0xab, 0xfa, 0xa5, 0x91, 0x7a, 0x8c, 0xe7, 0x5a, 0xa1, 0xe6, 0x06, 0x47, + 0xa8, 0x0c, 0x6a, 0x07, 0xea, 0xa5, 0x56, 0xb1, 0x53, 0x5b, 0x7d, 0x76, 0x8b, 0x11, 0x10, 0xbd, + 0x4c, 0xdb, 0xb1, 0xe0, 0xc7, 0x53, 0xad, 0x2a, 0x8d, 0xe6, 0x39, 0x1a, 0x47, 0x66, 0xe1, 0x74, + 0x0c, 0x5e, 0x42, 0xc5, 0x08, 0x8e, 0xf3, 0x36, 0xa9, 0xfa, 0xc4, 0xbb, 0xa8, 0x3c, 0x54, 0xbb, + 0x68, 0xde, 0xe3, 0xe9, 0x0d, 0x8a, 0x99, 0x2c, 0x34, 0xcd, 0x59, 0xeb, 0x85, 0x35, 0xdb, 0x7b, + 0x70, 0x3a, 0x72, 0xac, 0xb3, 0x91, 0x63, 0x7d, 0x1b, 0x39, 0xd6, 0xc9, 0xd8, 0xb1, 0x4f, 0xc7, + 0x8e, 0x7d, 0x36, 0x76, 0xec, 0x1f, 0x63, 0xc7, 0xfe, 0xf8, 0xd3, 0xb1, 0xde, 0xfe, 0x63, 0x00, + 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xce, 0xcd, 0xc2, 0x6f, 0xeb, 0x05, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto index f36e28161b0..2fd8b0e2089 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/register.go index 472e53d1ea5..53a2aa0a296 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "authentication.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/apis/authorization/register.go b/staging/src/k8s.io/client-go/pkg/apis/authorization/register.go index 55ae357d32c..ca1a483bf2c 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authorization/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/authorization/register.go @@ -17,23 +17,23 @@ limitations under the License. package authorization import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.pb.go index 875a98aa64b..9c7771e3bba 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.pb.go @@ -2283,60 +2283,61 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 874 bytes of a gzipped FileDescriptorProto + // 884 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x56, 0x41, 0x8f, 0xdb, 0x44, 0x14, 0x8e, 0x93, 0x78, 0x37, 0x99, 0x05, 0xb6, 0x4c, 0x55, 0xd6, 0x0d, 0x92, 0x13, 0x05, 0x09, - 0x6d, 0xa5, 0xd6, 0x66, 0x57, 0xaa, 0xa8, 0x2a, 0x0e, 0xac, 0xc5, 0xaa, 0xaa, 0xa0, 0x05, 0xcd, - 0xc2, 0x0a, 0xc1, 0x69, 0xec, 0x7d, 0x4d, 0x4c, 0x12, 0x8f, 0x35, 0x33, 0x76, 0x59, 0x4e, 0xfd, - 0x01, 0x1c, 0x38, 0xf6, 0xc8, 0x5f, 0xe0, 0x0f, 0x70, 0x65, 0x8f, 0xe5, 0x82, 0x40, 0x42, 0x11, - 0x6b, 0xfe, 0x05, 0x27, 0xe4, 0xf1, 0x24, 0x6e, 0x36, 0x0e, 0x28, 0xb0, 0x42, 0x1c, 0x7a, 0xf3, - 0xbc, 0xf7, 0xbd, 0xf7, 0xbe, 0x99, 0xf9, 0xc6, 0xef, 0xa1, 0x77, 0x47, 0x77, 0x84, 0x13, 0x32, - 0x77, 0x94, 0xf8, 0xc0, 0x23, 0x90, 0x20, 0xdc, 0x78, 0x34, 0x70, 0x69, 0x1c, 0x0a, 0x97, 0x26, - 0x72, 0xc8, 0x78, 0xf8, 0x15, 0x95, 0x21, 0x8b, 0xdc, 0x74, 0xcf, 0x07, 0x49, 0xf7, 0xdc, 0x01, - 0x44, 0xc0, 0xa9, 0x84, 0x13, 0x27, 0xe6, 0x4c, 0x32, 0xfc, 0x56, 0x91, 0xc1, 0x29, 0x33, 0x38, - 0xf1, 0x68, 0xe0, 0xe4, 0x19, 0x9c, 0x85, 0x0c, 0x8e, 0xce, 0xd0, 0xb9, 0x35, 0x08, 0xe5, 0x30, - 0xf1, 0x9d, 0x80, 0x4d, 0xdc, 0x01, 0x1b, 0x30, 0x57, 0x25, 0xf2, 0x93, 0x47, 0x6a, 0xa5, 0x16, - 0xea, 0xab, 0x28, 0xd0, 0xd9, 0x5f, 0x49, 0xd1, 0xe5, 0x20, 0x58, 0xc2, 0x03, 0xb8, 0x48, 0xaa, - 0x73, 0x7b, 0x75, 0x4c, 0x12, 0xa5, 0xc0, 0x45, 0xc8, 0x22, 0x38, 0x59, 0x0a, 0xbb, 0xb9, 0x3a, - 0x2c, 0x5d, 0xda, 0x79, 0xe7, 0x56, 0x35, 0x9a, 0x27, 0x91, 0x0c, 0x27, 0xcb, 0x9c, 0xf6, 0xaa, - 0xe1, 0x89, 0x0c, 0xc7, 0x6e, 0x18, 0x49, 0x21, 0xf9, 0xc5, 0x90, 0xfe, 0xdb, 0x08, 0x1d, 0x7e, - 0x29, 0x39, 0x3d, 0xa6, 0xe3, 0x04, 0x70, 0x17, 0x99, 0xa1, 0x84, 0x89, 0xb0, 0x8c, 0x5e, 0x63, - 0xb7, 0xed, 0xb5, 0xb3, 0x69, 0xd7, 0xbc, 0x9f, 0x1b, 0x48, 0x61, 0xbf, 0xdb, 0x7a, 0xfa, 0x6d, - 0xb7, 0xf6, 0xe4, 0xd7, 0x5e, 0xad, 0xff, 0x53, 0x1d, 0x59, 0x1f, 0xb0, 0x80, 0x8e, 0x8f, 0x12, - 0xff, 0x0b, 0x08, 0xe4, 0x41, 0x10, 0x80, 0x10, 0x04, 0xd2, 0x10, 0x1e, 0xe3, 0x4f, 0x51, 0x6b, - 0x02, 0x92, 0x9e, 0x50, 0x49, 0x2d, 0xa3, 0x67, 0xec, 0x6e, 0xed, 0xef, 0x3a, 0x2b, 0x2f, 0xd1, - 0x49, 0xf7, 0x9c, 0x0f, 0x55, 0x8e, 0x07, 0x20, 0xa9, 0x87, 0xcf, 0xa6, 0xdd, 0x5a, 0x36, 0xed, - 0xa2, 0xd2, 0x46, 0xe6, 0xd9, 0xf0, 0x08, 0x35, 0x45, 0x0c, 0x81, 0x55, 0x57, 0x59, 0xef, 0x3b, - 0xeb, 0x4a, 0xc3, 0xa9, 0xa0, 0x7b, 0x14, 0x43, 0xe0, 0xbd, 0xa4, 0xcb, 0x36, 0xf3, 0x15, 0x51, - 0x45, 0xb0, 0x40, 0x1b, 0x42, 0x52, 0x99, 0x08, 0xab, 0xa1, 0xca, 0xbd, 0x7f, 0x39, 0xe5, 0x54, - 0x4a, 0xef, 0x15, 0x5d, 0x70, 0xa3, 0x58, 0x13, 0x5d, 0xaa, 0xff, 0x39, 0xba, 0xf6, 0x90, 0x45, - 0x44, 0xeb, 0xee, 0x40, 0x4a, 0x1e, 0xfa, 0x89, 0x04, 0x81, 0x7b, 0xa8, 0x19, 0x53, 0x39, 0x54, - 0x07, 0xda, 0x2e, 0xf9, 0x7e, 0x44, 0xe5, 0x90, 0x28, 0x4f, 0x8e, 0x48, 0x81, 0xfb, 0xea, 0x70, - 0x9e, 0x43, 0x1c, 0x03, 0xf7, 0x89, 0xf2, 0xf4, 0xbf, 0xaf, 0x23, 0x5c, 0x91, 0xda, 0x45, 0xed, - 0x88, 0x4e, 0x40, 0xc4, 0x34, 0x00, 0x9d, 0xff, 0x55, 0x1d, 0xdd, 0x7e, 0x38, 0x73, 0x90, 0x12, - 0xf3, 0xf7, 0x95, 0xf0, 0x1b, 0xc8, 0x1c, 0x70, 0x96, 0xc4, 0xea, 0xe8, 0xda, 0xde, 0xcb, 0x1a, - 0x62, 0xde, 0xcb, 0x8d, 0xa4, 0xf0, 0xe1, 0x1b, 0x68, 0x53, 0x3f, 0x15, 0xab, 0xa9, 0x60, 0xdb, - 0x1a, 0xb6, 0x79, 0x5c, 0x98, 0xc9, 0xcc, 0x8f, 0x6f, 0xa2, 0xd6, 0xec, 0x2d, 0x5a, 0xa6, 0xc2, - 0x5e, 0xd1, 0xd8, 0xd6, 0x6c, 0x43, 0x64, 0x8e, 0xc0, 0xb7, 0xd1, 0x96, 0x48, 0xfc, 0x79, 0xc0, - 0x86, 0x0a, 0xb8, 0xaa, 0x03, 0xb6, 0x8e, 0x4a, 0x17, 0x79, 0x1e, 0x97, 0x6f, 0x2b, 0xdf, 0xa3, - 0xb5, 0xb9, 0xb8, 0xad, 0xfc, 0x08, 0x88, 0xf2, 0xf4, 0x7f, 0xa9, 0xa3, 0x9d, 0x23, 0x18, 0x3f, - 0xfa, 0x6f, 0x55, 0xcf, 0x16, 0x54, 0xff, 0xe0, 0x1f, 0xc8, 0xb0, 0x9a, 0xf2, 0xff, 0x4b, 0xf9, - 0x3f, 0xd4, 0xd1, 0xeb, 0x7f, 0x41, 0x14, 0x7f, 0x6d, 0x20, 0xcc, 0x97, 0xc4, 0xab, 0x8f, 0xfa, - 0xbd, 0xf5, 0x19, 0x2e, 0x3f, 0x04, 0xef, 0xb5, 0x6c, 0xda, 0xad, 0x78, 0x20, 0xa4, 0xa2, 0x2e, - 0x7e, 0x6a, 0xa0, 0x6b, 0x51, 0xd5, 0x4b, 0xd5, 0xd7, 0x74, 0x6f, 0x7d, 0x46, 0x95, 0x0f, 0xdf, - 0xbb, 0x9e, 0x4d, 0xbb, 0xd5, 0xff, 0x04, 0x52, 0x4d, 0xa0, 0xff, 0x63, 0x1d, 0x5d, 0x7d, 0xf1, - 0x5f, 0xbe, 0x5c, 0x75, 0xfe, 0xd1, 0x44, 0x3b, 0x2f, 0x94, 0xf9, 0x2f, 0x95, 0x39, 0x6f, 0x1c, - 0x8d, 0xc5, 0x3f, 0xec, 0x27, 0x02, 0xb8, 0x6e, 0x1c, 0xbd, 0x59, 0xe3, 0x68, 0xaa, 0x19, 0x04, - 0xe5, 0x57, 0xa1, 0x9a, 0x86, 0x98, 0x75, 0x8d, 0x53, 0x64, 0x42, 0x3e, 0xb3, 0x58, 0x66, 0xaf, - 0xb1, 0xbb, 0xb5, 0xff, 0xf1, 0xa5, 0x89, 0xcd, 0x51, 0xa3, 0xd0, 0x61, 0x24, 0xf9, 0x69, 0xd9, - 0xb0, 0x94, 0x8d, 0x14, 0x15, 0x3b, 0xa9, 0x1e, 0x97, 0x14, 0x06, 0x5f, 0x41, 0x8d, 0x11, 0x9c, - 0x16, 0x0d, 0x93, 0xe4, 0x9f, 0x98, 0x20, 0x33, 0xcd, 0x27, 0x29, 0x7d, 0xd0, 0xef, 0xac, 0x4f, - 0xad, 0x9c, 0xc6, 0x48, 0x91, 0xea, 0x6e, 0xfd, 0x8e, 0xd1, 0xff, 0xce, 0x40, 0xd7, 0x57, 0x4a, - 0x36, 0x6f, 0xa3, 0x74, 0x3c, 0x66, 0x8f, 0xe1, 0x44, 0x71, 0x69, 0x95, 0x6d, 0xf4, 0xa0, 0x30, - 0x93, 0x99, 0x1f, 0xbf, 0x89, 0x36, 0x38, 0x50, 0xc1, 0x22, 0xdd, 0xba, 0xe7, 0x6a, 0x27, 0xca, - 0x4a, 0xb4, 0x17, 0x1f, 0xa0, 0x6d, 0xc8, 0xcb, 0x2b, 0x72, 0x87, 0x9c, 0x33, 0xae, 0xaf, 0x6c, - 0x47, 0x07, 0x6c, 0x1f, 0x2e, 0xba, 0xc9, 0x45, 0xbc, 0x77, 0xe3, 0xec, 0xdc, 0xae, 0x3d, 0x3b, - 0xb7, 0x6b, 0x3f, 0x9f, 0xdb, 0xb5, 0x27, 0x99, 0x6d, 0x9c, 0x65, 0xb6, 0xf1, 0x2c, 0xb3, 0x8d, - 0xdf, 0x32, 0xdb, 0xf8, 0xe6, 0x77, 0xbb, 0xf6, 0xd9, 0xa6, 0xde, 0xf4, 0x9f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x0c, 0xa4, 0x8c, 0xef, 0x24, 0x0c, 0x00, 0x00, + 0x6d, 0xa5, 0xd6, 0x66, 0x57, 0x54, 0x54, 0x15, 0x07, 0xd6, 0x62, 0x55, 0x55, 0xd0, 0x82, 0x66, + 0x61, 0x85, 0xe0, 0x34, 0xf6, 0xbe, 0x26, 0x26, 0x89, 0xc7, 0x9a, 0x19, 0xbb, 0x2c, 0xa7, 0xfe, + 0x00, 0x0e, 0x1c, 0x7b, 0xe4, 0x2f, 0xf0, 0x07, 0xb8, 0xb2, 0xc7, 0x72, 0x41, 0x20, 0xa1, 0x88, + 0x35, 0xff, 0x82, 0x13, 0xf2, 0x78, 0x12, 0x37, 0x1b, 0xa7, 0x68, 0x61, 0x85, 0x38, 0xec, 0xcd, + 0xf3, 0xde, 0xf7, 0xde, 0xfb, 0x66, 0xe6, 0x1b, 0xbf, 0x87, 0xde, 0x1b, 0xdd, 0x11, 0x4e, 0xc8, + 0xdc, 0x51, 0xe2, 0x03, 0x8f, 0x40, 0x82, 0x70, 0xe3, 0xd1, 0xc0, 0xa5, 0x71, 0x28, 0x5c, 0x9a, + 0xc8, 0x21, 0xe3, 0xe1, 0xd7, 0x54, 0x86, 0x2c, 0x72, 0xd3, 0x1d, 0x1f, 0x24, 0xdd, 0x71, 0x07, + 0x10, 0x01, 0xa7, 0x12, 0x8e, 0x9c, 0x98, 0x33, 0xc9, 0xf0, 0x5b, 0x45, 0x06, 0xa7, 0xcc, 0xe0, + 0xc4, 0xa3, 0x81, 0x93, 0x67, 0x70, 0x16, 0x32, 0x38, 0x3a, 0x43, 0xe7, 0xd6, 0x20, 0x94, 0xc3, + 0xc4, 0x77, 0x02, 0x36, 0x71, 0x07, 0x6c, 0xc0, 0x5c, 0x95, 0xc8, 0x4f, 0x1e, 0xa9, 0x95, 0x5a, + 0xa8, 0xaf, 0xa2, 0x40, 0x67, 0x77, 0x25, 0x45, 0x97, 0x83, 0x60, 0x09, 0x0f, 0xe0, 0x2c, 0xa9, + 0xce, 0xed, 0xd5, 0x31, 0x49, 0x94, 0x02, 0x17, 0x21, 0x8b, 0xe0, 0x68, 0x29, 0xec, 0xe6, 0xea, + 0xb0, 0x74, 0x69, 0xe7, 0x9d, 0x5b, 0xd5, 0x68, 0x9e, 0x44, 0x32, 0x9c, 0x2c, 0x73, 0x7a, 0xfb, + 0xc5, 0x70, 0x11, 0x0c, 0x61, 0x42, 0x97, 0xa2, 0x76, 0xaa, 0xa3, 0x12, 0x19, 0x8e, 0xdd, 0x30, + 0x92, 0x42, 0xf2, 0xb3, 0x21, 0xfd, 0x77, 0x10, 0xda, 0xff, 0x4a, 0x72, 0x7a, 0x48, 0xc7, 0x09, + 0xe0, 0x2e, 0x32, 0x43, 0x09, 0x13, 0x61, 0x19, 0xbd, 0xc6, 0x76, 0xdb, 0x6b, 0x67, 0xd3, 0xae, + 0x79, 0x3f, 0x37, 0x90, 0xc2, 0x7e, 0xb7, 0xf5, 0xf4, 0xbb, 0x6e, 0xed, 0xc9, 0x6f, 0xbd, 0x5a, + 0xff, 0xe7, 0x3a, 0xb2, 0x3e, 0x64, 0x01, 0x1d, 0x1f, 0x24, 0xfe, 0x97, 0x10, 0xc8, 0xbd, 0x20, + 0x00, 0x21, 0x08, 0xa4, 0x21, 0x3c, 0xc6, 0x9f, 0xa1, 0xd6, 0x04, 0x24, 0x3d, 0xa2, 0x92, 0x5a, + 0x46, 0xcf, 0xd8, 0xde, 0xd8, 0xdd, 0x76, 0x56, 0x5e, 0xbd, 0x93, 0xee, 0x38, 0x1f, 0xa9, 0x1c, + 0x0f, 0x40, 0x52, 0x0f, 0x9f, 0x4c, 0xbb, 0xb5, 0x6c, 0xda, 0x45, 0xa5, 0x8d, 0xcc, 0xb3, 0xe1, + 0x11, 0x6a, 0x8a, 0x18, 0x02, 0xab, 0xae, 0xb2, 0xde, 0x77, 0xce, 0x2b, 0x28, 0xa7, 0x82, 0xee, + 0x41, 0x0c, 0x81, 0xf7, 0x92, 0x2e, 0xdb, 0xcc, 0x57, 0x44, 0x15, 0xc1, 0x02, 0xad, 0x09, 0x49, + 0x65, 0x22, 0xac, 0x86, 0x2a, 0xf7, 0xc1, 0xc5, 0x94, 0x53, 0x29, 0xbd, 0x57, 0x74, 0xc1, 0xb5, + 0x62, 0x4d, 0x74, 0xa9, 0xfe, 0x17, 0xe8, 0xda, 0x43, 0x16, 0x11, 0xad, 0xd6, 0x3d, 0x29, 0x79, + 0xe8, 0x27, 0x12, 0x04, 0xee, 0xa1, 0x66, 0x4c, 0xe5, 0x50, 0x1d, 0x68, 0xbb, 0xe4, 0xfb, 0x31, + 0x95, 0x43, 0xa2, 0x3c, 0x39, 0x22, 0x05, 0xee, 0xab, 0xc3, 0x79, 0x0e, 0x71, 0x08, 0xdc, 0x27, + 0xca, 0xd3, 0xff, 0xa1, 0x8e, 0x70, 0x45, 0x6a, 0x17, 0xb5, 0x23, 0x3a, 0x01, 0x11, 0xd3, 0x00, + 0x74, 0xfe, 0x57, 0x75, 0x74, 0xfb, 0xe1, 0xcc, 0x41, 0x4a, 0xcc, 0xdf, 0x57, 0xc2, 0x6f, 0x20, + 0x73, 0xc0, 0x59, 0x12, 0xab, 0xa3, 0x6b, 0x7b, 0x2f, 0x6b, 0x88, 0x79, 0x2f, 0x37, 0x92, 0xc2, + 0x87, 0x6f, 0xa0, 0x75, 0xfd, 0xc0, 0xac, 0xa6, 0x82, 0x6d, 0x6a, 0xd8, 0xfa, 0x61, 0x61, 0x26, + 0x33, 0x3f, 0xbe, 0x89, 0x5a, 0xb3, 0x17, 0x6c, 0x99, 0x0a, 0x7b, 0x45, 0x63, 0x5b, 0xb3, 0x0d, + 0x91, 0x39, 0x02, 0xdf, 0x46, 0x1b, 0x22, 0xf1, 0xe7, 0x01, 0x6b, 0x2a, 0xe0, 0xaa, 0x0e, 0xd8, + 0x38, 0x28, 0x5d, 0xe4, 0x79, 0x5c, 0xbe, 0xad, 0x7c, 0x8f, 0xd6, 0xfa, 0xe2, 0xb6, 0xf2, 0x23, + 0x20, 0xca, 0xd3, 0xff, 0xb5, 0x8e, 0xb6, 0x0e, 0x60, 0xfc, 0xe8, 0xbf, 0x55, 0x3d, 0x5b, 0x50, + 0xfd, 0x83, 0x7f, 0x20, 0xc3, 0x6a, 0xca, 0xff, 0x2f, 0xe5, 0xff, 0x58, 0x47, 0xaf, 0xbf, 0x80, + 0x28, 0xfe, 0xc6, 0x40, 0x98, 0x2f, 0x89, 0x57, 0x1f, 0xf5, 0xfb, 0xe7, 0x67, 0xb8, 0xfc, 0x10, + 0xbc, 0xd7, 0xb2, 0x69, 0xb7, 0xe2, 0x81, 0x90, 0x8a, 0xba, 0xf8, 0xa9, 0x81, 0xae, 0x45, 0x55, + 0x2f, 0x55, 0x5f, 0xd3, 0xbd, 0xf3, 0x33, 0xaa, 0x7c, 0xf8, 0xde, 0xf5, 0x6c, 0xda, 0xad, 0xfe, + 0x27, 0x90, 0x6a, 0x02, 0xfd, 0x9f, 0xea, 0xe8, 0xea, 0xe5, 0x7f, 0xf9, 0x62, 0xd5, 0xf9, 0x67, + 0x13, 0x6d, 0x5d, 0x2a, 0xf3, 0x5f, 0x2a, 0x73, 0xde, 0x38, 0x1a, 0x8b, 0x7f, 0xd8, 0x4f, 0x05, + 0x70, 0xdd, 0x38, 0x7a, 0xb3, 0xc6, 0xd1, 0x54, 0x33, 0x08, 0xca, 0xaf, 0x42, 0x35, 0x0d, 0x31, + 0xeb, 0x1a, 0xc7, 0xc8, 0x84, 0x7c, 0x66, 0xb1, 0xcc, 0x5e, 0x63, 0x7b, 0x63, 0xf7, 0x93, 0x0b, + 0x13, 0x9b, 0xa3, 0x46, 0xa1, 0xfd, 0x48, 0xf2, 0xe3, 0xb2, 0x61, 0x29, 0x1b, 0x29, 0x2a, 0x76, + 0x52, 0x3d, 0x2e, 0x29, 0x0c, 0xbe, 0x82, 0x1a, 0x23, 0x38, 0x2e, 0x1a, 0x26, 0xc9, 0x3f, 0x31, + 0x41, 0x66, 0x9a, 0x4f, 0x52, 0xfa, 0xa0, 0xdf, 0x3d, 0x3f, 0xb5, 0x72, 0x1a, 0x23, 0x45, 0xaa, + 0xbb, 0xf5, 0x3b, 0x46, 0xff, 0x7b, 0x03, 0x5d, 0x5f, 0x29, 0xd9, 0xbc, 0x8d, 0xd2, 0xf1, 0x98, + 0x3d, 0x86, 0x23, 0xc5, 0xa5, 0x55, 0xb6, 0xd1, 0xbd, 0xc2, 0x4c, 0x66, 0x7e, 0xfc, 0x26, 0x5a, + 0xe3, 0x40, 0x05, 0x8b, 0x74, 0xeb, 0x9e, 0xab, 0x9d, 0x28, 0x2b, 0xd1, 0x5e, 0xbc, 0x87, 0x36, + 0x21, 0x2f, 0xaf, 0xc8, 0xed, 0x73, 0xce, 0xb8, 0xbe, 0xb2, 0x2d, 0x1d, 0xb0, 0xb9, 0xbf, 0xe8, + 0x26, 0x67, 0xf1, 0xde, 0x8d, 0x93, 0x53, 0xbb, 0xf6, 0xec, 0xd4, 0xae, 0xfd, 0x72, 0x6a, 0xd7, + 0x9e, 0x64, 0xb6, 0x71, 0x92, 0xd9, 0xc6, 0xb3, 0xcc, 0x36, 0x7e, 0xcf, 0x6c, 0xe3, 0xdb, 0x3f, + 0xec, 0xda, 0xe7, 0xeb, 0x7a, 0xd3, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x06, 0x55, 0x79, 0xe0, + 0x5a, 0x0c, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto index b3df8977853..137e8c632ab 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/register.go index 6ae38ec85c9..8cc147ef6c1 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) @@ -50,6 +50,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *LocalSubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *SubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *SelfSubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *LocalSubjectAccessReview) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *SubjectAccessReview) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *SelfSubjectAccessReview) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/register.go b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/register.go index d4aa8ee0188..c006a4d4a94 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/register.go @@ -18,23 +18,23 @@ package autoscaling import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "autoscaling" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -50,6 +50,7 @@ func addKnownTypes(scheme *runtime.Scheme) error { &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, &api.ListOptions{}, + &api.DeleteOptions{}, ) return nil } diff --git a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.pb.go index 2c7c484009d..6ac4413245b 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.pb.go @@ -1730,58 +1730,58 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 835 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6f, 0xdc, 0x44, - 0x14, 0x5f, 0xef, 0x47, 0x95, 0x8e, 0x49, 0x02, 0x83, 0xd4, 0xae, 0x52, 0x61, 0x47, 0x0b, 0x87, - 0x20, 0x5a, 0x5b, 0xbb, 0xa2, 0x88, 0x1e, 0xe3, 0xa0, 0xd2, 0x8a, 0x86, 0x46, 0x93, 0xb6, 0x42, - 0x48, 0x20, 0xcd, 0xda, 0xaf, 0xee, 0x74, 0xd7, 0x1e, 0x6b, 0x66, 0xbc, 0x42, 0x3d, 0x71, 0xe2, - 0xcc, 0x85, 0x03, 0xff, 0x0e, 0xa7, 0xdc, 0xe8, 0x91, 0xd3, 0x8a, 0x18, 0xf1, 0x5f, 0x70, 0x40, - 0x9e, 0x9d, 0x7a, 0xbf, 0xe2, 0x6d, 0x23, 0xe8, 0x6d, 0x67, 0xde, 0xef, 0xe3, 0xcd, 0x7b, 0xcf, - 0x6f, 0xd1, 0x9d, 0xd1, 0xe7, 0xd2, 0x63, 0xdc, 0x1f, 0xe5, 0x43, 0x10, 0x29, 0x28, 0x90, 0x7e, - 0x36, 0x8a, 0x7d, 0x9a, 0x31, 0xe9, 0xd3, 0x5c, 0x71, 0x19, 0xd2, 0x31, 0x4b, 0x63, 0x7f, 0xd2, - 0xf7, 0x63, 0x48, 0x41, 0x50, 0x05, 0x91, 0x97, 0x09, 0xae, 0x38, 0xfe, 0x78, 0x46, 0xf5, 0xe6, - 0x54, 0x2f, 0x1b, 0xc5, 0x5e, 0x49, 0xf5, 0x16, 0xa8, 0xde, 0xa4, 0xbf, 0x77, 0x2b, 0x66, 0xea, - 0x59, 0x3e, 0xf4, 0x42, 0x9e, 0xf8, 0x31, 0x8f, 0xb9, 0xaf, 0x15, 0x86, 0xf9, 0x53, 0x7d, 0xd2, - 0x07, 0xfd, 0x6b, 0xa6, 0xbc, 0x37, 0xa8, 0x4d, 0xca, 0x17, 0x20, 0x79, 0x2e, 0x42, 0x58, 0xcd, - 0x66, 0xef, 0x76, 0x3d, 0x27, 0x4f, 0x27, 0x20, 0x24, 0xe3, 0x29, 0x44, 0x6b, 0xb4, 0x9b, 0xf5, - 0xb4, 0xf5, 0x27, 0xef, 0xdd, 0xba, 0x18, 0x2d, 0xf2, 0x54, 0xb1, 0x64, 0x3d, 0xa7, 0xfe, 0xc5, - 0xf0, 0x5c, 0xb1, 0xb1, 0xcf, 0x52, 0x25, 0x95, 0x58, 0xa5, 0xf4, 0x7e, 0xb1, 0xd0, 0x8d, 0x23, - 0xc1, 0xa5, 0x7c, 0x32, 0x4b, 0xf9, 0xe1, 0xf0, 0x39, 0x84, 0x8a, 0xc0, 0x53, 0x10, 0x90, 0x86, - 0x80, 0xf7, 0x51, 0x7b, 0xc4, 0xd2, 0xa8, 0x6b, 0xed, 0x5b, 0x07, 0x57, 0x83, 0x77, 0xce, 0xa6, - 0x6e, 0xa3, 0x98, 0xba, 0xed, 0xaf, 0x58, 0x1a, 0x11, 0x1d, 0x29, 0x11, 0x29, 0x4d, 0xa0, 0xdb, - 0x5c, 0x46, 0x7c, 0x4d, 0x13, 0x20, 0x3a, 0x82, 0x07, 0x08, 0xd1, 0x8c, 0x19, 0x83, 0x6e, 0x4b, - 0xe3, 0xb0, 0xc1, 0xa1, 0xc3, 0x93, 0xfb, 0x26, 0x42, 0x16, 0x50, 0xbd, 0xdf, 0x9b, 0xe8, 0xfa, - 0x3d, 0x2e, 0xd8, 0x0b, 0x9e, 0x2a, 0x3a, 0x3e, 0xe1, 0xd1, 0xa1, 0xe9, 0x30, 0x08, 0xfc, 0x0d, - 0xda, 0x4a, 0x40, 0xd1, 0x88, 0x2a, 0xaa, 0xf3, 0xb2, 0x07, 0x07, 0x5e, 0xed, 0x6c, 0x78, 0x93, - 0xbe, 0x37, 0x7b, 0xd4, 0x31, 0x28, 0x3a, 0xf7, 0x9d, 0xdf, 0x91, 0x4a, 0x0d, 0x3f, 0x43, 0x6d, - 0x99, 0x41, 0xa8, 0xdf, 0x62, 0x0f, 0xee, 0x7a, 0x6f, 0x3c, 0x71, 0x5e, 0x4d, 0xae, 0xa7, 0x19, - 0x84, 0xf3, 0x9a, 0x94, 0x27, 0xa2, 0x1d, 0x70, 0x86, 0xae, 0x48, 0x45, 0x55, 0x2e, 0x75, 0x3d, - 0xec, 0xc1, 0xbd, 0xff, 0xc1, 0x4b, 0xeb, 0x05, 0x3b, 0xc6, 0xed, 0xca, 0xec, 0x4c, 0x8c, 0x4f, - 0xef, 0x6f, 0x0b, 0xdd, 0xa8, 0x61, 0x3e, 0x60, 0x52, 0xe1, 0xef, 0xd6, 0xaa, 0xea, 0x6f, 0xa8, - 0xea, 0xc2, 0x8c, 0x7b, 0x25, 0x5d, 0x17, 0xf7, 0x5d, 0x63, 0xbd, 0xf5, 0xea, 0x66, 0xa1, 0xb4, - 0x31, 0xea, 0x30, 0x05, 0x89, 0xec, 0x36, 0xf7, 0x5b, 0x07, 0xf6, 0x20, 0xf8, 0xef, 0xef, 0x0d, - 0xb6, 0x8d, 0x5d, 0xe7, 0x7e, 0x29, 0x4c, 0x66, 0xfa, 0xbd, 0x7f, 0x9a, 0xb5, 0xef, 0x2c, 0xeb, - 0x8f, 0x7f, 0xb2, 0xd0, 0x8e, 0x3e, 0x3e, 0xa2, 0x22, 0x86, 0x72, 0xd4, 0xcd, 0x73, 0x2f, 0xd3, - 0xee, 0x0d, 0x9f, 0x4c, 0x70, 0xcd, 0xa4, 0xb5, 0x73, 0xba, 0xe4, 0x42, 0x56, 0x5c, 0x71, 0x1f, - 0xd9, 0x09, 0x4b, 0x09, 0x64, 0x63, 0x16, 0x52, 0xa9, 0x67, 0xae, 0x13, 0xec, 0x16, 0x53, 0xd7, - 0x3e, 0x9e, 0x5f, 0x93, 0x45, 0x0c, 0xbe, 0x8d, 0xec, 0x84, 0xfe, 0x50, 0x51, 0x5a, 0x9a, 0xf2, - 0xbe, 0xf1, 0xb3, 0x8f, 0xe7, 0x21, 0xb2, 0x88, 0xc3, 0xcf, 0x91, 0xa3, 0xb4, 0xed, 0xd1, 0xc9, - 0xe3, 0xc7, 0x8a, 0x8d, 0xd9, 0x0b, 0xaa, 0x18, 0x4f, 0x4f, 0x40, 0x84, 0x90, 0x2a, 0x1a, 0x43, - 0xb7, 0xad, 0x95, 0x7a, 0xc5, 0xd4, 0x75, 0x1e, 0x6d, 0x44, 0x92, 0xd7, 0x28, 0xf5, 0x7e, 0x6b, - 0xa1, 0x0f, 0x36, 0x0e, 0x28, 0xbe, 0x8b, 0x30, 0x1f, 0x4a, 0x10, 0x13, 0x88, 0xbe, 0x9c, 0x6d, - 0xa3, 0x72, 0x2d, 0x94, 0x3d, 0x68, 0x05, 0xd7, 0x8a, 0xa9, 0x8b, 0x1f, 0xae, 0x45, 0xc9, 0x05, - 0x0c, 0x1c, 0xa1, 0xed, 0x31, 0x95, 0x6a, 0x56, 0x65, 0x66, 0x36, 0x90, 0x3d, 0xf8, 0xe4, 0x0d, - 0xa7, 0xb6, 0xa4, 0x04, 0xef, 0x15, 0x53, 0x77, 0xfb, 0xc1, 0xa2, 0x0a, 0x59, 0x16, 0xc5, 0x87, - 0x68, 0x37, 0xcc, 0x85, 0x80, 0x54, 0xad, 0x94, 0xfd, 0xba, 0x29, 0xfb, 0xee, 0xd1, 0x72, 0x98, - 0xac, 0xe2, 0x4b, 0x89, 0x08, 0x24, 0x13, 0x10, 0x55, 0x12, 0xed, 0x65, 0x89, 0x2f, 0x96, 0xc3, - 0x64, 0x15, 0x8f, 0x13, 0xe4, 0x1a, 0xd5, 0xda, 0x16, 0x76, 0xb4, 0xe4, 0x87, 0xc5, 0xd4, 0x75, - 0x8f, 0x36, 0x43, 0xc9, 0xeb, 0xb4, 0x7a, 0xbf, 0x36, 0x51, 0x47, 0x97, 0xe0, 0x2d, 0xee, 0xda, - 0x27, 0x4b, 0xbb, 0xf6, 0xd3, 0x4b, 0x7c, 0x7c, 0x3a, 0xb3, 0xda, 0xcd, 0xfa, 0xfd, 0xca, 0x66, - 0xfd, 0xec, 0xd2, 0xca, 0x9b, 0xf7, 0xe8, 0x1d, 0x74, 0xb5, 0x4a, 0x00, 0xdf, 0x44, 0x5b, 0xe2, - 0x55, 0x4f, 0x2d, 0xdd, 0x80, 0x6a, 0x07, 0x56, 0xcd, 0xac, 0x10, 0x3d, 0x86, 0xec, 0x05, 0x87, - 0xcb, 0x91, 0x4b, 0xb4, 0x84, 0x31, 0x84, 0x8a, 0x0b, 0xf3, 0x5f, 0x5b, 0xa1, 0x4f, 0xcd, 0x3d, - 0xa9, 0x10, 0xc1, 0x47, 0x67, 0xe7, 0x4e, 0xe3, 0xe5, 0xb9, 0xd3, 0xf8, 0xe3, 0xdc, 0x69, 0xfc, - 0x58, 0x38, 0xd6, 0x59, 0xe1, 0x58, 0x2f, 0x0b, 0xc7, 0xfa, 0xb3, 0x70, 0xac, 0x9f, 0xff, 0x72, - 0x1a, 0xdf, 0x36, 0x27, 0xfd, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x45, 0xec, 0x9a, 0x15, 0x8e, - 0x09, 0x00, 0x00, + // 845 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x8f, 0xdb, 0x44, + 0x14, 0x8f, 0xf3, 0x51, 0x6d, 0xc7, 0xec, 0x2e, 0x0c, 0x52, 0x1b, 0x6d, 0x85, 0xbd, 0x0a, 0x1c, + 0x16, 0xd1, 0xda, 0x4a, 0xd4, 0x22, 0x7a, 0x5c, 0x2f, 0x2a, 0xad, 0xe8, 0xd2, 0xd5, 0x6c, 0x5b, + 0x21, 0x24, 0x90, 0x26, 0xf6, 0xab, 0x77, 0x9a, 0xf8, 0x43, 0x33, 0xe3, 0x08, 0xf5, 0xc4, 0x89, + 0x33, 0x17, 0x0e, 0xfc, 0x3b, 0x9c, 0xf6, 0x46, 0x8f, 0x9c, 0x22, 0xd6, 0x88, 0xff, 0x82, 0x03, + 0xf2, 0x64, 0xea, 0x38, 0xc9, 0x3a, 0xdd, 0x08, 0xb8, 0x65, 0xe6, 0xfd, 0x3e, 0xde, 0x7b, 0xf3, + 0xfc, 0x82, 0xee, 0x8f, 0x3e, 0x13, 0x0e, 0x4b, 0xdc, 0x51, 0x36, 0x04, 0x1e, 0x83, 0x04, 0xe1, + 0xa6, 0xa3, 0xd0, 0xa5, 0x29, 0x13, 0x2e, 0xcd, 0x64, 0x22, 0x7c, 0x3a, 0x66, 0x71, 0xe8, 0x4e, + 0xfa, 0x6e, 0x08, 0x31, 0x70, 0x2a, 0x21, 0x70, 0x52, 0x9e, 0xc8, 0x04, 0x7f, 0x3c, 0xa3, 0x3a, + 0x73, 0xaa, 0x93, 0x8e, 0x42, 0xa7, 0xa0, 0x3a, 0x15, 0xaa, 0x33, 0xe9, 0xef, 0xdd, 0x09, 0x99, + 0x3c, 0xcb, 0x86, 0x8e, 0x9f, 0x44, 0x6e, 0x98, 0x84, 0x89, 0xab, 0x14, 0x86, 0xd9, 0x0b, 0x75, + 0x52, 0x07, 0xf5, 0x6b, 0xa6, 0xbc, 0x37, 0xa8, 0x4d, 0xca, 0xe5, 0x20, 0x92, 0x8c, 0xfb, 0xb0, + 0x9c, 0xcd, 0xde, 0xbd, 0x7a, 0x4e, 0x16, 0x4f, 0x80, 0x0b, 0x96, 0xc4, 0x10, 0xac, 0xd0, 0x6e, + 0xd7, 0xd3, 0x56, 0x4b, 0xde, 0xbb, 0x73, 0x39, 0x9a, 0x67, 0xb1, 0x64, 0xd1, 0x6a, 0x4e, 0x77, + 0xd7, 0xc3, 0x85, 0x7f, 0x06, 0x11, 0x5d, 0x61, 0xf5, 0x2f, 0x67, 0x65, 0x92, 0x8d, 0x5d, 0x16, + 0x4b, 0x21, 0xf9, 0x32, 0xa5, 0xf7, 0xb3, 0x81, 0x6e, 0x1d, 0xf1, 0x44, 0x88, 0xe7, 0xb3, 0x42, + 0x9f, 0x0c, 0x5f, 0x82, 0x2f, 0x09, 0xbc, 0x00, 0x0e, 0xb1, 0x0f, 0x78, 0x1f, 0xb5, 0x47, 0x2c, + 0x0e, 0xba, 0xc6, 0xbe, 0x71, 0x70, 0xdd, 0x7b, 0xe7, 0x7c, 0x6a, 0x37, 0xf2, 0xa9, 0xdd, 0xfe, + 0x92, 0xc5, 0x01, 0x51, 0x91, 0x02, 0x11, 0xd3, 0x08, 0xba, 0xcd, 0x45, 0xc4, 0x57, 0x34, 0x02, + 0xa2, 0x22, 0x78, 0x80, 0x10, 0x4d, 0x99, 0x36, 0xe8, 0xb6, 0x14, 0x0e, 0x6b, 0x1c, 0x3a, 0x3c, + 0x79, 0xa4, 0x23, 0xa4, 0x82, 0xea, 0xfd, 0xd6, 0x44, 0x37, 0x1f, 0x26, 0x9c, 0xbd, 0x4a, 0x62, + 0x49, 0xc7, 0x27, 0x49, 0x70, 0xa8, 0xe7, 0x02, 0x38, 0xfe, 0x1a, 0x6d, 0x45, 0x20, 0x69, 0x40, + 0x25, 0x55, 0x79, 0x99, 0x83, 0x03, 0xa7, 0x76, 0xa2, 0x9c, 0x49, 0xdf, 0x99, 0x15, 0x75, 0x0c, + 0x92, 0xce, 0x7d, 0xe7, 0x77, 0xa4, 0x54, 0xc3, 0x67, 0xa8, 0x2d, 0x52, 0xf0, 0x55, 0x2d, 0xe6, + 0xe0, 0x81, 0x73, 0xe5, 0x39, 0x75, 0x6a, 0x72, 0x3d, 0x4d, 0xc1, 0x9f, 0xf7, 0xa4, 0x38, 0x11, + 0xe5, 0x80, 0x53, 0x74, 0x4d, 0x48, 0x2a, 0x33, 0xa1, 0xfa, 0x61, 0x0e, 0x1e, 0xfe, 0x07, 0x5e, + 0x4a, 0xcf, 0xdb, 0xd1, 0x6e, 0xd7, 0x66, 0x67, 0xa2, 0x7d, 0x7a, 0x7f, 0x19, 0xe8, 0x56, 0x0d, + 0xf3, 0x31, 0x13, 0x12, 0x7f, 0xbb, 0xd2, 0x55, 0x77, 0x4d, 0x57, 0x2b, 0x5f, 0x86, 0x53, 0xd0, + 0x55, 0x73, 0xdf, 0xd5, 0xd6, 0x5b, 0x6f, 0x6e, 0x2a, 0xad, 0x0d, 0x51, 0x87, 0x49, 0x88, 0x44, + 0xb7, 0xb9, 0xdf, 0x3a, 0x30, 0x07, 0xde, 0xbf, 0xaf, 0xd7, 0xdb, 0xd6, 0x76, 0x9d, 0x47, 0x85, + 0x30, 0x99, 0xe9, 0xf7, 0xfe, 0x6e, 0xd6, 0xd6, 0x59, 0xf4, 0x1f, 0xff, 0x68, 0xa0, 0x1d, 0x75, + 0x7c, 0x4a, 0x79, 0x08, 0xc5, 0xa8, 0xeb, 0x72, 0x37, 0x79, 0xee, 0x35, 0x9f, 0x8c, 0x77, 0x43, + 0xa7, 0xb5, 0x73, 0xba, 0xe0, 0x42, 0x96, 0x5c, 0x71, 0x1f, 0x99, 0x11, 0x8b, 0x09, 0xa4, 0x63, + 0xe6, 0x53, 0xa1, 0x66, 0xae, 0xe3, 0xed, 0xe6, 0x53, 0xdb, 0x3c, 0x9e, 0x5f, 0x93, 0x2a, 0x06, + 0xdf, 0x43, 0x66, 0x44, 0xbf, 0x2f, 0x29, 0x2d, 0x45, 0x79, 0x5f, 0xfb, 0x99, 0xc7, 0xf3, 0x10, + 0xa9, 0xe2, 0xf0, 0x4b, 0x64, 0x49, 0x65, 0x7b, 0x74, 0xf2, 0xec, 0x99, 0x64, 0x63, 0xf6, 0x8a, + 0x4a, 0x96, 0xc4, 0x27, 0xc0, 0x7d, 0x88, 0x25, 0x0d, 0xa1, 0xdb, 0x56, 0x4a, 0xbd, 0x7c, 0x6a, + 0x5b, 0x4f, 0xd7, 0x22, 0xc9, 0x5b, 0x94, 0x7a, 0xbf, 0xb6, 0xd0, 0x07, 0x6b, 0x07, 0x14, 0x3f, + 0x40, 0x38, 0x19, 0x0a, 0xe0, 0x13, 0x08, 0xbe, 0x98, 0x6d, 0xa3, 0x62, 0x2d, 0x14, 0x6f, 0xd0, + 0xf2, 0x6e, 0xe4, 0x53, 0x1b, 0x3f, 0x59, 0x89, 0x92, 0x4b, 0x18, 0x38, 0x40, 0xdb, 0x63, 0x2a, + 0xe4, 0xac, 0xcb, 0x4c, 0x6f, 0x20, 0x73, 0xf0, 0xc9, 0x15, 0xa7, 0xb6, 0xa0, 0x78, 0xef, 0xe5, + 0x53, 0x7b, 0xfb, 0x71, 0x55, 0x85, 0x2c, 0x8a, 0xe2, 0x43, 0xb4, 0xeb, 0x67, 0x9c, 0x43, 0x2c, + 0x97, 0xda, 0x7e, 0x53, 0xb7, 0x7d, 0xf7, 0x68, 0x31, 0x4c, 0x96, 0xf1, 0x85, 0x44, 0x00, 0x82, + 0x71, 0x08, 0x4a, 0x89, 0xf6, 0xa2, 0xc4, 0xe7, 0x8b, 0x61, 0xb2, 0x8c, 0xc7, 0x11, 0xb2, 0xb5, + 0x6a, 0xed, 0x13, 0x76, 0x94, 0xe4, 0x87, 0xf9, 0xd4, 0xb6, 0x8f, 0xd6, 0x43, 0xc9, 0xdb, 0xb4, + 0x7a, 0xbf, 0x34, 0x51, 0x47, 0xb5, 0xe0, 0x7f, 0xdc, 0xb5, 0xcf, 0x17, 0x76, 0xed, 0xdd, 0x0d, + 0x3e, 0x3e, 0x95, 0x59, 0xed, 0x66, 0xfd, 0x6e, 0x69, 0xb3, 0x7e, 0xba, 0xb1, 0xf2, 0xfa, 0x3d, + 0x7a, 0x1f, 0x5d, 0x2f, 0x13, 0xc0, 0xb7, 0xd1, 0x16, 0x7f, 0xf3, 0xa6, 0x86, 0x7a, 0x80, 0x72, + 0x07, 0x96, 0x8f, 0x59, 0x22, 0x7a, 0x0c, 0x99, 0x15, 0x87, 0xcd, 0xc8, 0x05, 0x5a, 0xc0, 0x18, + 0x7c, 0x99, 0x70, 0xfd, 0x5f, 0x5b, 0xa2, 0x4f, 0xf5, 0x3d, 0x29, 0x11, 0xde, 0x47, 0xe7, 0x17, + 0x56, 0xe3, 0xf5, 0x85, 0xd5, 0xf8, 0xfd, 0xc2, 0x6a, 0xfc, 0x90, 0x5b, 0xc6, 0x79, 0x6e, 0x19, + 0xaf, 0x73, 0xcb, 0xf8, 0x23, 0xb7, 0x8c, 0x9f, 0xfe, 0xb4, 0x1a, 0xdf, 0x34, 0x27, 0xfd, 0x7f, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x11, 0x6a, 0xc0, 0x63, 0xc4, 0x09, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto index 56d19a9cc95..249ce57252b 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/register.go b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/register.go index c0f83dedda6..84a2592b226 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "autoscaling" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/register.go b/staging/src/k8s.io/client-go/pkg/apis/batch/register.go index 792f057c3f2..c322cf96007 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/register.go @@ -18,23 +18,23 @@ package batch import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "batch" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -52,6 +52,7 @@ func addKnownTypes(scheme *runtime.Scheme) error { &CronJob{}, &CronJobList{}, &api.ListOptions{}, + &api.DeleteOptions{}, ) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJob"), &CronJob{}) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJobList"), &CronJobList{}) diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.pb.go index f062e52e6f8..f4b6ec4619d 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.pb.go @@ -1519,59 +1519,60 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 863 bytes of a gzipped FileDescriptorProto + // 872 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0xcf, 0x6f, 0xe3, 0x44, 0x14, 0xce, 0x8f, 0xa6, 0x4d, 0xa6, 0x3f, 0x76, 0x19, 0xa9, 0x52, 0xc8, 0x21, 0x59, 0x05, 0x84, - 0x16, 0xb1, 0x1d, 0x2b, 0x65, 0x91, 0x10, 0x07, 0x24, 0x5c, 0x84, 0x44, 0xd5, 0xb2, 0xd5, 0xa4, - 0x42, 0x2b, 0x10, 0x48, 0x63, 0xfb, 0x6d, 0x3a, 0xd4, 0xf6, 0x58, 0x9e, 0x71, 0xd0, 0xde, 0xb8, - 0x71, 0xe5, 0xaf, 0x01, 0xf1, 0x1f, 0xf4, 0xb8, 0xe2, 0xc4, 0x29, 0xa2, 0xe6, 0xbf, 0xd8, 0x13, - 0xf2, 0x78, 0x62, 0x3b, 0x4d, 0x1a, 0xa5, 0xdc, 0x3c, 0x6f, 0xbe, 0xef, 0x7b, 0xcf, 0xef, 0x7d, - 0xf3, 0xd0, 0xc7, 0xd7, 0x9f, 0x4a, 0xc2, 0x85, 0x75, 0x9d, 0x38, 0x10, 0x87, 0xa0, 0x40, 0x5a, - 0xd1, 0xf5, 0xc4, 0x62, 0x11, 0x97, 0x96, 0xc3, 0x94, 0x7b, 0x65, 0x4d, 0x47, 0xd6, 0x04, 0x42, - 0x88, 0x99, 0x02, 0x8f, 0x44, 0xb1, 0x50, 0x02, 0xbf, 0x97, 0x93, 0x48, 0x49, 0x22, 0xd1, 0xf5, - 0x84, 0x64, 0x24, 0xa2, 0x49, 0x64, 0x3a, 0xea, 0x1d, 0x4d, 0xb8, 0xba, 0x4a, 0x1c, 0xe2, 0x8a, - 0xc0, 0x9a, 0x88, 0x89, 0xb0, 0x34, 0xd7, 0x49, 0x5e, 0xe9, 0x93, 0x3e, 0xe8, 0xaf, 0x5c, 0xb3, - 0x77, 0x7c, 0x6f, 0x21, 0x56, 0x0c, 0x52, 0x24, 0xb1, 0x0b, 0x77, 0xeb, 0xe8, 0x7d, 0x72, 0x3f, - 0x27, 0x09, 0xa7, 0x10, 0x4b, 0x2e, 0x42, 0xf0, 0x96, 0x68, 0xcf, 0xee, 0xa7, 0x2d, 0xff, 0x6c, - 0xef, 0x68, 0x35, 0x3a, 0x4e, 0x42, 0xc5, 0x83, 0xe5, 0x9a, 0x46, 0xab, 0xe1, 0x89, 0xe2, 0xbe, - 0xc5, 0x43, 0x25, 0x55, 0x7c, 0x97, 0x32, 0xfc, 0xb5, 0x81, 0x9a, 0xa7, 0xc2, 0xc1, 0x2f, 0x51, - 0x3b, 0x00, 0xc5, 0x3c, 0xa6, 0x58, 0xb7, 0xfe, 0xa4, 0xfe, 0x74, 0xf7, 0xf8, 0x29, 0xb9, 0xb7, - 0xd3, 0x64, 0x3a, 0x22, 0x2f, 0x9c, 0x9f, 0xc0, 0x55, 0xe7, 0xa0, 0x98, 0x8d, 0x6f, 0x66, 0x83, - 0x5a, 0x3a, 0x1b, 0xa0, 0x32, 0x46, 0x0b, 0x35, 0xfc, 0x0d, 0xda, 0x92, 0x11, 0xb8, 0xdd, 0x86, - 0x56, 0x7d, 0x46, 0x36, 0x98, 0x1f, 0x39, 0x15, 0xce, 0x38, 0x02, 0xd7, 0xde, 0x33, 0xca, 0x5b, - 0xd9, 0x89, 0x6a, 0x1d, 0xfc, 0x2d, 0xda, 0x96, 0x8a, 0xa9, 0x44, 0x76, 0x9b, 0x5a, 0x91, 0x6c, - 0xac, 0xa8, 0x59, 0xf6, 0x81, 0xd1, 0xdc, 0xce, 0xcf, 0xd4, 0xa8, 0x0d, 0xff, 0x6a, 0xa2, 0xbd, - 0x53, 0xe1, 0x9c, 0x88, 0xd0, 0xe3, 0x8a, 0x8b, 0x10, 0x3f, 0x47, 0x5b, 0xea, 0x75, 0x04, 0xba, - 0x1d, 0x1d, 0xfb, 0xc9, 0xbc, 0x94, 0xcb, 0xd7, 0x11, 0xbc, 0x9d, 0x0d, 0x1e, 0x57, 0xb1, 0x59, - 0x8c, 0x6a, 0x74, 0xa5, 0xbc, 0x86, 0xe6, 0x7d, 0xbe, 0x98, 0xee, 0xed, 0x6c, 0xb0, 0xd6, 0x02, - 0xa4, 0xd0, 0x5c, 0x2c, 0x0f, 0x5f, 0xa1, 0x7d, 0x9f, 0x49, 0x75, 0x11, 0x0b, 0x07, 0x2e, 0x79, - 0x00, 0xe6, 0xef, 0x3f, 0x5a, 0x33, 0xa5, 0x8a, 0x0f, 0x49, 0x46, 0xb1, 0x0f, 0x4d, 0x2d, 0xfb, - 0x67, 0x55, 0x25, 0xba, 0x28, 0x8c, 0x7f, 0x46, 0x38, 0x0b, 0x5c, 0xc6, 0x2c, 0x94, 0xf9, 0xdf, - 0x65, 0xe9, 0xb6, 0x1e, 0x9e, 0xae, 0x67, 0xd2, 0xe1, 0xb3, 0x25, 0x39, 0xba, 0x22, 0x05, 0xfe, - 0x00, 0x6d, 0xc7, 0xc0, 0xa4, 0x08, 0xbb, 0x2d, 0xdd, 0xba, 0x62, 0x52, 0x54, 0x47, 0xa9, 0xb9, - 0xc5, 0x1f, 0xa2, 0x9d, 0x00, 0xa4, 0x64, 0x13, 0xe8, 0x6e, 0x6b, 0xe0, 0x23, 0x03, 0xdc, 0x39, - 0xcf, 0xc3, 0x74, 0x7e, 0x3f, 0xfc, 0xa3, 0x8e, 0x76, 0x4e, 0x85, 0x73, 0xc6, 0xa5, 0xc2, 0x3f, - 0x2c, 0x59, 0xdc, 0xda, 0xf0, 0x6f, 0x32, 0xba, 0x76, 0xfa, 0x63, 0x93, 0xa8, 0x3d, 0x8f, 0x54, - 0x7c, 0x7e, 0x8e, 0x5a, 0x5c, 0x41, 0x90, 0xcd, 0xbd, 0xb9, 0xfe, 0xf9, 0x2c, 0xda, 0xd2, 0xde, - 0x37, 0xa2, 0xad, 0xaf, 0x33, 0x3a, 0xcd, 0x55, 0x86, 0x7f, 0x36, 0x75, 0xe5, 0x99, 0xf1, 0xf1, - 0x08, 0xed, 0x46, 0x2c, 0x66, 0xbe, 0x0f, 0x3e, 0x97, 0x81, 0x2e, 0xbe, 0x65, 0x3f, 0x4a, 0x67, - 0x83, 0xdd, 0x8b, 0x32, 0x4c, 0xab, 0x98, 0x8c, 0xe2, 0x8a, 0x20, 0xf2, 0x21, 0xeb, 0x6e, 0xee, - 0x45, 0x43, 0x39, 0x29, 0xc3, 0xb4, 0x8a, 0xc1, 0x2f, 0xd0, 0x21, 0x73, 0x15, 0x9f, 0xc2, 0x97, - 0xc0, 0x3c, 0x9f, 0x87, 0x30, 0x06, 0x57, 0x84, 0x5e, 0xfe, 0xce, 0x9a, 0xf6, 0xbb, 0xe9, 0x6c, - 0x70, 0xf8, 0xc5, 0x2a, 0x00, 0x5d, 0xcd, 0xc3, 0x3f, 0xa2, 0xb6, 0x04, 0x1f, 0x5c, 0x25, 0x62, - 0x63, 0x9f, 0xe7, 0x9b, 0x36, 0x9c, 0x39, 0xe0, 0x8f, 0x0d, 0xd7, 0xde, 0xcb, 0x3a, 0x3e, 0x3f, - 0xd1, 0x42, 0x13, 0x7f, 0x86, 0x0e, 0x02, 0x16, 0x26, 0xac, 0x40, 0x6a, 0xdf, 0xb4, 0x6d, 0x9c, - 0xce, 0x06, 0x07, 0xe7, 0x0b, 0x37, 0xf4, 0x0e, 0x12, 0x7f, 0x8f, 0xda, 0x0a, 0x82, 0xc8, 0x67, - 0x2a, 0x37, 0xd1, 0xee, 0xf1, 0xd1, 0xfa, 0x7d, 0x77, 0x21, 0xbc, 0x4b, 0x43, 0xd0, 0xab, 0xa9, - 0xb0, 0xc2, 0x3c, 0x4a, 0x0b, 0xc1, 0xe1, 0xef, 0x4d, 0xd4, 0x29, 0x16, 0x0e, 0x06, 0x84, 0xdc, - 0xf9, 0xa3, 0x96, 0xdd, 0xba, 0x76, 0xc7, 0x68, 0x53, 0x77, 0x14, 0xeb, 0xa0, 0xdc, 0xb2, 0x45, - 0x48, 0xd2, 0x8a, 0x30, 0x7e, 0x89, 0x3a, 0x52, 0xb1, 0x58, 0xe9, 0xd7, 0xda, 0x78, 0xf8, 0x6b, - 0xdd, 0x4f, 0x67, 0x83, 0xce, 0x78, 0xae, 0x40, 0x4b, 0x31, 0x3c, 0x41, 0x07, 0xa5, 0x4f, 0xfe, - 0xef, 0xee, 0xd1, 0x43, 0x39, 0x59, 0x90, 0xa1, 0x77, 0x64, 0xb3, 0x05, 0x90, 0x3b, 0x49, 0xdb, - 0xa5, 0x55, 0x2e, 0x80, 0xdc, 0x76, 0xd4, 0xdc, 0x62, 0x0b, 0x75, 0x64, 0xe2, 0xba, 0x00, 0x1e, - 0x78, 0x7a, 0xe6, 0x2d, 0xfb, 0x1d, 0x03, 0xed, 0x8c, 0xe7, 0x17, 0xb4, 0xc4, 0x64, 0xc2, 0xaf, - 0x18, 0xf7, 0xc1, 0xd3, 0xb3, 0xae, 0x08, 0x7f, 0xa5, 0xa3, 0xd4, 0xdc, 0xda, 0xef, 0xdf, 0xdc, - 0xf6, 0x6b, 0x6f, 0x6e, 0xfb, 0xb5, 0xbf, 0x6f, 0xfb, 0xb5, 0x5f, 0xd2, 0x7e, 0xfd, 0x26, 0xed, - 0xd7, 0xdf, 0xa4, 0xfd, 0xfa, 0x3f, 0x69, 0xbf, 0xfe, 0xdb, 0xbf, 0xfd, 0xda, 0x77, 0x8d, 0xe9, - 0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x45, 0x86, 0xd9, 0xb8, 0x08, 0x00, 0x00, + 0x16, 0xb1, 0x1d, 0x2b, 0xa5, 0x48, 0x88, 0x03, 0x12, 0x2e, 0x42, 0xa2, 0x6a, 0xd9, 0x6a, 0x52, + 0xa1, 0x15, 0x08, 0xa4, 0xb1, 0xfd, 0x36, 0x1d, 0x6a, 0x7b, 0x2c, 0xcf, 0x38, 0x68, 0x6f, 0xdc, + 0xb8, 0xf2, 0xd7, 0x80, 0xf8, 0x0f, 0x7a, 0x5c, 0x71, 0xe2, 0x14, 0x51, 0xf3, 0x5f, 0xec, 0x09, + 0x79, 0x3c, 0xb1, 0x9d, 0x26, 0x8d, 0xb2, 0xdc, 0x3c, 0xef, 0x7d, 0xdf, 0xf7, 0x9e, 0xe7, 0x7d, + 0xf3, 0xd0, 0xc7, 0x37, 0x9f, 0x4a, 0xc2, 0x85, 0x75, 0x93, 0x38, 0x10, 0x87, 0xa0, 0x40, 0x5a, + 0xd1, 0xcd, 0xc4, 0x62, 0x11, 0x97, 0x96, 0xc3, 0x94, 0x7b, 0x6d, 0x4d, 0x47, 0xd6, 0x04, 0x42, + 0x88, 0x99, 0x02, 0x8f, 0x44, 0xb1, 0x50, 0x02, 0xbf, 0x97, 0x93, 0x48, 0x49, 0x22, 0xd1, 0xcd, + 0x84, 0x64, 0x24, 0xa2, 0x49, 0x64, 0x3a, 0xea, 0x1d, 0x4d, 0xb8, 0xba, 0x4e, 0x1c, 0xe2, 0x8a, + 0xc0, 0x9a, 0x88, 0x89, 0xb0, 0x34, 0xd7, 0x49, 0x5e, 0xea, 0x93, 0x3e, 0xe8, 0xaf, 0x5c, 0xb3, + 0x77, 0xfc, 0x60, 0x23, 0x56, 0x0c, 0x52, 0x24, 0xb1, 0x0b, 0xf7, 0xfb, 0xe8, 0x7d, 0xf2, 0x30, + 0x27, 0x09, 0xa7, 0x10, 0x4b, 0x2e, 0x42, 0xf0, 0x96, 0x68, 0xcf, 0x1e, 0xa6, 0x2d, 0xff, 0x6c, + 0xef, 0x68, 0x35, 0x3a, 0x4e, 0x42, 0xc5, 0x83, 0xe5, 0x9e, 0x4e, 0xd6, 0xc3, 0xa5, 0x7b, 0x0d, + 0x01, 0x5b, 0x62, 0x8d, 0x56, 0xb3, 0x12, 0xc5, 0x7d, 0x8b, 0x87, 0x4a, 0xaa, 0xf8, 0x3e, 0x65, + 0xf8, 0x6b, 0x03, 0x35, 0xcf, 0x84, 0x83, 0x5f, 0xa0, 0x76, 0x00, 0x8a, 0x79, 0x4c, 0xb1, 0x6e, + 0xfd, 0x49, 0xfd, 0xe9, 0xee, 0xf1, 0x53, 0xf2, 0xe0, 0x7c, 0xc8, 0x74, 0x44, 0x9e, 0x3b, 0x3f, + 0x81, 0xab, 0x2e, 0x40, 0x31, 0x1b, 0xdf, 0xce, 0x06, 0xb5, 0x74, 0x36, 0x40, 0x65, 0x8c, 0x16, + 0x6a, 0xf8, 0x1b, 0xb4, 0x25, 0x23, 0x70, 0xbb, 0x0d, 0xad, 0xfa, 0x8c, 0x6c, 0x30, 0x75, 0x72, + 0x26, 0x9c, 0x71, 0x04, 0xae, 0xbd, 0x67, 0x94, 0xb7, 0xb2, 0x13, 0xd5, 0x3a, 0xf8, 0x5b, 0xb4, + 0x2d, 0x15, 0x53, 0x89, 0xec, 0x36, 0xb5, 0x22, 0xd9, 0x58, 0x51, 0xb3, 0xec, 0x03, 0xa3, 0xb9, + 0x9d, 0x9f, 0xa9, 0x51, 0x1b, 0xfe, 0xd5, 0x44, 0x7b, 0x67, 0xc2, 0x39, 0x15, 0xa1, 0xc7, 0x15, + 0x17, 0x21, 0x3e, 0x41, 0x5b, 0xea, 0x55, 0x04, 0xfa, 0x3a, 0x3a, 0xf6, 0x93, 0x79, 0x2b, 0x57, + 0xaf, 0x22, 0x78, 0x33, 0x1b, 0x3c, 0xae, 0x62, 0xb3, 0x18, 0xd5, 0xe8, 0x4a, 0x7b, 0x0d, 0xcd, + 0xfb, 0x7c, 0xb1, 0xdc, 0x9b, 0xd9, 0x60, 0xad, 0x71, 0x48, 0xa1, 0xb9, 0xd8, 0x1e, 0xbe, 0x46, + 0xfb, 0x3e, 0x93, 0xea, 0x32, 0x16, 0x0e, 0x5c, 0xf1, 0x00, 0xcc, 0xdf, 0x7f, 0xb4, 0x66, 0x4a, + 0x15, 0xf7, 0x92, 0x8c, 0x62, 0x1f, 0x9a, 0x5e, 0xf6, 0xcf, 0xab, 0x4a, 0x74, 0x51, 0x18, 0xff, + 0x8c, 0x70, 0x16, 0xb8, 0x8a, 0x59, 0x28, 0xf3, 0xbf, 0xcb, 0xca, 0x6d, 0xbd, 0x7d, 0xb9, 0x9e, + 0x29, 0x87, 0xcf, 0x97, 0xe4, 0xe8, 0x8a, 0x12, 0xf8, 0x03, 0xb4, 0x1d, 0x03, 0x93, 0x22, 0xec, + 0xb6, 0xf4, 0xd5, 0x15, 0x93, 0xa2, 0x3a, 0x4a, 0x4d, 0x16, 0x7f, 0x88, 0x76, 0x02, 0x90, 0x92, + 0x4d, 0xa0, 0xbb, 0xad, 0x81, 0x8f, 0x0c, 0x70, 0xe7, 0x22, 0x0f, 0xd3, 0x79, 0x7e, 0xf8, 0x47, + 0x1d, 0xed, 0x9c, 0x09, 0xe7, 0x9c, 0x4b, 0x85, 0x7f, 0x58, 0xb2, 0xb8, 0xb5, 0xe1, 0xdf, 0x64, + 0x74, 0xed, 0xf4, 0xc7, 0xa6, 0x50, 0x7b, 0x1e, 0xa9, 0xf8, 0xfc, 0x02, 0xb5, 0xb8, 0x82, 0x20, + 0x9b, 0x7b, 0x73, 0xfd, 0xf3, 0x59, 0xb4, 0xa5, 0xbd, 0x6f, 0x44, 0x5b, 0x5f, 0x67, 0x74, 0x9a, + 0xab, 0x0c, 0xff, 0x6c, 0xea, 0xce, 0x33, 0xe3, 0xe3, 0x11, 0xda, 0x8d, 0x58, 0xcc, 0x7c, 0x1f, + 0x7c, 0x2e, 0x03, 0xdd, 0x7c, 0xcb, 0x7e, 0x94, 0xce, 0x06, 0xbb, 0x97, 0x65, 0x98, 0x56, 0x31, + 0x19, 0xc5, 0x15, 0x41, 0xe4, 0x43, 0x76, 0xbb, 0xb9, 0x17, 0x0d, 0xe5, 0xb4, 0x0c, 0xd3, 0x2a, + 0x06, 0x3f, 0x47, 0x87, 0xcc, 0x55, 0x7c, 0x0a, 0x5f, 0x02, 0xf3, 0x7c, 0x1e, 0xc2, 0x18, 0x5c, + 0x11, 0x7a, 0xf9, 0x3b, 0x6b, 0xda, 0xef, 0xa6, 0xb3, 0xc1, 0xe1, 0x17, 0xab, 0x00, 0x74, 0x35, + 0x0f, 0xff, 0x88, 0xda, 0x12, 0x7c, 0x70, 0x95, 0x88, 0x8d, 0x7d, 0x4e, 0x36, 0xbd, 0x70, 0xe6, + 0x80, 0x3f, 0x36, 0x5c, 0x7b, 0x2f, 0xbb, 0xf1, 0xf9, 0x89, 0x16, 0x9a, 0xf8, 0x33, 0x74, 0x10, + 0xb0, 0x30, 0x61, 0x05, 0x52, 0xfb, 0xa6, 0x6d, 0xe3, 0x74, 0x36, 0x38, 0xb8, 0x58, 0xc8, 0xd0, + 0x7b, 0x48, 0xfc, 0x3d, 0x6a, 0x2b, 0x08, 0x22, 0x9f, 0xa9, 0xdc, 0x44, 0xbb, 0xc7, 0x47, 0xeb, + 0xf7, 0xdd, 0xa5, 0xf0, 0xae, 0x0c, 0x41, 0xaf, 0xa6, 0xc2, 0x0a, 0xf3, 0x28, 0x2d, 0x04, 0x87, + 0xbf, 0x37, 0x51, 0xa7, 0x58, 0x38, 0x18, 0x10, 0x72, 0xe7, 0x8f, 0x5a, 0x76, 0xeb, 0xda, 0x1d, + 0xa3, 0x4d, 0xdd, 0x51, 0xac, 0x83, 0x72, 0xcb, 0x16, 0x21, 0x49, 0x2b, 0xc2, 0xf8, 0x05, 0xea, + 0x48, 0xc5, 0x62, 0xa5, 0x5f, 0x6b, 0xe3, 0xed, 0x5f, 0xeb, 0x7e, 0x3a, 0x1b, 0x74, 0xc6, 0x73, + 0x05, 0x5a, 0x8a, 0xe1, 0x09, 0x3a, 0x28, 0x7d, 0xf2, 0x7f, 0x77, 0x8f, 0x1e, 0xca, 0xe9, 0x82, + 0x0c, 0xbd, 0x27, 0x9b, 0x2d, 0x80, 0xdc, 0x49, 0xda, 0x2e, 0xad, 0x72, 0x01, 0xe4, 0xb6, 0xa3, + 0x26, 0x8b, 0x2d, 0xd4, 0x91, 0x89, 0xeb, 0x02, 0x78, 0xe0, 0xe9, 0x99, 0xb7, 0xec, 0x77, 0x0c, + 0xb4, 0x33, 0x9e, 0x27, 0x68, 0x89, 0xc9, 0x84, 0x5f, 0x32, 0xee, 0x83, 0xa7, 0x67, 0x5d, 0x11, + 0xfe, 0x4a, 0x47, 0xa9, 0xc9, 0xda, 0xef, 0xdf, 0xde, 0xf5, 0x6b, 0xaf, 0xef, 0xfa, 0xb5, 0xbf, + 0xef, 0xfa, 0xb5, 0x5f, 0xd2, 0x7e, 0xfd, 0x36, 0xed, 0xd7, 0x5f, 0xa7, 0xfd, 0xfa, 0x3f, 0x69, + 0xbf, 0xfe, 0xdb, 0xbf, 0xfd, 0xda, 0x77, 0x8d, 0xe9, 0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x9f, 0xc8, 0x32, 0x84, 0xee, 0x08, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto index 17a6add05ac..25957a999d0 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/register.go b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/register.go index 543bce11ab3..1a37cb92426 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "batch" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.pb.go index 29bd9214358..33f551d0085 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.pb.go @@ -2706,77 +2706,77 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1141 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0x4b, 0x6f, 0xe4, 0x44, - 0x10, 0x8e, 0x67, 0x92, 0x79, 0xf4, 0x6c, 0x5e, 0x0d, 0xd1, 0x0e, 0x41, 0x9a, 0x89, 0x46, 0x02, - 0x65, 0x61, 0x63, 0x2b, 0xa3, 0x00, 0xcb, 0x1e, 0x90, 0xd6, 0x41, 0x48, 0x44, 0x89, 0x36, 0xea, - 0xc9, 0x42, 0x04, 0x0b, 0xa2, 0xc7, 0xee, 0xcc, 0x78, 0x63, 0xbb, 0x8d, 0xbb, 0x1d, 0x94, 0x1b, - 0x67, 0x4e, 0x48, 0xfc, 0x00, 0x7e, 0x07, 0x12, 0x1c, 0x38, 0x20, 0xe5, 0xb8, 0x20, 0x21, 0x71, - 0x1a, 0x11, 0xf3, 0x2f, 0x72, 0x42, 0x6e, 0xb7, 0x1f, 0xf3, 0x0a, 0x99, 0xa0, 0x45, 0xe2, 0xe6, - 0xae, 0xae, 0xef, 0xeb, 0xea, 0xaa, 0xaf, 0xab, 0x0c, 0xde, 0x3d, 0x7d, 0xc0, 0x54, 0x8b, 0x6a, - 0xa7, 0x41, 0x97, 0xf8, 0x2e, 0xe1, 0x84, 0x69, 0xde, 0x69, 0x4f, 0xc3, 0x9e, 0xc5, 0xb4, 0x2e, - 0xe6, 0x46, 0x5f, 0x3b, 0x6b, 0x63, 0xdb, 0xeb, 0xe3, 0x6d, 0xad, 0x47, 0x5c, 0xe2, 0x63, 0x4e, - 0x4c, 0xd5, 0xf3, 0x29, 0xa7, 0xf0, 0x5e, 0x0c, 0x55, 0x33, 0xa8, 0xea, 0x9d, 0xf6, 0xd4, 0x08, - 0xaa, 0x0a, 0xa8, 0x9a, 0x40, 0xd7, 0xb7, 0x7a, 0x16, 0xef, 0x07, 0x5d, 0xd5, 0xa0, 0x8e, 0xd6, - 0xa3, 0x3d, 0xaa, 0x09, 0x86, 0x6e, 0x70, 0x22, 0x56, 0x62, 0x21, 0xbe, 0x62, 0xe6, 0xf5, 0xf6, - 0xd4, 0xa0, 0x34, 0x9f, 0x30, 0x1a, 0xf8, 0x06, 0x19, 0x8d, 0x66, 0xfd, 0xad, 0xe9, 0x98, 0xc0, - 0x3d, 0x23, 0x3e, 0xb3, 0xa8, 0x4b, 0xcc, 0x31, 0xd8, 0xfd, 0xe9, 0xb0, 0xb3, 0xb1, 0x2b, 0xaf, - 0x6f, 0x4d, 0xf6, 0xf6, 0x03, 0x97, 0x5b, 0xce, 0x78, 0x4c, 0xdb, 0x93, 0xdd, 0x03, 0x6e, 0xd9, - 0x9a, 0xe5, 0x72, 0xc6, 0xfd, 0x51, 0x48, 0xeb, 0xfb, 0x02, 0x28, 0xef, 0xfa, 0xd4, 0xdd, 0xa3, - 0x5d, 0x78, 0x0c, 0x2a, 0x0e, 0xe1, 0xd8, 0xc4, 0x1c, 0xd7, 0x95, 0x0d, 0x65, 0xb3, 0xd6, 0xde, - 0x54, 0xa7, 0xe6, 0x5c, 0x3d, 0xdb, 0x56, 0x1f, 0x77, 0x9f, 0x11, 0x83, 0x1f, 0x10, 0x8e, 0x75, - 0x78, 0x31, 0x68, 0xce, 0x85, 0x83, 0x26, 0xc8, 0x6c, 0x28, 0x65, 0x83, 0xc7, 0x60, 0x9e, 0x79, - 0xc4, 0xa8, 0x17, 0x04, 0xeb, 0xdb, 0xea, 0x8d, 0x2b, 0xa9, 0xca, 0xd8, 0x3a, 0x1e, 0x31, 0xf4, - 0x3b, 0xf2, 0x8c, 0xf9, 0x68, 0x85, 0x04, 0x23, 0xfc, 0x02, 0x94, 0x18, 0xc7, 0x3c, 0x60, 0xf5, - 0xa2, 0xe0, 0x7e, 0x70, 0x0b, 0x6e, 0x81, 0xd7, 0x97, 0x24, 0x7b, 0x29, 0x5e, 0x23, 0xc9, 0xdb, - 0xfa, 0x45, 0x01, 0x35, 0xe9, 0xb9, 0x6f, 0x31, 0x0e, 0x3f, 0x1b, 0xcb, 0x92, 0x76, 0x4d, 0x96, - 0x72, 0x5a, 0x50, 0x23, 0xb8, 0x48, 0xd6, 0x8a, 0x3c, 0xaa, 0x92, 0x58, 0x72, 0xa9, 0xfa, 0x18, - 0x2c, 0x58, 0x9c, 0x38, 0xac, 0x5e, 0xd8, 0x28, 0x6e, 0xd6, 0xda, 0xed, 0xd9, 0xef, 0xa3, 0x2f, - 0x4a, 0xfa, 0x85, 0x0f, 0x23, 0x22, 0x14, 0xf3, 0xb5, 0xbe, 0x29, 0xa6, 0xf7, 0x88, 0xf2, 0x07, - 0xef, 0x83, 0x0a, 0x33, 0xfa, 0xc4, 0x0c, 0x6c, 0x22, 0xee, 0x51, 0xcd, 0xc2, 0xea, 0x48, 0x3b, - 0x4a, 0x3d, 0xe0, 0x13, 0x70, 0x97, 0x71, 0xec, 0x73, 0xcb, 0xed, 0xbd, 0x4f, 0xb0, 0x69, 0x5b, - 0x2e, 0xe9, 0x10, 0x83, 0xba, 0x26, 0x13, 0x45, 0x2d, 0xea, 0xaf, 0x86, 0x83, 0xe6, 0xdd, 0xce, - 0x64, 0x17, 0x34, 0x0d, 0x0b, 0x9f, 0x82, 0x55, 0x83, 0xba, 0x46, 0xe0, 0xfb, 0xc4, 0x35, 0xce, - 0x0f, 0xa9, 0x6d, 0x19, 0xe7, 0xa2, 0x92, 0x55, 0x5d, 0x95, 0xd1, 0xac, 0xee, 0x8e, 0x3a, 0x5c, - 0x4d, 0x32, 0xa2, 0x71, 0x22, 0xf8, 0x1a, 0x28, 0xb3, 0x80, 0x79, 0xc4, 0x35, 0xeb, 0xf3, 0x1b, - 0xca, 0x66, 0x45, 0xaf, 0x85, 0x83, 0x66, 0xb9, 0x13, 0x9b, 0x50, 0xb2, 0x07, 0xbf, 0x04, 0xb5, - 0x67, 0xb4, 0x7b, 0x44, 0x1c, 0xcf, 0xc6, 0x9c, 0xd4, 0x17, 0x44, 0x51, 0x1f, 0xce, 0x90, 0xf8, - 0xbd, 0x0c, 0x2d, 0x84, 0xfa, 0x92, 0x0c, 0xbd, 0x96, 0xdb, 0x40, 0xf9, 0x33, 0x5a, 0xbf, 0x2b, - 0x60, 0x71, 0x48, 0x7e, 0xf0, 0x09, 0x28, 0x61, 0x83, 0x5b, 0x67, 0x51, 0x31, 0xa2, 0xc2, 0x6f, - 0xdd, 0xe4, 0xe9, 0x21, 0x72, 0x42, 0xa2, 0x0b, 0x93, 0x4c, 0xbd, 0x8f, 0x04, 0x09, 0x92, 0x64, - 0xd0, 0x01, 0x2b, 0x36, 0x66, 0x3c, 0xa9, 0xe8, 0x91, 0xe5, 0x10, 0x91, 0x8b, 0x5a, 0xfb, 0xcd, - 0x1b, 0xaa, 0x36, 0x82, 0xe8, 0x2f, 0x87, 0x83, 0xe6, 0xca, 0xfe, 0x08, 0x11, 0x1a, 0xa3, 0x6e, - 0x7d, 0x57, 0x00, 0xc5, 0x17, 0xdb, 0x4a, 0x8e, 0x86, 0x5a, 0x49, 0x7b, 0xb6, 0x2a, 0x4d, 0x6d, - 0x23, 0x4f, 0x47, 0xda, 0xc8, 0xce, 0x8c, 0xbc, 0xd7, 0xb7, 0x90, 0xdf, 0x8a, 0xe0, 0xce, 0x1e, - 0xed, 0xee, 0x52, 0xd7, 0xb4, 0xb8, 0x45, 0x5d, 0xb8, 0x03, 0xe6, 0xf9, 0xb9, 0x97, 0xbc, 0xbb, - 0x8d, 0x24, 0xa0, 0xa3, 0x73, 0x8f, 0x5c, 0x0d, 0x9a, 0x2b, 0x79, 0xdf, 0xc8, 0x86, 0x84, 0x37, - 0xfc, 0x28, 0x0d, 0xb2, 0x20, 0x70, 0xef, 0x0d, 0x1f, 0x77, 0x35, 0x68, 0x5e, 0x3b, 0x5d, 0xd4, - 0x94, 0x73, 0x38, 0x3c, 0xd8, 0x07, 0x8b, 0x51, 0x21, 0x0f, 0x7d, 0xda, 0x8d, 0x05, 0x52, 0x9c, - 0x5d, 0x20, 0x6b, 0x32, 0x96, 0xc5, 0xfd, 0x3c, 0x13, 0x1a, 0x26, 0x86, 0x5f, 0x01, 0x18, 0x19, - 0x8e, 0x7c, 0xec, 0xb2, 0xf8, 0x76, 0xb7, 0xd4, 0xe3, 0xba, 0x3c, 0x0e, 0xee, 0x8f, 0xd1, 0xa1, - 0x09, 0x47, 0xc0, 0xd7, 0x41, 0xc9, 0x27, 0x98, 0x51, 0x57, 0xbc, 0xee, 0x6a, 0x56, 0x29, 0x24, - 0xac, 0x48, 0xee, 0xc2, 0x7b, 0xa0, 0xec, 0x10, 0xc6, 0x70, 0x8f, 0xd4, 0x4b, 0xc2, 0x71, 0x59, - 0x3a, 0x96, 0x0f, 0x62, 0x33, 0x4a, 0xf6, 0x5b, 0x3f, 0x29, 0xa0, 0xfc, 0x1f, 0xcd, 0x84, 0xce, - 0xf0, 0x4c, 0x50, 0x67, 0x13, 0xe7, 0x94, 0x79, 0xf0, 0x43, 0x51, 0xc4, 0x2f, 0x66, 0xc1, 0x36, - 0xa8, 0x79, 0xd8, 0xc7, 0xb6, 0x4d, 0x6c, 0x8b, 0x39, 0xe2, 0x0a, 0x0b, 0xfa, 0x72, 0xd4, 0xc1, - 0x0e, 0x33, 0x33, 0xca, 0xfb, 0x44, 0x10, 0x83, 0x3a, 0x9e, 0x4d, 0xa2, 0x1c, 0xc7, 0x8a, 0x94, - 0x90, 0xdd, 0xcc, 0x8c, 0xf2, 0x3e, 0xf0, 0x31, 0x58, 0x8b, 0xbb, 0xd2, 0xe8, 0x04, 0x29, 0x8a, - 0x09, 0xf2, 0x4a, 0x38, 0x68, 0xae, 0x3d, 0x9a, 0xe4, 0x80, 0x26, 0xe3, 0xe0, 0xe7, 0xa0, 0xc2, - 0x88, 0x4d, 0x0c, 0x4e, 0x7d, 0x29, 0xa2, 0x9d, 0x9b, 0xa6, 0x1d, 0x77, 0x89, 0xdd, 0x91, 0x58, - 0xfd, 0x8e, 0x18, 0x7a, 0x72, 0x85, 0x52, 0x4e, 0xf8, 0x10, 0x2c, 0x39, 0xd8, 0x0d, 0x70, 0xea, - 0x29, 0xd4, 0x53, 0xd1, 0x61, 0x38, 0x68, 0x2e, 0x1d, 0x0c, 0xed, 0xa0, 0x11, 0x4f, 0xf8, 0x29, - 0xa8, 0xf0, 0x64, 0xa2, 0x94, 0x44, 0x6c, 0xff, 0xd0, 0xd1, 0x0f, 0xa9, 0x39, 0x34, 0x44, 0x52, - 0x41, 0xa4, 0x13, 0x24, 0x25, 0x6c, 0xfd, 0x58, 0x04, 0xd5, 0x6c, 0x74, 0x9c, 0x02, 0x60, 0x24, - 0x4f, 0x9b, 0xc9, 0xf1, 0xf1, 0xce, 0x6c, 0x1a, 0x49, 0x5b, 0x43, 0xd6, 0x7d, 0x53, 0x13, 0x43, - 0x39, 0x7a, 0x78, 0x0c, 0xaa, 0x62, 0x98, 0x8b, 0x97, 0x5b, 0x98, 0xfd, 0xe5, 0x2e, 0x86, 0x83, - 0x66, 0xb5, 0x93, 0x30, 0xa0, 0x8c, 0x0c, 0xf6, 0xc0, 0x52, 0xa6, 0x96, 0xdb, 0xf6, 0x21, 0x51, - 0x9a, 0xdd, 0x21, 0x1a, 0x34, 0x42, 0x1b, 0x35, 0x03, 0x39, 0x6a, 0xe7, 0x85, 0x6a, 0xa7, 0xcd, - 0x4e, 0x0d, 0x54, 0x59, 0x60, 0x18, 0x84, 0x98, 0xc4, 0x14, 0x95, 0x5f, 0xd0, 0x57, 0xa5, 0x6b, - 0xb5, 0x93, 0x6c, 0xa0, 0xcc, 0x27, 0x22, 0x3e, 0xc1, 0x96, 0x4d, 0x4c, 0x51, 0xf1, 0x1c, 0xf1, - 0x07, 0xc2, 0x8a, 0xe4, 0x6e, 0xeb, 0x57, 0x05, 0xe4, 0x7f, 0x0d, 0x5e, 0xe0, 0xb4, 0xec, 0xe7, - 0x54, 0x58, 0xf8, 0xd7, 0xff, 0x35, 0xd7, 0x49, 0xf2, 0x67, 0x05, 0x2c, 0x8f, 0xf8, 0xff, 0xdf, - 0xfe, 0x02, 0xf4, 0x37, 0x2e, 0x2e, 0x1b, 0x73, 0xcf, 0x2f, 0x1b, 0x73, 0x7f, 0x5c, 0x36, 0xe6, - 0xbe, 0x0e, 0x1b, 0xca, 0x45, 0xd8, 0x50, 0x9e, 0x87, 0x0d, 0xe5, 0xcf, 0xb0, 0xa1, 0x7c, 0xfb, - 0x57, 0x63, 0xee, 0x93, 0x4a, 0xc2, 0xf3, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0x4c, 0xf3, - 0xee, 0xc9, 0x0e, 0x00, 0x00, + // 1149 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0xae, 0x93, 0x36, 0x1f, 0x93, 0xed, 0xd7, 0x40, 0xb5, 0xa1, 0x48, 0x49, 0x15, 0x09, 0xd4, + 0x85, 0xad, 0xad, 0x46, 0x05, 0x96, 0x3d, 0x20, 0xad, 0x8b, 0x90, 0xa8, 0x5a, 0x6d, 0x35, 0xe9, + 0x42, 0x05, 0x0b, 0x62, 0x62, 0x4f, 0x13, 0x6f, 0x6d, 0x8f, 0xf1, 0x8c, 0x8b, 0x7a, 0xe3, 0xcc, + 0x09, 0x89, 0x1f, 0xc0, 0xef, 0x40, 0x82, 0x03, 0x07, 0xa4, 0x1e, 0x17, 0x24, 0x24, 0x4e, 0x11, + 0x35, 0xff, 0xa2, 0x27, 0xe4, 0xf1, 0xf8, 0x23, 0x5f, 0xa5, 0x29, 0x5a, 0x24, 0x6e, 0xf1, 0x3b, + 0xcf, 0xf3, 0xcc, 0x3b, 0xf3, 0x3e, 0xf3, 0xbe, 0x01, 0xef, 0x9e, 0x3e, 0x60, 0xaa, 0x45, 0xb5, + 0xd3, 0xa0, 0x4b, 0x7c, 0x97, 0x70, 0xc2, 0x34, 0xef, 0xb4, 0xa7, 0x61, 0xcf, 0x62, 0x5a, 0x17, + 0x73, 0xa3, 0xaf, 0x9d, 0xb5, 0xb1, 0xed, 0xf5, 0xf1, 0xb6, 0xd6, 0x23, 0x2e, 0xf1, 0x31, 0x27, + 0xa6, 0xea, 0xf9, 0x94, 0x53, 0x78, 0x2f, 0xa6, 0xaa, 0x19, 0x55, 0xf5, 0x4e, 0x7b, 0x6a, 0x44, + 0x55, 0x05, 0x55, 0x4d, 0xa8, 0xeb, 0x5b, 0x3d, 0x8b, 0xf7, 0x83, 0xae, 0x6a, 0x50, 0x47, 0xeb, + 0xd1, 0x1e, 0xd5, 0x84, 0x42, 0x37, 0x38, 0x11, 0x5f, 0xe2, 0x43, 0xfc, 0x8a, 0x95, 0xd7, 0xdb, + 0x53, 0x93, 0xd2, 0x7c, 0xc2, 0x68, 0xe0, 0x1b, 0x64, 0x34, 0x9b, 0xf5, 0xb7, 0xa6, 0x73, 0x02, + 0xf7, 0x8c, 0xf8, 0xcc, 0xa2, 0x2e, 0x31, 0xc7, 0x68, 0xf7, 0xa7, 0xd3, 0xce, 0xc6, 0x8e, 0xbc, + 0xbe, 0x35, 0x19, 0xed, 0x07, 0x2e, 0xb7, 0x9c, 0xf1, 0x9c, 0x76, 0xae, 0x87, 0x33, 0xa3, 0x4f, + 0x1c, 0x3c, 0xc6, 0xda, 0x9e, 0xcc, 0x0a, 0xb8, 0x65, 0x6b, 0x96, 0xcb, 0x19, 0xf7, 0x47, 0x29, + 0xad, 0xef, 0x0b, 0xa0, 0xbc, 0xeb, 0x53, 0x77, 0x8f, 0x76, 0xe1, 0x31, 0xa8, 0x38, 0x84, 0x63, + 0x13, 0x73, 0x5c, 0x57, 0x36, 0x94, 0xcd, 0x5a, 0x7b, 0x53, 0x9d, 0x5a, 0x29, 0xf5, 0x6c, 0x5b, + 0x7d, 0xdc, 0x7d, 0x46, 0x0c, 0x7e, 0x40, 0x38, 0xd6, 0xe1, 0xc5, 0xa0, 0x39, 0x17, 0x0e, 0x9a, + 0x20, 0x8b, 0xa1, 0x54, 0x0d, 0x1e, 0x83, 0x79, 0xe6, 0x11, 0xa3, 0x5e, 0x10, 0xaa, 0x6f, 0xab, + 0x37, 0xae, 0xbf, 0x2a, 0x73, 0xeb, 0x78, 0xc4, 0xd0, 0xef, 0xc8, 0x3d, 0xe6, 0xa3, 0x2f, 0x24, + 0x14, 0xe1, 0x17, 0xa0, 0xc4, 0x38, 0xe6, 0x01, 0xab, 0x17, 0x85, 0xf6, 0x83, 0x5b, 0x68, 0x0b, + 0xbe, 0xbe, 0x24, 0xd5, 0x4b, 0xf1, 0x37, 0x92, 0xba, 0xad, 0x5f, 0x14, 0x50, 0x93, 0xc8, 0x7d, + 0x8b, 0x71, 0xf8, 0xd9, 0xd8, 0x2d, 0x69, 0xd7, 0xdc, 0x52, 0xce, 0x41, 0x6a, 0x44, 0x17, 0x97, + 0xb5, 0x22, 0xb7, 0xaa, 0x24, 0x91, 0xdc, 0x55, 0x7d, 0x0c, 0x16, 0x2c, 0x4e, 0x1c, 0x56, 0x2f, + 0x6c, 0x14, 0x37, 0x6b, 0xed, 0xf6, 0xec, 0xe7, 0xd1, 0x17, 0xa5, 0xfc, 0xc2, 0x87, 0x91, 0x10, + 0x8a, 0xf5, 0x5a, 0xdf, 0x14, 0xd3, 0x73, 0x44, 0xf7, 0x07, 0xef, 0x83, 0x4a, 0x64, 0x23, 0x33, + 0xb0, 0x89, 0x38, 0x47, 0x35, 0x4b, 0xab, 0x23, 0xe3, 0x28, 0x45, 0xc0, 0x27, 0xe0, 0x2e, 0xe3, + 0xd8, 0xe7, 0x96, 0xdb, 0x7b, 0x9f, 0x60, 0xd3, 0xb6, 0x5c, 0xd2, 0x21, 0x06, 0x75, 0x4d, 0x26, + 0x8a, 0x5a, 0xd4, 0x5f, 0x0d, 0x07, 0xcd, 0xbb, 0x9d, 0xc9, 0x10, 0x34, 0x8d, 0x0b, 0x9f, 0x82, + 0x55, 0x83, 0xba, 0x46, 0xe0, 0xfb, 0xc4, 0x35, 0xce, 0x0f, 0xa9, 0x6d, 0x19, 0xe7, 0xa2, 0x92, + 0x55, 0x5d, 0x95, 0xd9, 0xac, 0xee, 0x8e, 0x02, 0xae, 0x26, 0x05, 0xd1, 0xb8, 0x10, 0x7c, 0x0d, + 0x94, 0x59, 0xc0, 0x3c, 0xe2, 0x9a, 0xf5, 0xf9, 0x0d, 0x65, 0xb3, 0xa2, 0xd7, 0xc2, 0x41, 0xb3, + 0xdc, 0x89, 0x43, 0x28, 0x59, 0x83, 0x5f, 0x82, 0xda, 0x33, 0xda, 0x3d, 0x22, 0x8e, 0x67, 0x63, + 0x4e, 0xea, 0x0b, 0xa2, 0xa8, 0x0f, 0x67, 0xb8, 0xf8, 0xbd, 0x8c, 0x2d, 0x8c, 0xfa, 0x92, 0x4c, + 0xbd, 0x96, 0x5b, 0x40, 0xf9, 0x3d, 0x5a, 0xbf, 0x2b, 0x60, 0x71, 0xc8, 0x7e, 0xf0, 0x09, 0x28, + 0x61, 0x83, 0x5b, 0x67, 0x51, 0x31, 0xa2, 0xc2, 0x6f, 0xdd, 0xe4, 0xe9, 0x21, 0x72, 0x42, 0xa2, + 0x03, 0x93, 0xcc, 0xbd, 0x8f, 0x84, 0x08, 0x92, 0x62, 0xd0, 0x01, 0x2b, 0x36, 0x66, 0x3c, 0xa9, + 0xe8, 0x91, 0xe5, 0x10, 0x71, 0x17, 0xb5, 0xf6, 0x9b, 0x37, 0x74, 0x6d, 0x44, 0xd1, 0x5f, 0x0e, + 0x07, 0xcd, 0x95, 0xfd, 0x11, 0x21, 0x34, 0x26, 0xdd, 0xfa, 0xae, 0x00, 0x8a, 0x2f, 0xb6, 0x95, + 0x1c, 0x0d, 0xb5, 0x92, 0xf6, 0x6c, 0x55, 0x9a, 0xda, 0x46, 0x9e, 0x8e, 0xb4, 0x91, 0x9d, 0x19, + 0x75, 0xaf, 0x6f, 0x21, 0xbf, 0x15, 0xc1, 0x9d, 0x3d, 0xda, 0xdd, 0xa5, 0xae, 0x69, 0x71, 0x8b, + 0xba, 0x70, 0x07, 0xcc, 0xf3, 0x73, 0x2f, 0x79, 0x77, 0x1b, 0x49, 0x42, 0x47, 0xe7, 0x1e, 0xb9, + 0x1a, 0x34, 0x57, 0xf2, 0xd8, 0x28, 0x86, 0x04, 0x1a, 0x7e, 0x94, 0x26, 0x59, 0x10, 0xbc, 0xf7, + 0x86, 0xb7, 0xbb, 0x1a, 0x34, 0xaf, 0x9d, 0x49, 0x6a, 0xaa, 0x39, 0x9c, 0x1e, 0xec, 0x83, 0xc5, + 0xa8, 0x90, 0x87, 0x3e, 0xed, 0xc6, 0x06, 0x29, 0xce, 0x6e, 0x90, 0x35, 0x99, 0xcb, 0xe2, 0x7e, + 0x5e, 0x09, 0x0d, 0x0b, 0xc3, 0xaf, 0x00, 0x8c, 0x02, 0x47, 0x3e, 0x76, 0x59, 0x7c, 0xba, 0x5b, + 0xfa, 0x71, 0x5d, 0x6e, 0x07, 0xf7, 0xc7, 0xe4, 0xd0, 0x84, 0x2d, 0xe0, 0xeb, 0xa0, 0xe4, 0x13, + 0xcc, 0xa8, 0x2b, 0x5e, 0x77, 0x35, 0xab, 0x14, 0x12, 0x51, 0x24, 0x57, 0xe1, 0x3d, 0x50, 0x76, + 0x08, 0x63, 0xb8, 0x47, 0xea, 0x25, 0x01, 0x5c, 0x96, 0xc0, 0xf2, 0x41, 0x1c, 0x46, 0xc9, 0x7a, + 0xeb, 0x27, 0x05, 0x94, 0xff, 0xa3, 0x99, 0xd0, 0x19, 0x9e, 0x09, 0xea, 0x6c, 0xe6, 0x9c, 0x32, + 0x0f, 0x7e, 0x28, 0x8a, 0xfc, 0xc5, 0x2c, 0xd8, 0x06, 0x35, 0x0f, 0xfb, 0xd8, 0xb6, 0x89, 0x6d, + 0x31, 0x47, 0x1c, 0x61, 0x41, 0x5f, 0x8e, 0x3a, 0xd8, 0x61, 0x16, 0x46, 0x79, 0x4c, 0x44, 0x31, + 0xa8, 0xe3, 0xd9, 0x24, 0xba, 0xe3, 0xd8, 0x91, 0x92, 0xb2, 0x9b, 0x85, 0x51, 0x1e, 0x03, 0x1f, + 0x83, 0xb5, 0xb8, 0x2b, 0x8d, 0x4e, 0x90, 0xa2, 0x98, 0x20, 0xaf, 0x84, 0x83, 0xe6, 0xda, 0xa3, + 0x49, 0x00, 0x34, 0x99, 0x07, 0x3f, 0x07, 0x15, 0x46, 0x6c, 0x62, 0x70, 0xea, 0x4b, 0x13, 0xed, + 0xdc, 0xf4, 0xda, 0x71, 0x97, 0xd8, 0x1d, 0xc9, 0xd5, 0xef, 0x88, 0xa1, 0x27, 0xbf, 0x50, 0xaa, + 0x09, 0x1f, 0x82, 0x25, 0x07, 0xbb, 0x01, 0x4e, 0x91, 0xc2, 0x3d, 0x15, 0x1d, 0x86, 0x83, 0xe6, + 0xd2, 0xc1, 0xd0, 0x0a, 0x1a, 0x41, 0xc2, 0x4f, 0x41, 0x85, 0x27, 0x13, 0xa5, 0x24, 0x72, 0xfb, + 0x87, 0x8e, 0x7e, 0x48, 0xcd, 0xa1, 0x21, 0x92, 0x1a, 0x22, 0x9d, 0x20, 0xa9, 0x60, 0xeb, 0xc7, + 0x22, 0xa8, 0x66, 0xa3, 0xe3, 0x14, 0x00, 0x23, 0x79, 0xda, 0x4c, 0x8e, 0x8f, 0x77, 0x66, 0xf3, + 0x48, 0xda, 0x1a, 0xb2, 0xee, 0x9b, 0x86, 0x18, 0xca, 0xc9, 0xc3, 0x63, 0x50, 0x15, 0xc3, 0x5c, + 0xbc, 0xdc, 0xc2, 0xec, 0x2f, 0x77, 0x31, 0x1c, 0x34, 0xab, 0x9d, 0x44, 0x01, 0x65, 0x62, 0xb0, + 0x07, 0x96, 0x32, 0xb7, 0xdc, 0xb6, 0x0f, 0x89, 0xd2, 0xec, 0x0e, 0xc9, 0xa0, 0x11, 0xd9, 0xa8, + 0x19, 0xc8, 0x51, 0x3b, 0x2f, 0x5c, 0x3b, 0x6d, 0x76, 0x6a, 0xa0, 0xca, 0x02, 0xc3, 0x20, 0xc4, + 0x24, 0xa6, 0xa8, 0xfc, 0x82, 0xbe, 0x2a, 0xa1, 0xd5, 0x4e, 0xb2, 0x80, 0x32, 0x4c, 0x24, 0x7c, + 0x82, 0x2d, 0x9b, 0x98, 0xa2, 0xe2, 0x39, 0xe1, 0x0f, 0x44, 0x14, 0xc9, 0xd5, 0xd6, 0xaf, 0x0a, + 0xc8, 0xff, 0x35, 0x78, 0x81, 0xd3, 0xb2, 0x9f, 0x73, 0x61, 0xe1, 0x5f, 0xff, 0xaf, 0xb9, 0xce, + 0x92, 0x3f, 0x2b, 0x60, 0x79, 0x04, 0xff, 0x7f, 0xfb, 0x17, 0xa0, 0xbf, 0x71, 0x71, 0xd9, 0x98, + 0x7b, 0x7e, 0xd9, 0x98, 0xfb, 0xe3, 0xb2, 0x31, 0xf7, 0x75, 0xd8, 0x50, 0x2e, 0xc2, 0x86, 0xf2, + 0x3c, 0x6c, 0x28, 0x7f, 0x86, 0x0d, 0xe5, 0xdb, 0xbf, 0x1a, 0x73, 0x9f, 0x54, 0x12, 0x9d, 0xbf, + 0x03, 0x00, 0x00, 0xff, 0xff, 0x74, 0x47, 0xe8, 0xb0, 0xff, 0x0e, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto index 8f4995a5c70..ffa7f5ae4f9 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/register.go index 5bb82b5bbc2..5577e3af0ac 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v2alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "batch" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v2alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v2alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/apis/certificates/register.go b/staging/src/k8s.io/client-go/pkg/apis/certificates/register.go index e3f45969e50..58b1563983f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/certificates/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/certificates/register.go @@ -18,8 +18,8 @@ package certificates import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) var ( @@ -31,15 +31,15 @@ var ( const GroupName = "certificates.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -54,5 +54,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *CertificateSigningRequest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *CertificateSigningRequestList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequestList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.pb.go index 9d8377abcd7..038ff256f7f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.pb.go @@ -1277,49 +1277,49 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 692 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x6e, 0xd3, 0x4a, - 0x14, 0x8e, 0x93, 0x34, 0x4d, 0x26, 0xbd, 0xed, 0xd5, 0xe8, 0xea, 0x2a, 0x37, 0x52, 0x9d, 0x2a, - 0xba, 0xa0, 0x00, 0xed, 0x98, 0x54, 0x42, 0xea, 0x12, 0xb9, 0x48, 0xa8, 0xa2, 0x55, 0xc5, 0xb4, - 0x95, 0x10, 0x12, 0x8b, 0x89, 0x73, 0xea, 0x0e, 0x69, 0x6c, 0xd7, 0x33, 0x8e, 0xd4, 0x1d, 0x4b, - 0x96, 0x3c, 0x01, 0xaf, 0xc1, 0x2b, 0x74, 0xd9, 0x25, 0xab, 0x40, 0xd3, 0x17, 0x60, 0xcd, 0x0a, - 0x79, 0x32, 0x4e, 0x4c, 0x52, 0x17, 0x90, 0xba, 0xcb, 0xf9, 0xe6, 0x9c, 0xef, 0x3b, 0x3f, 0x9f, - 0x83, 0x9e, 0xf6, 0xb6, 0x04, 0xe1, 0xbe, 0xd5, 0x8b, 0x3a, 0x10, 0x7a, 0x20, 0x41, 0x58, 0x41, - 0xcf, 0xb5, 0x58, 0xc0, 0x85, 0xe5, 0x40, 0x28, 0xf9, 0x31, 0x77, 0x58, 0x8c, 0x0e, 0xda, 0xec, - 0x34, 0x38, 0x61, 0x6d, 0xcb, 0x05, 0x0f, 0x42, 0x26, 0xa1, 0x4b, 0x82, 0xd0, 0x97, 0x3e, 0x7e, - 0x3c, 0x66, 0x20, 0x53, 0x06, 0x12, 0xf4, 0x5c, 0x12, 0x33, 0x90, 0x34, 0x03, 0x49, 0x18, 0xea, - 0x1b, 0x2e, 0x97, 0x27, 0x51, 0x87, 0x38, 0x7e, 0xdf, 0x72, 0x7d, 0xd7, 0xb7, 0x14, 0x51, 0x27, - 0x3a, 0x56, 0x91, 0x0a, 0xd4, 0xaf, 0xb1, 0x40, 0x7d, 0x33, 0xb3, 0x45, 0x2b, 0x04, 0xe1, 0x47, - 0xa1, 0x03, 0xb3, 0x4d, 0xd5, 0x9f, 0x64, 0xd7, 0x44, 0xde, 0x00, 0x42, 0xc1, 0x7d, 0x0f, 0xba, - 0x73, 0x65, 0xeb, 0xd9, 0x65, 0x83, 0xb9, 0xc9, 0xeb, 0x1b, 0x37, 0x67, 0x87, 0x91, 0x27, 0x79, - 0x7f, 0xbe, 0xa7, 0xf6, 0xcd, 0xe9, 0x91, 0xe4, 0xa7, 0x16, 0xf7, 0xa4, 0x90, 0xe1, 0x6c, 0x49, - 0xf3, 0x3a, 0x8f, 0xfe, 0xdb, 0x9e, 0xee, 0xf0, 0x80, 0xbb, 0x1e, 0xf7, 0x5c, 0x0a, 0x67, 0x11, - 0x08, 0x89, 0x5f, 0xa1, 0x72, 0x1f, 0x24, 0xeb, 0x32, 0xc9, 0x6a, 0xc6, 0x9a, 0xd1, 0xaa, 0x6e, - 0xb6, 0x48, 0xe6, 0x31, 0xc8, 0xa0, 0x4d, 0xf6, 0x3b, 0x6f, 0xc1, 0x91, 0x7b, 0x20, 0x99, 0x8d, - 0x2f, 0x86, 0x8d, 0xdc, 0x68, 0xd8, 0x40, 0x53, 0x8c, 0x4e, 0xd8, 0xf0, 0x19, 0x2a, 0x8a, 0x00, - 0x9c, 0x5a, 0x5e, 0xb1, 0xee, 0x93, 0x3f, 0x3d, 0x31, 0xc9, 0x6c, 0xfa, 0x20, 0x00, 0xc7, 0x5e, - 0xd2, 0xe2, 0xc5, 0x38, 0xa2, 0x4a, 0x0a, 0x9f, 0xa3, 0x92, 0x90, 0x4c, 0x46, 0xa2, 0x56, 0x50, - 0xa2, 0x2f, 0xef, 0x52, 0x54, 0x11, 0xdb, 0xcb, 0x5a, 0xb6, 0x34, 0x8e, 0xa9, 0x16, 0x6c, 0x7e, - 0xcc, 0xa3, 0x66, 0x66, 0xed, 0xb6, 0xef, 0x75, 0xb9, 0xe4, 0xbe, 0x87, 0xb7, 0x50, 0x51, 0x9e, - 0x07, 0xa0, 0x56, 0x5d, 0xb1, 0xff, 0x4f, 0x66, 0x38, 0x3c, 0x0f, 0xe0, 0xfb, 0xb0, 0xf1, 0xcf, - 0x6c, 0x7e, 0x8c, 0x53, 0x55, 0x81, 0xef, 0xa3, 0x52, 0x08, 0x4c, 0xf8, 0x9e, 0x5a, 0x68, 0x65, - 0xda, 0x08, 0x55, 0x28, 0xd5, 0xaf, 0xf8, 0x01, 0x5a, 0xec, 0x83, 0x10, 0xcc, 0x05, 0xb5, 0x84, - 0x8a, 0xbd, 0xa2, 0x13, 0x17, 0xf7, 0xc6, 0x30, 0x4d, 0xde, 0x71, 0x0f, 0x2d, 0x9f, 0x32, 0x21, - 0x8f, 0x82, 0x2e, 0x93, 0x70, 0xc8, 0xfb, 0x50, 0x2b, 0xaa, 0xb5, 0x3d, 0xba, 0xc5, 0x01, 0x29, - 0xe7, 0x93, 0xb8, 0xc4, 0xfe, 0x57, 0xd3, 0x2f, 0xef, 0xfe, 0x44, 0x45, 0x67, 0xa8, 0x9b, 0xdf, - 0x0c, 0xb4, 0x9a, 0xb9, 0xa0, 0x5d, 0x2e, 0x24, 0x7e, 0x33, 0x67, 0x45, 0xeb, 0x37, 0x1b, 0x89, - 0xcb, 0x95, 0x23, 0xff, 0xd6, 0xcd, 0x94, 0x13, 0x24, 0xe5, 0xc7, 0x00, 0x2d, 0x70, 0x09, 0x7d, - 0x51, 0xcb, 0xaf, 0x15, 0x5a, 0xd5, 0xcd, 0x17, 0x77, 0xe8, 0x0d, 0xfb, 0x2f, 0xad, 0xbb, 0xb0, - 0x13, 0x2b, 0xd0, 0xb1, 0x50, 0xf3, 0xd3, 0x6d, 0x23, 0xc7, 0xb6, 0xc5, 0xf7, 0xd0, 0x62, 0x38, - 0x0e, 0xd5, 0xc4, 0x4b, 0x76, 0x35, 0x3e, 0x94, 0xce, 0xa0, 0xc9, 0x1b, 0x5e, 0x47, 0xe5, 0x48, - 0x40, 0xe8, 0xb1, 0x3e, 0xe8, 0xeb, 0x4f, 0x06, 0x3d, 0xd2, 0x38, 0x9d, 0x64, 0xe0, 0x55, 0x54, - 0x88, 0x78, 0x57, 0x5f, 0xbf, 0xaa, 0x13, 0x0b, 0x47, 0x3b, 0xcf, 0x68, 0x8c, 0xe3, 0x26, 0x2a, - 0xb9, 0xa1, 0x1f, 0x05, 0xa2, 0x56, 0x5c, 0x2b, 0xb4, 0x2a, 0x36, 0x8a, 0x4d, 0xf4, 0x5c, 0x21, - 0x54, 0xbf, 0x34, 0xbf, 0x18, 0xa8, 0xf1, 0x8b, 0x2f, 0x01, 0xbf, 0x37, 0x10, 0x72, 0x12, 0xa3, - 0x8a, 0x9a, 0xa1, 0xb6, 0x7a, 0x78, 0x87, 0x5b, 0x9d, 0x7c, 0x05, 0xd3, 0x3f, 0x9a, 0x09, 0x24, - 0x68, 0x4a, 0x1b, 0xb7, 0x51, 0x35, 0xc5, 0xad, 0x56, 0xb4, 0x64, 0xaf, 0x8c, 0x86, 0x8d, 0x6a, - 0x8a, 0x9c, 0xa6, 0x73, 0xec, 0x87, 0x17, 0x57, 0x66, 0xee, 0xf2, 0xca, 0xcc, 0x7d, 0xbe, 0x32, - 0x73, 0xef, 0x46, 0xa6, 0x71, 0x31, 0x32, 0x8d, 0xcb, 0x91, 0x69, 0x7c, 0x1d, 0x99, 0xc6, 0x87, - 0x6b, 0x33, 0xf7, 0xba, 0x9c, 0x74, 0xf8, 0x23, 0x00, 0x00, 0xff, 0xff, 0x29, 0x0b, 0xef, 0x6d, - 0xe0, 0x06, 0x00, 0x00, + // 700 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x4f, 0x4f, 0x13, 0x41, + 0x14, 0xef, 0xb6, 0xa5, 0xb4, 0x53, 0x04, 0x33, 0x31, 0xa6, 0x36, 0x61, 0x4b, 0x1a, 0x35, 0x55, + 0x61, 0xd6, 0x12, 0x4d, 0x38, 0x9a, 0xc5, 0xc4, 0x10, 0x21, 0xc4, 0x01, 0x12, 0x63, 0xe2, 0x61, + 0xba, 0x7d, 0x2c, 0x63, 0xd9, 0x3f, 0xec, 0xcc, 0x36, 0xe1, 0xe6, 0xd1, 0xa3, 0x9f, 0xc0, 0xaf, + 0xe1, 0x57, 0xe0, 0xc8, 0xd1, 0x53, 0x95, 0xf2, 0x05, 0x3c, 0x7b, 0x32, 0x3b, 0x9d, 0xfe, 0xb1, + 0x65, 0x51, 0x13, 0x6e, 0xfb, 0x7e, 0xf3, 0x7e, 0xbf, 0xdf, 0x7b, 0x6f, 0xde, 0x2c, 0x7a, 0xd1, + 0xd9, 0x10, 0x84, 0x07, 0x56, 0x27, 0x6e, 0x41, 0xe4, 0x83, 0x04, 0x61, 0x85, 0x1d, 0xd7, 0x62, + 0x21, 0x17, 0x96, 0x03, 0x91, 0xe4, 0x87, 0xdc, 0x61, 0x09, 0xda, 0x6d, 0xb2, 0xe3, 0xf0, 0x88, + 0x35, 0x2d, 0x17, 0x7c, 0x88, 0x98, 0x84, 0x36, 0x09, 0xa3, 0x40, 0x06, 0xf8, 0xe9, 0x40, 0x81, + 0x8c, 0x15, 0x48, 0xd8, 0x71, 0x49, 0xa2, 0x40, 0x26, 0x15, 0xc8, 0x50, 0xa1, 0xba, 0xe6, 0x72, + 0x79, 0x14, 0xb7, 0x88, 0x13, 0x78, 0x96, 0x1b, 0xb8, 0x81, 0xa5, 0x84, 0x5a, 0xf1, 0xa1, 0x8a, + 0x54, 0xa0, 0xbe, 0x06, 0x06, 0xd5, 0xf5, 0xd4, 0x12, 0xad, 0x08, 0x44, 0x10, 0x47, 0x0e, 0x4c, + 0x17, 0x55, 0x7d, 0x9e, 0xce, 0x89, 0xfd, 0x2e, 0x44, 0x82, 0x07, 0x3e, 0xb4, 0x67, 0x68, 0xab, + 0xe9, 0xb4, 0xee, 0x4c, 0xe7, 0xd5, 0xb5, 0xab, 0xb3, 0xa3, 0xd8, 0x97, 0xdc, 0x9b, 0xad, 0xe9, + 0xd9, 0xf5, 0xe9, 0xc2, 0x39, 0x02, 0x8f, 0xcd, 0xb0, 0x9a, 0x57, 0xb3, 0x62, 0xc9, 0x8f, 0x2d, + 0xee, 0x4b, 0x21, 0xa3, 0x69, 0x4a, 0xfd, 0x32, 0x8b, 0xee, 0x6d, 0x8e, 0x27, 0xbf, 0xc7, 0x5d, + 0x9f, 0xfb, 0x2e, 0x85, 0x93, 0x18, 0x84, 0xc4, 0x6f, 0x51, 0xd1, 0x03, 0xc9, 0xda, 0x4c, 0xb2, + 0x8a, 0xb1, 0x62, 0x34, 0xca, 0xeb, 0x0d, 0x92, 0x7a, 0x85, 0xa4, 0xdb, 0x24, 0xbb, 0xad, 0x0f, + 0xe0, 0xc8, 0x1d, 0x90, 0xcc, 0xc6, 0x67, 0xbd, 0x5a, 0xa6, 0xdf, 0xab, 0xa1, 0x31, 0x46, 0x47, + 0x6a, 0xf8, 0x04, 0xe5, 0x45, 0x08, 0x4e, 0x25, 0xab, 0x54, 0x77, 0xc9, 0xff, 0x2e, 0x06, 0x49, + 0x2d, 0x7a, 0x2f, 0x04, 0xc7, 0x5e, 0xd0, 0xe6, 0xf9, 0x24, 0xa2, 0xca, 0x0a, 0x9f, 0xa2, 0x82, + 0x90, 0x4c, 0xc6, 0xa2, 0x92, 0x53, 0xa6, 0x6f, 0x6e, 0xd2, 0x54, 0x09, 0xdb, 0x8b, 0xda, 0xb6, + 0x30, 0x88, 0xa9, 0x36, 0xac, 0x7f, 0xc9, 0xa2, 0x7a, 0x2a, 0x77, 0x33, 0xf0, 0xdb, 0x5c, 0xf2, + 0xc0, 0xc7, 0x1b, 0x28, 0x2f, 0x4f, 0x43, 0x50, 0xa3, 0x2e, 0xd9, 0xf7, 0x87, 0x3d, 0xec, 0x9f, + 0x86, 0xf0, 0xab, 0x57, 0xbb, 0x33, 0x9d, 0x9f, 0xe0, 0x54, 0x31, 0xf0, 0x43, 0x54, 0x88, 0x80, + 0x89, 0xc0, 0x57, 0x03, 0x2d, 0x8d, 0x0b, 0xa1, 0x0a, 0xa5, 0xfa, 0x14, 0x3f, 0x42, 0xf3, 0x1e, + 0x08, 0xc1, 0x5c, 0x50, 0x43, 0x28, 0xd9, 0x4b, 0x3a, 0x71, 0x7e, 0x67, 0x00, 0xd3, 0xe1, 0x39, + 0xee, 0xa0, 0xc5, 0x63, 0x26, 0xe4, 0x41, 0xd8, 0x66, 0x12, 0xf6, 0xb9, 0x07, 0x95, 0xbc, 0x1a, + 0xdb, 0x93, 0x6b, 0x36, 0x60, 0xe2, 0xbd, 0x90, 0x84, 0x62, 0xdf, 0xd5, 0xf2, 0x8b, 0xdb, 0x7f, + 0x48, 0xd1, 0x29, 0xe9, 0xfa, 0x4f, 0x03, 0x2d, 0xa7, 0x0e, 0x68, 0x9b, 0x0b, 0x89, 0xdf, 0xcf, + 0xac, 0xa2, 0xf5, 0x8f, 0x85, 0x24, 0x74, 0xb5, 0x91, 0xb7, 0x75, 0x31, 0xc5, 0x21, 0x32, 0xb1, + 0x8f, 0x21, 0x9a, 0xe3, 0x12, 0x3c, 0x51, 0xc9, 0xae, 0xe4, 0x1a, 0xe5, 0xf5, 0xd7, 0x37, 0xb8, + 0x1b, 0xf6, 0x2d, 0xed, 0x3b, 0xb7, 0x95, 0x38, 0xd0, 0x81, 0x51, 0xfd, 0xeb, 0x75, 0x2d, 0x27, + 0x6b, 0x8b, 0x1f, 0xa0, 0xf9, 0x68, 0x10, 0xaa, 0x8e, 0x17, 0xec, 0x72, 0x72, 0x51, 0x3a, 0x83, + 0x0e, 0xcf, 0xf0, 0x2a, 0x2a, 0xc6, 0x02, 0x22, 0x9f, 0x79, 0xa0, 0x6f, 0x7f, 0xd4, 0xe8, 0x81, + 0xc6, 0xe9, 0x28, 0x03, 0x2f, 0xa3, 0x5c, 0xcc, 0xdb, 0xfa, 0xf6, 0xcb, 0x3a, 0x31, 0x77, 0xb0, + 0xf5, 0x92, 0x26, 0x38, 0xae, 0xa3, 0x82, 0x1b, 0x05, 0x71, 0x28, 0x2a, 0xf9, 0x95, 0x5c, 0xa3, + 0x64, 0xa3, 0x64, 0x89, 0x5e, 0x29, 0x84, 0xea, 0x93, 0xfa, 0x77, 0x03, 0xd5, 0xfe, 0xf2, 0x12, + 0xf0, 0x27, 0x03, 0x21, 0x67, 0xb8, 0xa8, 0xa2, 0x62, 0xa8, 0xa9, 0xee, 0xdf, 0xe0, 0x54, 0x47, + 0xaf, 0x60, 0xfc, 0xa3, 0x19, 0x41, 0x82, 0x4e, 0x78, 0xe3, 0x26, 0x2a, 0x4f, 0x68, 0xab, 0x11, + 0x2d, 0xd8, 0x4b, 0xfd, 0x5e, 0xad, 0x3c, 0x21, 0x4e, 0x27, 0x73, 0xec, 0xc7, 0x67, 0x17, 0x66, + 0xe6, 0xfc, 0xc2, 0xcc, 0x7c, 0xbb, 0x30, 0x33, 0x1f, 0xfb, 0xa6, 0x71, 0xd6, 0x37, 0x8d, 0xf3, + 0xbe, 0x69, 0xfc, 0xe8, 0x9b, 0xc6, 0xe7, 0x4b, 0x33, 0xf3, 0xae, 0x38, 0xac, 0xf0, 0x77, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xa5, 0xb0, 0x36, 0xc9, 0x16, 0x07, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.proto index 5c576a2e291..6939a912fa3 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/register.go index 5cf65b96546..a34b2ea99e2 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1alpha1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,15 +27,15 @@ import ( const GroupName = "certificates.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -59,5 +59,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *CertificateSigningRequest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *CertificateSigningRequestList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *CertificateSigningRequestList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/register.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/register.go index 886f9122c7d..ec88c87d6fa 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/register.go @@ -17,8 +17,8 @@ limitations under the License. package componentconfig import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) var ( @@ -30,15 +30,15 @@ var ( const GroupName = "componentconfig" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -52,6 +52,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *KubeProxyConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeSchedulerConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeletConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *KubeProxyConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeSchedulerConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeletConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.generated.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.generated.go index c1fecf97447..ba4d8fb89de 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.generated.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.generated.go @@ -1401,7 +1401,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { yyq153[55] = x.CloudProvider != "" yyq153[56] = x.CloudConfigFile != "" yyq153[57] = x.KubeletCgroups != "" - yyq153[58] = x.CgroupsPerQOS != false + yyq153[58] = x.ExperimentalCgroupsPerQOS != false yyq153[59] = x.CgroupDriver != "" yyq153[60] = x.RuntimeCgroups != "" yyq153[61] = x.SystemCgroups != "" @@ -2647,7 +2647,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym345 if false { } else { - r.EncodeBool(bool(x.CgroupsPerQOS)) + r.EncodeBool(bool(x.ExperimentalCgroupsPerQOS)) } } else { r.EncodeBool(false) @@ -2655,13 +2655,13 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq153[58] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("cgroupsPerQOS")) + r.EncodeString(codecSelferC_UTF81234, string("experimentalCgroupsPerQOS")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym346 := z.EncBinary() _ = yym346 if false { } else { - r.EncodeBool(bool(x.CgroupsPerQOS)) + r.EncodeBool(bool(x.ExperimentalCgroupsPerQOS)) } } } @@ -4378,11 +4378,11 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode } else { x.KubeletCgroups = string(r.DecodeString()) } - case "cgroupsPerQOS": + case "experimentalCgroupsPerQOS": if r.TryDecodeAsNil() { - x.CgroupsPerQOS = false + x.ExperimentalCgroupsPerQOS = false } else { - x.CgroupsPerQOS = bool(r.DecodeBool()) + x.ExperimentalCgroupsPerQOS = bool(r.DecodeBool()) } case "cgroupDriver": if r.TryDecodeAsNil() { @@ -5807,9 +5807,9 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } z.DecSendContainerState(codecSelfer_containerArrayElem1234) if r.TryDecodeAsNil() { - x.CgroupsPerQOS = false + x.ExperimentalCgroupsPerQOS = false } else { - x.CgroupsPerQOS = bool(r.DecodeBool()) + x.ExperimentalCgroupsPerQOS = bool(r.DecodeBool()) } yyj649++ if yyhl649 { diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.go index f2d1abb1e4d..db7778cff21 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.go @@ -294,7 +294,7 @@ type KubeletConfiguration struct { // And all Burstable and BestEffort pods are brought up under their // specific top level QoS cgroup. // +optional - CgroupsPerQOS bool `json:"cgroupsPerQOS,omitempty"` + ExperimentalCgroupsPerQOS bool `json:"experimentalCgroupsPerQOS,omitempty"` // driver that the kubelet uses to manipulate cgroups on the host (cgroupfs or systemd) // +optional CgroupDriver string `json:"cgroupDriver,omitempty"` @@ -307,7 +307,7 @@ type KubeletConfiguration struct { // +optional SystemCgroups string `json:"systemCgroups,omitempty"` // CgroupRoot is the root cgroup to use for pods. - // If CgroupsPerQOS is enabled, this is the root of the QoS cgroup hierarchy. + // If ExperimentalCgroupsPerQOS is enabled, this is the root of the QoS cgroup hierarchy. // +optional CgroupRoot string `json:"cgroupRoot,omitempty"` // containerRuntime is the container runtime to use. diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/defaults.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/defaults.go index 51a6358bb82..9e230cb987e 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/defaults.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/defaults.go @@ -204,8 +204,8 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { if obj.CertDirectory == "" { obj.CertDirectory = "/var/run/kubernetes" } - if obj.CgroupsPerQOS == nil { - obj.CgroupsPerQOS = boolVar(false) + if obj.ExperimentalCgroupsPerQOS == nil { + obj.ExperimentalCgroupsPerQOS = boolVar(false) } if obj.ContainerRuntime == "" { obj.ContainerRuntime = "docker" @@ -391,9 +391,9 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { temp := int32(defaultIPTablesDropBit) obj.IPTablesDropBit = &temp } - if obj.CgroupsPerQOS == nil { + if obj.ExperimentalCgroupsPerQOS == nil { temp := false - obj.CgroupsPerQOS = &temp + obj.ExperimentalCgroupsPerQOS = &temp } if obj.CgroupDriver == "" { obj.CgroupDriver = "cgroupfs" @@ -401,8 +401,8 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { // NOTE: this is for backwards compatibility with earlier releases where cgroup-root was optional. // if cgroups per qos is not enabled, and cgroup-root is not specified, we need to default to the // container runtime default and not default to the root cgroup. - if obj.CgroupsPerQOS != nil { - if *obj.CgroupsPerQOS { + if obj.ExperimentalCgroupsPerQOS != nil { + if *obj.ExperimentalCgroupsPerQOS { if obj.CgroupRoot == "" { obj.CgroupRoot = "/" } diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/register.go index 4f3a6ae7cae..24a981bdfe3 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/register.go @@ -17,15 +17,15 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "componentconfig" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) @@ -41,6 +41,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *KubeProxyConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeSchedulerConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *KubeletConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *KubeProxyConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeSchedulerConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *KubeletConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/types.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/types.go index 7207a860da2..61bfed4e7b5 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/types.go @@ -355,7 +355,7 @@ type KubeletConfiguration struct { // And all Burstable and BestEffort pods are brought up under their // specific top level QoS cgroup. // +optional - CgroupsPerQOS *bool `json:"cgroupsPerQOS,omitempty"` + ExperimentalCgroupsPerQOS *bool `json:"experimentalCgroupsPerQOS,omitempty"` // driver that the kubelet uses to manipulate cgroups on the host (cgroupfs or systemd) // +optional CgroupDriver string `json:"cgroupDriver,omitempty"` diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go index f9630321332..b2b6e21405c 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go @@ -330,7 +330,7 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu out.RuntimeCgroups = in.RuntimeCgroups out.SystemCgroups = in.SystemCgroups out.CgroupRoot = in.CgroupRoot - if err := api.Convert_Pointer_bool_To_bool(&in.CgroupsPerQOS, &out.CgroupsPerQOS, s); err != nil { + if err := api.Convert_Pointer_bool_To_bool(&in.ExperimentalCgroupsPerQOS, &out.ExperimentalCgroupsPerQOS, s); err != nil { return err } out.CgroupDriver = in.CgroupDriver @@ -496,7 +496,7 @@ func autoConvert_componentconfig_KubeletConfiguration_To_v1alpha1_KubeletConfigu out.CloudProvider = in.CloudProvider out.CloudConfigFile = in.CloudConfigFile out.KubeletCgroups = in.KubeletCgroups - if err := api.Convert_bool_To_Pointer_bool(&in.CgroupsPerQOS, &out.CgroupsPerQOS, s); err != nil { + if err := api.Convert_bool_To_Pointer_bool(&in.ExperimentalCgroupsPerQOS, &out.ExperimentalCgroupsPerQOS, s); err != nil { return err } out.CgroupDriver = in.CgroupDriver diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go index 6ca1d8a1703..fd13c984931 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,10 @@ limitations under the License. package v1alpha1 import ( + reflect "reflect" + conversion "k8s.io/client-go/pkg/conversion" runtime "k8s.io/client-go/pkg/runtime" - reflect "reflect" ) func init() { @@ -302,12 +303,12 @@ func DeepCopy_v1alpha1_KubeletConfiguration(in interface{}, out interface{}, c * out.RuntimeCgroups = in.RuntimeCgroups out.SystemCgroups = in.SystemCgroups out.CgroupRoot = in.CgroupRoot - if in.CgroupsPerQOS != nil { - in, out := &in.CgroupsPerQOS, &out.CgroupsPerQOS + if in.ExperimentalCgroupsPerQOS != nil { + in, out := &in.ExperimentalCgroupsPerQOS, &out.ExperimentalCgroupsPerQOS *out = new(bool) **out = **in } else { - out.CgroupsPerQOS = nil + out.ExperimentalCgroupsPerQOS = nil } out.CgroupDriver = in.CgroupDriver out.ContainerRuntime = in.ContainerRuntime diff --git a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/zz_generated.deepcopy.go index f952693d03c..f8a6404eed9 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/componentconfig/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/apis/componentconfig/zz_generated.deepcopy.go @@ -308,7 +308,7 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface out.CloudProvider = in.CloudProvider out.CloudConfigFile = in.CloudConfigFile out.KubeletCgroups = in.KubeletCgroups - out.CgroupsPerQOS = in.CgroupsPerQOS + out.ExperimentalCgroupsPerQOS = in.ExperimentalCgroupsPerQOS out.CgroupDriver = in.CgroupDriver out.RuntimeCgroups = in.RuntimeCgroups out.SystemCgroups = in.SystemCgroups diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/register.go b/staging/src/k8s.io/client-go/pkg/apis/extensions/register.go index 074a7f74d41..0255fc17bcf 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/register.go @@ -18,25 +18,25 @@ package extensions import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apis/autoscaling" "k8s.io/client-go/pkg/apis/batch" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "extensions" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go b/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go index a9323226181..3cae03f3ee4 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go @@ -124,7 +124,6 @@ type ThirdPartyResource struct { Description string `json:"description,omitempty"` // Versions are versions for this third party object - // +optional Versions []APIVersion `json:"versions,omitempty"` } @@ -143,7 +142,6 @@ type ThirdPartyResourceList struct { // TODO: we should consider merge this struct with GroupVersion in unversioned.go type APIVersion struct { // Name of this version (e.g. 'v1'). - // +optional Name string `json:"name,omitempty"` } diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.pb.go index 0260da7dd53..facef552224 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.pb.go @@ -13941,7 +13941,7 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 3908 bytes of a gzipped FileDescriptorProto + // 3919 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe4, 0x5b, 0x5d, 0x6c, 0x24, 0xd9, 0x55, 0x9e, 0xea, 0x76, 0xdb, 0xed, 0xd3, 0x63, 0x8f, 0xe7, 0x8e, 0xc7, 0xd3, 0xeb, 0xdd, 0x75, 0x4f, 0x6a, 0xc5, 0x66, 0x22, 0x76, 0xdb, 0xcc, 0xb0, 0x13, 0x36, 0xbb, 0x9b, 0x4d, 0xdc, 0xf6, @@ -13958,233 +13958,233 @@ var fileDescriptorGenerated = []byte{ 0xf6, 0x2c, 0x63, 0xb5, 0x6f, 0xf5, 0xad, 0x55, 0x8e, 0xd2, 0xf5, 0x76, 0xf9, 0x3f, 0xfe, 0x87, 0xff, 0xf2, 0xd1, 0x97, 0x6f, 0xe5, 0x2a, 0xb7, 0xea, 0x10, 0xd7, 0xf2, 0x9c, 0x1e, 0x49, 0x6b, 0xb4, 0x7c, 0x3b, 0x9f, 0xc7, 0x33, 0x0f, 0x88, 0xc3, 0x14, 0x22, 0xea, 0x08, 0xdb, 0x6b, 0xf9, - 0x6c, 0x07, 0x23, 0xcb, 0x5e, 0x7e, 0x3d, 0x9b, 0xda, 0xf1, 0x4c, 0xaa, 0x19, 0xa3, 0x3a, 0xdd, - 0xcc, 0x26, 0xf7, 0xa8, 0xa6, 0xaf, 0x6a, 0x26, 0x75, 0xa9, 0x93, 0x66, 0x91, 0x9b, 0x00, 0x6b, - 0xed, 0x07, 0x4f, 0x7c, 0x7d, 0xd1, 0x75, 0x98, 0x32, 0x15, 0x83, 0xd4, 0xa5, 0xeb, 0xd2, 0x8d, - 0xd9, 0xd6, 0xc5, 0x8f, 0x87, 0x8d, 0x0b, 0x47, 0xc3, 0xc6, 0xd4, 0x23, 0xc5, 0x20, 0x98, 0xcf, - 0xc8, 0xef, 0xc1, 0xe2, 0x7a, 0x7b, 0x67, 0x5b, 0x71, 0xfa, 0x84, 0xee, 0x50, 0x4d, 0xd7, 0xbe, - 0xa5, 0x50, 0xc6, 0xb9, 0x01, 0x0b, 0x94, 0x0f, 0xb6, 0x89, 0xd3, 0x23, 0x26, 0x55, 0xfa, 0x3e, - 0x4a, 0xa5, 0x55, 0x17, 0x28, 0x0b, 0xdb, 0xa9, 0x79, 0x3c, 0xc2, 0x21, 0xff, 0x86, 0x04, 0x2f, - 0xac, 0x7b, 0x2e, 0xb5, 0x8c, 0x2d, 0x42, 0x1d, 0xad, 0xb7, 0xee, 0x39, 0x0e, 0x31, 0x69, 0x87, - 0x2a, 0xd4, 0x73, 0x9f, 0xaf, 0x1d, 0x7a, 0x0a, 0x95, 0x03, 0x45, 0xf7, 0x48, 0xbd, 0x74, 0x5d, - 0xba, 0x51, 0xbb, 0xf5, 0x5a, 0x33, 0xd7, 0x6d, 0x9a, 0xc1, 0x83, 0x6d, 0x7e, 0xc5, 0x53, 0x4c, - 0xaa, 0xd1, 0x41, 0x6b, 0x51, 0x00, 0x5e, 0x14, 0x52, 0x9f, 0x30, 0x24, 0xec, 0x03, 0xca, 0xdf, - 0x93, 0xe0, 0xe5, 0x5c, 0xcd, 0x36, 0x35, 0x97, 0x22, 0x03, 0x2a, 0x1a, 0x25, 0x86, 0x5b, 0x97, - 0xae, 0x97, 0x6f, 0xd4, 0x6e, 0xdd, 0x6f, 0x16, 0x72, 0xd9, 0x66, 0x2e, 0x78, 0x6b, 0x4e, 0xe8, - 0x55, 0x79, 0xc0, 0xe0, 0xb1, 0x2f, 0x45, 0xfe, 0x75, 0x09, 0x50, 0x9c, 0xc7, 0xb7, 0xee, 0x31, - 0x6c, 0xf4, 0xd5, 0x93, 0xd8, 0xe8, 0x8a, 0x00, 0xac, 0xf9, 0xe2, 0x12, 0x26, 0xfa, 0xae, 0x04, - 0x4b, 0xa3, 0x1a, 0x71, 0xdb, 0xec, 0x26, 0x6d, 0xb3, 0x76, 0x02, 0xdb, 0xf8, 0xa8, 0x39, 0x46, - 0xf9, 0x83, 0x12, 0xcc, 0x6e, 0x28, 0xc4, 0xb0, 0xcc, 0x0e, 0xa1, 0xe8, 0x29, 0x54, 0x0d, 0x42, - 0x15, 0x55, 0xa1, 0x0a, 0xb7, 0x47, 0xed, 0xd6, 0x8d, 0x31, 0x8b, 0x3d, 0xb8, 0xd9, 0x7c, 0xdc, - 0xfd, 0x80, 0xf4, 0xe8, 0x16, 0xa1, 0x4a, 0x0b, 0x09, 0x7c, 0x88, 0xc6, 0x70, 0x88, 0x86, 0xde, - 0x87, 0x29, 0xd7, 0x26, 0x3d, 0x61, 0xc2, 0x77, 0x0a, 0x2e, 0x27, 0xd4, 0xb0, 0x63, 0x93, 0x5e, - 0xf4, 0x8c, 0xd8, 0x3f, 0xcc, 0x71, 0xd1, 0x2e, 0x4c, 0xbb, 0xfc, 0xe1, 0xd7, 0xcb, 0x5c, 0xc2, - 0xbb, 0x13, 0x4b, 0xf0, 0x5d, 0x68, 0x5e, 0xc8, 0x98, 0xf6, 0xff, 0x63, 0x81, 0x2e, 0xff, 0xad, - 0x04, 0x73, 0x21, 0x2d, 0x7f, 0x52, 0xdf, 0x18, 0xb1, 0xd9, 0xea, 0x18, 0x9b, 0xc5, 0x22, 0x5d, - 0x93, 0xb1, 0x73, 0xd3, 0x2d, 0x08, 0x61, 0xd5, 0x60, 0x24, 0x66, 0xb8, 0x6f, 0x04, 0x8e, 0x50, - 0xe2, 0x8e, 0xf0, 0xe6, 0xa4, 0xeb, 0xca, 0x79, 0xfe, 0x7f, 0x13, 0x5f, 0x0f, 0xb3, 0x27, 0x7a, - 0x1f, 0xaa, 0x2e, 0xd1, 0x49, 0x8f, 0x5a, 0x8e, 0x58, 0xcf, 0x1b, 0xc7, 0x5d, 0x8f, 0xd2, 0x25, - 0x7a, 0x47, 0xf0, 0xb6, 0x2e, 0xb2, 0x05, 0x05, 0xff, 0x70, 0x88, 0x89, 0xbe, 0x0e, 0x55, 0x4a, - 0x0c, 0x5b, 0x57, 0x68, 0xf0, 0x42, 0xbd, 0x3e, 0xde, 0xc7, 0xda, 0x96, 0xba, 0x2d, 0x18, 0xf8, - 0xe3, 0x0f, 0xad, 0x15, 0x8c, 0xe2, 0x10, 0x50, 0xfe, 0x8b, 0x12, 0x5c, 0x4a, 0x3d, 0x4a, 0xf4, - 0x04, 0x96, 0x7a, 0x7e, 0x78, 0x78, 0xe4, 0x19, 0x5d, 0xe2, 0x74, 0x7a, 0x7b, 0x44, 0xf5, 0x74, - 0xa2, 0x8a, 0x70, 0xbb, 0x22, 0xf0, 0x96, 0xd6, 0x33, 0xa9, 0x70, 0x0e, 0x37, 0x7a, 0x08, 0xc8, - 0xe4, 0x43, 0x5b, 0x9a, 0xeb, 0x86, 0x98, 0x25, 0x8e, 0xb9, 0x2c, 0x30, 0xd1, 0xa3, 0x11, 0x0a, - 0x9c, 0xc1, 0xc5, 0x74, 0x54, 0x89, 0xab, 0x39, 0x44, 0x4d, 0xeb, 0x58, 0x4e, 0xea, 0xb8, 0x91, - 0x49, 0x85, 0x73, 0xb8, 0xd1, 0x6d, 0xa8, 0xf9, 0xd2, 0x30, 0x51, 0xd4, 0x41, 0x7d, 0x8a, 0x83, - 0x85, 0x21, 0xe9, 0x51, 0x34, 0x85, 0xe3, 0x74, 0xf2, 0x1f, 0x96, 0x00, 0x36, 0x88, 0xad, 0x5b, - 0x03, 0x83, 0x98, 0x67, 0x19, 0x16, 0xbe, 0x99, 0x08, 0x0b, 0x5f, 0x2c, 0xea, 0xdc, 0xa1, 0x8a, - 0xb9, 0x71, 0xa1, 0x9f, 0x8a, 0x0b, 0x5f, 0x9a, 0x5c, 0xc4, 0xf8, 0xc0, 0xf0, 0x93, 0x32, 0x5c, - 0x89, 0x88, 0xd7, 0x2d, 0x53, 0xd5, 0x78, 0x9a, 0x7f, 0x1b, 0xa6, 0xe8, 0xc0, 0x0e, 0xd2, 0xcb, - 0x67, 0x03, 0x15, 0xb7, 0x07, 0x36, 0x79, 0x36, 0x6c, 0x5c, 0xcb, 0x60, 0x61, 0x53, 0x98, 0x33, - 0xa1, 0x27, 0xa1, 0xf6, 0x25, 0xce, 0xfe, 0x6e, 0x52, 0xf8, 0xb3, 0x61, 0x63, 0x6c, 0x75, 0xd4, - 0x0c, 0x31, 0x93, 0xca, 0xa2, 0x57, 0x61, 0xda, 0x21, 0x8a, 0x6b, 0x99, 0xdc, 0x23, 0x66, 0xa3, - 0x45, 0x61, 0x3e, 0x8a, 0xc5, 0x2c, 0xfa, 0x1c, 0xcc, 0x18, 0xc4, 0x75, 0x59, 0x69, 0x52, 0xe1, - 0x84, 0x97, 0x04, 0xe1, 0xcc, 0x96, 0x3f, 0x8c, 0x83, 0x79, 0xb4, 0x0f, 0xf3, 0xba, 0xe2, 0xd2, - 0x1d, 0x5b, 0x55, 0x28, 0xd9, 0xd6, 0x0c, 0x52, 0x9f, 0xe6, 0x06, 0xff, 0xd9, 0x63, 0x06, 0x0f, - 0xc6, 0xd2, 0x5a, 0x12, 0xf0, 0xf3, 0x9b, 0x09, 0x28, 0x9c, 0x82, 0x46, 0x1f, 0x01, 0x62, 0x23, - 0xdb, 0x8e, 0x62, 0xba, 0xbe, 0xcd, 0x98, 0xc0, 0x99, 0xe2, 0x02, 0xc3, 0xf7, 0x74, 0x73, 0x04, - 0x0e, 0x67, 0x88, 0x90, 0xff, 0x4e, 0x82, 0xf9, 0xe8, 0x91, 0x9d, 0x47, 0xfc, 0x7f, 0x3f, 0x19, - 0xff, 0xbf, 0x30, 0xb1, 0xff, 0xe6, 0x24, 0x80, 0xdf, 0x2c, 0x03, 0x8a, 0x88, 0xb0, 0xa5, 0xeb, - 0x5d, 0xa5, 0xb7, 0x7f, 0x8c, 0xaa, 0xe8, 0xf7, 0x24, 0x40, 0x1e, 0x7f, 0x24, 0xea, 0x9a, 0x69, - 0x5a, 0x94, 0x57, 0xb5, 0x81, 0x9a, 0xbf, 0x34, 0xb1, 0x9a, 0x81, 0x06, 0xcd, 0x9d, 0x11, 0xec, - 0x3b, 0x26, 0x75, 0x06, 0xd1, 0x23, 0x1b, 0x25, 0xc0, 0x19, 0x0a, 0xa1, 0x0f, 0x01, 0x1c, 0x81, - 0xb9, 0x6d, 0x89, 0x28, 0x50, 0x34, 0xd0, 0x04, 0x4a, 0xad, 0x5b, 0xe6, 0xae, 0xd6, 0x8f, 0x62, - 0x1a, 0x0e, 0x81, 0x71, 0x4c, 0xc8, 0xf2, 0x1d, 0xb8, 0x96, 0xa3, 0x3d, 0x5a, 0x80, 0xf2, 0x3e, - 0x19, 0xf8, 0x66, 0xc5, 0xec, 0x27, 0x5a, 0x8c, 0x57, 0x97, 0xb3, 0xa2, 0x34, 0x7c, 0xab, 0xf4, - 0xa6, 0x24, 0xff, 0xb4, 0x12, 0x77, 0x36, 0x9e, 0x9c, 0x6f, 0x40, 0xd5, 0x21, 0xb6, 0xae, 0xf5, - 0x14, 0x57, 0x64, 0x2f, 0x9e, 0x66, 0xb1, 0x18, 0xc3, 0xe1, 0x6c, 0x22, 0x8d, 0x97, 0xce, 0x38, - 0x8d, 0x97, 0x4f, 0x39, 0x8d, 0x23, 0x0b, 0xaa, 0x2e, 0x65, 0x9b, 0xae, 0xbe, 0x9f, 0xb3, 0x8a, - 0x17, 0xc0, 0xf1, 0xb8, 0xed, 0x03, 0x45, 0x02, 0x83, 0x11, 0x1c, 0x0a, 0x41, 0x6b, 0x70, 0xc9, - 0xd0, 0x4c, 0x9e, 0xfc, 0x3a, 0xa4, 0x67, 0x99, 0xaa, 0xcb, 0x03, 0x5e, 0xa5, 0x75, 0x4d, 0x30, - 0x5d, 0xda, 0x4a, 0x4e, 0xe3, 0x34, 0x3d, 0xda, 0x84, 0x45, 0x87, 0x1c, 0x68, 0x4c, 0x8d, 0xfb, - 0x9a, 0x4b, 0x2d, 0x67, 0xb0, 0xa9, 0x19, 0x1a, 0xe5, 0x61, 0xb0, 0xd2, 0xaa, 0x1f, 0x0d, 0x1b, - 0x8b, 0x38, 0x63, 0x1e, 0x67, 0x72, 0xb1, 0x08, 0x6d, 0x2b, 0x9e, 0x4b, 0x54, 0x1e, 0xd5, 0xaa, - 0x51, 0x84, 0x6e, 0xf3, 0x51, 0x2c, 0x66, 0x91, 0x91, 0xf0, 0xee, 0xea, 0x69, 0x78, 0xf7, 0x7c, - 0xbe, 0x67, 0xa3, 0x1d, 0xb8, 0x66, 0x3b, 0x56, 0xdf, 0x21, 0xae, 0xbb, 0x41, 0x14, 0x55, 0xd7, - 0x4c, 0x12, 0xd8, 0x6b, 0x96, 0xaf, 0xf3, 0xc5, 0xa3, 0x61, 0xe3, 0x5a, 0x3b, 0x9b, 0x04, 0xe7, - 0xf1, 0xca, 0x9f, 0x94, 0x61, 0x21, 0x9d, 0x69, 0x59, 0x7d, 0x65, 0x75, 0x5d, 0xe2, 0x1c, 0x10, - 0xf5, 0x9e, 0xbf, 0x07, 0xd7, 0x2c, 0x93, 0x7b, 0x7d, 0x39, 0x0a, 0x02, 0x8f, 0x47, 0x28, 0x70, - 0x06, 0x17, 0x7a, 0x2d, 0xf6, 0xde, 0xf8, 0x15, 0x5a, 0xe8, 0x0d, 0x19, 0xef, 0xce, 0x1a, 0x5c, - 0x12, 0x81, 0x24, 0x98, 0x14, 0x65, 0x58, 0xe8, 0x0d, 0x3b, 0xc9, 0x69, 0x9c, 0xa6, 0x47, 0xf7, - 0xe0, 0xb2, 0x72, 0xa0, 0x68, 0xba, 0xd2, 0xd5, 0x49, 0x08, 0xe2, 0x97, 0x5f, 0x2f, 0x08, 0x90, - 0xcb, 0x6b, 0x69, 0x02, 0x3c, 0xca, 0x83, 0xb6, 0xe0, 0x8a, 0x67, 0x8e, 0x42, 0xf9, 0xde, 0xf9, - 0xa2, 0x80, 0xba, 0xb2, 0x33, 0x4a, 0x82, 0xb3, 0xf8, 0xd0, 0x01, 0x40, 0x2f, 0x28, 0x0a, 0xdc, - 0xfa, 0x34, 0x0f, 0xd6, 0xad, 0x89, 0xdf, 0xad, 0xb0, 0xbe, 0x88, 0x42, 0x62, 0x38, 0xe4, 0xe2, - 0x98, 0x24, 0xf9, 0xef, 0xa5, 0x78, 0x9a, 0x09, 0xde, 0x40, 0xf4, 0x56, 0xa2, 0x3a, 0x7a, 0x35, - 0x55, 0x1d, 0x2d, 0x8d, 0x72, 0xc4, 0x8a, 0xa3, 0xef, 0xc0, 0x1c, 0xf3, 0x4c, 0xcd, 0xec, 0xfb, - 0x4f, 0x43, 0x84, 0xb9, 0xbb, 0x13, 0x78, 0x7f, 0x88, 0x11, 0x4b, 0x97, 0x97, 0x8f, 0x86, 0x8d, - 0xb9, 0xc4, 0x24, 0x4e, 0xca, 0x93, 0xdf, 0x83, 0xb9, 0x3b, 0x87, 0xb6, 0xe5, 0xd0, 0xc7, 0xb6, - 0x9f, 0x6a, 0x5e, 0x85, 0x69, 0xc2, 0x07, 0xf8, 0x7a, 0x62, 0x2f, 0xad, 0x4f, 0x86, 0xc5, 0x2c, - 0x7a, 0x05, 0x2a, 0xe4, 0x50, 0xe9, 0x51, 0xae, 0x71, 0x35, 0x4a, 0xcc, 0x77, 0xd8, 0x20, 0xf6, - 0xe7, 0xe4, 0x1f, 0x4a, 0xb0, 0x74, 0xb7, 0x73, 0xcf, 0xb1, 0x3c, 0x3b, 0x58, 0x7c, 0x20, 0xe7, - 0x17, 0x60, 0xca, 0xf1, 0xf4, 0xc0, 0x6a, 0xaf, 0x04, 0x56, 0xc3, 0x9e, 0xce, 0xac, 0x76, 0x25, - 0xc5, 0xe5, 0x9b, 0x8c, 0x31, 0xa0, 0xf7, 0x61, 0xda, 0x51, 0xcc, 0x3e, 0x09, 0xd2, 0xf4, 0xe7, - 0x0b, 0xda, 0xea, 0xc1, 0x06, 0x66, 0xec, 0xb1, 0x7a, 0x91, 0xa3, 0x61, 0x81, 0x2a, 0xff, 0x8e, - 0x04, 0x97, 0xee, 0x6f, 0x6f, 0xb7, 0x1f, 0x98, 0xfc, 0x35, 0x6f, 0x2b, 0x74, 0x8f, 0x55, 0x12, - 0xb6, 0x42, 0xf7, 0xd2, 0x95, 0x04, 0x9b, 0xc3, 0x7c, 0x06, 0xed, 0xc1, 0x0c, 0x0b, 0x2f, 0xc4, - 0x54, 0x27, 0xdc, 0x07, 0x08, 0x71, 0x2d, 0x1f, 0x24, 0x2a, 0x52, 0xc5, 0x00, 0x0e, 0xe0, 0xe5, - 0x6f, 0xc3, 0x62, 0x4c, 0x3d, 0x66, 0x2f, 0x7e, 0x1e, 0x83, 0x7a, 0x50, 0x61, 0x9a, 0x04, 0xa7, - 0x2d, 0x45, 0x0f, 0x0f, 0x52, 0x4b, 0x8e, 0x1e, 0x28, 0xfb, 0xe7, 0x62, 0x1f, 0x5b, 0xfe, 0xa7, - 0x12, 0x5c, 0xbb, 0x6f, 0x39, 0xda, 0xb7, 0x2c, 0x93, 0x2a, 0x7a, 0xdb, 0x52, 0xd7, 0x3c, 0x6a, - 0xb9, 0x3d, 0x45, 0x27, 0xce, 0x19, 0xee, 0xb0, 0xf4, 0xc4, 0x0e, 0xeb, 0x61, 0xd1, 0x95, 0x65, - 0xeb, 0x9b, 0xbb, 0xdd, 0xa2, 0xa9, 0xed, 0xd6, 0xe6, 0x29, 0xc9, 0x1b, 0xbf, 0xf7, 0xfa, 0x0f, - 0x09, 0x5e, 0xcc, 0xe1, 0x3c, 0x8f, 0x12, 0x7d, 0x3f, 0x59, 0xa2, 0xdf, 0x3d, 0x9d, 0x35, 0xe7, - 0xd4, 0xeb, 0xff, 0x53, 0xca, 0x5d, 0x2b, 0xaf, 0x10, 0x3f, 0x84, 0x2a, 0xff, 0x87, 0xc9, 0xae, - 0x58, 0xeb, 0x7a, 0x41, 0x7d, 0x3a, 0x5e, 0x37, 0x38, 0xc6, 0xc4, 0x64, 0x97, 0x38, 0xc4, 0xec, - 0x91, 0x58, 0xf1, 0x24, 0xc0, 0x71, 0x28, 0x06, 0xdd, 0x84, 0x1a, 0x2f, 0x86, 0x12, 0xf9, 0xf5, - 0xd2, 0xd1, 0xb0, 0x51, 0xdb, 0x8a, 0x86, 0x71, 0x9c, 0x06, 0xdd, 0x86, 0x9a, 0xa1, 0x1c, 0xa6, - 0xb2, 0x6b, 0x78, 0x2e, 0xb1, 0x15, 0x4d, 0xe1, 0x38, 0x1d, 0xfa, 0x0e, 0xcc, 0xf7, 0x6c, 0x2f, - 0x76, 0x8a, 0x2e, 0xaa, 0xc3, 0xa2, 0x4b, 0xcc, 0x3a, 0x90, 0x6f, 0x21, 0xb6, 0xf1, 0x5c, 0x6f, - 0xef, 0xc4, 0xc6, 0x70, 0x4a, 0x9c, 0xfc, 0xe7, 0x65, 0x78, 0x79, 0xac, 0x8f, 0xa2, 0xbb, 0x63, - 0xaa, 0x96, 0xa5, 0x02, 0x15, 0x8b, 0x0a, 0x73, 0x6c, 0xff, 0xc9, 0xcd, 0xcd, 0x77, 0xb7, 0xa5, - 0xe2, 0xbb, 0x5b, 0x9e, 0xc2, 0x36, 0xe3, 0x28, 0x38, 0x09, 0xca, 0x2a, 0x1d, 0x71, 0xba, 0x95, - 0x57, 0xe9, 0xac, 0x27, 0xa7, 0x71, 0x9a, 0x9e, 0x41, 0x88, 0xc3, 0xa7, 0x54, 0x9d, 0x13, 0x42, - 0x6c, 0x24, 0xa7, 0x71, 0x9a, 0x1e, 0x19, 0xd0, 0x10, 0xa8, 0x49, 0xf3, 0xc7, 0x6e, 0x46, 0xfc, - 0x7a, 0xe7, 0x95, 0xa3, 0x61, 0xa3, 0xb1, 0x3e, 0x9e, 0x14, 0x3f, 0x0f, 0x4b, 0xde, 0x82, 0xb9, - 0xfb, 0x96, 0x4b, 0xdb, 0x2c, 0x25, 0xb3, 0xbc, 0x85, 0x5e, 0x86, 0xb2, 0xa1, 0x99, 0x62, 0x43, - 0x55, 0x13, 0x6a, 0x97, 0x99, 0xf3, 0xb2, 0x71, 0x3e, 0xad, 0x1c, 0x0a, 0xbf, 0x8e, 0xa6, 0x95, - 0x43, 0xcc, 0xc6, 0xe5, 0x7b, 0x30, 0x23, 0xf2, 0x62, 0x1c, 0xa8, 0x3c, 0x1e, 0xa8, 0x9c, 0x01, - 0xf4, 0xfb, 0x25, 0x98, 0x11, 0x69, 0xe4, 0x0c, 0x13, 0xc2, 0x7b, 0x89, 0x84, 0xf0, 0xd6, 0x64, - 0xa9, 0x36, 0x37, 0x01, 0xa8, 0xa9, 0x04, 0xf0, 0xce, 0x84, 0xf8, 0xe3, 0x03, 0xfe, 0x0f, 0x24, - 0x98, 0x4f, 0x26, 0x7d, 0x16, 0x51, 0xd8, 0x3b, 0xa4, 0xf5, 0xc8, 0xa3, 0xe8, 0xdc, 0x22, 0x8c, - 0x28, 0x9d, 0x68, 0x0a, 0xc7, 0xe9, 0x10, 0x09, 0xd9, 0x98, 0x3b, 0x08, 0xa3, 0x34, 0x73, 0x94, - 0xf6, 0xa8, 0xa6, 0x37, 0xfd, 0x6b, 0xc1, 0xe6, 0x03, 0x93, 0x3e, 0x76, 0x3a, 0xd4, 0xd1, 0xcc, - 0xfe, 0x88, 0x18, 0xee, 0x59, 0x71, 0x5c, 0xf9, 0xaf, 0x25, 0xa8, 0x09, 0x85, 0xcf, 0x23, 0x23, - 0x7d, 0x3d, 0x99, 0x91, 0x3e, 0x3f, 0x61, 0x3d, 0x95, 0x9d, 0x81, 0x7e, 0x14, 0xad, 0x85, 0x55, - 0x50, 0xac, 0xc0, 0xdb, 0xb3, 0x5c, 0x9a, 0x2e, 0xf0, 0xd8, 0x2b, 0x86, 0xf9, 0x0c, 0xfa, 0x35, - 0x09, 0x16, 0xb4, 0x54, 0xcd, 0x25, 0x4c, 0xfd, 0xa5, 0xc9, 0x54, 0x0b, 0x61, 0xa2, 0xcb, 0xd2, - 0xf4, 0x0c, 0x1e, 0x11, 0x29, 0x7b, 0x30, 0x42, 0x85, 0x14, 0x98, 0xda, 0xa3, 0xd4, 0x9e, 0x30, - 0x57, 0x66, 0x55, 0x93, 0xad, 0x2a, 0x5f, 0xfe, 0xf6, 0x76, 0x1b, 0x73, 0x68, 0xf9, 0x07, 0xa5, - 0xd0, 0x60, 0x1d, 0xff, 0x1d, 0x09, 0xeb, 0x5d, 0xe9, 0x34, 0xea, 0xdd, 0x5a, 0x56, 0xad, 0x8b, - 0x9e, 0x42, 0x99, 0xea, 0x93, 0x1e, 0x1b, 0x0a, 0x09, 0xdb, 0x9b, 0x9d, 0x28, 0x4e, 0x6d, 0x6f, - 0x76, 0x30, 0x83, 0x44, 0xdf, 0x84, 0x0a, 0xdb, 0x4d, 0xb0, 0x57, 0xbc, 0x3c, 0x79, 0x08, 0x61, - 0xf6, 0x8a, 0x3c, 0x8c, 0xfd, 0x73, 0xb1, 0x8f, 0x2b, 0x7f, 0x1b, 0xe6, 0x12, 0x71, 0x00, 0x7d, - 0x00, 0x17, 0x75, 0x4b, 0x51, 0x5b, 0x8a, 0xae, 0x98, 0x3d, 0x12, 0xdc, 0x4b, 0xfd, 0xdc, 0xf8, - 0x88, 0xb8, 0x19, 0xe3, 0x10, 0xf1, 0x24, 0xbc, 0xb0, 0x8e, 0xcf, 0xe1, 0x04, 0xb6, 0xac, 0x00, - 0x44, 0xab, 0x47, 0x0d, 0xa8, 0x30, 0x17, 0xf6, 0x77, 0x06, 0xb3, 0xad, 0x59, 0xa6, 0x2b, 0xf3, - 0x6c, 0x17, 0xfb, 0xe3, 0xe8, 0x16, 0x80, 0x4b, 0x7a, 0x0e, 0xa1, 0x3c, 0xec, 0xf8, 0xc7, 0xf4, - 0x61, 0x00, 0xee, 0x84, 0x33, 0x38, 0x46, 0x25, 0xff, 0x56, 0x09, 0xca, 0x0f, 0xad, 0xee, 0x19, - 0x06, 0xf9, 0xa7, 0x89, 0x20, 0x5f, 0xf4, 0xfd, 0x7f, 0x68, 0x75, 0x73, 0x03, 0xfc, 0x2f, 0xa7, - 0x02, 0xfc, 0x9b, 0x13, 0x60, 0x8f, 0x0f, 0xee, 0xff, 0x50, 0x86, 0x8b, 0x0f, 0xad, 0x6e, 0x74, - 0x85, 0xf2, 0x46, 0xe2, 0x90, 0xe0, 0x7a, 0xea, 0x90, 0x60, 0x21, 0x4e, 0x7b, 0x0e, 0x77, 0x27, - 0x7b, 0x7e, 0x61, 0xd6, 0x76, 0xac, 0xae, 0x5f, 0x98, 0x95, 0x8b, 0x17, 0x66, 0x57, 0x85, 0x2e, - 0xbc, 0x38, 0x0b, 0x91, 0x70, 0x12, 0x38, 0xe7, 0x96, 0x63, 0xea, 0xcc, 0x6f, 0x39, 0x62, 0xd7, - 0x43, 0x95, 0xe3, 0x5e, 0x0f, 0x4d, 0x8f, 0xbf, 0x1e, 0x92, 0xff, 0x4c, 0x82, 0x99, 0x87, 0x56, - 0xf7, 0x3c, 0x92, 0xdf, 0x57, 0x93, 0xc9, 0xef, 0x56, 0x71, 0x07, 0xcd, 0x49, 0x7c, 0x7f, 0x54, - 0xe6, 0x6b, 0xe0, 0x31, 0xfc, 0x26, 0xd4, 0x6c, 0xc5, 0x51, 0x74, 0x9d, 0xe8, 0x9a, 0x6b, 0x88, - 0xd2, 0x91, 0xef, 0x79, 0xda, 0xd1, 0x30, 0x8e, 0xd3, 0x30, 0x96, 0x9e, 0x65, 0xd8, 0x3a, 0x09, - 0x2e, 0x4a, 0x42, 0x96, 0xf5, 0x68, 0x18, 0xc7, 0x69, 0xd0, 0x63, 0xb8, 0xaa, 0xf4, 0xa8, 0x76, - 0x40, 0xd2, 0x87, 0xad, 0x65, 0x5e, 0x42, 0xbe, 0x70, 0x34, 0x6c, 0x5c, 0x5d, 0xcb, 0x22, 0xc0, - 0xd9, 0x7c, 0x89, 0x5b, 0x81, 0xa9, 0x33, 0xb8, 0x15, 0x78, 0x03, 0x2e, 0x2a, 0x1e, 0xb5, 0x82, - 0x19, 0xee, 0x3f, 0xd5, 0xd6, 0x02, 0x0b, 0xb9, 0x6b, 0xb1, 0x71, 0x9c, 0xa0, 0x4a, 0xdc, 0x25, - 0x4c, 0x9f, 0x76, 0x4b, 0xc0, 0x9f, 0x96, 0x61, 0x36, 0x0c, 0x3a, 0xc8, 0x4a, 0x9c, 0x7f, 0xfa, - 0xc7, 0x3d, 0x6f, 0x17, 0xf7, 0x90, 0x63, 0x1f, 0x7c, 0xa2, 0xa7, 0x30, 0xeb, 0x52, 0xc5, 0xa1, - 0x93, 0xee, 0xe1, 0xe6, 0x8e, 0x86, 0x8d, 0xd9, 0x4e, 0x80, 0x80, 0x23, 0x30, 0xd4, 0x87, 0xf9, - 0xc8, 0x57, 0x26, 0x8d, 0x44, 0xfe, 0xa6, 0x37, 0x01, 0x83, 0x53, 0xb0, 0x2c, 0x1c, 0xf8, 0xde, - 0x24, 0x36, 0x76, 0x61, 0x38, 0xf0, 0x5d, 0x0f, 0x8b, 0x59, 0xb4, 0x0a, 0xb3, 0xae, 0xd7, 0xeb, - 0x11, 0xa2, 0x12, 0x55, 0x6c, 0xd8, 0x2e, 0x0b, 0xd2, 0xd9, 0x4e, 0x30, 0x81, 0x23, 0x1a, 0x06, - 0xbc, 0xab, 0x68, 0x3a, 0x51, 0xc5, 0x25, 0x49, 0x08, 0x7c, 0x97, 0x8f, 0x62, 0x31, 0xcb, 0x9b, - 0x6e, 0x1e, 0x11, 0xfa, 0x91, 0xe5, 0xec, 0xb7, 0x2d, 0x5d, 0xeb, 0x0d, 0xce, 0x30, 0x73, 0x76, - 0x13, 0x99, 0xf3, 0xcb, 0x05, 0x5d, 0x23, 0xa1, 0x65, 0x5e, 0x0e, 0x95, 0xff, 0x5d, 0x82, 0x7a, - 0x82, 0x32, 0x5e, 0x4e, 0x13, 0xa8, 0xd8, 0x96, 0x43, 0x03, 0xe7, 0x3c, 0x91, 0x06, 0x6c, 0xef, - 0x11, 0x3b, 0x8d, 0x64, 0xb0, 0xd8, 0x47, 0x67, 0xeb, 0xdc, 0x75, 0x2c, 0x43, 0x04, 0xc9, 0x93, - 0x49, 0x21, 0xc4, 0x89, 0xd6, 0x79, 0xd7, 0xb1, 0x0c, 0xcc, 0xb1, 0xe5, 0x7f, 0x94, 0xe0, 0x72, - 0x82, 0xf2, 0x3c, 0xc2, 0xbf, 0x92, 0x0c, 0xff, 0xef, 0x9c, 0x64, 0x65, 0x39, 0x89, 0xe0, 0xbf, - 0xd3, 0xeb, 0x62, 0x16, 0x40, 0x7d, 0xa8, 0xd9, 0x96, 0xda, 0x39, 0x8d, 0xde, 0x29, 0x3f, 0x91, - 0x44, 0x60, 0x38, 0x8e, 0x8c, 0x06, 0x70, 0xd9, 0x54, 0x0c, 0xe2, 0xda, 0x4a, 0x8f, 0x74, 0x4e, - 0xe3, 0x8e, 0xf7, 0xea, 0xd1, 0xb0, 0x71, 0xf9, 0x51, 0x1a, 0x12, 0x8f, 0x4a, 0x91, 0xff, 0x78, - 0x64, 0xe5, 0x96, 0x43, 0xd1, 0x57, 0xa0, 0xca, 0x7b, 0x63, 0x7b, 0x96, 0x2e, 0x8a, 0xb4, 0xdb, - 0xec, 0xe1, 0xb4, 0xc5, 0xd8, 0xb3, 0x61, 0xe3, 0x67, 0xc6, 0x96, 0x5a, 0x01, 0x21, 0x0e, 0x61, - 0xd0, 0x26, 0x4c, 0xd9, 0x93, 0x6f, 0xc8, 0xf9, 0x0e, 0x8c, 0xef, 0xc2, 0x39, 0x8a, 0xfc, 0x9f, - 0x69, 0xb5, 0x79, 0x0e, 0xdf, 0x3f, 0xbd, 0x07, 0x16, 0x9e, 0x00, 0xe4, 0x3e, 0x34, 0x07, 0x66, - 0xc4, 0x7e, 0x54, 0x38, 0xe6, 0xbd, 0x93, 0x38, 0x66, 0x7c, 0x0f, 0x15, 0x16, 0x5d, 0xc1, 0x60, - 0x20, 0x88, 0xbf, 0x7f, 0x5c, 0xa1, 0x9e, 0xe7, 0x68, 0x74, 0x70, 0xe6, 0xb1, 0x73, 0x37, 0x11, - 0x3b, 0x37, 0x0a, 0x2e, 0x70, 0x44, 0xd3, 0xdc, 0xf8, 0xf9, 0xaf, 0x12, 0x5c, 0x1d, 0xa1, 0x3e, - 0x8f, 0xd8, 0x42, 0x92, 0xb1, 0xe5, 0xcb, 0x27, 0x5d, 0x61, 0x4e, 0x7c, 0xf9, 0x18, 0x32, 0xd6, - 0xc7, 0x5d, 0xf6, 0x16, 0x80, 0xed, 0x68, 0x07, 0x9a, 0x4e, 0xfa, 0xa2, 0x7f, 0xb1, 0x1a, 0x3d, - 0x93, 0x76, 0x38, 0x83, 0x63, 0x54, 0xe8, 0x57, 0x60, 0x49, 0x25, 0xbb, 0x8a, 0xa7, 0xd3, 0x35, - 0x55, 0x5d, 0x57, 0x6c, 0xa5, 0xab, 0xe9, 0x1a, 0xd5, 0xc4, 0x25, 0xe0, 0x6c, 0xeb, 0x8e, 0xdf, - 0x57, 0x98, 0x45, 0xf1, 0x6c, 0xd8, 0xf8, 0xec, 0xf8, 0x4d, 0x52, 0x40, 0x3c, 0xc0, 0x39, 0x42, - 0xd0, 0xaf, 0x4a, 0x50, 0x77, 0xc8, 0x87, 0x9e, 0xe6, 0x10, 0x75, 0xc3, 0xb1, 0xec, 0x84, 0x06, - 0x65, 0xae, 0xc1, 0xbd, 0xa3, 0x61, 0xa3, 0x8e, 0x73, 0x68, 0x8a, 0xe8, 0x90, 0x2b, 0x08, 0x51, - 0xb8, 0xa2, 0xe8, 0xba, 0xf5, 0x11, 0x49, 0x5a, 0x60, 0x8a, 0xcb, 0x6f, 0x1d, 0x0d, 0x1b, 0x57, - 0xd6, 0x46, 0xa7, 0x8b, 0x88, 0xce, 0x82, 0x47, 0xab, 0x30, 0x73, 0x60, 0xe9, 0x9e, 0x41, 0xdc, - 0x7a, 0x85, 0x4b, 0x62, 0x91, 0x76, 0xe6, 0x89, 0x3f, 0xf4, 0x8c, 0x15, 0x3a, 0x1d, 0xbe, 0x63, - 0x0d, 0xa8, 0xd0, 0x6d, 0xa8, 0xed, 0x59, 0x2e, 0x15, 0xef, 0x3a, 0x2f, 0x8b, 0xaa, 0x51, 0x70, - 0xb9, 0x1f, 0x4d, 0xe1, 0x38, 0x1d, 0x32, 0x60, 0x76, 0x4f, 0x9c, 0x68, 0xbb, 0xf5, 0x99, 0x89, - 0xf2, 0x5e, 0xe2, 0x44, 0x3c, 0xaa, 0xdb, 0x82, 0x61, 0x17, 0x47, 0x12, 0xd8, 0xbe, 0x8f, 0xff, - 0x79, 0xb0, 0xc1, 0x3b, 0x4e, 0xaa, 0x51, 0x08, 0xba, 0xef, 0x0f, 0xe3, 0x60, 0x3e, 0x20, 0x7d, - 0xd0, 0x5e, 0xe7, 0x0d, 0x22, 0x29, 0xd2, 0x07, 0xed, 0x75, 0x1c, 0xcc, 0x23, 0x1b, 0x66, 0x5c, - 0xb2, 0xa9, 0x99, 0xde, 0x61, 0x1d, 0xf8, 0xab, 0x7b, 0xa7, 0xe8, 0xc5, 0xd5, 0x1d, 0xce, 0x9d, - 0xba, 0x2d, 0x8f, 0x24, 0x8a, 0x79, 0x1c, 0x88, 0x41, 0x87, 0x30, 0xeb, 0x78, 0xe6, 0x9a, 0xbb, - 0xe3, 0x12, 0xa7, 0x5e, 0xe3, 0x32, 0x8b, 0x46, 0x65, 0x1c, 0xf0, 0xa7, 0xa5, 0x86, 0x16, 0x0c, - 0x29, 0x70, 0x24, 0x0c, 0xfd, 0xb6, 0x04, 0xc8, 0xf5, 0x6c, 0x5b, 0x27, 0x06, 0x31, 0xa9, 0xa2, - 0xf3, 0x0b, 0x7b, 0xb7, 0x7e, 0x91, 0xeb, 0xd0, 0x2e, 0x7c, 0x61, 0x97, 0x06, 0x4a, 0x2b, 0x13, - 0x1e, 0x00, 0x8c, 0x92, 0xe2, 0x0c, 0x3d, 0xd8, 0xa3, 0xd8, 0x75, 0xf9, 0xef, 0xfa, 0xdc, 0x44, - 0x8f, 0x22, 0xbb, 0x71, 0x21, 0x7a, 0x14, 0x62, 0x1e, 0x07, 0x62, 0xd0, 0x13, 0x58, 0x72, 0x88, - 0xa2, 0x3e, 0x36, 0xf5, 0x01, 0xb6, 0x2c, 0x7a, 0x57, 0xd3, 0x89, 0x3b, 0x70, 0x29, 0x31, 0xea, - 0xf3, 0xdc, 0x6d, 0xc2, 0x06, 0x68, 0x9c, 0x49, 0x85, 0x73, 0xb8, 0x79, 0x27, 0xb3, 0xb8, 0x67, - 0x3a, 0xdb, 0x0f, 0x1c, 0x4e, 0xd6, 0xc9, 0x1c, 0xa9, 0x78, 0x66, 0x9d, 0xcc, 0x31, 0x11, 0xe3, - 0xcf, 0xdf, 0xfe, 0xab, 0x04, 0x57, 0x22, 0xe2, 0x63, 0x77, 0x32, 0x67, 0xb0, 0x9c, 0xc3, 0x69, - 0x5c, 0xf6, 0x19, 0x59, 0xf9, 0x3c, 0xcf, 0xc8, 0x4e, 0xab, 0x85, 0x9a, 0x37, 0x17, 0x47, 0x56, - 0xfc, 0x3f, 0xd0, 0x5c, 0x1c, 0x29, 0x9b, 0x53, 0xc8, 0xfc, 0x49, 0x29, 0xbe, 0xa2, 0xff, 0x4f, - 0x1d, 0xac, 0x19, 0x0d, 0xa5, 0x53, 0xc5, 0x1a, 0x4a, 0xe5, 0x7f, 0x29, 0xc3, 0x42, 0xfa, 0xa5, - 0x4d, 0x34, 0x32, 0x4a, 0xcf, 0x6d, 0x64, 0x6c, 0xc3, 0xe2, 0xae, 0xa7, 0xeb, 0x03, 0x6e, 0x90, - 0xd8, 0x05, 0xbd, 0x7f, 0xf6, 0xf8, 0x92, 0xe0, 0x5c, 0xbc, 0x9b, 0x41, 0x83, 0x33, 0x39, 0x73, - 0x9a, 0x32, 0xcb, 0x13, 0x35, 0x65, 0xbe, 0x0d, 0x73, 0x0e, 0xff, 0xf6, 0x24, 0xd9, 0x37, 0x10, - 0x1e, 0x8e, 0xe3, 0xf8, 0x24, 0x4e, 0xd2, 0x66, 0x37, 0x58, 0x56, 0x26, 0x68, 0xb0, 0x3c, 0x8d, - 0x8e, 0xc8, 0x8c, 0xd8, 0xf7, 0xdc, 0x8e, 0xc8, 0x97, 0x60, 0x59, 0xb0, 0xb1, 0xff, 0xeb, 0x96, - 0x49, 0x1d, 0x4b, 0xd7, 0x89, 0xb3, 0xe1, 0x19, 0xc6, 0x40, 0x7e, 0x17, 0xe6, 0x93, 0x6d, 0xb9, - 0xfe, 0x93, 0xf7, 0x3b, 0x85, 0x45, 0x83, 0x41, 0xec, 0xc9, 0xfb, 0xe3, 0x38, 0xa4, 0x90, 0x3f, - 0x91, 0xe0, 0x5a, 0x4e, 0x67, 0x23, 0xfa, 0x00, 0xe6, 0x0d, 0xe5, 0x30, 0xd6, 0x32, 0x2a, 0x42, - 0x4b, 0xd1, 0x5d, 0x36, 0x3f, 0x3b, 0xdc, 0x4a, 0x20, 0xe1, 0x14, 0x32, 0x4f, 0xb8, 0xca, 0x61, - 0xc7, 0x73, 0xfa, 0x64, 0xc2, 0xbd, 0x3c, 0x7f, 0x7d, 0xb7, 0x04, 0x06, 0x0e, 0xd1, 0xe4, 0x1f, - 0x4a, 0x50, 0xcf, 0xab, 0xbe, 0xd0, 0xed, 0x44, 0x87, 0xe4, 0x67, 0x52, 0x1d, 0x92, 0x97, 0x47, - 0xf8, 0xce, 0xa9, 0x3f, 0xf2, 0x47, 0x12, 0x2c, 0x65, 0x57, 0xa9, 0xe8, 0xe7, 0x13, 0x1a, 0x37, - 0x52, 0x1a, 0x5f, 0x4a, 0x71, 0x09, 0x7d, 0xf7, 0x60, 0x5e, 0xd4, 0xb2, 0x02, 0xe6, 0x18, 0x9f, - 0xa8, 0x1e, 0x84, 0x85, 0x72, 0x50, 0x95, 0xf1, 0xe7, 0x98, 0x1c, 0xc3, 0x29, 0x5c, 0xf9, 0x77, - 0x4b, 0x50, 0xe1, 0x6d, 0x43, 0x67, 0x58, 0x42, 0x7d, 0x2d, 0x51, 0x42, 0x15, 0xbd, 0x58, 0xe4, - 0xda, 0xe5, 0x56, 0x4f, 0xdd, 0x54, 0xf5, 0xf4, 0xd6, 0x44, 0xe8, 0xe3, 0x0b, 0xa7, 0x2f, 0xc0, - 0x6c, 0xa8, 0x44, 0xb1, 0x40, 0xcd, 0xca, 0xd4, 0x5a, 0x4c, 0x44, 0xc1, 0x30, 0x7f, 0x90, 0xc8, - 0x94, 0x93, 0x7c, 0x4b, 0x1d, 0x93, 0xdd, 0x0c, 0x52, 0xa5, 0xff, 0xb9, 0x4d, 0xd4, 0xf8, 0x37, - 0x9a, 0x41, 0xdf, 0x85, 0x79, 0xff, 0x83, 0xf4, 0xf0, 0x0c, 0xad, 0xcc, 0xbd, 0x37, 0xfc, 0x8c, - 0x6b, 0x3b, 0x31, 0x8b, 0x53, 0xd4, 0xcb, 0x6f, 0xc3, 0x5c, 0x42, 0x58, 0xa1, 0xaf, 0x63, 0xfe, - 0x52, 0x82, 0xc5, 0xac, 0x56, 0x45, 0x74, 0x1d, 0xa6, 0xf6, 0x35, 0xd1, 0x5b, 0x11, 0xeb, 0x47, - 0xf9, 0x45, 0xcd, 0x54, 0x31, 0x9f, 0x09, 0x3f, 0x6e, 0x2a, 0xe5, 0x7e, 0xdc, 0x74, 0x0b, 0x40, - 0xb1, 0x35, 0xf1, 0x91, 0xbf, 0x58, 0x55, 0xe8, 0xbc, 0xd1, 0xe7, 0xff, 0x38, 0x46, 0xc5, 0x3b, - 0x90, 0x22, 0x7d, 0x44, 0x59, 0x18, 0xb5, 0x06, 0xc5, 0x54, 0x8d, 0xd3, 0xc9, 0x7f, 0x25, 0xc1, - 0x67, 0x9e, 0xbb, 0x83, 0x43, 0xad, 0x44, 0x78, 0x68, 0xa6, 0xc2, 0xc3, 0x4a, 0x3e, 0xc0, 0x39, - 0x76, 0x7f, 0x7f, 0xaf, 0x04, 0x68, 0x7b, 0x4f, 0x73, 0xd4, 0xb6, 0xe2, 0xd0, 0x01, 0x16, 0x0b, - 0x3c, 0xc3, 0x80, 0x71, 0x1b, 0x6a, 0x2a, 0x71, 0x7b, 0x8e, 0xc6, 0x8d, 0x24, 0x1e, 0x67, 0x68, - 0xf1, 0x8d, 0x68, 0x0a, 0xc7, 0xe9, 0x50, 0x1f, 0xaa, 0xa2, 0x56, 0x0c, 0x5a, 0x58, 0x8a, 0x16, - 0xbe, 0x91, 0x07, 0x44, 0xef, 0x87, 0x18, 0x70, 0x71, 0x08, 0x2e, 0x7f, 0x5f, 0x82, 0xa5, 0x51, - 0x83, 0x6c, 0xf8, 0x0d, 0x1a, 0x67, 0x65, 0x94, 0x97, 0x60, 0x8a, 0xa3, 0x32, 0x6b, 0x5c, 0xf4, - 0x4f, 0xc2, 0x99, 0x44, 0xcc, 0x47, 0xe5, 0x9f, 0x4a, 0xb0, 0x9c, 0xad, 0xd2, 0x79, 0xec, 0x37, - 0x3e, 0x48, 0xee, 0x37, 0x8a, 0x9e, 0x2a, 0x64, 0x2b, 0x9e, 0xb3, 0xf7, 0xf8, 0x24, 0xd3, 0xf8, - 0xe7, 0xb1, 0xca, 0xdd, 0xe4, 0x2a, 0xd7, 0x4e, 0xbc, 0xca, 0xec, 0x15, 0xb6, 0x3e, 0xf7, 0xf1, - 0xa7, 0x2b, 0x17, 0x7e, 0xfc, 0xe9, 0xca, 0x85, 0x7f, 0xfe, 0x74, 0xe5, 0xc2, 0x77, 0x8f, 0x56, - 0xa4, 0x8f, 0x8f, 0x56, 0xa4, 0x1f, 0x1f, 0xad, 0x48, 0xff, 0x76, 0xb4, 0x22, 0x7d, 0xff, 0x27, - 0x2b, 0x17, 0xbe, 0x36, 0x23, 0x30, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0x18, 0x07, 0xfd, 0xe8, - 0x4d, 0x46, 0x00, 0x00, + 0x6c, 0x07, 0x23, 0xcb, 0x5e, 0x7e, 0x3d, 0x9b, 0xda, 0xf1, 0x4c, 0xaa, 0x19, 0xa3, 0x3a, 0xbd, + 0x31, 0x9e, 0xdc, 0xed, 0xed, 0x11, 0x43, 0x19, 0xe1, 0xba, 0x99, 0xcd, 0xe5, 0x51, 0x4d, 0x5f, + 0xd5, 0x4c, 0xea, 0x52, 0x27, 0xcd, 0x22, 0x37, 0x01, 0xd6, 0xda, 0x0f, 0x9e, 0xf8, 0xab, 0x44, + 0xd7, 0x61, 0xca, 0x54, 0x0c, 0x52, 0x97, 0xae, 0x4b, 0x37, 0x66, 0x5b, 0x17, 0x3f, 0x1e, 0x36, + 0x2e, 0x1c, 0x0d, 0x1b, 0x53, 0x8f, 0x14, 0x83, 0x60, 0x3e, 0x23, 0xbf, 0x07, 0x8b, 0xeb, 0xed, + 0x9d, 0x6d, 0xc5, 0xe9, 0x13, 0xba, 0x43, 0x35, 0x5d, 0xfb, 0x96, 0x42, 0x19, 0xe7, 0x06, 0x2c, + 0x50, 0x3e, 0xd8, 0x26, 0x4e, 0x8f, 0x98, 0x54, 0xe9, 0xfb, 0x28, 0x95, 0x56, 0x5d, 0xa0, 0x2c, + 0x6c, 0xa7, 0xe6, 0xf1, 0x08, 0x87, 0xfc, 0x1b, 0x12, 0xbc, 0xb0, 0xee, 0xb9, 0xd4, 0x32, 0xb6, + 0x08, 0x75, 0xb4, 0xde, 0xba, 0xe7, 0x38, 0xc4, 0xa4, 0x1d, 0xaa, 0x50, 0xcf, 0x7d, 0xbe, 0x76, + 0xe8, 0x29, 0x54, 0x0e, 0x14, 0xdd, 0x23, 0xf5, 0xd2, 0x75, 0xe9, 0x46, 0xed, 0xd6, 0x6b, 0xcd, + 0x5c, 0x67, 0x6b, 0x06, 0xee, 0xd0, 0xfc, 0x8a, 0xa7, 0x98, 0x54, 0xa3, 0x83, 0xd6, 0xa2, 0x00, + 0xbc, 0x28, 0xa4, 0x3e, 0x61, 0x48, 0xd8, 0x07, 0x94, 0xbf, 0x27, 0xc1, 0xcb, 0xb9, 0x9a, 0x6d, + 0x6a, 0x2e, 0x45, 0x06, 0x54, 0x34, 0x4a, 0x0c, 0xb7, 0x2e, 0x5d, 0x2f, 0xdf, 0xa8, 0xdd, 0xba, + 0xdf, 0x2c, 0xe4, 0xe8, 0xcd, 0x5c, 0xf0, 0xd6, 0x9c, 0xd0, 0xab, 0xf2, 0x80, 0xc1, 0x63, 0x5f, + 0x8a, 0xfc, 0xeb, 0x12, 0xa0, 0x38, 0x8f, 0x6f, 0xdd, 0x63, 0xd8, 0xe8, 0xab, 0x27, 0xb1, 0xd1, + 0x15, 0x01, 0x58, 0xf3, 0xc5, 0x25, 0x4c, 0xf4, 0x5d, 0x09, 0x96, 0x46, 0x35, 0xe2, 0xb6, 0xd9, + 0x4d, 0xda, 0x66, 0xed, 0x04, 0xb6, 0xf1, 0x51, 0x73, 0x8c, 0xf2, 0x07, 0x25, 0x98, 0xdd, 0x50, + 0x88, 0x61, 0x99, 0x1d, 0x42, 0xd1, 0x53, 0xa8, 0x1a, 0x84, 0x2a, 0xaa, 0x42, 0x15, 0x6e, 0x8f, + 0xda, 0xad, 0x1b, 0x63, 0x16, 0x7b, 0x70, 0xb3, 0xf9, 0xb8, 0xfb, 0x01, 0xe9, 0xd1, 0x2d, 0x42, + 0x95, 0x16, 0x12, 0xf8, 0x10, 0x8d, 0xe1, 0x10, 0x0d, 0xbd, 0x0f, 0x53, 0xae, 0x4d, 0x7a, 0xc2, + 0x84, 0xef, 0x14, 0x5c, 0x4e, 0xa8, 0x61, 0xc7, 0x26, 0xbd, 0xe8, 0x19, 0xb1, 0x7f, 0x98, 0xe3, + 0xa2, 0x5d, 0x98, 0x76, 0xf9, 0xc3, 0xaf, 0x97, 0xb9, 0x84, 0x77, 0x27, 0x96, 0xe0, 0xbb, 0xd0, + 0xbc, 0x90, 0x31, 0xed, 0xff, 0xc7, 0x02, 0x5d, 0xfe, 0x5b, 0x09, 0xe6, 0x42, 0x5a, 0xfe, 0xa4, + 0xbe, 0x31, 0x62, 0xb3, 0xd5, 0x31, 0x36, 0x8b, 0xc5, 0xc7, 0x26, 0x63, 0xe7, 0xa6, 0x5b, 0x10, + 0xc2, 0xaa, 0xc1, 0x48, 0xcc, 0x70, 0xdf, 0x08, 0x1c, 0xa1, 0xc4, 0x1d, 0xe1, 0xcd, 0x49, 0xd7, + 0x95, 0xf3, 0xfc, 0xff, 0x26, 0xbe, 0x1e, 0x66, 0x4f, 0xf4, 0x3e, 0x54, 0x5d, 0xa2, 0x93, 0x1e, + 0xb5, 0x1c, 0xb1, 0x9e, 0x37, 0x8e, 0xbb, 0x1e, 0xa5, 0x4b, 0xf4, 0x8e, 0xe0, 0x6d, 0x5d, 0x64, + 0x0b, 0x0a, 0xfe, 0xe1, 0x10, 0x13, 0x7d, 0x1d, 0xaa, 0x94, 0x18, 0xb6, 0xae, 0xd0, 0xe0, 0x85, + 0x7a, 0x7d, 0xbc, 0x8f, 0xb5, 0x2d, 0x75, 0x5b, 0x30, 0xf0, 0xc7, 0x1f, 0x5a, 0x2b, 0x18, 0xc5, + 0x21, 0xa0, 0xfc, 0x17, 0x25, 0xb8, 0x94, 0x7a, 0x94, 0xe8, 0x09, 0x2c, 0xf5, 0xfc, 0xf0, 0xf0, + 0xc8, 0x33, 0xba, 0xc4, 0xe9, 0xf4, 0xf6, 0x88, 0xea, 0xe9, 0x44, 0x15, 0xe1, 0x76, 0x45, 0xe0, + 0x2d, 0xad, 0x67, 0x52, 0xe1, 0x1c, 0x6e, 0xf4, 0x10, 0x90, 0xc9, 0x87, 0xb6, 0x34, 0xd7, 0x0d, + 0x31, 0x4b, 0x1c, 0x73, 0x59, 0x60, 0xa2, 0x47, 0x23, 0x14, 0x38, 0x83, 0x8b, 0xe9, 0xa8, 0x12, + 0x57, 0x73, 0x88, 0x9a, 0xd6, 0xb1, 0x9c, 0xd4, 0x71, 0x23, 0x93, 0x0a, 0xe7, 0x70, 0xa3, 0xdb, + 0x50, 0xf3, 0xa5, 0x61, 0xa2, 0xa8, 0x83, 0xfa, 0x14, 0x07, 0x0b, 0x43, 0xd2, 0xa3, 0x68, 0x0a, + 0xc7, 0xe9, 0xe4, 0x3f, 0x2c, 0x01, 0x6c, 0x10, 0x5b, 0xb7, 0x06, 0x06, 0x31, 0xcf, 0x32, 0x2c, + 0x7c, 0x33, 0x11, 0x16, 0xbe, 0x58, 0xd4, 0xb9, 0x43, 0x15, 0x73, 0xe3, 0x42, 0x3f, 0x15, 0x17, + 0xbe, 0x34, 0xb9, 0x88, 0xf1, 0x81, 0xe1, 0x27, 0x65, 0xb8, 0x12, 0x11, 0xaf, 0x5b, 0xa6, 0xaa, + 0xf1, 0x34, 0xff, 0x36, 0x4c, 0xd1, 0x81, 0x1d, 0xa4, 0x97, 0xcf, 0x06, 0x2a, 0x6e, 0x0f, 0x6c, + 0xf2, 0x6c, 0xd8, 0xb8, 0x96, 0xc1, 0xc2, 0xa6, 0x30, 0x67, 0x42, 0x4f, 0x42, 0xed, 0x4b, 0x9c, + 0xfd, 0xdd, 0xa4, 0xf0, 0x67, 0xc3, 0xc6, 0xd8, 0x9a, 0xaa, 0x19, 0x62, 0x26, 0x95, 0x45, 0xaf, + 0xc2, 0xb4, 0x43, 0x14, 0xd7, 0x32, 0xb9, 0x47, 0xcc, 0x46, 0x8b, 0xc2, 0x7c, 0x14, 0x8b, 0x59, + 0xf4, 0x39, 0x98, 0x31, 0x88, 0xeb, 0xb2, 0xd2, 0xa4, 0xc2, 0x09, 0x2f, 0x09, 0xc2, 0x99, 0x2d, + 0x7f, 0x18, 0x07, 0xf3, 0x68, 0x1f, 0xe6, 0x75, 0xc5, 0xa5, 0x3b, 0xb6, 0xaa, 0x50, 0xb2, 0xad, + 0x19, 0xa4, 0x3e, 0xcd, 0x0d, 0xfe, 0xb3, 0xc7, 0x0c, 0x1e, 0x8c, 0xa5, 0xb5, 0x24, 0xe0, 0xe7, + 0x37, 0x13, 0x50, 0x38, 0x05, 0x8d, 0x3e, 0x02, 0xc4, 0x46, 0xb6, 0x1d, 0xc5, 0x74, 0x7d, 0x9b, + 0x31, 0x81, 0x33, 0xc5, 0x05, 0x86, 0xef, 0xe9, 0xe6, 0x08, 0x1c, 0xce, 0x10, 0x21, 0xff, 0x9d, + 0x04, 0xf3, 0xd1, 0x23, 0x3b, 0x8f, 0xf8, 0xff, 0x7e, 0x32, 0xfe, 0x7f, 0x61, 0x62, 0xff, 0xcd, + 0x49, 0x00, 0xbf, 0x59, 0x06, 0x14, 0x11, 0x61, 0x4b, 0xd7, 0xbb, 0x4a, 0x6f, 0xff, 0x18, 0x55, + 0xd1, 0xef, 0x49, 0x80, 0x3c, 0xfe, 0x48, 0xd4, 0x35, 0xd3, 0xb4, 0x28, 0xaf, 0x6a, 0x03, 0x35, + 0x7f, 0x69, 0x62, 0x35, 0x03, 0x0d, 0x9a, 0x3b, 0x23, 0xd8, 0x77, 0x4c, 0xea, 0x0c, 0xa2, 0x47, + 0x36, 0x4a, 0x80, 0x33, 0x14, 0x42, 0x1f, 0x02, 0x38, 0x02, 0x73, 0xdb, 0x12, 0x51, 0xa0, 0x68, + 0xa0, 0x09, 0x94, 0x5a, 0xb7, 0xcc, 0x5d, 0xad, 0x1f, 0xc5, 0x34, 0x1c, 0x02, 0xe3, 0x98, 0x90, + 0xe5, 0x3b, 0x70, 0x2d, 0x47, 0x7b, 0xb4, 0x00, 0xe5, 0x7d, 0x32, 0xf0, 0xcd, 0x8a, 0xd9, 0x4f, + 0xb4, 0x18, 0xaf, 0x2e, 0x67, 0x45, 0x69, 0xf8, 0x56, 0xe9, 0x4d, 0x49, 0xfe, 0x69, 0x25, 0xee, + 0x6c, 0x3c, 0x39, 0xdf, 0x80, 0xaa, 0x43, 0x6c, 0x5d, 0xeb, 0x29, 0xae, 0xc8, 0x5e, 0x3c, 0xcd, + 0x62, 0x31, 0x86, 0xc3, 0xd9, 0x44, 0x1a, 0x2f, 0x9d, 0x71, 0x1a, 0x2f, 0x9f, 0x72, 0x1a, 0x47, + 0x16, 0x54, 0x5d, 0xca, 0x36, 0x5d, 0x7d, 0x3f, 0x67, 0x15, 0x2f, 0x80, 0xe3, 0x71, 0xdb, 0x07, + 0x8a, 0x04, 0x06, 0x23, 0x38, 0x14, 0x82, 0xd6, 0xe0, 0x92, 0xa1, 0x99, 0x3c, 0xf9, 0x75, 0x48, + 0xcf, 0x32, 0x55, 0x97, 0x07, 0xbc, 0x4a, 0xeb, 0x9a, 0x60, 0xba, 0xb4, 0x95, 0x9c, 0xc6, 0x69, + 0x7a, 0xb4, 0x09, 0x8b, 0x0e, 0x39, 0xd0, 0x98, 0x1a, 0xf7, 0x35, 0x97, 0x5a, 0xce, 0x60, 0x53, + 0x33, 0x34, 0xca, 0xc3, 0x60, 0xa5, 0x55, 0x3f, 0x1a, 0x36, 0x16, 0x71, 0xc6, 0x3c, 0xce, 0xe4, + 0x62, 0x11, 0xda, 0x56, 0x3c, 0x97, 0xa8, 0x3c, 0xaa, 0x55, 0xa3, 0x08, 0xdd, 0xe6, 0xa3, 0x58, + 0xcc, 0x22, 0x23, 0xe1, 0xdd, 0xd5, 0xd3, 0xf0, 0xee, 0xf9, 0x7c, 0xcf, 0x46, 0x3b, 0x70, 0xcd, + 0x76, 0xac, 0xbe, 0x43, 0x5c, 0x77, 0x83, 0x28, 0xaa, 0xae, 0x99, 0x24, 0xb0, 0xd7, 0x2c, 0x5f, + 0xe7, 0x8b, 0x47, 0xc3, 0xc6, 0xb5, 0x76, 0x36, 0x09, 0xce, 0xe3, 0x95, 0x3f, 0x29, 0xc3, 0x42, + 0x3a, 0xd3, 0xb2, 0xfa, 0xca, 0xea, 0xba, 0xc4, 0x39, 0x20, 0xea, 0x3d, 0x7f, 0x0f, 0xae, 0x59, + 0x26, 0xf7, 0xfa, 0x72, 0x14, 0x04, 0x1e, 0x8f, 0x50, 0xe0, 0x0c, 0x2e, 0xf4, 0x5a, 0xec, 0xbd, + 0xf1, 0x2b, 0xb4, 0xd0, 0x1b, 0x32, 0xde, 0x9d, 0x35, 0xb8, 0x24, 0x02, 0x49, 0x30, 0x29, 0xca, + 0xb0, 0xd0, 0x1b, 0x76, 0x92, 0xd3, 0x38, 0x4d, 0x8f, 0xee, 0xc1, 0x65, 0xe5, 0x40, 0xd1, 0x74, + 0xa5, 0xab, 0x93, 0x10, 0xc4, 0x2f, 0xbf, 0x5e, 0x10, 0x20, 0x97, 0xd7, 0xd2, 0x04, 0x78, 0x94, + 0x07, 0x6d, 0xc1, 0x15, 0xcf, 0x1c, 0x85, 0xf2, 0xbd, 0xf3, 0x45, 0x01, 0x75, 0x65, 0x67, 0x94, + 0x04, 0x67, 0xf1, 0xa1, 0x03, 0x80, 0x5e, 0x50, 0x14, 0xb8, 0xf5, 0x69, 0x1e, 0xac, 0x5b, 0x13, + 0xbf, 0x5b, 0x61, 0x7d, 0x11, 0x85, 0xc4, 0x70, 0xc8, 0xc5, 0x31, 0x49, 0xf2, 0xdf, 0x4b, 0xf1, + 0x34, 0x13, 0xbc, 0x81, 0xe8, 0xad, 0x44, 0x75, 0xf4, 0x6a, 0xaa, 0x3a, 0x5a, 0x1a, 0xe5, 0x88, + 0x15, 0x47, 0xdf, 0x81, 0x39, 0xe6, 0x99, 0x9a, 0xd9, 0xf7, 0x9f, 0x86, 0x08, 0x73, 0x77, 0x27, + 0xf0, 0xfe, 0x10, 0x23, 0x96, 0x2e, 0x2f, 0x1f, 0x0d, 0x1b, 0x73, 0x89, 0x49, 0x9c, 0x94, 0x27, + 0xbf, 0x07, 0x73, 0x77, 0x0e, 0x6d, 0xcb, 0xa1, 0x8f, 0x6d, 0x3f, 0xd5, 0xbc, 0x0a, 0xd3, 0x84, + 0x0f, 0xf0, 0xf5, 0xc4, 0x5e, 0x5a, 0x9f, 0x0c, 0x8b, 0x59, 0xf4, 0x0a, 0x54, 0xc8, 0xa1, 0xd2, + 0xa3, 0x5c, 0xe3, 0x6a, 0x94, 0x98, 0xef, 0xb0, 0x41, 0xec, 0xcf, 0xc9, 0x3f, 0x94, 0x60, 0xe9, + 0x6e, 0xe7, 0x9e, 0x63, 0x79, 0x76, 0xb0, 0xf8, 0x40, 0xce, 0x2f, 0xc0, 0x94, 0xe3, 0xe9, 0x81, + 0xd5, 0x5e, 0x09, 0xac, 0x86, 0x3d, 0x9d, 0x59, 0xed, 0x4a, 0x8a, 0xcb, 0x37, 0x19, 0x63, 0x40, + 0xef, 0xc3, 0xb4, 0xa3, 0x98, 0x7d, 0x12, 0xa4, 0xe9, 0xcf, 0x17, 0xb4, 0xd5, 0x83, 0x0d, 0xcc, + 0xd8, 0x63, 0xf5, 0x22, 0x47, 0xc3, 0x02, 0x55, 0xfe, 0x1d, 0x09, 0x2e, 0xdd, 0xdf, 0xde, 0x6e, + 0x3f, 0x30, 0xf9, 0x6b, 0xde, 0x56, 0xe8, 0x1e, 0xab, 0x24, 0x6c, 0x85, 0xee, 0xa5, 0x2b, 0x09, + 0x36, 0x87, 0xf9, 0x0c, 0xda, 0x83, 0x19, 0x16, 0x5e, 0x88, 0xa9, 0x4e, 0xb8, 0x0f, 0x10, 0xe2, + 0x5a, 0x3e, 0x48, 0x54, 0xa4, 0x8a, 0x01, 0x1c, 0xc0, 0xcb, 0xdf, 0x86, 0xc5, 0x98, 0x7a, 0xcc, + 0x5e, 0xfc, 0x3c, 0x06, 0xf5, 0xa0, 0xc2, 0x34, 0x09, 0x4e, 0x5b, 0x8a, 0x1e, 0x1e, 0xa4, 0x96, + 0x1c, 0x3d, 0x50, 0xf6, 0xcf, 0xc5, 0x3e, 0xb6, 0xfc, 0x4f, 0x25, 0xb8, 0x76, 0xdf, 0x72, 0xb4, + 0x6f, 0x59, 0x26, 0x55, 0xf4, 0xb6, 0xa5, 0xae, 0x79, 0xd4, 0x72, 0x7b, 0x8a, 0x4e, 0x9c, 0x33, + 0xdc, 0x61, 0xe9, 0x89, 0x1d, 0xd6, 0xc3, 0xa2, 0x2b, 0xcb, 0xd6, 0x37, 0x77, 0xbb, 0x45, 0x53, + 0xdb, 0xad, 0xcd, 0x53, 0x92, 0x37, 0x7e, 0xef, 0xf5, 0x1f, 0x12, 0xbc, 0x98, 0xc3, 0x79, 0x1e, + 0x25, 0xfa, 0x7e, 0xb2, 0x44, 0xbf, 0x7b, 0x3a, 0x6b, 0xce, 0xa9, 0xd7, 0xff, 0xa7, 0x94, 0xbb, + 0x56, 0x5e, 0x21, 0x7e, 0x08, 0x55, 0xfe, 0x0f, 0x93, 0x5d, 0xb1, 0xd6, 0xf5, 0x82, 0xfa, 0x74, + 0xbc, 0x6e, 0x70, 0x8c, 0x89, 0xc9, 0x2e, 0x71, 0x88, 0xd9, 0x23, 0xb1, 0xe2, 0x49, 0x80, 0xe3, + 0x50, 0x0c, 0xba, 0x09, 0x35, 0x5e, 0x0c, 0x25, 0xf2, 0xeb, 0xa5, 0xa3, 0x61, 0xa3, 0xb6, 0x15, + 0x0d, 0xe3, 0x38, 0x0d, 0xba, 0x0d, 0x35, 0x43, 0x39, 0x4c, 0x65, 0xd7, 0xf0, 0x5c, 0x62, 0x2b, + 0x9a, 0xc2, 0x71, 0x3a, 0xf4, 0x1d, 0x98, 0xef, 0xd9, 0x5e, 0xec, 0x14, 0x5d, 0x54, 0x87, 0x45, + 0x97, 0x98, 0x75, 0x20, 0xdf, 0x42, 0x6c, 0xe3, 0xb9, 0xde, 0xde, 0x89, 0x8d, 0xe1, 0x94, 0x38, + 0xf9, 0xcf, 0xcb, 0xf0, 0xf2, 0x58, 0x1f, 0x45, 0x77, 0xc7, 0x54, 0x2d, 0x4b, 0x05, 0x2a, 0x16, + 0x15, 0xe6, 0xd8, 0xfe, 0x93, 0x9b, 0x9b, 0xef, 0x6e, 0x4b, 0xc5, 0x77, 0xb7, 0x3c, 0x85, 0x6d, + 0xc6, 0x51, 0x70, 0x12, 0x94, 0x55, 0x3a, 0xe2, 0x74, 0x2b, 0xaf, 0xd2, 0x59, 0x4f, 0x4e, 0xe3, + 0x34, 0x3d, 0x83, 0x10, 0x87, 0x4f, 0xa9, 0x3a, 0x27, 0x84, 0xd8, 0x48, 0x4e, 0xe3, 0x34, 0x3d, + 0x32, 0xa0, 0x21, 0x50, 0x93, 0xe6, 0x8f, 0xdd, 0x8c, 0xf8, 0xf5, 0xce, 0x2b, 0x47, 0xc3, 0x46, + 0x63, 0x7d, 0x3c, 0x29, 0x7e, 0x1e, 0x96, 0xbc, 0x05, 0x73, 0xf7, 0x2d, 0x97, 0xb6, 0x59, 0x4a, + 0x66, 0x79, 0x0b, 0xbd, 0x0c, 0x65, 0x43, 0x33, 0xc5, 0x86, 0xaa, 0x26, 0xd4, 0x2e, 0x33, 0xe7, + 0x65, 0xe3, 0x7c, 0x5a, 0x39, 0x14, 0x7e, 0x1d, 0x4d, 0x2b, 0x87, 0x98, 0x8d, 0xcb, 0xf7, 0x60, + 0x46, 0xe4, 0xc5, 0x38, 0x50, 0x79, 0x3c, 0x50, 0x39, 0x03, 0xe8, 0xf7, 0x4b, 0x30, 0x23, 0xd2, + 0xc8, 0x19, 0x26, 0x84, 0xf7, 0x12, 0x09, 0xe1, 0xad, 0xc9, 0x52, 0x6d, 0x6e, 0x02, 0x50, 0x53, + 0x09, 0xe0, 0x9d, 0x09, 0xf1, 0xc7, 0x07, 0xfc, 0x1f, 0x48, 0x30, 0x9f, 0x4c, 0xfa, 0x2c, 0xa2, + 0xb0, 0x77, 0x48, 0xeb, 0x91, 0x47, 0xd1, 0xb9, 0x45, 0x18, 0x51, 0x3a, 0xd1, 0x14, 0x8e, 0xd3, + 0x21, 0x12, 0xb2, 0x31, 0x77, 0x10, 0x46, 0x69, 0xe6, 0x28, 0xed, 0x51, 0x4d, 0x6f, 0xfa, 0xd7, + 0x82, 0xcd, 0x07, 0x26, 0x7d, 0xec, 0x74, 0xa8, 0xa3, 0x99, 0xfd, 0x11, 0x31, 0xdc, 0xb3, 0xe2, + 0xb8, 0xf2, 0x5f, 0x4b, 0x50, 0x13, 0x0a, 0x9f, 0x47, 0x46, 0xfa, 0x7a, 0x32, 0x23, 0x7d, 0x7e, + 0xc2, 0x7a, 0x2a, 0x3b, 0x03, 0xfd, 0x28, 0x5a, 0x0b, 0xab, 0xa0, 0x58, 0x81, 0xb7, 0x67, 0xb9, + 0x34, 0x5d, 0xe0, 0xb1, 0x57, 0x0c, 0xf3, 0x19, 0xf4, 0x6b, 0x12, 0x2c, 0x68, 0xa9, 0x9a, 0x4b, + 0x98, 0xfa, 0x4b, 0x93, 0xa9, 0x16, 0xc2, 0x44, 0x97, 0xa5, 0xe9, 0x19, 0x3c, 0x22, 0x52, 0xf6, + 0x60, 0x84, 0x0a, 0x29, 0x30, 0xb5, 0x47, 0xa9, 0x3d, 0x61, 0xae, 0xcc, 0xaa, 0x26, 0x5b, 0x55, + 0xbe, 0xfc, 0xed, 0xed, 0x36, 0xe6, 0xd0, 0xf2, 0x0f, 0x4a, 0xa1, 0xc1, 0x3a, 0xfe, 0x3b, 0x12, + 0xd6, 0xbb, 0xd2, 0x69, 0xd4, 0xbb, 0xb5, 0xac, 0x5a, 0x17, 0x3d, 0x85, 0x32, 0xd5, 0x27, 0x3d, + 0x36, 0x14, 0x12, 0xb6, 0x37, 0x3b, 0x51, 0x9c, 0xda, 0xde, 0xec, 0x60, 0x06, 0x89, 0xbe, 0x09, + 0x15, 0xb6, 0x9b, 0x60, 0xaf, 0x78, 0x79, 0xf2, 0x10, 0xc2, 0xec, 0x15, 0x79, 0x18, 0xfb, 0xe7, + 0x62, 0x1f, 0x57, 0xfe, 0x36, 0xcc, 0x25, 0xe2, 0x00, 0xfa, 0x00, 0x2e, 0xea, 0x96, 0xa2, 0xb6, + 0x14, 0x5d, 0x31, 0x7b, 0x24, 0xb8, 0x97, 0xfa, 0xb9, 0xf1, 0x11, 0x71, 0x33, 0xc6, 0x21, 0xe2, + 0x49, 0x78, 0x61, 0x1d, 0x9f, 0xc3, 0x09, 0x6c, 0x59, 0x01, 0x88, 0x56, 0x8f, 0x1a, 0x50, 0x61, + 0x2e, 0xec, 0xef, 0x0c, 0x66, 0x5b, 0xb3, 0x4c, 0x57, 0xe6, 0xd9, 0x2e, 0xf6, 0xc7, 0xd1, 0x2d, + 0x00, 0x97, 0xf4, 0x1c, 0x42, 0x79, 0xd8, 0xf1, 0x8f, 0xe9, 0xc3, 0x00, 0xdc, 0x09, 0x67, 0x70, + 0x8c, 0x4a, 0xfe, 0xad, 0x12, 0x94, 0x1f, 0x5a, 0xdd, 0x33, 0x0c, 0xf2, 0x4f, 0x13, 0x41, 0xbe, + 0xe8, 0xfb, 0xff, 0xd0, 0xea, 0xe6, 0x06, 0xf8, 0x5f, 0x4e, 0x05, 0xf8, 0x37, 0x27, 0xc0, 0x1e, + 0x1f, 0xdc, 0xff, 0xa1, 0x0c, 0x17, 0x1f, 0x5a, 0xdd, 0xe8, 0x0a, 0xe5, 0x8d, 0xc4, 0x21, 0xc1, + 0xf5, 0xd4, 0x21, 0xc1, 0x42, 0x9c, 0xf6, 0x1c, 0xee, 0x4e, 0xf6, 0xfc, 0xc2, 0xac, 0xed, 0x58, + 0x5d, 0xbf, 0x30, 0x2b, 0x17, 0x2f, 0xcc, 0xae, 0x0a, 0x5d, 0x78, 0x71, 0x16, 0x22, 0xe1, 0x24, + 0x70, 0xce, 0x2d, 0xc7, 0xd4, 0x99, 0xdf, 0x72, 0xc4, 0xae, 0x87, 0x2a, 0xc7, 0xbd, 0x1e, 0x9a, + 0x1e, 0x7f, 0x3d, 0x24, 0xff, 0x99, 0x04, 0x33, 0x0f, 0xad, 0xee, 0x79, 0x24, 0xbf, 0xaf, 0x26, + 0x93, 0xdf, 0xad, 0xe2, 0x0e, 0x9a, 0x93, 0xf8, 0xfe, 0xa8, 0xcc, 0xd7, 0xc0, 0x63, 0xf8, 0x4d, + 0xa8, 0xd9, 0x8a, 0xa3, 0xe8, 0x3a, 0xd1, 0x35, 0xd7, 0x10, 0xa5, 0x23, 0xdf, 0xf3, 0xb4, 0xa3, + 0x61, 0x1c, 0xa7, 0x61, 0x2c, 0x3d, 0xcb, 0xb0, 0x75, 0x12, 0x5c, 0x94, 0x84, 0x2c, 0xeb, 0xd1, + 0x30, 0x8e, 0xd3, 0xa0, 0xc7, 0x70, 0x55, 0xe9, 0x51, 0xed, 0x80, 0xa4, 0x0f, 0x5b, 0xcb, 0xbc, + 0x84, 0x7c, 0xe1, 0x68, 0xd8, 0xb8, 0xba, 0x96, 0x45, 0x80, 0xb3, 0xf9, 0x12, 0xb7, 0x02, 0x53, + 0x67, 0x70, 0x2b, 0xf0, 0x06, 0x5c, 0x54, 0x3c, 0x6a, 0x05, 0x33, 0xdc, 0x7f, 0xaa, 0xad, 0x05, + 0x16, 0x72, 0xd7, 0x62, 0xe3, 0x38, 0x41, 0x95, 0xb8, 0x4b, 0x98, 0x3e, 0xed, 0x96, 0x80, 0x3f, + 0x2d, 0xc3, 0x6c, 0x18, 0x74, 0x90, 0x95, 0x38, 0xff, 0xf4, 0x8f, 0x7b, 0xde, 0x2e, 0xee, 0x21, + 0xc7, 0x3e, 0xf8, 0x44, 0x4f, 0x61, 0xd6, 0xa5, 0x8a, 0x43, 0x27, 0xdd, 0xc3, 0xcd, 0x1d, 0x0d, + 0x1b, 0xb3, 0x9d, 0x00, 0x01, 0x47, 0x60, 0xa8, 0x0f, 0xf3, 0x91, 0xaf, 0x4c, 0x1a, 0x89, 0xfc, + 0x4d, 0x6f, 0x02, 0x06, 0xa7, 0x60, 0x59, 0x38, 0xf0, 0xbd, 0x49, 0x6c, 0xec, 0xc2, 0x70, 0xe0, + 0xbb, 0x1e, 0x16, 0xb3, 0x68, 0x15, 0x66, 0x5d, 0xaf, 0xd7, 0x23, 0x44, 0x25, 0xaa, 0xd8, 0xb0, + 0x5d, 0x16, 0xa4, 0xb3, 0x9d, 0x60, 0x02, 0x47, 0x34, 0x0c, 0x78, 0x57, 0xd1, 0x74, 0xa2, 0x8a, + 0x4b, 0x92, 0x10, 0xf8, 0x2e, 0x1f, 0xc5, 0x62, 0x96, 0x37, 0xdd, 0x3c, 0x22, 0xf4, 0x23, 0xcb, + 0xd9, 0x6f, 0x5b, 0xba, 0xd6, 0x1b, 0x9c, 0x61, 0xe6, 0xec, 0x26, 0x32, 0xe7, 0x97, 0x0b, 0xba, + 0x46, 0x42, 0xcb, 0xbc, 0x1c, 0x2a, 0xff, 0xbb, 0x04, 0xf5, 0x04, 0x65, 0xbc, 0x9c, 0x26, 0x50, + 0xb1, 0x2d, 0x87, 0x06, 0xce, 0x79, 0x22, 0x0d, 0xd8, 0xde, 0x23, 0x76, 0x1a, 0xc9, 0x60, 0xb1, + 0x8f, 0xce, 0xd6, 0xb9, 0xeb, 0x58, 0x86, 0x08, 0x92, 0x27, 0x93, 0x42, 0x88, 0x13, 0xad, 0xf3, + 0xae, 0x63, 0x19, 0x98, 0x63, 0xcb, 0xff, 0x28, 0xc1, 0xe5, 0x04, 0xe5, 0x79, 0x84, 0x7f, 0x25, + 0x19, 0xfe, 0xdf, 0x39, 0xc9, 0xca, 0x72, 0x12, 0xc1, 0x7f, 0xa7, 0xd7, 0xc5, 0x2c, 0x80, 0xfa, + 0x50, 0xb3, 0x2d, 0xb5, 0x73, 0x1a, 0xbd, 0x53, 0x7e, 0x22, 0x89, 0xc0, 0x70, 0x1c, 0x19, 0x0d, + 0xe0, 0xb2, 0xa9, 0x18, 0xc4, 0xb5, 0x95, 0x1e, 0xe9, 0x9c, 0xc6, 0x1d, 0xef, 0xd5, 0xa3, 0x61, + 0xe3, 0xf2, 0xa3, 0x34, 0x24, 0x1e, 0x95, 0x22, 0xff, 0xf1, 0xc8, 0xca, 0x2d, 0x87, 0xa2, 0xaf, + 0x40, 0x95, 0xf7, 0xc6, 0xf6, 0x2c, 0x5d, 0x14, 0x69, 0xb7, 0xd9, 0xc3, 0x69, 0x8b, 0xb1, 0x67, + 0xc3, 0xc6, 0xcf, 0x8c, 0x2d, 0xb5, 0x02, 0x42, 0x1c, 0xc2, 0xa0, 0x4d, 0x98, 0xb2, 0x27, 0xdf, + 0x90, 0xf3, 0x1d, 0x18, 0xdf, 0x85, 0x73, 0x14, 0xf9, 0x3f, 0xd3, 0x6a, 0xf3, 0x1c, 0xbe, 0x7f, + 0x7a, 0x0f, 0x2c, 0x3c, 0x01, 0xc8, 0x7d, 0x68, 0x0e, 0xcc, 0x88, 0xfd, 0xa8, 0x70, 0xcc, 0x7b, + 0x27, 0x71, 0xcc, 0xf8, 0x1e, 0x2a, 0x2c, 0xba, 0x82, 0xc1, 0x40, 0x10, 0x7f, 0xff, 0xb8, 0x42, + 0x3d, 0xcf, 0xd1, 0xe8, 0xe0, 0xcc, 0x63, 0xe7, 0x6e, 0x22, 0x76, 0x6e, 0x14, 0x5c, 0xe0, 0x88, + 0xa6, 0xb9, 0xf1, 0xf3, 0x5f, 0x25, 0xb8, 0x3a, 0x42, 0x7d, 0x1e, 0xb1, 0x85, 0x24, 0x63, 0xcb, + 0x97, 0x4f, 0xba, 0xc2, 0x9c, 0xf8, 0xf2, 0x31, 0x64, 0xac, 0x8f, 0xbb, 0xec, 0x2d, 0x00, 0xdb, + 0xd1, 0x0e, 0x34, 0x9d, 0xf4, 0x45, 0xff, 0x62, 0x35, 0x7a, 0x26, 0xed, 0x70, 0x06, 0xc7, 0xa8, + 0xd0, 0xaf, 0xc0, 0x92, 0x4a, 0x76, 0x15, 0x4f, 0xa7, 0x6b, 0xaa, 0xba, 0xae, 0xd8, 0x4a, 0x57, + 0xd3, 0x35, 0xaa, 0x89, 0x4b, 0xc0, 0xd9, 0xd6, 0x1d, 0xbf, 0xaf, 0x30, 0x8b, 0xe2, 0xd9, 0xb0, + 0xf1, 0xd9, 0xf1, 0x9b, 0xa4, 0x80, 0x78, 0x80, 0x73, 0x84, 0xa0, 0x5f, 0x95, 0xa0, 0xee, 0x90, + 0x0f, 0x3d, 0xcd, 0x21, 0xea, 0x86, 0x63, 0xd9, 0x09, 0x0d, 0xca, 0x5c, 0x83, 0x7b, 0x47, 0xc3, + 0x46, 0x1d, 0xe7, 0xd0, 0x14, 0xd1, 0x21, 0x57, 0x10, 0xa2, 0x70, 0x45, 0xd1, 0x75, 0xeb, 0x23, + 0x92, 0xb4, 0xc0, 0x14, 0x97, 0xdf, 0x3a, 0x1a, 0x36, 0xae, 0xac, 0x8d, 0x4e, 0x17, 0x11, 0x9d, + 0x05, 0x8f, 0x56, 0x61, 0xe6, 0xc0, 0xd2, 0x3d, 0x83, 0xb8, 0xf5, 0x0a, 0x97, 0xc4, 0x22, 0xed, + 0xcc, 0x13, 0x7f, 0xe8, 0x19, 0x2b, 0x74, 0x3a, 0x7c, 0xc7, 0x1a, 0x50, 0xa1, 0xdb, 0x50, 0xdb, + 0xb3, 0x5c, 0x2a, 0xde, 0x75, 0x5e, 0x16, 0x55, 0xa3, 0xe0, 0x72, 0x3f, 0x9a, 0xc2, 0x71, 0x3a, + 0x64, 0xc0, 0xec, 0x9e, 0x38, 0xd1, 0x76, 0xeb, 0x33, 0x13, 0xe5, 0xbd, 0xc4, 0x89, 0x78, 0x54, + 0xb7, 0x05, 0xc3, 0x2e, 0x8e, 0x24, 0xb0, 0x7d, 0x1f, 0xff, 0xf3, 0x60, 0x83, 0x77, 0x9c, 0x54, + 0xa3, 0x10, 0x74, 0xdf, 0x1f, 0xc6, 0xc1, 0x7c, 0x40, 0xfa, 0xa0, 0xbd, 0xce, 0x1b, 0x44, 0x52, + 0xa4, 0x0f, 0xda, 0xeb, 0x38, 0x98, 0x47, 0x36, 0xcc, 0xb8, 0x64, 0x53, 0x33, 0xbd, 0xc3, 0x3a, + 0xf0, 0x57, 0xf7, 0x4e, 0xd1, 0x8b, 0xab, 0x3b, 0x9c, 0x3b, 0x75, 0x5b, 0x1e, 0x49, 0x14, 0xf3, + 0x38, 0x10, 0x83, 0x0e, 0x61, 0xd6, 0xf1, 0xcc, 0x35, 0x77, 0xc7, 0x25, 0x4e, 0xbd, 0xc6, 0x65, + 0x16, 0x8d, 0xca, 0x38, 0xe0, 0x4f, 0x4b, 0x0d, 0x2d, 0x18, 0x52, 0xe0, 0x48, 0x18, 0xfa, 0x6d, + 0x09, 0x90, 0xeb, 0xd9, 0xb6, 0x4e, 0x0c, 0x62, 0x52, 0x45, 0xe7, 0x17, 0xf6, 0x6e, 0xfd, 0x22, + 0xd7, 0xa1, 0x5d, 0xf8, 0xc2, 0x2e, 0x0d, 0x94, 0x56, 0x26, 0x3c, 0x00, 0x18, 0x25, 0xc5, 0x19, + 0x7a, 0xb0, 0x47, 0xb1, 0xeb, 0xf2, 0xdf, 0xf5, 0xb9, 0x89, 0x1e, 0x45, 0x76, 0xe3, 0x42, 0xf4, + 0x28, 0xc4, 0x3c, 0x0e, 0xc4, 0xa0, 0x27, 0xb0, 0xe4, 0x10, 0x45, 0x7d, 0x6c, 0xea, 0x03, 0x6c, + 0x59, 0xf4, 0xae, 0xa6, 0x13, 0x77, 0xe0, 0x52, 0x62, 0xd4, 0xe7, 0xb9, 0xdb, 0x84, 0x0d, 0xd0, + 0x38, 0x93, 0x0a, 0xe7, 0x70, 0xf3, 0x4e, 0x66, 0x71, 0xcf, 0x74, 0xb6, 0x1f, 0x38, 0x9c, 0xac, + 0x93, 0x39, 0x52, 0xf1, 0xcc, 0x3a, 0x99, 0x63, 0x22, 0xc6, 0x9f, 0xbf, 0xfd, 0x57, 0x09, 0xae, + 0x44, 0xc4, 0xc7, 0xee, 0x64, 0xce, 0x60, 0x39, 0x87, 0xd3, 0xb8, 0xec, 0x33, 0xb2, 0xf2, 0x79, + 0x9e, 0x91, 0x9d, 0x56, 0x0b, 0x35, 0x6f, 0x2e, 0x8e, 0xac, 0xf8, 0x7f, 0xa0, 0xb9, 0x38, 0x52, + 0x36, 0xa7, 0x90, 0xf9, 0x93, 0x52, 0x7c, 0x45, 0xff, 0x9f, 0x3a, 0x58, 0x33, 0x1a, 0x4a, 0xa7, + 0x8a, 0x35, 0x94, 0xca, 0xff, 0x52, 0x86, 0x85, 0xf4, 0x4b, 0x9b, 0x68, 0x64, 0x94, 0x9e, 0xdb, + 0xc8, 0xd8, 0x86, 0xc5, 0x5d, 0x4f, 0xd7, 0x07, 0xdc, 0x20, 0xb1, 0x0b, 0x7a, 0xff, 0xec, 0xf1, + 0x25, 0xc1, 0xb9, 0x78, 0x37, 0x83, 0x06, 0x67, 0x72, 0xe6, 0x34, 0x65, 0x96, 0x27, 0x6a, 0xca, + 0x7c, 0x1b, 0xe6, 0x1c, 0xfe, 0xed, 0x49, 0xb2, 0x6f, 0x20, 0x3c, 0x1c, 0xc7, 0xf1, 0x49, 0x9c, + 0xa4, 0xcd, 0x6e, 0xb0, 0xac, 0x4c, 0xd0, 0x60, 0x79, 0x1a, 0x1d, 0x91, 0x19, 0xb1, 0xef, 0xb9, + 0x1d, 0x91, 0x2f, 0xc1, 0xb2, 0x60, 0x63, 0xff, 0xd7, 0x2d, 0x93, 0x3a, 0x96, 0xae, 0x13, 0x67, + 0xc3, 0x33, 0x8c, 0x81, 0xfc, 0x2e, 0xcc, 0x27, 0xdb, 0x72, 0xfd, 0x27, 0xef, 0x77, 0x0a, 0x8b, + 0x06, 0x83, 0xd8, 0x93, 0xf7, 0xc7, 0x71, 0x48, 0x21, 0x7f, 0x22, 0xc1, 0xb5, 0x9c, 0xce, 0x46, + 0xf4, 0x01, 0xcc, 0x1b, 0xca, 0x61, 0xac, 0x65, 0x54, 0x84, 0x96, 0xa2, 0xbb, 0x6c, 0x7e, 0x76, + 0xb8, 0x95, 0x40, 0xc2, 0x29, 0x64, 0x9e, 0x70, 0x95, 0xc3, 0x8e, 0xe7, 0xf4, 0xc9, 0x84, 0x7b, + 0x79, 0xfe, 0xfa, 0x6e, 0x09, 0x0c, 0x1c, 0xa2, 0xc9, 0x3f, 0x94, 0xa0, 0x9e, 0x57, 0x7d, 0xa1, + 0xdb, 0x89, 0x0e, 0xc9, 0xcf, 0xa4, 0x3a, 0x24, 0x2f, 0x8f, 0xf0, 0x9d, 0x53, 0x7f, 0xe4, 0x8f, + 0x24, 0x58, 0xca, 0xae, 0x52, 0xd1, 0xcf, 0x27, 0x34, 0x6e, 0xa4, 0x34, 0xbe, 0x94, 0xe2, 0x12, + 0xfa, 0xee, 0xc1, 0xbc, 0xa8, 0x65, 0x05, 0xcc, 0x31, 0x3e, 0x51, 0x3d, 0x08, 0x0b, 0xe5, 0xa0, + 0x2a, 0xe3, 0xcf, 0x31, 0x39, 0x86, 0x53, 0xb8, 0xf2, 0xef, 0x96, 0xa0, 0xc2, 0xdb, 0x86, 0xce, + 0xb0, 0x84, 0xfa, 0x5a, 0xa2, 0x84, 0x2a, 0x7a, 0xb1, 0xc8, 0xb5, 0xcb, 0xad, 0x9e, 0xba, 0xa9, + 0xea, 0xe9, 0xad, 0x89, 0xd0, 0xc7, 0x17, 0x4e, 0x5f, 0x80, 0xd9, 0x50, 0x89, 0x62, 0x81, 0x9a, + 0x95, 0xa9, 0xb5, 0x98, 0x88, 0x82, 0x61, 0xfe, 0x20, 0x91, 0x29, 0x27, 0xf9, 0x96, 0x3a, 0x26, + 0xbb, 0x19, 0xa4, 0x4a, 0xff, 0x73, 0x9b, 0xa8, 0xf1, 0x6f, 0x34, 0x83, 0xbe, 0x0b, 0xf3, 0xfe, + 0x07, 0xe9, 0xe1, 0x19, 0x5a, 0x99, 0x7b, 0x6f, 0xf8, 0x19, 0xd7, 0x76, 0x62, 0x16, 0xa7, 0xa8, + 0x97, 0xdf, 0x86, 0xb9, 0x84, 0xb0, 0x42, 0x5f, 0xc7, 0xfc, 0xa5, 0x04, 0x8b, 0x59, 0xad, 0x8a, + 0xe8, 0x3a, 0x4c, 0xed, 0x6b, 0xa2, 0xb7, 0x22, 0xd6, 0x8f, 0xf2, 0x8b, 0x9a, 0xa9, 0x62, 0x3e, + 0x13, 0x7e, 0xdc, 0x54, 0xca, 0xfd, 0xb8, 0xe9, 0x16, 0x80, 0x62, 0x6b, 0xe2, 0x23, 0x7f, 0xb1, + 0xaa, 0xd0, 0x79, 0xa3, 0xcf, 0xff, 0x71, 0x8c, 0x8a, 0x77, 0x20, 0x45, 0xfa, 0x88, 0xb2, 0x30, + 0x6a, 0x0d, 0x8a, 0xa9, 0x1a, 0xa7, 0x93, 0xff, 0x4a, 0x82, 0xcf, 0x3c, 0x77, 0x07, 0x87, 0x5a, + 0x89, 0xf0, 0xd0, 0x4c, 0x85, 0x87, 0x95, 0x7c, 0x80, 0x73, 0xec, 0xfe, 0xfe, 0x5e, 0x09, 0xd0, + 0xf6, 0x9e, 0xe6, 0xa8, 0x6d, 0xc5, 0xa1, 0x03, 0x2c, 0x16, 0x78, 0x86, 0x01, 0xe3, 0x36, 0xd4, + 0x54, 0xe2, 0xf6, 0x1c, 0x8d, 0x1b, 0x49, 0x3c, 0xce, 0xd0, 0xe2, 0x1b, 0xd1, 0x14, 0x8e, 0xd3, + 0xa1, 0x3e, 0x54, 0x45, 0xad, 0x18, 0xb4, 0xb0, 0x14, 0x2d, 0x7c, 0x23, 0x0f, 0x88, 0xde, 0x0f, + 0x31, 0xe0, 0xe2, 0x10, 0x5c, 0xfe, 0xbe, 0x04, 0x4b, 0xa3, 0x06, 0xd9, 0xf0, 0x1b, 0x34, 0xce, + 0xca, 0x28, 0x2f, 0xc1, 0x14, 0x47, 0x65, 0xd6, 0xb8, 0xe8, 0x9f, 0x84, 0x33, 0x89, 0x98, 0x8f, + 0xca, 0x3f, 0x95, 0x60, 0x39, 0x5b, 0xa5, 0xf3, 0xd8, 0x6f, 0x7c, 0x90, 0xdc, 0x6f, 0x14, 0x3d, + 0x55, 0xc8, 0x56, 0x3c, 0x67, 0xef, 0xf1, 0x49, 0xa6, 0xf1, 0xcf, 0x63, 0x95, 0xbb, 0xc9, 0x55, + 0xae, 0x9d, 0x78, 0x95, 0xd9, 0x2b, 0x6c, 0x7d, 0xee, 0xe3, 0x4f, 0x57, 0x2e, 0xfc, 0xf8, 0xd3, + 0x95, 0x0b, 0xff, 0xfc, 0xe9, 0xca, 0x85, 0xef, 0x1e, 0xad, 0x48, 0x1f, 0x1f, 0xad, 0x48, 0x3f, + 0x3e, 0x5a, 0x91, 0xfe, 0xed, 0x68, 0x45, 0xfa, 0xfe, 0x4f, 0x56, 0x2e, 0x7c, 0x6d, 0x46, 0x60, + 0xfe, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x92, 0xb7, 0x3c, 0x83, 0x46, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto index da5d6d3bd7d..933264e1110 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/register.go index f8e81972bc5..fadfe0fad5c 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "extensions" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/register.go b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/register.go index fb55f7dc3e7..86da8164f86 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/register.go @@ -18,23 +18,23 @@ package imagepolicy import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "imagepolicy.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.pb.go index d7113ff8d1c..57ccc84093f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.pb.go @@ -1019,41 +1019,42 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 573 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x3f, 0x6f, 0xd3, 0x4e, - 0x18, 0xc7, 0xe3, 0xa4, 0xff, 0x72, 0xf9, 0xfd, 0x68, 0x7b, 0x30, 0x58, 0x19, 0xdc, 0x2a, 0x48, - 0xa8, 0x20, 0x7a, 0xa7, 0x54, 0x42, 0xaa, 0x18, 0x28, 0x35, 0x62, 0xe8, 0x00, 0x88, 0x63, 0x41, - 0x6c, 0x17, 0xe7, 0xa9, 0x7b, 0x8d, 0x73, 0x67, 0xf9, 0xce, 0xae, 0x3a, 0x20, 0x31, 0x32, 0x30, - 0xf0, 0x6e, 0x78, 0x0b, 0x1d, 0x3b, 0x32, 0x55, 0x24, 0xbc, 0x11, 0x94, 0xb3, 0x53, 0x9b, 0xa4, - 0x19, 0x50, 0x36, 0x3f, 0xff, 0x3e, 0xdf, 0xef, 0x3d, 0x8f, 0xd1, 0xd1, 0xe0, 0x50, 0x13, 0xa1, - 0xe8, 0x20, 0xed, 0x41, 0x22, 0xc1, 0x80, 0xa6, 0xf1, 0x20, 0xa4, 0x3c, 0x16, 0x9a, 0x8a, 0x21, - 0x0f, 0x21, 0x56, 0x91, 0x08, 0x2e, 0x69, 0xd6, 0xe5, 0x51, 0x7c, 0xc6, 0xbb, 0x34, 0x04, 0x09, - 0x09, 0x37, 0xd0, 0x27, 0x71, 0xa2, 0x8c, 0xc2, 0x34, 0x07, 0x90, 0x12, 0x40, 0xe2, 0x41, 0x48, - 0x26, 0x00, 0x52, 0x01, 0x90, 0x29, 0xa0, 0xbd, 0x1f, 0x0a, 0x73, 0x96, 0xf6, 0x48, 0xa0, 0x86, - 0x34, 0x54, 0xa1, 0xa2, 0x96, 0xd3, 0x4b, 0x4f, 0x6d, 0x64, 0x03, 0xfb, 0x95, 0xf3, 0xdb, 0x07, - 0x0b, 0x0d, 0xd2, 0x04, 0xb4, 0x4a, 0x93, 0x00, 0x66, 0x3d, 0xb5, 0x9f, 0x2d, 0x9e, 0x49, 0x65, - 0x06, 0x89, 0x16, 0x4a, 0x42, 0x7f, 0x6e, 0xec, 0xe9, 0xe2, 0xb1, 0x6c, 0xee, 0xe1, 0xed, 0xfd, - 0xbb, 0xbb, 0x93, 0x54, 0x1a, 0x31, 0x9c, 0xf7, 0xd4, 0xbd, 0xbb, 0x3d, 0x35, 0x22, 0xa2, 0x42, - 0x1a, 0x6d, 0x92, 0xd9, 0x91, 0xce, 0x8f, 0x3a, 0x6a, 0x9d, 0x4c, 0x56, 0xc8, 0x20, 0x13, 0x70, - 0x81, 0x3f, 0xa2, 0x8d, 0x21, 0x18, 0xde, 0xe7, 0x86, 0xbb, 0xce, 0xae, 0xb3, 0xd7, 0x3a, 0xd8, - 0x23, 0x0b, 0xb7, 0x4f, 0xb2, 0x2e, 0x79, 0xd7, 0x3b, 0x87, 0xc0, 0xbc, 0x01, 0xc3, 0x7d, 0x7c, - 0x75, 0xb3, 0x53, 0x1b, 0xdf, 0xec, 0xa0, 0x32, 0xc7, 0x6e, 0x69, 0xb8, 0x87, 0x56, 0x74, 0x0c, - 0x81, 0x5b, 0xb7, 0xd4, 0x97, 0xe4, 0x1f, 0x6f, 0x4a, 0x2a, 0x2e, 0x3f, 0xc4, 0x10, 0xf8, 0xff, - 0x15, 0x6a, 0x2b, 0x93, 0x88, 0x59, 0x36, 0x3e, 0x47, 0x6b, 0xda, 0x70, 0x93, 0x6a, 0xb7, 0x61, - 0x55, 0xfc, 0xa5, 0x54, 0x2c, 0xc9, 0xbf, 0x57, 0xe8, 0xac, 0xe5, 0x31, 0x2b, 0x14, 0x3a, 0x47, - 0xc8, 0xad, 0x34, 0xbf, 0x52, 0xd2, 0x70, 0x21, 0x21, 0x99, 0xb8, 0xc1, 0x0f, 0xd1, 0xaa, 0xa5, - 0xdb, 0x15, 0x36, 0xfd, 0xff, 0x0b, 0xc4, 0x6a, 0x3e, 0x90, 0xd7, 0x3a, 0xdf, 0x1a, 0x68, 0x73, - 0xe6, 0x51, 0xf8, 0x33, 0x42, 0xc1, 0x94, 0xa4, 0x5d, 0x67, 0xb7, 0xb1, 0xd7, 0x3a, 0x38, 0x59, - 0xe6, 0x11, 0x7f, 0xf9, 0x2a, 0x2f, 0x74, 0x9b, 0xd6, 0xac, 0x22, 0x88, 0xbf, 0x3a, 0xa8, 0xc5, - 0xa5, 0x54, 0x86, 0x1b, 0xa1, 0xa4, 0x76, 0xeb, 0xd6, 0xc0, 0xfb, 0x65, 0x6f, 0x45, 0x8e, 0x4b, - 0xe6, 0x6b, 0x69, 0x92, 0x4b, 0xff, 0x7e, 0x61, 0xa4, 0x55, 0xa9, 0xb0, 0xaa, 0x34, 0xa6, 0xa8, - 0x29, 0xf9, 0x10, 0x74, 0xcc, 0x03, 0xb0, 0xd7, 0x6c, 0xfa, 0xdb, 0xc5, 0x50, 0xf3, 0xed, 0xb4, - 0xc0, 0xca, 0x9e, 0xf6, 0x0b, 0xb4, 0x35, 0x2b, 0x83, 0xb7, 0x50, 0x63, 0x00, 0x97, 0xf9, 0x15, - 0xd8, 0xe4, 0x13, 0x3f, 0x40, 0xab, 0x19, 0x8f, 0x52, 0xb0, 0xbf, 0x61, 0x93, 0xe5, 0xc1, 0xf3, - 0xfa, 0xa1, 0xd3, 0x39, 0x45, 0xdb, 0x73, 0xc7, 0xc7, 0x8f, 0xd1, 0x3a, 0x8f, 0x22, 0x75, 0x01, - 0x7d, 0x0b, 0xd9, 0xf0, 0x37, 0x0b, 0x0f, 0xeb, 0xc7, 0x79, 0x9a, 0x4d, 0xeb, 0xf8, 0x11, 0x5a, - 0x4b, 0x80, 0x6b, 0x25, 0x73, 0x74, 0xf9, 0xdf, 0x30, 0x9b, 0x65, 0x45, 0xd5, 0x7f, 0x72, 0x35, - 0xf2, 0x6a, 0xd7, 0x23, 0xaf, 0xf6, 0x73, 0xe4, 0xd5, 0xbe, 0x8c, 0x3d, 0xe7, 0x6a, 0xec, 0x39, - 0xd7, 0x63, 0xcf, 0xf9, 0x35, 0xf6, 0x9c, 0xef, 0xbf, 0xbd, 0xda, 0xa7, 0x8d, 0xe9, 0x1e, 0xff, - 0x04, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xde, 0x19, 0x74, 0x3a, 0x05, 0x00, 0x00, + // 585 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x3f, 0x6f, 0x13, 0x3f, + 0x18, 0xc7, 0x73, 0x49, 0xff, 0xc5, 0xf9, 0xfd, 0x68, 0x6b, 0x18, 0xa2, 0x0c, 0xd7, 0x2a, 0x48, + 0xa8, 0x20, 0x6a, 0x2b, 0x15, 0x48, 0x15, 0x03, 0xa5, 0x87, 0x18, 0x3a, 0x00, 0xc2, 0x2c, 0x88, + 0xcd, 0xb9, 0x3c, 0xbd, 0xba, 0xb9, 0xb3, 0x4f, 0x67, 0xdf, 0x55, 0x1d, 0x90, 0x18, 0x19, 0x18, + 0x78, 0x37, 0xbc, 0x85, 0x8e, 0x1d, 0x99, 0x2a, 0x1a, 0xde, 0x08, 0x8a, 0xef, 0xd2, 0x3b, 0x92, + 0x06, 0x09, 0x65, 0xf3, 0xe3, 0xc7, 0xdf, 0xcf, 0xf7, 0x6b, 0x3f, 0x46, 0x07, 0xc3, 0x7d, 0x4d, + 0x84, 0xa2, 0xc3, 0xb4, 0x0f, 0x89, 0x04, 0x03, 0x9a, 0xc6, 0xc3, 0x80, 0xf2, 0x58, 0x68, 0x2a, + 0x22, 0x1e, 0x40, 0xac, 0x42, 0xe1, 0x9f, 0xd3, 0xac, 0xc7, 0xc3, 0xf8, 0x84, 0xf7, 0x68, 0x00, + 0x12, 0x12, 0x6e, 0x60, 0x40, 0xe2, 0x44, 0x19, 0x85, 0x69, 0x0e, 0x20, 0x25, 0x80, 0xc4, 0xc3, + 0x80, 0x8c, 0x01, 0xa4, 0x02, 0x20, 0x13, 0x40, 0x67, 0x37, 0x10, 0xe6, 0x24, 0xed, 0x13, 0x5f, + 0x45, 0x34, 0x50, 0x81, 0xa2, 0x96, 0xd3, 0x4f, 0x8f, 0x6d, 0x65, 0x0b, 0xbb, 0xca, 0xf9, 0x9d, + 0xbd, 0xb9, 0x01, 0x69, 0x02, 0x5a, 0xa5, 0x89, 0x0f, 0xd3, 0x99, 0x3a, 0x4f, 0xe7, 0x6b, 0x52, + 0x99, 0x41, 0xa2, 0x85, 0x92, 0x30, 0x98, 0x91, 0x3d, 0x9e, 0x2f, 0xcb, 0x66, 0x2e, 0xde, 0xd9, + 0xbd, 0xfd, 0x74, 0x92, 0x4a, 0x23, 0xa2, 0xd9, 0x4c, 0x4f, 0xfe, 0x7e, 0x5c, 0xfb, 0x27, 0x10, + 0xf1, 0x19, 0x55, 0xef, 0x76, 0x55, 0x6a, 0x44, 0x48, 0x85, 0x34, 0xda, 0x24, 0xd3, 0x92, 0xee, + 0xf7, 0x3a, 0x6a, 0x1d, 0x8d, 0x1f, 0x9e, 0x41, 0x26, 0xe0, 0x0c, 0x7f, 0x40, 0x6b, 0x11, 0x18, + 0x3e, 0xe0, 0x86, 0xb7, 0x9d, 0x6d, 0x67, 0xa7, 0xb5, 0xb7, 0x43, 0xe6, 0xce, 0x8c, 0x64, 0x3d, + 0xf2, 0xb6, 0x7f, 0x0a, 0xbe, 0x79, 0x0d, 0x86, 0x7b, 0xf8, 0xe2, 0x6a, 0xab, 0x36, 0xba, 0xda, + 0x42, 0xe5, 0x1e, 0xbb, 0xa1, 0xe1, 0x3e, 0x5a, 0xd2, 0x31, 0xf8, 0xed, 0xba, 0xa5, 0xbe, 0x20, + 0xff, 0xf8, 0x13, 0x48, 0x25, 0xe5, 0xfb, 0x18, 0x7c, 0xef, 0xbf, 0xc2, 0x6d, 0x69, 0x5c, 0x31, + 0xcb, 0xc6, 0xa7, 0x68, 0x45, 0x1b, 0x6e, 0x52, 0xdd, 0x6e, 0x58, 0x17, 0x6f, 0x21, 0x17, 0x4b, + 0xf2, 0xee, 0x14, 0x3e, 0x2b, 0x79, 0xcd, 0x0a, 0x87, 0xee, 0x01, 0x6a, 0x57, 0x0e, 0xbf, 0x54, + 0xd2, 0x70, 0x21, 0x21, 0x19, 0xa7, 0xc1, 0xf7, 0xd1, 0xb2, 0xa5, 0xdb, 0x27, 0x6c, 0x7a, 0xff, + 0x17, 0x88, 0xe5, 0x5c, 0x90, 0xf7, 0xba, 0x5f, 0x1b, 0x68, 0x7d, 0xea, 0x52, 0xf8, 0x13, 0x42, + 0xfe, 0x84, 0xa4, 0xdb, 0xce, 0x76, 0x63, 0xa7, 0xb5, 0x77, 0xb4, 0xc8, 0x25, 0xfe, 0xc8, 0x55, + 0x4e, 0xe8, 0x66, 0x5b, 0xb3, 0x8a, 0x21, 0xfe, 0xe2, 0xa0, 0x16, 0x97, 0x52, 0x19, 0x6e, 0x84, + 0x92, 0xba, 0x5d, 0xb7, 0x01, 0xde, 0x2d, 0x3a, 0x2b, 0x72, 0x58, 0x32, 0x5f, 0x49, 0x93, 0x9c, + 0x7b, 0x77, 0x8b, 0x20, 0xad, 0x4a, 0x87, 0x55, 0xad, 0x31, 0x45, 0x4d, 0xc9, 0x23, 0xd0, 0x31, + 0xf7, 0xc1, 0x4e, 0xb3, 0xe9, 0x6d, 0x16, 0xa2, 0xe6, 0x9b, 0x49, 0x83, 0x95, 0x67, 0x3a, 0xcf, + 0xd1, 0xc6, 0xb4, 0x0d, 0xde, 0x40, 0x8d, 0x21, 0x9c, 0xe7, 0x53, 0x60, 0xe3, 0x25, 0xbe, 0x87, + 0x96, 0x33, 0x1e, 0xa6, 0x60, 0xbf, 0x61, 0x93, 0xe5, 0xc5, 0xb3, 0xfa, 0xbe, 0xd3, 0x3d, 0x46, + 0x9b, 0x33, 0xc3, 0xc7, 0x0f, 0xd1, 0x2a, 0x0f, 0x43, 0x75, 0x06, 0x03, 0x0b, 0x59, 0xf3, 0xd6, + 0x8b, 0x0c, 0xab, 0x87, 0xf9, 0x36, 0x9b, 0xf4, 0xf1, 0x03, 0xb4, 0x92, 0x00, 0xd7, 0x4a, 0xe6, + 0xe8, 0xf2, 0xdf, 0x30, 0xbb, 0xcb, 0x8a, 0xae, 0xf7, 0xe8, 0xe2, 0xda, 0xad, 0x5d, 0x5e, 0xbb, + 0xb5, 0x1f, 0xd7, 0x6e, 0xed, 0xf3, 0xc8, 0x75, 0x2e, 0x46, 0xae, 0x73, 0x39, 0x72, 0x9d, 0x9f, + 0x23, 0xd7, 0xf9, 0xf6, 0xcb, 0xad, 0x7d, 0x5c, 0x9b, 0xbc, 0xe3, 0xef, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x16, 0xa4, 0x8e, 0xac, 0x70, 0x05, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.proto index 7b26db93535..06419a135a0 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/register.go index 35d793281c7..b06967db965 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name for this API. const GroupName = "imagepolicy.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/staging/src/k8s.io/client-go/pkg/apis/kubeadm/register.go b/staging/src/k8s.io/client-go/pkg/apis/kubeadm/register.go index ca88aba1b1b..e8850f458b8 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/kubeadm/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/kubeadm/register.go @@ -18,15 +18,15 @@ package kubeadm import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "kubeadm.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -34,12 +34,12 @@ var ( ) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -55,6 +55,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *MasterConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *NodeConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterInfo) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *MasterConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *NodeConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterInfo) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/register.go index 924209fb2b2..3a05bbc9c2b 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "kubeadm.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) @@ -34,12 +34,12 @@ var ( ) // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -55,6 +55,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *MasterConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *NodeConfiguration) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterInfo) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *MasterConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *NodeConfiguration) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterInfo) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/register.go b/staging/src/k8s.io/client-go/pkg/apis/policy/register.go index af378cbd774..27cb3140ea3 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/register.go @@ -18,23 +18,23 @@ package policy import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "policy" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1alpha1/register.go index 5317fdcfd1b..156e0715f3f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1alpha1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "policy" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.pb.go index a2cad53513d..43f5f4db081 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.pb.go @@ -1323,53 +1323,53 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 758 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0xcf, 0x6f, 0xdb, 0x36, - 0x14, 0xc7, 0xad, 0xd8, 0xce, 0x3c, 0xc6, 0x0e, 0x32, 0x6e, 0xd9, 0x3c, 0x03, 0x53, 0x06, 0x9f, - 0x12, 0x6c, 0xa1, 0xe0, 0x60, 0x03, 0xb2, 0x1d, 0x02, 0x44, 0x73, 0xb0, 0x65, 0x58, 0xe0, 0x40, - 0x19, 0xb0, 0x61, 0xc0, 0x0a, 0xe8, 0xc7, 0xab, 0xc2, 0x5a, 0x16, 0x05, 0x92, 0x52, 0xeb, 0x5b, - 0xff, 0x84, 0x1e, 0xfa, 0x1f, 0xf5, 0x12, 0xf4, 0x94, 0x63, 0x2f, 0x0d, 0x1a, 0xe7, 0x7f, 0xe8, - 0xb9, 0x90, 0x44, 0x3b, 0x96, 0x7f, 0x04, 0x01, 0xd2, 0xde, 0x44, 0xf2, 0x7d, 0xbe, 0xdf, 0xf7, - 0x1e, 0x1f, 0x85, 0x7e, 0xe9, 0xef, 0x0b, 0x42, 0x99, 0xd1, 0x8f, 0x1d, 0xe0, 0x21, 0x48, 0x10, - 0x46, 0xd4, 0xf7, 0x0d, 0x3b, 0xa2, 0xc2, 0x88, 0x58, 0x40, 0xdd, 0xa1, 0x91, 0x74, 0x1c, 0x90, - 0x76, 0xc7, 0xf0, 0x21, 0x04, 0x6e, 0x4b, 0xf0, 0x48, 0xc4, 0x99, 0x64, 0x78, 0x27, 0x47, 0xc9, - 0x2d, 0x4a, 0xa2, 0xbe, 0x4f, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0x6b, 0xd7, 0xa7, 0xf2, 0x3c, - 0x76, 0x88, 0xcb, 0x06, 0x86, 0xcf, 0x7c, 0x66, 0x64, 0x0a, 0x4e, 0xfc, 0x38, 0x5b, 0x65, 0x8b, - 0xec, 0x2b, 0x57, 0x6e, 0xed, 0x2d, 0x4d, 0xca, 0xe0, 0x20, 0x58, 0xcc, 0x5d, 0x98, 0xcd, 0xa6, - 0xf5, 0xf3, 0x72, 0x26, 0x0e, 0x13, 0xe0, 0x82, 0xb2, 0x10, 0xbc, 0x39, 0xec, 0xc7, 0xe5, 0x58, - 0x32, 0x57, 0x72, 0x6b, 0x77, 0x71, 0x34, 0x8f, 0x43, 0x49, 0x07, 0xf3, 0x39, 0x75, 0x16, 0x87, - 0xc7, 0x92, 0x06, 0x06, 0x0d, 0xa5, 0x90, 0x7c, 0x16, 0x69, 0xbf, 0xd6, 0x50, 0xed, 0x28, 0xa1, - 0xae, 0xa4, 0x2c, 0xc4, 0xff, 0xa2, 0xda, 0x00, 0xa4, 0xed, 0xd9, 0xd2, 0x6e, 0x6a, 0xdf, 0x6b, - 0xdb, 0x6b, 0x7b, 0xdb, 0x64, 0x69, 0xd3, 0x49, 0xd2, 0x21, 0x3d, 0xe7, 0x09, 0xb8, 0xf2, 0x04, - 0xa4, 0x6d, 0xe2, 0x8b, 0xab, 0xad, 0xd2, 0xe8, 0x6a, 0x0b, 0xdd, 0xee, 0x59, 0x13, 0x35, 0xec, - 0xa1, 0x86, 0x07, 0x01, 0x48, 0xe8, 0x45, 0xa9, 0x93, 0x68, 0xae, 0x64, 0xf2, 0x3f, 0xdc, 0x2d, - 0xdf, 0x9d, 0x46, 0xcc, 0x2f, 0x46, 0x57, 0x5b, 0x8d, 0xc2, 0x96, 0x55, 0x14, 0x6d, 0xbf, 0x5a, - 0x41, 0x5f, 0x9e, 0x32, 0xaf, 0x4b, 0x05, 0x8f, 0xb3, 0x2d, 0x33, 0xf6, 0x7c, 0x90, 0x9f, 0xb4, - 0xae, 0x8a, 0x88, 0xc0, 0x55, 0xe5, 0x98, 0xe4, 0xde, 0x23, 0x4a, 0x16, 0xe4, 0x79, 0x16, 0x81, - 0x6b, 0xd6, 0x95, 0x5f, 0x25, 0x5d, 0x59, 0x99, 0x3a, 0x0e, 0xd0, 0xaa, 0x90, 0xb6, 0x8c, 0x45, - 0xb3, 0x9c, 0xf9, 0x74, 0x1f, 0xe8, 0x93, 0x69, 0x99, 0xeb, 0xca, 0x69, 0x35, 0x5f, 0x5b, 0xca, - 0xa3, 0xfd, 0x56, 0x43, 0xdf, 0x2c, 0xa0, 0xfe, 0xa2, 0x42, 0xe2, 0xff, 0xe7, 0x3a, 0x69, 0xdc, - 0xd1, 0xc9, 0xa9, 0x87, 0x40, 0x52, 0x3c, 0x6b, 0xe8, 0x86, 0xb2, 0xad, 0x8d, 0x77, 0xa6, 0xda, - 0xe9, 0xa2, 0x2a, 0x95, 0x30, 0x48, 0xc7, 0xa3, 0xbc, 0xbd, 0xb6, 0x77, 0xf0, 0xb0, 0x3a, 0xcd, - 0x86, 0xb2, 0xaa, 0x1e, 0xa7, 0xa2, 0x56, 0xae, 0xdd, 0xbe, 0x59, 0x5c, 0x5f, 0xda, 0x6f, 0x7c, - 0x8e, 0xea, 0x03, 0x1a, 0x1e, 0x26, 0x36, 0x0d, 0x6c, 0x27, 0x00, 0x55, 0x23, 0x59, 0x92, 0x47, - 0xfa, 0xb0, 0x48, 0xfe, 0xb0, 0xc8, 0x71, 0x28, 0x7b, 0xfc, 0x4c, 0x72, 0x1a, 0xfa, 0xe6, 0x57, - 0xca, 0xb7, 0x7e, 0x32, 0xa5, 0x65, 0x15, 0x94, 0xf1, 0x23, 0x54, 0x13, 0x10, 0x80, 0x2b, 0x19, - 0x57, 0xd3, 0xf3, 0xd3, 0x7d, 0x3b, 0x69, 0x3b, 0x10, 0x9c, 0x29, 0xd6, 0xac, 0xa7, 0xad, 0x1c, - 0xaf, 0xac, 0x89, 0x66, 0xfb, 0x7d, 0x05, 0x7d, 0xbb, 0xf4, 0xee, 0xf1, 0x9f, 0x08, 0x33, 0x47, - 0x00, 0x4f, 0xc0, 0xfb, 0x3d, 0xff, 0x23, 0x50, 0x16, 0x66, 0xd5, 0x96, 0xcd, 0x96, 0xca, 0x1e, - 0xf7, 0xe6, 0x22, 0xac, 0x05, 0x14, 0x7e, 0xa9, 0xa1, 0x86, 0x97, 0xdb, 0x80, 0x77, 0xca, 0xbc, - 0xf1, 0xed, 0xfd, 0xf3, 0x31, 0xa6, 0x94, 0x74, 0xa7, 0x95, 0x8f, 0x42, 0xc9, 0x87, 0xe6, 0xa6, - 0x4a, 0xb0, 0x51, 0x38, 0xb3, 0x8a, 0x49, 0xe0, 0x13, 0x84, 0xbd, 0x89, 0xa4, 0x38, 0x0c, 0x02, - 0xf6, 0x14, 0xbc, 0xec, 0x01, 0x55, 0xcd, 0xef, 0x94, 0xc2, 0x66, 0xc1, 0x77, 0x1c, 0x64, 0x2d, - 0x00, 0xf1, 0x01, 0x5a, 0x77, 0x63, 0xce, 0x21, 0x94, 0x7f, 0x80, 0x1d, 0xc8, 0xf3, 0x61, 0xb3, - 0x92, 0x49, 0x7d, 0xad, 0xa4, 0xd6, 0x7f, 0x2b, 0x9c, 0x5a, 0x33, 0xd1, 0x29, 0xef, 0x81, 0xa0, - 0x1c, 0xbc, 0x31, 0x5f, 0x2d, 0xf2, 0xdd, 0xc2, 0xa9, 0x35, 0x13, 0x8d, 0xf7, 0x51, 0x1d, 0x9e, - 0x45, 0xe0, 0x8e, 0x7b, 0xbc, 0x9a, 0xd1, 0x93, 0x49, 0x3b, 0x9a, 0x3a, 0xb3, 0x0a, 0x91, 0xad, - 0x01, 0xc2, 0xf3, 0x4d, 0xc4, 0x1b, 0xa8, 0xdc, 0x87, 0x61, 0x76, 0xe5, 0x9f, 0x5b, 0xe9, 0x27, - 0x3e, 0x44, 0xd5, 0xc4, 0x0e, 0x62, 0xb8, 0xc7, 0xbf, 0x79, 0x7a, 0x1c, 0xff, 0xa6, 0x03, 0xb0, - 0x72, 0xf2, 0xd7, 0x95, 0x7d, 0xcd, 0xdc, 0xb9, 0xb8, 0xd6, 0x4b, 0x97, 0xd7, 0x7a, 0xe9, 0xcd, - 0xb5, 0x5e, 0x7a, 0x3e, 0xd2, 0xb5, 0x8b, 0x91, 0xae, 0x5d, 0x8e, 0x74, 0xed, 0xdd, 0x48, 0xd7, - 0x5e, 0xdc, 0xe8, 0xa5, 0xff, 0x3e, 0x53, 0xb7, 0xfe, 0x21, 0x00, 0x00, 0xff, 0xff, 0x59, 0x3e, - 0xe1, 0xf8, 0x0d, 0x08, 0x00, 0x00, + // 764 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0x4d, 0x6f, 0xf3, 0x44, + 0x10, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9b, 0x54, 0x65, 0xa1, 0x10, 0x22, 0xe1, 0xa2, 0x9c, 0x5a, + 0x41, 0xd7, 0x4a, 0x55, 0xa4, 0xc2, 0xa1, 0x52, 0x4d, 0x2a, 0x28, 0xa2, 0x4a, 0xe5, 0x22, 0x81, + 0x90, 0x40, 0xf2, 0xcb, 0xe0, 0x2c, 0xb1, 0xbd, 0xd6, 0xee, 0xda, 0x90, 0x1b, 0x1f, 0x81, 0x03, + 0xdf, 0x88, 0x4b, 0xc5, 0xa9, 0x47, 0x2e, 0x54, 0x34, 0xfd, 0x0e, 0x9c, 0x91, 0xed, 0x4d, 0x1a, + 0xe7, 0xa5, 0xaa, 0xd4, 0xe7, 0xb9, 0x79, 0x77, 0xe7, 0xf7, 0xff, 0xcf, 0xcc, 0xce, 0x1a, 0x7d, + 0x3a, 0x3a, 0x11, 0x84, 0x32, 0x63, 0x94, 0x38, 0xc0, 0x23, 0x90, 0x20, 0x8c, 0x78, 0xe4, 0x1b, + 0x76, 0x4c, 0x85, 0x11, 0xb3, 0x80, 0xba, 0x63, 0x23, 0xed, 0x39, 0x20, 0xed, 0x9e, 0xe1, 0x43, + 0x04, 0xdc, 0x96, 0xe0, 0x91, 0x98, 0x33, 0xc9, 0xf0, 0x41, 0x81, 0x92, 0x47, 0x94, 0xc4, 0x23, + 0x9f, 0x64, 0x28, 0x29, 0x50, 0xa2, 0xd0, 0xce, 0xa1, 0x4f, 0xe5, 0x30, 0x71, 0x88, 0xcb, 0x42, + 0xc3, 0x67, 0x3e, 0x33, 0x72, 0x05, 0x27, 0xf9, 0x29, 0x5f, 0xe5, 0x8b, 0xfc, 0xab, 0x50, 0xee, + 0x1c, 0xad, 0x4d, 0xca, 0xe0, 0x20, 0x58, 0xc2, 0x5d, 0x58, 0xcc, 0xa6, 0xf3, 0xc9, 0x7a, 0x26, + 0x89, 0x52, 0xe0, 0x82, 0xb2, 0x08, 0xbc, 0x25, 0xec, 0xe3, 0xf5, 0x58, 0xba, 0x54, 0x72, 0xe7, + 0x70, 0x75, 0x34, 0x4f, 0x22, 0x49, 0xc3, 0xe5, 0x9c, 0x8e, 0x9f, 0x0e, 0x17, 0xee, 0x10, 0x42, + 0x7b, 0x89, 0xea, 0xad, 0xa6, 0x12, 0x49, 0x03, 0x83, 0x46, 0x52, 0x48, 0xbe, 0x88, 0x74, 0xff, + 0xd2, 0x50, 0xe3, 0x3c, 0xa5, 0xae, 0xa4, 0x2c, 0xc2, 0xdf, 0xa1, 0x46, 0x08, 0xd2, 0xf6, 0x6c, + 0x69, 0xb7, 0xb5, 0x0f, 0xb5, 0xfd, 0xad, 0xa3, 0x7d, 0xb2, 0xf6, 0xaa, 0x48, 0xda, 0x23, 0x03, + 0xe7, 0x67, 0x70, 0xe5, 0x25, 0x48, 0xdb, 0xc4, 0x37, 0x77, 0x7b, 0x95, 0xc9, 0xdd, 0x1e, 0x7a, + 0xdc, 0xb3, 0x66, 0x6a, 0xd8, 0x43, 0x2d, 0x0f, 0x02, 0x90, 0x30, 0x88, 0x33, 0x27, 0xd1, 0xde, + 0xc8, 0xe5, 0x3f, 0x7a, 0x5a, 0xbe, 0x3f, 0x8f, 0x98, 0x6f, 0x4d, 0xee, 0xf6, 0x5a, 0xa5, 0x2d, + 0xab, 0x2c, 0xda, 0xfd, 0x73, 0x03, 0xbd, 0x7d, 0xc5, 0xbc, 0x3e, 0x15, 0x3c, 0xc9, 0xb7, 0xcc, + 0xc4, 0xf3, 0x41, 0xbe, 0xd6, 0xba, 0x6a, 0x22, 0x06, 0x57, 0x95, 0x63, 0x92, 0x67, 0x0f, 0x36, + 0x59, 0x91, 0xe7, 0x75, 0x0c, 0xae, 0xd9, 0x54, 0x7e, 0xb5, 0x6c, 0x65, 0xe5, 0xea, 0x38, 0x40, + 0x9b, 0x42, 0xda, 0x32, 0x11, 0xed, 0x6a, 0xee, 0xd3, 0x7f, 0xa1, 0x4f, 0xae, 0x65, 0x6e, 0x2b, + 0xa7, 0xcd, 0x62, 0x6d, 0x29, 0x8f, 0xee, 0x3f, 0x1a, 0x7a, 0x6f, 0x05, 0xf5, 0x35, 0x15, 0x12, + 0xff, 0xb0, 0xd4, 0x49, 0xe3, 0x89, 0x4e, 0xce, 0x3d, 0x1f, 0x92, 0xe1, 0x79, 0x43, 0x77, 0x94, + 0x6d, 0x63, 0xba, 0x33, 0xd7, 0x4e, 0x17, 0xd5, 0xa9, 0x84, 0x30, 0x1b, 0x8f, 0xea, 0xfe, 0xd6, + 0xd1, 0xe9, 0xcb, 0xea, 0x34, 0x5b, 0xca, 0xaa, 0x7e, 0x91, 0x89, 0x5a, 0x85, 0x76, 0xf7, 0x61, + 0x75, 0x7d, 0x59, 0xbf, 0xf1, 0x10, 0x35, 0x43, 0x1a, 0x9d, 0xa5, 0x36, 0x0d, 0x6c, 0x27, 0x00, + 0x55, 0x23, 0x59, 0x93, 0x47, 0xf6, 0xb0, 0x48, 0xf1, 0xb0, 0xc8, 0x45, 0x24, 0x07, 0xfc, 0x5a, + 0x72, 0x1a, 0xf9, 0xe6, 0x3b, 0xca, 0xb7, 0x79, 0x39, 0xa7, 0x65, 0x95, 0x94, 0xf1, 0x8f, 0xa8, + 0x21, 0x20, 0x00, 0x57, 0x32, 0xae, 0xa6, 0xe7, 0xf8, 0xb9, 0x9d, 0xb4, 0x1d, 0x08, 0xae, 0x15, + 0x6b, 0x36, 0xb3, 0x56, 0x4e, 0x57, 0xd6, 0x4c, 0xb3, 0xfb, 0x5f, 0x0d, 0xbd, 0xbf, 0xf6, 0xee, + 0xf1, 0x57, 0x08, 0x33, 0x47, 0x00, 0x4f, 0xc1, 0xfb, 0xa2, 0xf8, 0x23, 0x50, 0x16, 0xe5, 0xd5, + 0x56, 0xcd, 0x8e, 0xca, 0x1e, 0x0f, 0x96, 0x22, 0xac, 0x15, 0x14, 0xfe, 0x43, 0x43, 0x2d, 0xaf, + 0xb0, 0x01, 0xef, 0x8a, 0x79, 0xd3, 0xdb, 0xfb, 0xf6, 0x55, 0x4c, 0x29, 0xe9, 0xcf, 0x2b, 0x9f, + 0x47, 0x92, 0x8f, 0xcd, 0x5d, 0x95, 0x60, 0xab, 0x74, 0x66, 0x95, 0x93, 0xc0, 0x97, 0x08, 0x7b, + 0x33, 0x49, 0x71, 0x16, 0x04, 0xec, 0x17, 0xf0, 0xf2, 0x07, 0x54, 0x37, 0x3f, 0x50, 0x0a, 0xbb, + 0x25, 0xdf, 0x69, 0x90, 0xb5, 0x02, 0xc4, 0xa7, 0x68, 0xdb, 0x4d, 0x38, 0x87, 0x48, 0x7e, 0x09, + 0x76, 0x20, 0x87, 0xe3, 0x76, 0x2d, 0x97, 0x7a, 0x57, 0x49, 0x6d, 0x7f, 0x5e, 0x3a, 0xb5, 0x16, + 0xa2, 0x33, 0xde, 0x03, 0x41, 0x39, 0x78, 0x53, 0xbe, 0x5e, 0xe6, 0xfb, 0xa5, 0x53, 0x6b, 0x21, + 0x1a, 0x9f, 0xa0, 0x26, 0xfc, 0x1a, 0x83, 0x3b, 0xed, 0xf1, 0x66, 0x4e, 0xcf, 0x26, 0xed, 0x7c, + 0xee, 0xcc, 0x2a, 0x45, 0x76, 0x42, 0x84, 0x97, 0x9b, 0x88, 0x77, 0x50, 0x75, 0x04, 0xe3, 0xfc, + 0xca, 0xdf, 0xb4, 0xb2, 0x4f, 0x7c, 0x86, 0xea, 0xa9, 0x1d, 0x24, 0xf0, 0x8c, 0x7f, 0xf3, 0xfc, + 0x38, 0x7e, 0x43, 0x43, 0xb0, 0x0a, 0xf2, 0xb3, 0x8d, 0x13, 0xcd, 0x3c, 0xb8, 0xb9, 0xd7, 0x2b, + 0xb7, 0xf7, 0x7a, 0xe5, 0xef, 0x7b, 0xbd, 0xf2, 0xdb, 0x44, 0xd7, 0x6e, 0x26, 0xba, 0x76, 0x3b, + 0xd1, 0xb5, 0x7f, 0x27, 0xba, 0xf6, 0xfb, 0x83, 0x5e, 0xf9, 0xfe, 0x0d, 0x75, 0xeb, 0xff, 0x07, + 0x00, 0x00, 0xff, 0xff, 0x5e, 0x98, 0x33, 0x48, 0x43, 0x08, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto index 7782fd52538..560850ea4cc 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/register.go index 9901c28b2f3..0544ef418ec 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "policy" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/helpers.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/helpers.go index f9a770bb021..2f91caaa13f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/helpers.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/helpers.go @@ -21,11 +21,11 @@ import ( "strings" "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) -func RoleRefGroupKind(roleRef RoleRef) unversioned.GroupKind { - return unversioned.GroupKind{Group: roleRef.APIGroup, Kind: roleRef.Kind} +func RoleRefGroupKind(roleRef RoleRef) schema.GroupKind { + return schema.GroupKind{Group: roleRef.APIGroup, Kind: roleRef.Kind} } func VerbMatches(rule PolicyRule, requestedVerb string) bool { diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/register.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/register.go index d50d55745cc..9ea3c9aea49 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/register.go @@ -18,23 +18,23 @@ package rbac import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/watch/versioned" ) const GroupName = "rbac.authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.pb.go index 829e1d29a6c..439a319f981 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.pb.go @@ -27,9 +27,11 @@ limitations under the License. It has these top-level messages: ClusterRole ClusterRoleBinding + ClusterRoleBindingBuilder ClusterRoleBindingList ClusterRoleList PolicyRule + PolicyRuleBuilder Role RoleBinding RoleBindingList @@ -65,48 +67,60 @@ func (m *ClusterRoleBinding) Reset() { *m = ClusterRoleBindin func (*ClusterRoleBinding) ProtoMessage() {} func (*ClusterRoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } +func (m *ClusterRoleBindingBuilder) Reset() { *m = ClusterRoleBindingBuilder{} } +func (*ClusterRoleBindingBuilder) ProtoMessage() {} +func (*ClusterRoleBindingBuilder) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{2} +} + func (m *ClusterRoleBindingList) Reset() { *m = ClusterRoleBindingList{} } func (*ClusterRoleBindingList) ProtoMessage() {} -func (*ClusterRoleBindingList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } +func (*ClusterRoleBindingList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } func (m *ClusterRoleList) Reset() { *m = ClusterRoleList{} } func (*ClusterRoleList) ProtoMessage() {} -func (*ClusterRoleList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } +func (*ClusterRoleList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } func (m *PolicyRule) Reset() { *m = PolicyRule{} } func (*PolicyRule) ProtoMessage() {} -func (*PolicyRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } +func (*PolicyRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *PolicyRuleBuilder) Reset() { *m = PolicyRuleBuilder{} } +func (*PolicyRuleBuilder) ProtoMessage() {} +func (*PolicyRuleBuilder) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } func (m *Role) Reset() { *m = Role{} } func (*Role) ProtoMessage() {} -func (*Role) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } +func (*Role) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } func (m *RoleBinding) Reset() { *m = RoleBinding{} } func (*RoleBinding) ProtoMessage() {} -func (*RoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } +func (*RoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } func (m *RoleBindingList) Reset() { *m = RoleBindingList{} } func (*RoleBindingList) ProtoMessage() {} -func (*RoleBindingList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } +func (*RoleBindingList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } func (m *RoleList) Reset() { *m = RoleList{} } func (*RoleList) ProtoMessage() {} -func (*RoleList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } +func (*RoleList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } func (m *RoleRef) Reset() { *m = RoleRef{} } func (*RoleRef) ProtoMessage() {} -func (*RoleRef) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } +func (*RoleRef) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } func (m *Subject) Reset() { *m = Subject{} } func (*Subject) ProtoMessage() {} -func (*Subject) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } +func (*Subject) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } func init() { proto.RegisterType((*ClusterRole)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.ClusterRole") proto.RegisterType((*ClusterRoleBinding)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.ClusterRoleBinding") + proto.RegisterType((*ClusterRoleBindingBuilder)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.ClusterRoleBindingBuilder") proto.RegisterType((*ClusterRoleBindingList)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.ClusterRoleBindingList") proto.RegisterType((*ClusterRoleList)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.ClusterRoleList") proto.RegisterType((*PolicyRule)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.PolicyRule") + proto.RegisterType((*PolicyRuleBuilder)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.PolicyRuleBuilder") proto.RegisterType((*Role)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.Role") proto.RegisterType((*RoleBinding)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.RoleBinding") proto.RegisterType((*RoleBindingList)(nil), "k8s.io.client-go.pkg.apis.rbac.v1alpha1.RoleBindingList") @@ -198,6 +212,32 @@ func (m *ClusterRoleBinding) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *ClusterRoleBindingBuilder) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *ClusterRoleBindingBuilder) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.ClusterRoleBinding.Size())) + n4, err := m.ClusterRoleBinding.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 + return i, nil +} + func (m *ClusterRoleBindingList) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -216,11 +256,11 @@ func (m *ClusterRoleBindingList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n4, err := m.ListMeta.MarshalTo(data[i:]) + n5, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -254,11 +294,11 @@ func (m *ClusterRoleList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n5, err := m.ListMeta.MarshalTo(data[i:]) + n6, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n6 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -307,11 +347,11 @@ func (m *PolicyRule) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.AttributeRestrictions.Size())) - n6, err := m.AttributeRestrictions.MarshalTo(data[i:]) + n7, err := m.AttributeRestrictions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 if len(m.APIGroups) > 0 { for _, s := range m.APIGroups { data[i] = 0x1a @@ -375,6 +415,32 @@ func (m *PolicyRule) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *PolicyRuleBuilder) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *PolicyRuleBuilder) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.PolicyRule.Size())) + n8, err := m.PolicyRule.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n8 + return i, nil +} + func (m *Role) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -393,11 +459,11 @@ func (m *Role) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n7, err := m.ObjectMeta.MarshalTo(data[i:]) + n9, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n9 if len(m.Rules) > 0 { for _, msg := range m.Rules { data[i] = 0x12 @@ -431,11 +497,11 @@ func (m *RoleBinding) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n8, err := m.ObjectMeta.MarshalTo(data[i:]) + n10, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n10 if len(m.Subjects) > 0 { for _, msg := range m.Subjects { data[i] = 0x12 @@ -451,11 +517,11 @@ func (m *RoleBinding) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.RoleRef.Size())) - n9, err := m.RoleRef.MarshalTo(data[i:]) + n11, err := m.RoleRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n9 + i += n11 return i, nil } @@ -477,11 +543,11 @@ func (m *RoleBindingList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n10, err := m.ListMeta.MarshalTo(data[i:]) + n12, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n10 + i += n12 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -515,11 +581,11 @@ func (m *RoleList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n11, err := m.ListMeta.MarshalTo(data[i:]) + n13, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n11 + i += n13 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -656,6 +722,14 @@ func (m *ClusterRoleBinding) Size() (n int) { return n } +func (m *ClusterRoleBindingBuilder) Size() (n int) { + var l int + _ = l + l = m.ClusterRoleBinding.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *ClusterRoleBindingList) Size() (n int) { var l int _ = l @@ -722,6 +796,14 @@ func (m *PolicyRule) Size() (n int) { return n } +func (m *PolicyRuleBuilder) Size() (n int) { + var l int + _ = l + l = m.PolicyRule.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *Role) Size() (n int) { var l int _ = l @@ -842,6 +924,16 @@ func (this *ClusterRoleBinding) String() string { }, "") return s } +func (this *ClusterRoleBindingBuilder) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterRoleBindingBuilder{`, + `ClusterRoleBinding:` + strings.Replace(strings.Replace(this.ClusterRoleBinding.String(), "ClusterRoleBinding", "ClusterRoleBinding", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} func (this *ClusterRoleBindingList) String() string { if this == nil { return "nil" @@ -879,6 +971,16 @@ func (this *PolicyRule) String() string { }, "") return s } +func (this *PolicyRuleBuilder) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PolicyRuleBuilder{`, + `PolicyRule:` + strings.Replace(strings.Replace(this.PolicyRule.String(), "PolicyRule", "PolicyRule", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} func (this *Role) String() string { if this == nil { return "nil" @@ -1209,6 +1311,86 @@ func (m *ClusterRoleBinding) Unmarshal(data []byte) error { } return nil } +func (m *ClusterRoleBindingBuilder) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClusterRoleBindingBuilder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterRoleBindingBuilder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClusterRoleBinding", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ClusterRoleBinding.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ClusterRoleBindingList) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -1656,6 +1838,86 @@ func (m *PolicyRule) Unmarshal(data []byte) error { } return nil } +func (m *PolicyRuleBuilder) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PolicyRuleBuilder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PolicyRuleBuilder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PolicyRule", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PolicyRule.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *Role) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -2539,56 +2801,61 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 815 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x54, 0x41, 0x6b, 0xe3, 0x46, - 0x18, 0xb5, 0x62, 0xbb, 0xb1, 0xc6, 0x35, 0x6e, 0x54, 0x52, 0x84, 0xa1, 0xb2, 0xf1, 0xc9, 0x34, - 0xc9, 0x08, 0x9b, 0x86, 0xe6, 0xd0, 0x1e, 0xa2, 0x52, 0x4a, 0x68, 0x9a, 0x86, 0x09, 0x0d, 0x6d, - 0x68, 0x29, 0x63, 0x7b, 0xe2, 0x4c, 0x2d, 0x4b, 0x62, 0x66, 0xe4, 0xb6, 0xf4, 0x12, 0xf6, 0x17, - 0xec, 0xaf, 0xd8, 0xdb, 0x5e, 0xf6, 0xba, 0xb0, 0x87, 0x3d, 0xe5, 0xb0, 0x87, 0x1c, 0x97, 0x3d, - 0x98, 0x8d, 0xf6, 0x8f, 0x2c, 0x1a, 0x49, 0x96, 0x1d, 0xdb, 0x1b, 0x27, 0xb0, 0x81, 0x85, 0x3d, - 0x25, 0xf3, 0x7d, 0xef, 0xbd, 0xf9, 0xde, 0xe7, 0xd1, 0x03, 0x3b, 0xfd, 0x1d, 0x0e, 0xa9, 0x6b, - 0xf6, 0xfd, 0x36, 0x61, 0x0e, 0x11, 0x84, 0x9b, 0x5e, 0xbf, 0x67, 0x62, 0x8f, 0x72, 0x93, 0xb5, - 0x71, 0xc7, 0x1c, 0x36, 0xb1, 0xed, 0x9d, 0xe1, 0xa6, 0xd9, 0x23, 0x0e, 0x61, 0x58, 0x90, 0x2e, - 0xf4, 0x98, 0x2b, 0x5c, 0xad, 0x11, 0x31, 0x61, 0xca, 0x84, 0x5e, 0xbf, 0x07, 0x43, 0x26, 0x0c, - 0x99, 0x30, 0x61, 0x56, 0xb6, 0x7a, 0x54, 0x9c, 0xf9, 0x6d, 0xd8, 0x71, 0x07, 0x66, 0xcf, 0xed, - 0xb9, 0xa6, 0x14, 0x68, 0xfb, 0xa7, 0xf2, 0x24, 0x0f, 0xf2, 0xbf, 0x48, 0xb8, 0xd2, 0x5a, 0x38, - 0x92, 0xc9, 0x08, 0x77, 0x7d, 0xd6, 0x21, 0xd7, 0x87, 0xa9, 0x6c, 0x2f, 0xe6, 0xf8, 0xce, 0x90, - 0x30, 0x4e, 0x5d, 0x87, 0x74, 0x67, 0x68, 0x9b, 0x8b, 0x69, 0xc3, 0x19, 0xc7, 0x95, 0xad, 0xf9, - 0x68, 0xe6, 0x3b, 0x82, 0x0e, 0x66, 0x67, 0x6a, 0xce, 0x87, 0xfb, 0x82, 0xda, 0x26, 0x75, 0x04, - 0x17, 0xec, 0x3a, 0xa5, 0xfe, 0x5c, 0x01, 0xc5, 0xef, 0x6d, 0x9f, 0x0b, 0xc2, 0x90, 0x6b, 0x13, - 0xed, 0x37, 0x50, 0x18, 0x10, 0x81, 0xbb, 0x58, 0x60, 0x5d, 0xa9, 0x29, 0x8d, 0x62, 0xab, 0x01, - 0x17, 0xae, 0x1d, 0x0e, 0x9b, 0xf0, 0x97, 0xf6, 0xdf, 0xa4, 0x23, 0x7e, 0x26, 0x02, 0x5b, 0xda, - 0xc5, 0xa8, 0x9a, 0x09, 0x46, 0x55, 0x90, 0xd6, 0xd0, 0x58, 0x4d, 0xfb, 0x1d, 0xe4, 0x99, 0x6f, - 0x13, 0xae, 0xaf, 0xd4, 0xb2, 0x8d, 0x62, 0xeb, 0x6b, 0xb8, 0xec, 0xaf, 0x09, 0x0f, 0x5d, 0x9b, - 0x76, 0xfe, 0x43, 0xbe, 0x4d, 0xac, 0x52, 0x7c, 0x45, 0x3e, 0x3c, 0x71, 0x14, 0x29, 0xd6, 0x1f, - 0xaf, 0x00, 0x6d, 0xc2, 0x84, 0x45, 0x9d, 0x2e, 0x75, 0x7a, 0xef, 0xd1, 0xcb, 0x5f, 0xa0, 0xc0, - 0x7d, 0xd9, 0x48, 0xec, 0x34, 0x97, 0xb7, 0x73, 0x14, 0x31, 0xad, 0xcf, 0xe2, 0x2b, 0x0a, 0x71, - 0x81, 0xa3, 0xb1, 0xa8, 0xf6, 0x07, 0x58, 0x65, 0xae, 0x4d, 0x10, 0x39, 0xd5, 0xb3, 0x72, 0xf2, - 0x5b, 0xe8, 0xa3, 0x88, 0x68, 0x95, 0x63, 0xfd, 0xd5, 0xb8, 0x80, 0x12, 0xc9, 0xfa, 0x2b, 0x05, - 0x7c, 0x31, 0xbb, 0xaf, 0x7d, 0xca, 0x85, 0xf6, 0xe7, 0xcc, 0xce, 0xcc, 0x77, 0xec, 0x6c, 0xe2, - 0xa5, 0xc3, 0x90, 0x2e, 0x57, 0x37, 0xf6, 0x95, 0x54, 0x26, 0x16, 0x87, 0x41, 0x9e, 0x0a, 0x32, - 0x48, 0xb6, 0xf6, 0xed, 0xf2, 0xae, 0x66, 0xe7, 0x4d, 0x1f, 0xc3, 0x5e, 0x28, 0x89, 0x22, 0xe5, - 0xfa, 0x0b, 0x05, 0x94, 0x27, 0xc0, 0xf7, 0xe1, 0xea, 0x64, 0xda, 0xd5, 0xf6, 0xdd, 0x5c, 0xcd, - 0xb7, 0xf3, 0x20, 0x0b, 0x40, 0xfa, 0x01, 0x68, 0x55, 0x90, 0x1f, 0x12, 0xd6, 0xe6, 0xba, 0x52, - 0xcb, 0x36, 0x54, 0x4b, 0x0d, 0xf1, 0xc7, 0x61, 0x01, 0x45, 0x75, 0xed, 0x5c, 0x01, 0xeb, 0x58, - 0x08, 0x46, 0xdb, 0xbe, 0x20, 0x88, 0x70, 0xc1, 0x68, 0x47, 0x50, 0xd7, 0x09, 0x87, 0x0b, 0x8d, - 0x6f, 0x2c, 0x18, 0x2e, 0xce, 0x14, 0x88, 0xf0, 0x3f, 0x3f, 0xfc, 0x2b, 0x88, 0x13, 0xfa, 0xb7, - 0xbe, 0x8c, 0x47, 0x5a, 0xdf, 0x9d, 0xa7, 0x88, 0xe6, 0x5f, 0xa4, 0x6d, 0x00, 0x15, 0x7b, 0xf4, - 0x47, 0xe6, 0xfa, 0x1e, 0xd7, 0xb3, 0x72, 0xce, 0x52, 0x30, 0xaa, 0xaa, 0xbb, 0x87, 0x7b, 0x51, - 0x11, 0xa5, 0xfd, 0x10, 0x9c, 0x64, 0x2c, 0xd7, 0x73, 0x29, 0x18, 0x25, 0x45, 0x94, 0xf6, 0xb5, - 0x6f, 0x40, 0x29, 0x39, 0x1c, 0xe0, 0x01, 0xe1, 0x7a, 0x5e, 0x12, 0xd6, 0x82, 0x51, 0xb5, 0x84, - 0x26, 0x1b, 0x68, 0x1a, 0xa7, 0x7d, 0x07, 0xca, 0x8e, 0xeb, 0x24, 0x90, 0x5f, 0xd1, 0x3e, 0xd7, - 0x3f, 0x91, 0xd4, 0xcf, 0x83, 0x51, 0xb5, 0x7c, 0x30, 0xdd, 0x42, 0xd7, 0xb1, 0xf5, 0xa7, 0x0a, - 0xc8, 0x7d, 0xb8, 0xf1, 0xf8, 0x68, 0x05, 0x14, 0x3f, 0xe6, 0xe2, 0x12, 0xb9, 0x18, 0x46, 0xc7, - 0x3d, 0x07, 0xe2, 0xdd, 0xa3, 0xe3, 0xe6, 0x24, 0x7c, 0xa6, 0x80, 0xc2, 0x7d, 0x45, 0xe0, 0xd1, - 0xb4, 0x0f, 0x78, 0x4b, 0x1f, 0xf3, 0x0d, 0xfc, 0x0f, 0x92, 0xdf, 0x48, 0xdb, 0x04, 0x85, 0x24, - 0x33, 0xe4, 0xf8, 0x6a, 0x3a, 0x4d, 0x12, 0x2b, 0x68, 0x8c, 0xd0, 0x6a, 0x20, 0xd7, 0xa7, 0x4e, - 0x57, 0x46, 0x9e, 0x6a, 0x7d, 0x1a, 0x23, 0x73, 0x3f, 0x51, 0xa7, 0x8b, 0x64, 0x27, 0x44, 0x38, - 0x78, 0x40, 0xe4, 0x2b, 0x9a, 0x40, 0x84, 0x69, 0x81, 0x64, 0xa7, 0xfe, 0x44, 0x01, 0xab, 0xf1, - 0x0b, 0x1c, 0xeb, 0x29, 0x0b, 0xf5, 0x5a, 0x00, 0x60, 0x8f, 0x1e, 0x47, 0x4b, 0x8b, 0xef, 0x1d, - 0x7f, 0x2b, 0xbb, 0x87, 0x7b, 0x71, 0x07, 0x4d, 0xa0, 0x6e, 0x9e, 0x41, 0x33, 0x81, 0x1a, 0xfe, - 0xe5, 0x1e, 0xee, 0x10, 0x3d, 0x27, 0x61, 0x6b, 0x31, 0x4c, 0x3d, 0x48, 0x1a, 0x28, 0xc5, 0x58, - 0x5f, 0x5d, 0x5c, 0x19, 0x99, 0xcb, 0x2b, 0x23, 0xf3, 0xf2, 0xca, 0xc8, 0x9c, 0x07, 0x86, 0x72, - 0x11, 0x18, 0xca, 0x65, 0x60, 0x28, 0xaf, 0x03, 0x43, 0x79, 0xf8, 0xc6, 0xc8, 0x9c, 0x14, 0x92, - 0xc5, 0xbf, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x62, 0x32, 0x8a, 0x1f, 0x89, 0x0b, 0x00, 0x00, + // 886 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x55, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xc4, 0x36, 0xb1, 0x5f, 0x88, 0x42, 0x06, 0x15, 0x2d, 0x96, 0xb0, 0x23, 0x9f, 0x2c, + 0xda, 0xee, 0xca, 0x51, 0x2b, 0x7a, 0x80, 0x43, 0x16, 0x21, 0x14, 0x51, 0x42, 0x34, 0x15, 0x15, + 0x54, 0x20, 0x34, 0x5e, 0x4f, 0x9d, 0xc1, 0xeb, 0xdd, 0xd5, 0xcc, 0xac, 0x01, 0x21, 0xa4, 0x8a, + 0x13, 0x47, 0xfe, 0x8a, 0xde, 0xb8, 0x70, 0x45, 0xe2, 0xc0, 0x29, 0x07, 0x0e, 0x3d, 0x22, 0x0e, + 0x16, 0x31, 0xff, 0x08, 0xda, 0xdd, 0xd9, 0x1f, 0xc9, 0xae, 0x5b, 0x37, 0x88, 0x48, 0x48, 0x3d, + 0xd9, 0xfb, 0xde, 0xf7, 0x7d, 0xf3, 0xbe, 0x79, 0x33, 0x6f, 0xe0, 0xce, 0xf4, 0x8e, 0x34, 0xb9, + 0x6f, 0x4d, 0xc3, 0x11, 0x13, 0x1e, 0x53, 0x4c, 0x5a, 0xc1, 0x74, 0x62, 0xd1, 0x80, 0x4b, 0x4b, + 0x8c, 0xa8, 0x63, 0xcd, 0x87, 0xd4, 0x0d, 0x4e, 0xe8, 0xd0, 0x9a, 0x30, 0x8f, 0x09, 0xaa, 0xd8, + 0xd8, 0x0c, 0x84, 0xaf, 0x7c, 0x3c, 0x48, 0x98, 0x66, 0xce, 0x34, 0x83, 0xe9, 0xc4, 0x8c, 0x98, + 0x66, 0xc4, 0x34, 0x53, 0x66, 0xe7, 0xe6, 0x84, 0xab, 0x93, 0x70, 0x64, 0x3a, 0xfe, 0xcc, 0x9a, + 0xf8, 0x13, 0xdf, 0x8a, 0x05, 0x46, 0xe1, 0xc3, 0xf8, 0x2b, 0xfe, 0x88, 0xff, 0x25, 0xc2, 0x9d, + 0xfd, 0x95, 0x25, 0x59, 0x82, 0x49, 0x3f, 0x14, 0x0e, 0xbb, 0x58, 0x4c, 0xe7, 0xf6, 0x6a, 0x4e, + 0xe8, 0xcd, 0x99, 0x90, 0xdc, 0xf7, 0xd8, 0xb8, 0x44, 0xbb, 0xb1, 0x9a, 0x36, 0x2f, 0x39, 0xee, + 0xdc, 0xac, 0x46, 0x8b, 0xd0, 0x53, 0x7c, 0x56, 0xae, 0xe9, 0xd6, 0xd3, 0xe1, 0xd2, 0x39, 0x61, + 0x33, 0x5a, 0x62, 0x0d, 0xab, 0x59, 0xa1, 0xe2, 0xae, 0xc5, 0x3d, 0x25, 0x95, 0xb8, 0x48, 0xe9, + 0xff, 0x86, 0x60, 0xeb, 0x5d, 0x37, 0x94, 0x8a, 0x09, 0xe2, 0xbb, 0x0c, 0x7f, 0x02, 0xad, 0x19, + 0x53, 0x74, 0x4c, 0x15, 0x35, 0xd0, 0x1e, 0x1a, 0x6c, 0xed, 0x0f, 0xcc, 0x95, 0xcd, 0x32, 0xe7, + 0x43, 0xf3, 0xa3, 0xd1, 0x97, 0xcc, 0x51, 0x1f, 0x32, 0x45, 0x6d, 0x7c, 0xba, 0xe8, 0xd5, 0x96, + 0x8b, 0x1e, 0xe4, 0x31, 0x92, 0xa9, 0xe1, 0x4f, 0xa1, 0x29, 0x42, 0x97, 0x49, 0x63, 0x63, 0xaf, + 0x3e, 0xd8, 0xda, 0xbf, 0x65, 0xae, 0x7b, 0x06, 0xcc, 0x63, 0xdf, 0xe5, 0xce, 0x37, 0x24, 0x74, + 0x99, 0xbd, 0xad, 0x97, 0x68, 0x46, 0x5f, 0x92, 0x24, 0x8a, 0xfd, 0x9f, 0x36, 0x00, 0x17, 0x4c, + 0xd8, 0xdc, 0x1b, 0x73, 0x6f, 0xf2, 0x1f, 0x7a, 0xf9, 0x02, 0x5a, 0x32, 0x8c, 0x13, 0xa9, 0x9d, + 0xe1, 0xfa, 0x76, 0xee, 0x25, 0x4c, 0xfb, 0x15, 0xbd, 0x44, 0x4b, 0x07, 0x24, 0xc9, 0x44, 0xf1, + 0x67, 0xb0, 0x29, 0x7c, 0x97, 0x11, 0xf6, 0xd0, 0xa8, 0xc7, 0x95, 0x3f, 0x87, 0x3e, 0x49, 0x88, + 0xf6, 0x8e, 0xd6, 0xdf, 0xd4, 0x01, 0x92, 0x4a, 0xf6, 0x1f, 0x23, 0x78, 0xbd, 0xbc, 0x5f, 0x76, + 0xc8, 0xdd, 0x31, 0x13, 0xf8, 0x07, 0x04, 0xd8, 0x29, 0x65, 0xf5, 0x0e, 0xbe, 0xbd, 0x7e, 0x1d, + 0x15, 0x2b, 0x74, 0x74, 0x49, 0x15, 0xdd, 0x22, 0x15, 0x6b, 0xf6, 0xff, 0x44, 0xf0, 0x5a, 0x19, + 0x7a, 0x97, 0x4b, 0x85, 0x3f, 0x2f, 0x35, 0xd7, 0x7a, 0x4a, 0x73, 0x0b, 0x17, 0xd9, 0x8c, 0xe8, + 0x71, 0x8f, 0xb3, 0x06, 0xa4, 0x91, 0x42, 0x87, 0x29, 0x34, 0xb9, 0x62, 0xb3, 0xb4, 0xbd, 0xff, + 0xce, 0x76, 0x76, 0x6a, 0x0f, 0x23, 0x49, 0x92, 0x28, 0xf7, 0x7f, 0x47, 0xb0, 0x53, 0x00, 0x5f, + 0x85, 0xab, 0x07, 0xe7, 0x5d, 0xdd, 0xbe, 0x9c, 0xab, 0x6a, 0x3b, 0xdf, 0xd7, 0x01, 0xf2, 0x9b, + 0x8a, 0x7b, 0xd0, 0x9c, 0x33, 0x31, 0x92, 0x06, 0xda, 0xab, 0x0f, 0xda, 0x76, 0x3b, 0xc2, 0xdf, + 0x8f, 0x02, 0x24, 0x89, 0xe3, 0x47, 0x08, 0xae, 0x51, 0xa5, 0x04, 0x1f, 0x85, 0x8a, 0x11, 0x26, + 0x95, 0xe0, 0x8e, 0xe2, 0xbe, 0x17, 0x15, 0x17, 0x19, 0xbf, 0xbe, 0xa2, 0x38, 0x3d, 0x03, 0x4d, + 0x42, 0xbf, 0x7a, 0xef, 0x6b, 0xc5, 0xbc, 0xc8, 0xbf, 0xfd, 0x86, 0x2e, 0xe9, 0xda, 0x41, 0x95, + 0x22, 0xa9, 0x5e, 0x08, 0x5f, 0x87, 0x36, 0x0d, 0xf8, 0xfb, 0xc2, 0x0f, 0x03, 0x69, 0xd4, 0xe3, + 0x3a, 0xb7, 0x97, 0x8b, 0x5e, 0xfb, 0xe0, 0xf8, 0x30, 0x09, 0x92, 0x3c, 0x1f, 0x81, 0xd3, 0x27, + 0x44, 0x1a, 0x8d, 0x1c, 0x4c, 0xd2, 0x20, 0xc9, 0xf3, 0xf8, 0x2d, 0xd8, 0x4e, 0x3f, 0x8e, 0xe8, + 0x8c, 0x49, 0xa3, 0x19, 0x13, 0x76, 0x97, 0x8b, 0xde, 0x36, 0x29, 0x26, 0xc8, 0x79, 0x1c, 0x7e, + 0x07, 0x76, 0x3c, 0xdf, 0x4b, 0x21, 0x1f, 0x93, 0xbb, 0xd2, 0x78, 0x29, 0xa6, 0xbe, 0xba, 0x5c, + 0xf4, 0x76, 0x8e, 0xce, 0xa7, 0xc8, 0x45, 0x6c, 0xff, 0x3b, 0xd8, 0x2d, 0x4c, 0x4b, 0x7d, 0xa1, + 0x4f, 0x00, 0x82, 0x2c, 0xa8, 0x8f, 0xd5, 0xe5, 0xc6, 0x6f, 0x36, 0x15, 0xf3, 0x18, 0x29, 0x68, + 0xf7, 0x7f, 0x41, 0xd0, 0xf8, 0xff, 0x3e, 0x23, 0x8f, 0x37, 0x60, 0xeb, 0xc5, 0xfb, 0xb1, 0xc6, + 0xfb, 0x11, 0x4d, 0xae, 0x2b, 0x9e, 0xc7, 0x97, 0x9f, 0x5c, 0xcf, 0x1e, 0xc4, 0xbf, 0x22, 0x68, + 0x5d, 0xd5, 0x04, 0xbe, 0x77, 0xde, 0x87, 0xf9, 0x9c, 0x3e, 0xaa, 0x0d, 0x7c, 0x0b, 0x69, 0x8f, + 0xf0, 0x0d, 0x68, 0xa5, 0x23, 0x2b, 0x2e, 0xbf, 0x9d, 0x57, 0x93, 0x4e, 0x35, 0x92, 0x21, 0xf0, + 0x1e, 0x34, 0xa6, 0xdc, 0x1b, 0xc7, 0x13, 0xb7, 0x6d, 0xbf, 0xac, 0x91, 0x8d, 0x0f, 0xb8, 0x37, + 0x26, 0x71, 0x26, 0x42, 0x78, 0x74, 0xc6, 0xe2, 0x53, 0x54, 0x40, 0x44, 0xc3, 0x8a, 0xc4, 0x99, + 0xfe, 0xcf, 0x08, 0x36, 0xf5, 0x09, 0xcc, 0xf4, 0xd0, 0x4a, 0xbd, 0x7d, 0x00, 0x1a, 0xf0, 0xfb, + 0xc9, 0xa6, 0xe9, 0x75, 0xb3, 0xbb, 0x72, 0x70, 0x7c, 0xa8, 0x33, 0xa4, 0x80, 0x7a, 0x76, 0x0d, + 0xd8, 0x82, 0x76, 0xf4, 0x2b, 0x03, 0xea, 0x30, 0xa3, 0x11, 0xc3, 0x76, 0x35, 0xac, 0x7d, 0x94, + 0x26, 0x48, 0x8e, 0xb1, 0xdf, 0x3c, 0x3d, 0xeb, 0xd6, 0x9e, 0x9c, 0x75, 0x6b, 0x7f, 0x9c, 0x75, + 0x6b, 0x8f, 0x96, 0x5d, 0x74, 0xba, 0xec, 0xa2, 0x27, 0xcb, 0x2e, 0xfa, 0x6b, 0xd9, 0x45, 0x3f, + 0xfe, 0xdd, 0xad, 0x3d, 0x68, 0xa5, 0x1b, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x90, 0xdd, + 0x28, 0xaf, 0xe7, 0x0c, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto index 09f11e33b06..c265441f965 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -55,6 +56,14 @@ message ClusterRoleBinding { optional RoleRef roleRef = 3; } +// +k8s:deepcopy-gen=false +// ClusterRoleBindingBuilder let's us attach methods. A no-no for API types. +// We use it to construct bindings in code. It's more compact than trying to write them +// out in a literal. +message ClusterRoleBindingBuilder { + optional ClusterRoleBinding clusterRoleBinding = 1; +} + // ClusterRoleBindingList is a collection of ClusterRoleBindings message ClusterRoleBindingList { // Standard object's metadata. @@ -107,6 +116,14 @@ message PolicyRule { repeated string nonResourceURLs = 6; } +// +k8s:deepcopy-gen=false +// PolicyRuleBuilder let's us attach methods. A no-no for API types. +// We use it to construct rules in code. It's more compact than trying to write them +// out in a literal and allows us to perform some basic checking during construction +message PolicyRuleBuilder { + optional PolicyRule policyRule = 1; +} + // Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding. message Role { // Standard object's metadata. diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/helpers.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/helpers.go new file mode 100644 index 00000000000..789859c995e --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/helpers.go @@ -0,0 +1,148 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1alpha1 + +import ( + "fmt" + + "k8s.io/client-go/pkg/api/v1" +) + +// +k8s:deepcopy-gen=false +// PolicyRuleBuilder let's us attach methods. A no-no for API types. +// We use it to construct rules in code. It's more compact than trying to write them +// out in a literal and allows us to perform some basic checking during construction +type PolicyRuleBuilder struct { + PolicyRule PolicyRule `protobuf:"bytes,1,opt,name=policyRule"` +} + +func NewRule(verbs ...string) *PolicyRuleBuilder { + return &PolicyRuleBuilder{ + PolicyRule: PolicyRule{Verbs: verbs}, + } +} + +func (r *PolicyRuleBuilder) Groups(groups ...string) *PolicyRuleBuilder { + r.PolicyRule.APIGroups = append(r.PolicyRule.APIGroups, groups...) + return r +} + +func (r *PolicyRuleBuilder) Resources(resources ...string) *PolicyRuleBuilder { + r.PolicyRule.Resources = append(r.PolicyRule.Resources, resources...) + return r +} + +func (r *PolicyRuleBuilder) Names(names ...string) *PolicyRuleBuilder { + r.PolicyRule.ResourceNames = append(r.PolicyRule.ResourceNames, names...) + return r +} + +func (r *PolicyRuleBuilder) URLs(urls ...string) *PolicyRuleBuilder { + r.PolicyRule.NonResourceURLs = append(r.PolicyRule.NonResourceURLs, urls...) + return r +} + +func (r *PolicyRuleBuilder) RuleOrDie() PolicyRule { + ret, err := r.Rule() + if err != nil { + panic(err) + } + return ret +} + +func (r *PolicyRuleBuilder) Rule() (PolicyRule, error) { + if len(r.PolicyRule.Verbs) == 0 { + return PolicyRule{}, fmt.Errorf("verbs are required: %#v", r.PolicyRule) + } + + switch { + case len(r.PolicyRule.NonResourceURLs) > 0: + if len(r.PolicyRule.APIGroups) != 0 || len(r.PolicyRule.Resources) != 0 || len(r.PolicyRule.ResourceNames) != 0 { + return PolicyRule{}, fmt.Errorf("non-resource rule may not have apiGroups, resources, or resourceNames: %#v", r.PolicyRule) + } + case len(r.PolicyRule.Resources) > 0: + if len(r.PolicyRule.NonResourceURLs) != 0 { + return PolicyRule{}, fmt.Errorf("resource rule may not have nonResourceURLs: %#v", r.PolicyRule) + } + if len(r.PolicyRule.APIGroups) == 0 { + // this a common bug + return PolicyRule{}, fmt.Errorf("resource rule must have apiGroups: %#v", r.PolicyRule) + } + default: + return PolicyRule{}, fmt.Errorf("a rule must have either nonResourceURLs or resources: %#v", r.PolicyRule) + } + + return r.PolicyRule, nil +} + +// +k8s:deepcopy-gen=false +// ClusterRoleBindingBuilder let's us attach methods. A no-no for API types. +// We use it to construct bindings in code. It's more compact than trying to write them +// out in a literal. +type ClusterRoleBindingBuilder struct { + ClusterRoleBinding ClusterRoleBinding `protobuf:"bytes,1,opt,name=clusterRoleBinding"` +} + +func NewClusterBinding(clusterRoleName string) *ClusterRoleBindingBuilder { + return &ClusterRoleBindingBuilder{ + ClusterRoleBinding: ClusterRoleBinding{ + ObjectMeta: v1.ObjectMeta{Name: clusterRoleName}, + RoleRef: RoleRef{ + APIGroup: GroupName, + Kind: "ClusterRole", + Name: clusterRoleName, + }, + }, + } +} + +func (r *ClusterRoleBindingBuilder) Groups(groups ...string) *ClusterRoleBindingBuilder { + for _, group := range groups { + r.ClusterRoleBinding.Subjects = append(r.ClusterRoleBinding.Subjects, Subject{Kind: GroupKind, Name: group}) + } + return r +} + +func (r *ClusterRoleBindingBuilder) Users(users ...string) *ClusterRoleBindingBuilder { + for _, user := range users { + r.ClusterRoleBinding.Subjects = append(r.ClusterRoleBinding.Subjects, Subject{Kind: UserKind, Name: user}) + } + return r +} + +func (r *ClusterRoleBindingBuilder) SAs(namespace string, serviceAccountNames ...string) *ClusterRoleBindingBuilder { + for _, saName := range serviceAccountNames { + r.ClusterRoleBinding.Subjects = append(r.ClusterRoleBinding.Subjects, Subject{Kind: ServiceAccountKind, Namespace: namespace, Name: saName}) + } + return r +} + +func (r *ClusterRoleBindingBuilder) BindingOrDie() ClusterRoleBinding { + ret, err := r.Binding() + if err != nil { + panic(err) + } + return ret +} + +func (r *ClusterRoleBindingBuilder) Binding() (ClusterRoleBinding, error) { + if len(r.ClusterRoleBinding.Subjects) == 0 { + return ClusterRoleBinding{}, fmt.Errorf("subjects are required: %#v", r.ClusterRoleBinding) + } + + return r.ClusterRoleBinding, nil +} diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/register.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/register.go index 069071139d9..537019bc488 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/register.go @@ -17,16 +17,16 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/watch/versioned" ) const GroupName = "rbac.authorization.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/types.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/types.go index a8b8b229494..6ddc6167a3b 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/types.go @@ -27,6 +27,24 @@ import ( // 2. evaluation of RoleBindings in the namespace requested - short circuit on match // 3. deny by default +const ( + APIGroupAll = "*" + ResourceAll = "*" + VerbAll = "*" + NonResourceAll = "*" + + GroupKind = "Group" + ServiceAccountKind = "ServiceAccount" + UserKind = "User" + + UserAll = "*" +) + +// Authorization is calculated against +// 1. evaluation of ClusterRoleBindings - short circuit on match +// 2. evaluation of RoleBindings in the namespace requested - short circuit on match +// 3. deny by default + // PolicyRule holds information that describes a policy rule, but does not contain information // about who the rule applies to or which namespace the rule applies to. type PolicyRule struct { diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go index 1181cf7fff5..1439850440c 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go @@ -39,12 +39,16 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_rbac_ClusterRole_To_v1alpha1_ClusterRole, Convert_v1alpha1_ClusterRoleBinding_To_rbac_ClusterRoleBinding, Convert_rbac_ClusterRoleBinding_To_v1alpha1_ClusterRoleBinding, + Convert_v1alpha1_ClusterRoleBindingBuilder_To_rbac_ClusterRoleBindingBuilder, + Convert_rbac_ClusterRoleBindingBuilder_To_v1alpha1_ClusterRoleBindingBuilder, Convert_v1alpha1_ClusterRoleBindingList_To_rbac_ClusterRoleBindingList, Convert_rbac_ClusterRoleBindingList_To_v1alpha1_ClusterRoleBindingList, Convert_v1alpha1_ClusterRoleList_To_rbac_ClusterRoleList, Convert_rbac_ClusterRoleList_To_v1alpha1_ClusterRoleList, Convert_v1alpha1_PolicyRule_To_rbac_PolicyRule, Convert_rbac_PolicyRule_To_v1alpha1_PolicyRule, + Convert_v1alpha1_PolicyRuleBuilder_To_rbac_PolicyRuleBuilder, + Convert_rbac_PolicyRuleBuilder_To_v1alpha1_PolicyRuleBuilder, Convert_v1alpha1_Role_To_rbac_Role, Convert_rbac_Role_To_v1alpha1_Role, Convert_v1alpha1_RoleBinding_To_rbac_RoleBinding, @@ -138,6 +142,28 @@ func Convert_rbac_ClusterRoleBinding_To_v1alpha1_ClusterRoleBinding(in *rbac.Clu return autoConvert_rbac_ClusterRoleBinding_To_v1alpha1_ClusterRoleBinding(in, out, s) } +func autoConvert_v1alpha1_ClusterRoleBindingBuilder_To_rbac_ClusterRoleBindingBuilder(in *ClusterRoleBindingBuilder, out *rbac.ClusterRoleBindingBuilder, s conversion.Scope) error { + if err := Convert_v1alpha1_ClusterRoleBinding_To_rbac_ClusterRoleBinding(&in.ClusterRoleBinding, &out.ClusterRoleBinding, s); err != nil { + return err + } + return nil +} + +func Convert_v1alpha1_ClusterRoleBindingBuilder_To_rbac_ClusterRoleBindingBuilder(in *ClusterRoleBindingBuilder, out *rbac.ClusterRoleBindingBuilder, s conversion.Scope) error { + return autoConvert_v1alpha1_ClusterRoleBindingBuilder_To_rbac_ClusterRoleBindingBuilder(in, out, s) +} + +func autoConvert_rbac_ClusterRoleBindingBuilder_To_v1alpha1_ClusterRoleBindingBuilder(in *rbac.ClusterRoleBindingBuilder, out *ClusterRoleBindingBuilder, s conversion.Scope) error { + if err := Convert_rbac_ClusterRoleBinding_To_v1alpha1_ClusterRoleBinding(&in.ClusterRoleBinding, &out.ClusterRoleBinding, s); err != nil { + return err + } + return nil +} + +func Convert_rbac_ClusterRoleBindingBuilder_To_v1alpha1_ClusterRoleBindingBuilder(in *rbac.ClusterRoleBindingBuilder, out *ClusterRoleBindingBuilder, s conversion.Scope) error { + return autoConvert_rbac_ClusterRoleBindingBuilder_To_v1alpha1_ClusterRoleBindingBuilder(in, out, s) +} + func autoConvert_v1alpha1_ClusterRoleBindingList_To_rbac_ClusterRoleBindingList(in *ClusterRoleBindingList, out *rbac.ClusterRoleBindingList, s conversion.Scope) error { out.ListMeta = in.ListMeta out.Items = *(*[]rbac.ClusterRoleBinding)(unsafe.Pointer(&in.Items)) @@ -230,6 +256,28 @@ func Convert_rbac_PolicyRule_To_v1alpha1_PolicyRule(in *rbac.PolicyRule, out *Po return autoConvert_rbac_PolicyRule_To_v1alpha1_PolicyRule(in, out, s) } +func autoConvert_v1alpha1_PolicyRuleBuilder_To_rbac_PolicyRuleBuilder(in *PolicyRuleBuilder, out *rbac.PolicyRuleBuilder, s conversion.Scope) error { + if err := Convert_v1alpha1_PolicyRule_To_rbac_PolicyRule(&in.PolicyRule, &out.PolicyRule, s); err != nil { + return err + } + return nil +} + +func Convert_v1alpha1_PolicyRuleBuilder_To_rbac_PolicyRuleBuilder(in *PolicyRuleBuilder, out *rbac.PolicyRuleBuilder, s conversion.Scope) error { + return autoConvert_v1alpha1_PolicyRuleBuilder_To_rbac_PolicyRuleBuilder(in, out, s) +} + +func autoConvert_rbac_PolicyRuleBuilder_To_v1alpha1_PolicyRuleBuilder(in *rbac.PolicyRuleBuilder, out *PolicyRuleBuilder, s conversion.Scope) error { + if err := Convert_rbac_PolicyRule_To_v1alpha1_PolicyRule(&in.PolicyRule, &out.PolicyRule, s); err != nil { + return err + } + return nil +} + +func Convert_rbac_PolicyRuleBuilder_To_v1alpha1_PolicyRuleBuilder(in *rbac.PolicyRuleBuilder, out *PolicyRuleBuilder, s conversion.Scope) error { + return autoConvert_rbac_PolicyRuleBuilder_To_v1alpha1_PolicyRuleBuilder(in, out, s) +} + func autoConvert_v1alpha1_Role_To_rbac_Role(in *Role, out *rbac.Role, s conversion.Scope) error { // TODO: Inefficient conversion - can we improve it? if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil { diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/zz_generated.deepcopy.go index 253c1517f10..bd340bf4b6f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/zz_generated.deepcopy.go @@ -21,10 +21,11 @@ limitations under the License. package rbac import ( + reflect "reflect" + api "k8s.io/client-go/pkg/api" conversion "k8s.io/client-go/pkg/conversion" runtime "k8s.io/client-go/pkg/runtime" - reflect "reflect" ) func init() { diff --git a/staging/src/k8s.io/client-go/pkg/apis/storage/register.go b/staging/src/k8s.io/client-go/pkg/apis/storage/register.go index a924b77587c..5dc5fe48c39 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/storage/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/storage/register.go @@ -18,23 +18,23 @@ package storage import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "storage.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } diff --git a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.pb.go index 8ec0b14863b..49c051ce27b 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.pb.go @@ -696,34 +696,35 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 462 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xcf, 0x8b, 0xd3, 0x40, - 0x14, 0xc7, 0x33, 0x2d, 0xc5, 0xdd, 0xa9, 0x62, 0x89, 0x1e, 0x4a, 0x0e, 0xd9, 0xb2, 0xa7, 0x2a, - 0xee, 0x0c, 0x2d, 0x2c, 0x94, 0x05, 0x2f, 0x15, 0x41, 0x41, 0x71, 0x89, 0x17, 0x11, 0xf6, 0x30, - 0x69, 0x9f, 0x71, 0x4c, 0x93, 0x09, 0x33, 0x2f, 0x81, 0x05, 0x0f, 0xfe, 0x09, 0xfe, 0x59, 0x3d, - 0xf6, 0xe8, 0x41, 0x16, 0x1b, 0xff, 0x11, 0x69, 0x12, 0x37, 0xa1, 0x3f, 0x44, 0xf6, 0x36, 0x6f, - 0xe6, 0x7d, 0xbe, 0xef, 0xfb, 0xbe, 0x0c, 0xbd, 0x08, 0x27, 0x86, 0x49, 0xc5, 0xc3, 0xd4, 0x07, - 0x1d, 0x03, 0x82, 0xe1, 0x49, 0x18, 0x70, 0x91, 0x48, 0xc3, 0x0d, 0x2a, 0x2d, 0x02, 0xe0, 0xd9, - 0xc8, 0x07, 0x14, 0x23, 0x1e, 0x40, 0x0c, 0x5a, 0x20, 0xcc, 0x59, 0xa2, 0x15, 0x2a, 0xfb, 0x69, - 0xc9, 0xb2, 0x9a, 0x65, 0x49, 0x18, 0xb0, 0x0d, 0xcb, 0x2a, 0x96, 0x55, 0xac, 0x73, 0x16, 0x48, - 0xfc, 0x9c, 0xfa, 0x6c, 0xa6, 0x22, 0x1e, 0xa8, 0x40, 0xf1, 0x42, 0xc2, 0x4f, 0x3f, 0x15, 0x55, - 0x51, 0x14, 0xa7, 0x52, 0xda, 0x19, 0x1f, 0xb4, 0xc5, 0x35, 0x18, 0x95, 0xea, 0x19, 0x6c, 0xdb, - 0x71, 0xce, 0x0f, 0x33, 0x69, 0x9c, 0x81, 0x36, 0x52, 0xc5, 0x30, 0xdf, 0xc1, 0x9e, 0x1d, 0xc6, - 0xb2, 0x9d, 0x9d, 0x9d, 0xb3, 0xfd, 0xdd, 0x3a, 0x8d, 0x51, 0x46, 0xbb, 0x9e, 0x46, 0xfb, 0xdb, - 0x53, 0x94, 0x0b, 0x2e, 0x63, 0x34, 0xa8, 0xb7, 0x91, 0xd3, 0x9f, 0x2d, 0x7a, 0xff, 0x7d, 0x99, - 0xde, 0x8b, 0x85, 0x30, 0xc6, 0xfe, 0x40, 0x8f, 0x22, 0x40, 0x31, 0x17, 0x28, 0xfa, 0x64, 0x40, - 0x86, 0xdd, 0xf1, 0x90, 0x1d, 0x4c, 0x9e, 0x65, 0x23, 0xf6, 0xce, 0xff, 0x02, 0x33, 0x7c, 0x0b, - 0x28, 0xa6, 0xf6, 0xf2, 0xe6, 0xc4, 0xca, 0x6f, 0x4e, 0x68, 0x7d, 0xe7, 0xdd, 0xaa, 0xd9, 0xe7, - 0xb4, 0x9b, 0x68, 0x95, 0xc9, 0x22, 0x19, 0xdd, 0x6f, 0x0d, 0xc8, 0xf0, 0x78, 0xfa, 0xa8, 0x42, - 0xba, 0x97, 0xf5, 0x93, 0xd7, 0xec, 0xb3, 0xbf, 0x52, 0x9a, 0x08, 0x2d, 0x22, 0x40, 0xd0, 0xa6, - 0xdf, 0x1e, 0xb4, 0x87, 0xdd, 0xf1, 0x2b, 0xf6, 0xff, 0x9f, 0x81, 0x35, 0xd7, 0x63, 0x97, 0xb7, - 0x52, 0x2f, 0x63, 0xd4, 0xd7, 0xb5, 0xe5, 0xfa, 0xc1, 0x6b, 0xcc, 0x73, 0x9e, 0xd3, 0x87, 0x5b, - 0x88, 0xdd, 0xa3, 0xed, 0x10, 0xae, 0x8b, 0x70, 0x8e, 0xbd, 0xcd, 0xd1, 0x7e, 0x4c, 0x3b, 0x99, - 0x58, 0xa4, 0x50, 0xee, 0xe4, 0x95, 0xc5, 0x45, 0x6b, 0x42, 0x4e, 0x57, 0x84, 0xf6, 0x9a, 0xf3, - 0xdf, 0x48, 0x83, 0xf6, 0xd5, 0x4e, 0xc4, 0xfc, 0x1f, 0x11, 0x37, 0x7e, 0x13, 0xdb, 0xe0, 0x45, - 0xd2, 0xbd, 0xca, 0xf6, 0xd1, 0xdf, 0x9b, 0x46, 0xce, 0x57, 0xb4, 0x23, 0x11, 0x22, 0xd3, 0x6f, - 0x15, 0x59, 0x4d, 0xee, 0x9a, 0xd5, 0xf4, 0x41, 0x35, 0xa4, 0xf3, 0x7a, 0x23, 0xe7, 0x95, 0xaa, - 0xd3, 0x27, 0xcb, 0xb5, 0x6b, 0xad, 0xd6, 0xae, 0xf5, 0x63, 0xed, 0x5a, 0xdf, 0x72, 0x97, 0x2c, - 0x73, 0x97, 0xac, 0x72, 0x97, 0xfc, 0xca, 0x5d, 0xf2, 0xfd, 0xb7, 0x6b, 0x7d, 0xbc, 0x57, 0xa9, - 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x86, 0x21, 0xa9, 0x43, 0xef, 0x03, 0x00, 0x00, + // 472 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x8b, 0xd3, 0x40, + 0x14, 0xc7, 0x3b, 0x2d, 0xc5, 0xdd, 0xa9, 0x62, 0x89, 0x1e, 0x4a, 0x0e, 0xd9, 0xb2, 0xa7, 0x2a, + 0xee, 0x0c, 0x2d, 0x2e, 0x94, 0x05, 0x2f, 0x15, 0x41, 0x41, 0x71, 0x89, 0x17, 0x11, 0xf6, 0x30, + 0x69, 0x9f, 0xd9, 0x31, 0x4d, 0x26, 0xcc, 0xbc, 0x04, 0x16, 0x3c, 0xf8, 0x11, 0xfc, 0x58, 0x3d, + 0xf6, 0xe8, 0x41, 0x16, 0x1b, 0xbf, 0x88, 0x34, 0x89, 0x9b, 0xd0, 0x6c, 0x17, 0xf1, 0x96, 0x37, + 0xf3, 0x7e, 0xff, 0xf7, 0x7f, 0xff, 0x0c, 0x3d, 0x0b, 0xa6, 0x86, 0x49, 0xc5, 0x83, 0xc4, 0x03, + 0x1d, 0x01, 0x82, 0xe1, 0x71, 0xe0, 0x73, 0x11, 0x4b, 0xc3, 0x0d, 0x2a, 0x2d, 0x7c, 0xe0, 0xe9, + 0xd8, 0x03, 0x14, 0x63, 0xee, 0x43, 0x04, 0x5a, 0x20, 0x2c, 0x58, 0xac, 0x15, 0x2a, 0xeb, 0x69, + 0xc1, 0xb2, 0x8a, 0x65, 0x71, 0xe0, 0xb3, 0x2d, 0xcb, 0x4a, 0x96, 0x95, 0xac, 0x7d, 0xe2, 0x4b, + 0xbc, 0x4c, 0x3c, 0x36, 0x57, 0x21, 0xf7, 0x95, 0xaf, 0x78, 0x2e, 0xe1, 0x25, 0x9f, 0xf3, 0x2a, + 0x2f, 0xf2, 0xaf, 0x42, 0xda, 0x9e, 0xec, 0xb5, 0xc5, 0x35, 0x18, 0x95, 0xe8, 0x39, 0xec, 0xda, + 0xb1, 0x4f, 0xf7, 0x33, 0x49, 0x94, 0x82, 0x36, 0x52, 0x45, 0xb0, 0x68, 0x60, 0xcf, 0xf6, 0x63, + 0x69, 0x63, 0x67, 0xfb, 0xe4, 0xf6, 0x6e, 0x9d, 0x44, 0x28, 0xc3, 0xa6, 0xa7, 0xe7, 0x77, 0xb7, + 0x9b, 0xf9, 0x25, 0x84, 0xa2, 0x41, 0x8d, 0x6f, 0xa7, 0x12, 0x94, 0x4b, 0x2e, 0x23, 0x34, 0xa8, + 0x77, 0x91, 0xe3, 0x9f, 0x6d, 0x7a, 0xff, 0x43, 0x91, 0xf9, 0xcb, 0xa5, 0x30, 0xc6, 0xfa, 0x48, + 0x0f, 0x42, 0x40, 0xb1, 0x10, 0x28, 0x06, 0x64, 0x48, 0x46, 0xbd, 0xc9, 0x88, 0xed, 0xfd, 0x5f, + 0x2c, 0x1d, 0xb3, 0xf7, 0xde, 0x17, 0x98, 0xe3, 0x3b, 0x40, 0x31, 0xb3, 0x56, 0xd7, 0x47, 0xad, + 0xec, 0xfa, 0x88, 0x56, 0x67, 0xee, 0x8d, 0x9a, 0x75, 0x4a, 0x7b, 0xb1, 0x56, 0xa9, 0xcc, 0xf3, + 0xd4, 0x83, 0xf6, 0x90, 0x8c, 0x0e, 0x67, 0x8f, 0x4a, 0xa4, 0x77, 0x5e, 0x5d, 0xb9, 0xf5, 0x3e, + 0xeb, 0x2b, 0xa5, 0xb1, 0xd0, 0x22, 0x04, 0x04, 0x6d, 0x06, 0x9d, 0x61, 0x67, 0xd4, 0x9b, 0xbc, + 0x66, 0xff, 0xfe, 0x84, 0x58, 0x7d, 0x3d, 0x76, 0x7e, 0x23, 0xf5, 0x2a, 0x42, 0x7d, 0x55, 0x59, + 0xae, 0x2e, 0xdc, 0xda, 0x3c, 0xfb, 0x05, 0x7d, 0xb8, 0x83, 0x58, 0x7d, 0xda, 0x09, 0xe0, 0x2a, + 0x0f, 0xe7, 0xd0, 0xdd, 0x7e, 0x5a, 0x8f, 0x69, 0x37, 0x15, 0xcb, 0x04, 0x8a, 0x9d, 0xdc, 0xa2, + 0x38, 0x6b, 0x4f, 0xc9, 0xf1, 0x9a, 0xd0, 0x7e, 0x7d, 0xfe, 0x5b, 0x69, 0xd0, 0xba, 0x68, 0x44, + 0xcc, 0xef, 0x88, 0xb8, 0xf6, 0x06, 0xd9, 0x16, 0xcf, 0x93, 0xee, 0x97, 0xb6, 0x0f, 0xfe, 0x9e, + 0xd4, 0x72, 0xbe, 0xa0, 0x5d, 0x89, 0x10, 0x9a, 0x41, 0x3b, 0xcf, 0x6a, 0xfa, 0xbf, 0x59, 0xcd, + 0x1e, 0x94, 0x43, 0xba, 0x6f, 0xb6, 0x72, 0x6e, 0xa1, 0x3a, 0x7b, 0xb2, 0xda, 0x38, 0xad, 0xf5, + 0xc6, 0x69, 0xfd, 0xd8, 0x38, 0xad, 0x6f, 0x99, 0x43, 0x56, 0x99, 0x43, 0xd6, 0x99, 0x43, 0x7e, + 0x65, 0x0e, 0xf9, 0xfe, 0xdb, 0x69, 0x7d, 0xba, 0x57, 0xaa, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, + 0x0a, 0x07, 0x46, 0xe4, 0x25, 0x04, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto index bdc0631cf2f..efc3b806d3f 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/register.go index 04088117745..fbd0ad89859 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "storage.k8s.io" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) diff --git a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/install/install.go b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/install/install.go index 506713a28fe..5b1976ad816 100644 --- a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/install/install.go +++ b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/install/install.go @@ -23,12 +23,12 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/meta" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/federation/apis/federation" "k8s.io/client-go/pkg/federation/apis/federation/v1beta1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/sets" ) @@ -37,11 +37,11 @@ const importPrefix = "k8s.io/client-go/pkg/federation/apis/federation" var accessor = meta.NewAccessor() // availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []unversioned.GroupVersion{v1beta1.SchemeGroupVersion} +var availableVersions = []schema.GroupVersion{v1beta1.SchemeGroupVersion} func init() { registered.RegisterVersions(availableVersions) - externalVersions := []unversioned.GroupVersion{} + externalVersions := []schema.GroupVersion{} for _, v := range availableVersions { if registered.IsAllowedVersion(v) { externalVersions = append(externalVersions, v) @@ -66,7 +66,7 @@ func init() { // group. // We can combine registered.RegisterVersions, registered.EnableVersions and // registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []unversioned.GroupVersion) error { +func enableVersions(externalVersions []schema.GroupVersion) error { addVersionsToScheme(externalVersions...) preferredExternalVersion := externalVersions[0] @@ -84,7 +84,7 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error { return nil } -func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper { +func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { // the list of kinds that are scoped at the root of the api hierarchy // if a kind is not enumerated here, it is assumed to have a namespace scope rootScoped := sets.NewString( @@ -98,7 +98,7 @@ func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper // interfacesFor returns the default Codec and ResourceVersioner for a given version // string, or an error if the version is not known. -func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) { +func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { switch version { case v1beta1.SchemeGroupVersion: return &meta.VersionInterfaces{ @@ -111,7 +111,7 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e } } -func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) { +func addVersionsToScheme(externalVersions ...schema.GroupVersion) { // add the internal version to Scheme if err := federation.AddToScheme(api.Scheme); err != nil { // Programmer error, detect immediately diff --git a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/register.go b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/register.go index 8a669a1c06c..3eff858201f 100644 --- a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/register.go +++ b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/register.go @@ -18,23 +18,23 @@ package federation import ( "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "federation" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) unversioned.GroupKind { +func Kind(kind string) schema.GroupKind { return SchemeGroupVersion.WithKind(kind).GroupKind() } // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) unversioned.GroupResource { +func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } @@ -53,5 +53,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Cluster) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Cluster) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/types.go b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/types.go index 9ab2743e1d3..761722d536f 100644 --- a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/types.go +++ b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/types.go @@ -133,7 +133,7 @@ type FederatedReplicaSetPreferences struct { // +optional Rebalance bool `json:"rebalance,omitempty"` - // A mapping between cluser names and preferences regarding local replicasets in these clusters. + // A mapping between cluster names and preferences regarding local ReplicaSet in these clusters. // "*" (if provided) applies to all clusters if an explicit mapping is not provided. If there is no // "*" that clusters without explicit preferences should not have any replicas scheduled. // +optional diff --git a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.pb.go index 0723f561a9b..8db4e211bfb 100644 --- a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.pb.go @@ -1487,55 +1487,55 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 787 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xdd, 0x6a, 0xe3, 0x46, - 0x14, 0xb6, 0xfc, 0x1b, 0x4f, 0xea, 0x36, 0x0c, 0x2d, 0xb8, 0xbe, 0x90, 0x83, 0x29, 0xc5, 0xa1, - 0x8d, 0x84, 0x4d, 0x0b, 0x81, 0xd2, 0x42, 0xe4, 0x50, 0x08, 0x38, 0xa4, 0x4c, 0x42, 0x29, 0x81, - 0x52, 0x64, 0xf9, 0x58, 0x51, 0x6d, 0x4b, 0x62, 0x66, 0xe4, 0x92, 0x5c, 0xf5, 0x01, 0x7a, 0xd1, - 0x87, 0xd8, 0x37, 0x58, 0xf6, 0x1d, 0x72, 0x99, 0x8b, 0xbd, 0x58, 0xf6, 0xc2, 0x6c, 0xbc, 0x6f, - 0x91, 0xab, 0x65, 0x46, 0x63, 0xd9, 0x8a, 0x63, 0xb3, 0x9b, 0xdc, 0xe9, 0x1c, 0x9d, 0xf3, 0x7d, - 0xdf, 0x9c, 0x3f, 0x74, 0x34, 0x3c, 0x60, 0x86, 0x17, 0x98, 0xc3, 0xa8, 0x07, 0xd4, 0x07, 0x0e, - 0xcc, 0x1c, 0x40, 0x1f, 0xa8, 0xcd, 0xbd, 0xc0, 0x37, 0xed, 0xd0, 0x4b, 0xd9, 0x93, 0x56, 0x0f, - 0xb8, 0xdd, 0x32, 0x5d, 0xf0, 0x85, 0x0b, 0xfa, 0x46, 0x48, 0x03, 0x1e, 0xe0, 0x1f, 0x62, 0x14, - 0x63, 0x81, 0x62, 0x2c, 0xb2, 0x0c, 0x81, 0xb2, 0x6c, 0x2b, 0x94, 0xda, 0xbe, 0xeb, 0xf1, 0xcb, - 0xa8, 0x67, 0x38, 0xc1, 0xd8, 0x74, 0x03, 0x37, 0x30, 0x25, 0x58, 0x2f, 0x1a, 0x48, 0x4b, 0x1a, - 0xf2, 0x2b, 0x26, 0xa9, 0xb5, 0x57, 0xa5, 0x86, 0x43, 0x57, 0x68, 0x34, 0x29, 0xb0, 0x20, 0xa2, - 0x0e, 0x3c, 0x14, 0x56, 0xfb, 0x71, 0x7d, 0x4e, 0xe4, 0x4f, 0x80, 0x32, 0x2f, 0xf0, 0xa1, 0xbf, - 0x92, 0xf6, 0xfd, 0xfa, 0xb4, 0xc9, 0xca, 0xeb, 0x6b, 0xfb, 0x8f, 0x47, 0xd3, 0xc8, 0xe7, 0xde, - 0x78, 0x55, 0x53, 0xeb, 0xf1, 0xf0, 0x88, 0x7b, 0x23, 0xd3, 0xf3, 0x39, 0xe3, 0xf4, 0x61, 0x4a, - 0xe3, 0x55, 0x16, 0x95, 0x3a, 0xa3, 0x88, 0x71, 0xa0, 0xf8, 0x0f, 0xb4, 0x35, 0x06, 0x6e, 0xf7, - 0x6d, 0x6e, 0x57, 0xb5, 0x5d, 0xad, 0xb9, 0xdd, 0x6e, 0x1a, 0xab, 0xe5, 0x0f, 0x87, 0xae, 0xa8, - 0xbb, 0x31, 0x69, 0x19, 0xa7, 0xbd, 0xbf, 0xc1, 0xe1, 0x27, 0xc0, 0x6d, 0x0b, 0xdf, 0x4c, 0xeb, - 0x99, 0xd9, 0xb4, 0x8e, 0x16, 0x3e, 0x92, 0xa0, 0x61, 0x07, 0xe5, 0x59, 0x08, 0x4e, 0x35, 0x2b, - 0x51, 0x0f, 0x8d, 0xa7, 0x34, 0xd5, 0x50, 0x32, 0xcf, 0x42, 0x70, 0xac, 0xcf, 0x14, 0x5d, 0x5e, - 0x58, 0x44, 0x82, 0xe3, 0x21, 0x2a, 0x32, 0x6e, 0xf3, 0x88, 0x55, 0x73, 0x92, 0xa6, 0xf3, 0x3c, - 0x1a, 0x09, 0x65, 0x7d, 0xae, 0x88, 0x8a, 0xb1, 0x4d, 0x14, 0x45, 0xe3, 0x6d, 0x0e, 0xed, 0xa8, - 0xc8, 0x4e, 0xe0, 0xf7, 0x3d, 0x01, 0x81, 0x0f, 0x50, 0x9e, 0x5f, 0x85, 0x20, 0x8b, 0x57, 0xb6, - 0xbe, 0x99, 0x6b, 0x3c, 0xbf, 0x0a, 0xe1, 0x7e, 0x5a, 0xff, 0xf2, 0x61, 0xbc, 0xf0, 0x13, 0x99, - 0x81, 0x7f, 0x4f, 0xb4, 0x67, 0x65, 0xee, 0x2f, 0x69, 0xda, 0xfb, 0x69, 0x7d, 0xe3, 0xe0, 0x18, - 0x09, 0x66, 0x5a, 0x26, 0xbe, 0x44, 0x95, 0x91, 0xcd, 0xf8, 0x6f, 0x34, 0xe8, 0xc1, 0xb9, 0x37, - 0x06, 0x55, 0x9a, 0xef, 0x36, 0xf4, 0x75, 0x69, 0x7a, 0x0d, 0x91, 0x62, 0x7d, 0xa5, 0xb4, 0x54, - 0xba, 0xcb, 0x48, 0x24, 0x0d, 0x8c, 0xff, 0x41, 0x58, 0x38, 0xce, 0xa9, 0xed, 0xb3, 0xf8, 0x75, - 0x82, 0x2e, 0xff, 0xe9, 0x74, 0x35, 0x45, 0x87, 0xbb, 0x2b, 0x70, 0xe4, 0x11, 0x0a, 0xfc, 0x2d, - 0x2a, 0x52, 0xb0, 0x59, 0xe0, 0x57, 0x0b, 0xb2, 0x74, 0x49, 0xc7, 0x88, 0xf4, 0x12, 0xf5, 0x17, - 0xef, 0xa1, 0xd2, 0x18, 0x18, 0xb3, 0x5d, 0xa8, 0x16, 0x65, 0xe0, 0x17, 0x2a, 0xb0, 0x74, 0x12, - 0xbb, 0xc9, 0xfc, 0x7f, 0xe3, 0x56, 0x43, 0xdb, 0xaa, 0x59, 0x5d, 0x8f, 0x71, 0xfc, 0xe7, 0xca, - 0x62, 0x98, 0x1f, 0xf9, 0x22, 0x91, 0x2e, 0xf7, 0x63, 0x47, 0x91, 0x6d, 0xcd, 0x3d, 0x4b, 0xdb, - 0xd1, 0x43, 0x05, 0x8f, 0xc3, 0x58, 0xf4, 0x3e, 0xd7, 0xdc, 0x6e, 0xff, 0xfc, 0xac, 0xb9, 0xb5, - 0x2a, 0x8a, 0xa9, 0x70, 0x2c, 0x30, 0x49, 0x0c, 0xdd, 0x78, 0x91, 0x4d, 0x9e, 0x24, 0x56, 0x06, - 0xbf, 0xd4, 0x50, 0x8d, 0x01, 0x9d, 0x00, 0x3d, 0xec, 0xf7, 0x29, 0x30, 0x66, 0x5d, 0x75, 0x46, - 0x1e, 0xf8, 0xbc, 0x73, 0x7c, 0x44, 0x58, 0x55, 0x93, 0x4a, 0x4e, 0x9f, 0xa6, 0xe4, 0x6c, 0x1d, - 0xae, 0xd5, 0x50, 0xda, 0x6a, 0x6b, 0x43, 0x18, 0xd9, 0x20, 0x0b, 0xff, 0x85, 0xca, 0x0c, 0x1c, - 0x0a, 0x9c, 0xc0, 0x40, 0x1d, 0x93, 0xf6, 0xe6, 0x13, 0xd5, 0x0d, 0x1c, 0x7b, 0x14, 0xdf, 0x24, - 0x02, 0x03, 0xa0, 0xe0, 0x3b, 0x60, 0x55, 0x66, 0xd3, 0x7a, 0xf9, 0x6c, 0x0e, 0x44, 0x16, 0x98, - 0x8d, 0xd7, 0x1a, 0xaa, 0xa4, 0x0e, 0x00, 0xbe, 0x46, 0xc8, 0x99, 0x2f, 0xd7, 0xbc, 0x2e, 0xbf, - 0x3e, 0xab, 0x43, 0xc9, 0xae, 0x2e, 0x8e, 0x66, 0xe2, 0x62, 0x64, 0x89, 0x0d, 0xd7, 0x51, 0xe1, - 0x3a, 0xf0, 0x81, 0x55, 0x0b, 0xbb, 0xb9, 0x66, 0xd9, 0x2a, 0x8b, 0xae, 0x5e, 0x08, 0x07, 0x89, - 0xfd, 0xf1, 0xec, 0xbb, 0x5e, 0xe0, 0xab, 0x91, 0x5e, 0x9a, 0x7d, 0xe1, 0x25, 0xea, 0x6f, 0xe3, - 0x3f, 0x0d, 0x7d, 0xbd, 0xb6, 0xe4, 0xb8, 0x8d, 0x90, 0x93, 0x58, 0xea, 0x78, 0x2d, 0xa4, 0x25, - 0x7f, 0xc8, 0x52, 0x14, 0xfe, 0x09, 0x55, 0x52, 0x7d, 0x52, 0x77, 0x2b, 0xb9, 0x15, 0x29, 0x36, - 0x92, 0x8e, 0xb5, 0xf6, 0x6e, 0xee, 0xf4, 0xcc, 0xed, 0x9d, 0x9e, 0x79, 0x73, 0xa7, 0x67, 0xfe, - 0x9d, 0xe9, 0xda, 0xcd, 0x4c, 0xd7, 0x6e, 0x67, 0xba, 0xf6, 0x6e, 0xa6, 0x6b, 0xff, 0xbf, 0xd7, - 0x33, 0x17, 0x25, 0x55, 0xb3, 0x0f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x48, 0x5d, 0x6b, 0x0c, 0x46, - 0x08, 0x00, 0x00, + // 793 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xdd, 0x6a, 0x03, 0x45, + 0x14, 0xce, 0xe6, 0xb7, 0x99, 0x1a, 0x2d, 0x83, 0x42, 0xcc, 0xc5, 0xa6, 0x04, 0x91, 0x14, 0xed, + 0x2e, 0x09, 0x15, 0x0a, 0xa2, 0xd0, 0x4d, 0x11, 0x0a, 0x29, 0x95, 0x69, 0x11, 0x29, 0x88, 0x6c, + 0x36, 0x27, 0xdb, 0x35, 0xc9, 0xee, 0x32, 0x33, 0x1b, 0x69, 0xaf, 0x7c, 0x00, 0x2f, 0x7c, 0x08, + 0xdf, 0x40, 0x7c, 0x87, 0x5e, 0xf6, 0xc2, 0x0b, 0xf1, 0x22, 0xd8, 0xf8, 0x16, 0xbd, 0x92, 0x99, + 0x9d, 0x6c, 0xb2, 0xdd, 0x26, 0x68, 0x7b, 0xb7, 0xe7, 0xec, 0x39, 0xdf, 0xf7, 0xcd, 0xf9, 0x43, + 0xa7, 0xe3, 0x63, 0x66, 0x78, 0x81, 0x39, 0x8e, 0x06, 0x40, 0x7d, 0xe0, 0xc0, 0xcc, 0x11, 0x0c, + 0x81, 0xda, 0xdc, 0x0b, 0x7c, 0xd3, 0x0e, 0xbd, 0x94, 0x3d, 0xeb, 0x0c, 0x80, 0xdb, 0x1d, 0xd3, + 0x05, 0x5f, 0xb8, 0x60, 0x68, 0x84, 0x34, 0xe0, 0x01, 0x3e, 0x8a, 0x51, 0x8c, 0x15, 0x8a, 0xb1, + 0xca, 0x32, 0x04, 0xca, 0xba, 0xad, 0x50, 0x1a, 0x87, 0xae, 0xc7, 0x6f, 0xa2, 0x81, 0xe1, 0x04, + 0x53, 0xd3, 0x0d, 0xdc, 0xc0, 0x94, 0x60, 0x83, 0x68, 0x24, 0x2d, 0x69, 0xc8, 0xaf, 0x98, 0xa4, + 0xd1, 0xcd, 0x4a, 0x0d, 0xc7, 0xae, 0xd0, 0x68, 0x52, 0x60, 0x41, 0x44, 0x1d, 0x78, 0x2e, 0xac, + 0xf1, 0xd9, 0xe6, 0x9c, 0xc8, 0x9f, 0x01, 0x65, 0x5e, 0xe0, 0xc3, 0x30, 0x93, 0xf6, 0xe9, 0xe6, + 0xb4, 0x59, 0xe6, 0xf5, 0x8d, 0xc3, 0x97, 0xa3, 0x69, 0xe4, 0x73, 0x6f, 0x9a, 0xd5, 0x74, 0xb4, + 0x3d, 0x9c, 0x39, 0x37, 0x30, 0xb5, 0x33, 0x59, 0x9d, 0x97, 0xb3, 0x22, 0xee, 0x4d, 0x4c, 0xcf, + 0xe7, 0x8c, 0xd3, 0xe7, 0x29, 0xad, 0xdf, 0xf3, 0xa8, 0xd2, 0x9b, 0x44, 0x8c, 0x03, 0xc5, 0xdf, + 0xa2, 0x9d, 0x29, 0x70, 0x7b, 0x68, 0x73, 0xbb, 0xae, 0xed, 0x6b, 0xed, 0xdd, 0x6e, 0xdb, 0xc8, + 0x36, 0x2d, 0x1c, 0xbb, 0xa2, 0x5b, 0xc6, 0xac, 0x63, 0x5c, 0x0c, 0x7e, 0x00, 0x87, 0x9f, 0x03, + 0xb7, 0x2d, 0x7c, 0x3f, 0x6f, 0xe6, 0x16, 0xf3, 0x26, 0x5a, 0xf9, 0x48, 0x82, 0x86, 0x1d, 0x54, + 0x64, 0x21, 0x38, 0xf5, 0xbc, 0x44, 0x3d, 0x31, 0x5e, 0x33, 0x0a, 0x86, 0x92, 0x79, 0x19, 0x82, + 0x63, 0xbd, 0xa3, 0xe8, 0x8a, 0xc2, 0x22, 0x12, 0x1c, 0x8f, 0x51, 0x99, 0x71, 0x9b, 0x47, 0xac, + 0x5e, 0x90, 0x34, 0xbd, 0xb7, 0xd1, 0x48, 0x28, 0xeb, 0x5d, 0x45, 0x54, 0x8e, 0x6d, 0xa2, 0x28, + 0x5a, 0x7f, 0x15, 0xd0, 0x9e, 0x8a, 0xec, 0x05, 0xfe, 0xd0, 0x13, 0x10, 0xf8, 0x18, 0x15, 0xf9, + 0x6d, 0x08, 0xb2, 0x78, 0x55, 0xeb, 0xa3, 0xa5, 0xc6, 0xab, 0xdb, 0x10, 0x9e, 0xe6, 0xcd, 0xf7, + 0x9f, 0xc7, 0x0b, 0x3f, 0x91, 0x19, 0xf8, 0x9b, 0x44, 0x7b, 0x5e, 0xe6, 0x7e, 0x99, 0xa6, 0x7d, + 0x9a, 0x37, 0xb7, 0x8e, 0x9b, 0x91, 0x60, 0xa6, 0x65, 0xe2, 0x1b, 0x54, 0x9b, 0xd8, 0x8c, 0x7f, + 0x4d, 0x83, 0x01, 0x5c, 0x79, 0x53, 0x50, 0xa5, 0xf9, 0x64, 0x4b, 0x5f, 0xd7, 0x66, 0xde, 0x10, + 0x29, 0xd6, 0x07, 0x4a, 0x4b, 0xad, 0xbf, 0x8e, 0x44, 0xd2, 0xc0, 0xf8, 0x47, 0x84, 0x85, 0xe3, + 0x8a, 0xda, 0x3e, 0x8b, 0x5f, 0x27, 0xe8, 0x8a, 0xff, 0x9f, 0xae, 0xa1, 0xe8, 0x70, 0x3f, 0x03, + 0x47, 0x5e, 0xa0, 0xc0, 0x1f, 0xa3, 0x32, 0x05, 0x9b, 0x05, 0x7e, 0xbd, 0x24, 0x4b, 0x97, 0x74, + 0x8c, 0x48, 0x2f, 0x51, 0x7f, 0xf1, 0x01, 0xaa, 0x4c, 0x81, 0x31, 0xdb, 0x85, 0x7a, 0x59, 0x06, + 0xbe, 0xa7, 0x02, 0x2b, 0xe7, 0xb1, 0x9b, 0x2c, 0xff, 0xb7, 0x1e, 0x34, 0xb4, 0xab, 0x9a, 0xd5, + 0xf7, 0x18, 0xc7, 0xdf, 0x65, 0x16, 0xc3, 0xfc, 0x8f, 0x2f, 0x12, 0xe9, 0x72, 0x3f, 0xf6, 0x14, + 0xd9, 0xce, 0xd2, 0xb3, 0xb6, 0x1d, 0x03, 0x54, 0xf2, 0x38, 0x4c, 0x45, 0xef, 0x0b, 0xed, 0xdd, + 0xee, 0x17, 0x6f, 0x9a, 0x5b, 0xab, 0xa6, 0x98, 0x4a, 0x67, 0x02, 0x93, 0xc4, 0xd0, 0xad, 0x5f, + 0xf3, 0xc9, 0x93, 0xc4, 0xca, 0xe0, 0xdf, 0x34, 0xd4, 0x60, 0x40, 0x67, 0x40, 0x4f, 0x86, 0x43, + 0x0a, 0x8c, 0x59, 0xb7, 0xbd, 0x89, 0x07, 0x3e, 0xef, 0x9d, 0x9d, 0x12, 0x56, 0xd7, 0xa4, 0x92, + 0x8b, 0xd7, 0x29, 0xb9, 0xdc, 0x84, 0x6b, 0xb5, 0x94, 0xb6, 0xc6, 0xc6, 0x10, 0x46, 0xb6, 0xc8, + 0xc2, 0xdf, 0xa3, 0x2a, 0x03, 0x87, 0x02, 0x27, 0x30, 0x52, 0xc7, 0xa4, 0xbb, 0xfd, 0x44, 0xf5, + 0x03, 0xc7, 0x9e, 0xc4, 0x37, 0x89, 0xc0, 0x08, 0x28, 0xf8, 0x0e, 0x58, 0xb5, 0xc5, 0xbc, 0x59, + 0xbd, 0x5c, 0x02, 0x91, 0x15, 0x66, 0xeb, 0x0f, 0x0d, 0xd5, 0x52, 0x07, 0x00, 0xdf, 0x21, 0xe4, + 0x2c, 0x97, 0x6b, 0x59, 0x97, 0xaf, 0xde, 0xd4, 0xa1, 0x64, 0x57, 0x57, 0x47, 0x33, 0x71, 0x31, + 0xb2, 0xc6, 0x86, 0x9b, 0xa8, 0x74, 0x17, 0xf8, 0xc0, 0xea, 0xa5, 0xfd, 0x42, 0xbb, 0x6a, 0x55, + 0x45, 0x57, 0xaf, 0x85, 0x83, 0xc4, 0xfe, 0x78, 0xf6, 0x5d, 0x2f, 0xf0, 0xd5, 0x48, 0xaf, 0xcd, + 0xbe, 0xf0, 0x12, 0xf5, 0xb7, 0xf5, 0xb3, 0x86, 0x3e, 0xdc, 0x58, 0x72, 0xdc, 0x45, 0xc8, 0x49, + 0x2c, 0x75, 0xbc, 0x56, 0xd2, 0x92, 0x3f, 0x64, 0x2d, 0x0a, 0x7f, 0x8e, 0x6a, 0xa9, 0x3e, 0xa9, + 0xbb, 0x95, 0xdc, 0x8a, 0x14, 0x1b, 0x49, 0xc7, 0x5a, 0x07, 0xf7, 0x8f, 0x7a, 0xee, 0xe1, 0x51, + 0xcf, 0xfd, 0xf9, 0xa8, 0xe7, 0x7e, 0x5a, 0xe8, 0xda, 0xfd, 0x42, 0xd7, 0x1e, 0x16, 0xba, 0xf6, + 0xf7, 0x42, 0xd7, 0x7e, 0xf9, 0x47, 0xcf, 0x5d, 0x57, 0x54, 0xcd, 0xfe, 0x0d, 0x00, 0x00, 0xff, + 0xff, 0x4b, 0x32, 0xe4, 0xec, 0x7c, 0x08, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.proto index 9ad46d690f2..db890906c5f 100644 --- a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.proto @@ -25,6 +25,7 @@ import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/register.go index 669b5625526..b67a342540b 100644 --- a/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" versionedwatch "k8s.io/client-go/pkg/watch/versioned" ) @@ -27,7 +27,7 @@ import ( const GroupName = "federation" // SchemeGroupVersion is group version used to register these objects -var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) @@ -46,5 +46,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Cluster) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } -func (obj *ClusterList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Cluster) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ClusterList) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } diff --git a/staging/src/k8s.io/client-go/pkg/kubelet/qos/policy.go b/staging/src/k8s.io/client-go/pkg/kubelet/qos/policy.go index 304be9df061..8f953edf56b 100644 --- a/staging/src/k8s.io/client-go/pkg/kubelet/qos/policy.go +++ b/staging/src/k8s.io/client-go/pkg/kubelet/qos/policy.go @@ -16,9 +16,7 @@ limitations under the License. package qos -import ( - "k8s.io/client-go/pkg/api" -) +import "k8s.io/client-go/pkg/api/v1" const ( // PodInfraOOMAdj is very docker specific. For arbitrary runtime, it may not make @@ -39,7 +37,7 @@ const ( // multiplied by 10 (barring exceptional cases) + a configurable quantity which is between -1000 // and 1000. Containers with higher OOM scores are killed if the system runs out of memory. // See https://lwn.net/Articles/391222/ for more information. -func GetContainerOOMScoreAdjust(pod *api.Pod, container *api.Container, memoryCapacity int64) int { +func GetContainerOOMScoreAdjust(pod *v1.Pod, container *v1.Container, memoryCapacity int64) int { switch GetPodQOS(pod) { case Guaranteed: // Guaranteed containers should be the last to get killed. diff --git a/staging/src/k8s.io/client-go/pkg/kubelet/qos/qos.go b/staging/src/k8s.io/client-go/pkg/kubelet/qos/qos.go index 0c408483fb6..1829fc47125 100644 --- a/staging/src/k8s.io/client-go/pkg/kubelet/qos/qos.go +++ b/staging/src/k8s.io/client-go/pkg/kubelet/qos/qos.go @@ -19,11 +19,12 @@ package qos import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/resource" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/util/sets" ) // isResourceGuaranteed returns true if the container's resource requirements are Guaranteed. -func isResourceGuaranteed(container *api.Container, resource api.ResourceName) bool { +func isResourceGuaranteed(container *v1.Container, resource v1.ResourceName) bool { // A container resource is guaranteed if its request == limit. // If request == limit, the user is very confident of resource consumption. req, hasReq := container.Resources.Requests[resource] @@ -35,7 +36,7 @@ func isResourceGuaranteed(container *api.Container, resource api.ResourceName) b } // isResourceBestEffort returns true if the container's resource requirements are best-effort. -func isResourceBestEffort(container *api.Container, resource api.ResourceName) bool { +func isResourceBestEffort(container *v1.Container, resource v1.ResourceName) bool { // A container resource is best-effort if its request is unspecified or 0. // If a request is specified, then the user expects some kind of resource guarantee. req, hasReq := container.Resources.Requests[resource] @@ -46,9 +47,9 @@ func isResourceBestEffort(container *api.Container, resource api.ResourceName) b // A pod is besteffort if none of its containers have specified any requests or limits. // A pod is guaranteed only when requests and limits are specified for all the containers and they are equal. // A pod is burstable if limits and requests do not match across all containers. -func GetPodQOS(pod *api.Pod) QOSClass { - requests := api.ResourceList{} - limits := api.ResourceList{} +func GetPodQOS(pod *v1.Pod) QOSClass { + requests := v1.ResourceList{} + limits := v1.ResourceList{} zeroQuantity := resource.MustParse("0") isGuaranteed := true for _, container := range pod.Spec.Containers { @@ -108,11 +109,78 @@ func GetPodQOS(pod *api.Pod) QOSClass { return Burstable } +// InternalGetPodQOS returns the QoS class of a pod. +// A pod is besteffort if none of its containers have specified any requests or limits. +// A pod is guaranteed only when requests and limits are specified for all the containers and they are equal. +// A pod is burstable if limits and requests do not match across all containers. +func InternalGetPodQOS(pod *api.Pod) QOSClass { + requests := api.ResourceList{} + limits := api.ResourceList{} + zeroQuantity := resource.MustParse("0") + isGuaranteed := true + var supportedQoSComputeResources = sets.NewString(string(api.ResourceCPU), string(api.ResourceMemory)) + for _, container := range pod.Spec.Containers { + // process requests + for name, quantity := range container.Resources.Requests { + if !supportedQoSComputeResources.Has(string(name)) { + continue + } + if quantity.Cmp(zeroQuantity) == 1 { + delta := quantity.Copy() + if _, exists := requests[name]; !exists { + requests[name] = *delta + } else { + delta.Add(requests[name]) + requests[name] = *delta + } + } + } + // process limits + qosLimitsFound := sets.NewString() + for name, quantity := range container.Resources.Limits { + if !supportedQoSComputeResources.Has(string(name)) { + continue + } + if quantity.Cmp(zeroQuantity) == 1 { + qosLimitsFound.Insert(string(name)) + delta := quantity.Copy() + if _, exists := limits[name]; !exists { + limits[name] = *delta + } else { + delta.Add(limits[name]) + limits[name] = *delta + } + } + } + + if len(qosLimitsFound) != len(supportedQoSComputeResources) { + isGuaranteed = false + } + } + if len(requests) == 0 && len(limits) == 0 { + return BestEffort + } + // Check is requests match limits for all resources. + if isGuaranteed { + for name, req := range requests { + if lim, exists := limits[name]; !exists || lim.Cmp(req) != 0 { + isGuaranteed = false + break + } + } + } + if isGuaranteed && + len(requests) == len(limits) { + return Guaranteed + } + return Burstable +} + // QOSList is a set of (resource name, QoS class) pairs. -type QOSList map[api.ResourceName]QOSClass +type QOSList map[v1.ResourceName]QOSClass // GetQOS returns a mapping of resource name to QoS class of a container -func GetQOS(container *api.Container) QOSList { +func GetQOS(container *v1.Container) QOSList { resourceToQOS := QOSList{} for resource := range allResources(container) { switch { @@ -128,13 +196,13 @@ func GetQOS(container *api.Container) QOSList { } // supportedComputeResources is the list of compute resources for with QoS is supported. -var supportedQoSComputeResources = sets.NewString(string(api.ResourceCPU), string(api.ResourceMemory)) +var supportedQoSComputeResources = sets.NewString(string(v1.ResourceCPU), string(v1.ResourceMemory)) // allResources returns a set of all possible resources whose mapped key value is true if present on the container -func allResources(container *api.Container) map[api.ResourceName]bool { - resources := map[api.ResourceName]bool{} +func allResources(container *v1.Container) map[v1.ResourceName]bool { + resources := map[v1.ResourceName]bool{} for _, resource := range supportedQoSComputeResources.List() { - resources[api.ResourceName(resource)] = false + resources[v1.ResourceName(resource)] = false } for resource := range container.Resources.Requests { resources[resource] = true diff --git a/staging/src/k8s.io/client-go/pkg/kubelet/types/pod_update.go b/staging/src/k8s.io/client-go/pkg/kubelet/types/pod_update.go index fb7ac4c95c5..ca276ebbde9 100644 --- a/staging/src/k8s.io/client-go/pkg/kubelet/types/pod_update.go +++ b/staging/src/k8s.io/client-go/pkg/kubelet/types/pod_update.go @@ -19,7 +19,7 @@ package types import ( "fmt" - "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/api/v1" ) const ConfigSourceAnnotationKey = "kubernetes.io/config.source" @@ -55,7 +55,7 @@ const ( // Updates from all sources AllSource = "*" - NamespaceDefault = api.NamespaceDefault + NamespaceDefault = v1.NamespaceDefault ) // PodUpdate defines an operation sent on the channel. You can add or remove single services by @@ -68,7 +68,7 @@ const ( // functionally similar, this helps our unit tests properly check that the correct PodUpdates // are generated. type PodUpdate struct { - Pods []*api.Pod + Pods []*v1.Pod Op PodOperation Source string } @@ -93,7 +93,7 @@ func GetValidatedSources(sources []string) ([]string, error) { } // GetPodSource returns the source of the pod based on the annotation. -func GetPodSource(pod *api.Pod) (string, error) { +func GetPodSource(pod *v1.Pod) (string, error) { if pod.Annotations != nil { if source, ok := pod.Annotations[ConfigSourceAnnotationKey]; ok { return source, nil diff --git a/staging/src/k8s.io/client-go/pkg/kubelet/types/types.go b/staging/src/k8s.io/client-go/pkg/kubelet/types/types.go index 7009cea29f7..84007a2a593 100644 --- a/staging/src/k8s.io/client-go/pkg/kubelet/types/types.go +++ b/staging/src/k8s.io/client-go/pkg/kubelet/types/types.go @@ -20,7 +20,7 @@ import ( "net/http" "time" - "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/api/v1" ) // TODO: Reconcile custom types in kubelet/types and this subpackage @@ -59,7 +59,7 @@ func (t *Timestamp) GetString() string { } // A type to help sort container statuses based on container names. -type SortedContainerStatuses []api.ContainerStatus +type SortedContainerStatuses []v1.ContainerStatus func (s SortedContainerStatuses) Len() int { return len(s) } func (s SortedContainerStatuses) Swap(i, j int) { s[i], s[j] = s[j], s[i] } @@ -70,7 +70,7 @@ func (s SortedContainerStatuses) Less(i, j int) bool { // SortInitContainerStatuses ensures that statuses are in the order that their // init container appears in the pod spec -func SortInitContainerStatuses(p *api.Pod, statuses []api.ContainerStatus) { +func SortInitContainerStatuses(p *v1.Pod, statuses []v1.ContainerStatus) { containers := p.Spec.InitContainers current := 0 for _, container := range containers { @@ -87,7 +87,7 @@ func SortInitContainerStatuses(p *api.Pod, statuses []api.ContainerStatus) { // Reservation represents reserved resources for non-pod components. type Reservation struct { // System represents resources reserved for non-kubernetes components. - System api.ResourceList + System v1.ResourceList // Kubernetes represents resources reserved for kubernetes system components. - Kubernetes api.ResourceList + Kubernetes v1.ResourceList } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/codec.go b/staging/src/k8s.io/client-go/pkg/runtime/codec.go index 070738cda55..36df73328b7 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/codec.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/codec.go @@ -24,8 +24,8 @@ import ( "net/url" "reflect" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/conversion/queryparams" + "k8s.io/client-go/pkg/runtime/schema" ) // codec binds an encoder and decoder. @@ -85,7 +85,7 @@ type DefaultingSerializer struct { } // Decode performs a decode and then allows the defaulter to act on the provided object. -func (d DefaultingSerializer) Decode(data []byte, defaultGVK *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) { +func (d DefaultingSerializer) Decode(data []byte, defaultGVK *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { obj, gvk, err := d.Decoder.Decode(data, defaultGVK, into) if err != nil { return obj, gvk, err @@ -96,7 +96,7 @@ func (d DefaultingSerializer) Decode(data []byte, defaultGVK *unversioned.GroupV // UseOrCreateObject returns obj if the canonical ObjectKind returned by the provided typer matches gvk, or // invokes the ObjectCreator to instantiate a new gvk. Returns an error if the typer cannot find the object. -func UseOrCreateObject(t ObjectTyper, c ObjectCreater, gvk unversioned.GroupVersionKind, obj Object) (Object, error) { +func UseOrCreateObject(t ObjectTyper, c ObjectCreater, gvk schema.GroupVersionKind, obj Object) (Object, error) { if obj != nil { kinds, _, err := t.ObjectKinds(obj) if err != nil { @@ -129,7 +129,7 @@ type NoopDecoder struct { var _ Serializer = NoopDecoder{} -func (n NoopDecoder) Decode(data []byte, gvk *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) { +func (n NoopDecoder) Decode(data []byte, gvk *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { return nil, nil, fmt.Errorf("decoding is not allowed for this codec: %v", reflect.TypeOf(n.Encoder)) } @@ -153,7 +153,7 @@ var _ ParameterCodec = ¶meterCodec{} // DecodeParameters converts the provided url.Values into an object of type From with the kind of into, and then // converts that object to into (if necessary). Returns an error if the operation cannot be completed. -func (c *parameterCodec) DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into Object) error { +func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error { if len(parameters) == 0 { return nil } @@ -177,7 +177,7 @@ func (c *parameterCodec) DecodeParameters(parameters url.Values, from unversione // EncodeParameters converts the provided object into the to version, then converts that object to url.Values. // Returns an error if conversion is not possible. -func (c *parameterCodec) EncodeParameters(obj Object, to unversioned.GroupVersion) (url.Values, error) { +func (c *parameterCodec) EncodeParameters(obj Object, to schema.GroupVersion) (url.Values, error) { gvks, _, err := c.typer.ObjectKinds(obj) if err != nil { return nil, err @@ -208,7 +208,7 @@ func (s base64Serializer) Encode(obj Object, stream io.Writer) error { return err } -func (s base64Serializer) Decode(data []byte, defaults *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) { +func (s base64Serializer) Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { out := make([]byte, base64.StdEncoding.DecodedLen(len(data))) n, err := base64.StdEncoding.Decode(out, data) if err != nil { @@ -243,30 +243,30 @@ var ( type internalGroupVersioner struct{} // KindForGroupVersionKinds returns an internal Kind if one is found, or converts the first provided kind to the internal version. -func (internalGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (internalGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { for _, kind := range kinds { if kind.Version == APIVersionInternal { return kind, true } } for _, kind := range kinds { - return unversioned.GroupVersionKind{Group: kind.Group, Version: APIVersionInternal, Kind: kind.Kind}, true + return schema.GroupVersionKind{Group: kind.Group, Version: APIVersionInternal, Kind: kind.Kind}, true } - return unversioned.GroupVersionKind{}, false + return schema.GroupVersionKind{}, false } type disabledGroupVersioner struct{} // KindForGroupVersionKinds returns false for any input. -func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { - return unversioned.GroupVersionKind{}, false +func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + return schema.GroupVersionKind{}, false } // GroupVersioners implements GroupVersioner and resolves to the first exact match for any kind. type GroupVersioners []GroupVersioner // KindForGroupVersionKinds returns the first match of any of the group versioners, or false if no match occured. -func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { for _, gv := range gvs { target, ok := gv.KindForGroupVersionKinds(kinds) if !ok { @@ -274,22 +274,22 @@ func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []unversioned.GroupVer } return target, true } - return unversioned.GroupVersionKind{}, false + return schema.GroupVersionKind{}, false } -// Assert that unversioned.GroupVersion and GroupVersions implement GroupVersioner -var _ GroupVersioner = unversioned.GroupVersion{} -var _ GroupVersioner = unversioned.GroupVersions{} +// Assert that schema.GroupVersion and GroupVersions implement GroupVersioner +var _ GroupVersioner = schema.GroupVersion{} +var _ GroupVersioner = schema.GroupVersions{} var _ GroupVersioner = multiGroupVersioner{} type multiGroupVersioner struct { - target unversioned.GroupVersion - acceptedGroupKinds []unversioned.GroupKind + target schema.GroupVersion + acceptedGroupKinds []schema.GroupKind } // NewMultiGroupVersioner returns the provided group version for any kind that matches one of the provided group kinds. // Kind may be empty in the provided group kind, in which case any kind will match. -func NewMultiGroupVersioner(gv unversioned.GroupVersion, groupKinds ...unversioned.GroupKind) GroupVersioner { +func NewMultiGroupVersioner(gv schema.GroupVersion, groupKinds ...schema.GroupKind) GroupVersioner { if len(groupKinds) == 0 || (len(groupKinds) == 1 && groupKinds[0].Group == gv.Group) { return gv } @@ -298,7 +298,7 @@ func NewMultiGroupVersioner(gv unversioned.GroupVersion, groupKinds ...unversion // KindForGroupVersionKinds returns the target group version if any kind matches any of the original group kinds. It will // use the originating kind where possible. -func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (unversioned.GroupVersionKind, bool) { +func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { for _, src := range kinds { for _, kind := range v.acceptedGroupKinds { if kind.Group != src.Group { @@ -310,5 +310,5 @@ func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []unversioned.GroupV return v.target.WithKind(src.Kind), true } } - return unversioned.GroupVersionKind{}, false + return schema.GroupVersionKind{}, false } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/codec_check.go b/staging/src/k8s.io/client-go/pkg/runtime/codec_check.go index 9a52ad2e5c5..2920113fdc8 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/codec_check.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/codec_check.go @@ -20,14 +20,14 @@ import ( "fmt" "reflect" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) // CheckCodec makes sure that the codec can encode objects like internalType, // decode all of the external types listed, and also decode them into the given // object. (Will modify internalObject.) (Assumes JSON serialization.) // TODO: verify that the correct external version is chosen on encode... -func CheckCodec(c Codec, internalType Object, externalTypes ...unversioned.GroupVersionKind) error { +func CheckCodec(c Codec, internalType Object, externalTypes ...schema.GroupVersionKind) error { _, err := Encode(c, internalType) if err != nil { return fmt.Errorf("Internal type not encodable: %v", err) diff --git a/staging/src/k8s.io/client-go/pkg/runtime/embedded.go b/staging/src/k8s.io/client-go/pkg/runtime/embedded.go index f914256b758..2ad4afe60df 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/embedded.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/embedded.go @@ -19,21 +19,21 @@ package runtime import ( "errors" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/conversion" + "k8s.io/client-go/pkg/runtime/schema" ) type encodable struct { E Encoder `json:"-"` obj Object - versions []unversioned.GroupVersion + versions []schema.GroupVersion } -func (e encodable) GetObjectKind() unversioned.ObjectKind { return e.obj.GetObjectKind() } +func (e encodable) GetObjectKind() schema.ObjectKind { return e.obj.GetObjectKind() } // NewEncodable creates an object that will be encoded with the provided codec on demand. // Provided as a convenience for test cases dealing with internal objects. -func NewEncodable(e Encoder, obj Object, versions ...unversioned.GroupVersion) Object { +func NewEncodable(e Encoder, obj Object, versions ...schema.GroupVersion) Object { if _, ok := obj.(*Unknown); ok { return obj } @@ -52,7 +52,7 @@ func (re encodable) MarshalJSON() ([]byte, error) { // NewEncodableList creates an object that will be encoded with the provided codec on demand. // Provided as a convenience for test cases dealing with internal objects. -func NewEncodableList(e Encoder, objects []Object, versions ...unversioned.GroupVersion) []Object { +func NewEncodableList(e Encoder, objects []Object, versions ...schema.GroupVersion) []Object { out := make([]Object, len(objects)) for i := range objects { if _, ok := objects[i].(*Unknown); ok { diff --git a/staging/src/k8s.io/client-go/pkg/runtime/error.go b/staging/src/k8s.io/client-go/pkg/runtime/error.go index 086507c14c0..f414466e1d1 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/error.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/error.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) type notRegisteredErr struct { - gvk unversioned.GroupVersionKind + gvk schema.GroupVersionKind t reflect.Type } // NewNotRegisteredErr is exposed for testing. -func NewNotRegisteredErr(gvk unversioned.GroupVersionKind, t reflect.Type) error { +func NewNotRegisteredErr(gvk schema.GroupVersionKind, t reflect.Type) error { return ¬RegisteredErr{gvk: gvk, t: t} } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/helper.go b/staging/src/k8s.io/client-go/pkg/runtime/helper.go index 3062109f714..d0662b18c71 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/helper.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/helper.go @@ -21,8 +21,8 @@ import ( "io" "reflect" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/conversion" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/errors" ) @@ -173,7 +173,7 @@ type MultiObjectTyper []ObjectTyper var _ ObjectTyper = MultiObjectTyper{} -func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []unversioned.GroupVersionKind, unversionedType bool, err error) { +func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []schema.GroupVersionKind, unversionedType bool, err error) { for _, t := range m { gvks, unversionedType, err = t.ObjectKinds(obj) if err == nil { @@ -183,7 +183,7 @@ func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []unversioned.GroupVersi return } -func (m MultiObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (m MultiObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { for _, t := range m { if t.Recognizes(gvk) { return true diff --git a/staging/src/k8s.io/client-go/pkg/runtime/interfaces.go b/staging/src/k8s.io/client-go/pkg/runtime/interfaces.go index 0315cac512d..d2cb38c7423 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/interfaces.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/interfaces.go @@ -20,7 +20,7 @@ import ( "io" "net/url" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) const ( @@ -36,7 +36,7 @@ type GroupVersioner interface { // target is known. In general, if the return target is not in the input list, the caller is expected to invoke // Scheme.New(target) and then perform a conversion between the current Go type and the destination Go type. // Sophisticated implementations may use additional information about the input kinds to pick a destination kind. - KindForGroupVersionKinds(kinds []unversioned.GroupVersionKind) (target unversioned.GroupVersionKind, ok bool) + KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (target schema.GroupVersionKind, ok bool) } // Encoders write objects to a serialized form @@ -55,7 +55,7 @@ type Decoder interface { // guaranteed to be populated. The returned object is not guaranteed to match into. If defaults are // provided, they are applied to the data by default. If no defaults or partial defaults are provided, the // type of the into may be used to guide conversion decisions. - Decode(data []byte, defaults *unversioned.GroupVersionKind, into Object) (Object, *unversioned.GroupVersionKind, error) + Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) } // Serializer is the core interface for transforming objects into a serialized format and back. @@ -76,9 +76,9 @@ type Codec Serializer type ParameterCodec interface { // DecodeParameters takes the given url.Values in the specified group version and decodes them // into the provided object, or returns an error. - DecodeParameters(parameters url.Values, from unversioned.GroupVersion, into Object) error + DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error // EncodeParameters encodes the provided object as query parameters or returns an error. - EncodeParameters(obj Object, to unversioned.GroupVersion) (url.Values, error) + EncodeParameters(obj Object, to schema.GroupVersion) (url.Values, error) } // Framer is a factory for creating readers and writers that obey a particular framing pattern. @@ -191,16 +191,16 @@ type ObjectTyper interface { // ObjectKinds returns the all possible group,version,kind of the provided object, true if // the object is unversioned, or an error if the object is not recognized // (IsNotRegisteredError will return true). - ObjectKinds(Object) ([]unversioned.GroupVersionKind, bool, error) + ObjectKinds(Object) ([]schema.GroupVersionKind, bool, error) // Recognizes returns true if the scheme is able to handle the provided version and kind, // or more precisely that the provided version is a possible conversion or decoding // target. - Recognizes(gvk unversioned.GroupVersionKind) bool + Recognizes(gvk schema.GroupVersionKind) bool } // ObjectCreater contains methods for instantiating an object by kind and version. type ObjectCreater interface { - New(kind unversioned.GroupVersionKind) (out Object, err error) + New(kind schema.GroupVersionKind) (out Object, err error) } // ObjectCopier duplicates an object. @@ -233,5 +233,5 @@ type SelfLinker interface { // serializers to set the kind, version, and group the object is represented as. An Object may choose // to return a no-op ObjectKindAccessor in cases where it is not expected to be serialized. type Object interface { - GetObjectKind() unversioned.ObjectKind + GetObjectKind() schema.ObjectKind } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/register.go b/staging/src/k8s.io/client-go/pkg/runtime/register.go index 66f664fa058..28791ec296c 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/register.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/register.go @@ -16,32 +16,30 @@ limitations under the License. package runtime -import ( - "k8s.io/client-go/pkg/api/unversioned" -) +import "k8s.io/client-go/pkg/runtime/schema" // SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *TypeMeta) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } // GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta -func (obj *TypeMeta) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *TypeMeta) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } -func (obj *Unknown) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta } +func (obj *Unknown) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } -func (obj *Unstructured) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *UnstructuredList) GetObjectKind() unversioned.ObjectKind { return obj } +func (obj *Unstructured) GetObjectKind() schema.ObjectKind { return obj } +func (obj *UnstructuredList) GetObjectKind() schema.ObjectKind { return obj } // GetObjectKind implements Object for VersionedObjects, returning an empty ObjectKind // interface if no objects are provided, or the ObjectKind interface of the object in the // highest array position. -func (obj *VersionedObjects) GetObjectKind() unversioned.ObjectKind { +func (obj *VersionedObjects) GetObjectKind() schema.ObjectKind { last := obj.Last() if last == nil { - return unversioned.EmptyObjectKind + return schema.EmptyObjectKind } return last.GetObjectKind() } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/schema/generated.pb.go b/staging/src/k8s.io/client-go/pkg/runtime/schema/generated.pb.go new file mode 100644 index 00000000000..82c20997c53 --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/runtime/schema/generated.pb.go @@ -0,0 +1,58 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/kubernetes/pkg/runtime/schema/generated.proto +// DO NOT EDIT! + +/* + Package schema is a generated protocol buffer package. + + It is generated from these files: + k8s.io/kubernetes/pkg/runtime/schema/generated.proto + + It has these top-level messages: +*/ +package schema + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +const _ = proto.GoGoProtoPackageIsVersion1 + +var fileDescriptorGenerated = []byte{ + // 183 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x32, 0xc9, 0xb6, 0x28, 0xd6, + 0xcb, 0xcc, 0xd7, 0xcf, 0x2e, 0x4d, 0x4a, 0x2d, 0xca, 0x4b, 0x2d, 0x49, 0x2d, 0xd6, 0x2f, 0xc8, + 0x4e, 0xd7, 0x2f, 0x2a, 0xcd, 0x2b, 0xc9, 0xcc, 0x4d, 0xd5, 0x2f, 0x4e, 0xce, 0x48, 0xcd, 0x4d, + 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0x4a, 0x2c, 0x49, 0x4d, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, + 0x17, 0x52, 0x81, 0xe8, 0xd2, 0x43, 0xe8, 0xd2, 0x2b, 0xc8, 0x4e, 0xd7, 0x83, 0xea, 0xd2, 0x83, + 0xe8, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0x6b, 0x4e, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0x62, 0xa8, + 0x94, 0x21, 0x76, 0xa7, 0x94, 0x96, 0x64, 0xe6, 0xe8, 0x67, 0xe6, 0x95, 0x14, 0x97, 0x14, 0xa1, + 0xbb, 0xc3, 0x49, 0xe3, 0xc4, 0x43, 0x39, 0x86, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, + 0x68, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, + 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x10, 0xc5, 0x06, 0x71, 0x0b, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8d, + 0x74, 0x75, 0xa7, 0xe8, 0x00, 0x00, 0x00, +} diff --git a/staging/src/k8s.io/client-go/pkg/runtime/schema/generated.proto b/staging/src/k8s.io/client-go/pkg/runtime/schema/generated.proto new file mode 100644 index 00000000000..2630a82e6f5 --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/runtime/schema/generated.proto @@ -0,0 +1,28 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package k8s.io.kubernetes.pkg.runtime.schema; + +import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "schema"; + diff --git a/staging/src/k8s.io/client-go/pkg/runtime/schema/group_version.go b/staging/src/k8s.io/client-go/pkg/runtime/schema/group_version.go new file mode 100644 index 00000000000..1a9bba10603 --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/runtime/schema/group_version.go @@ -0,0 +1,277 @@ +/* +Copyright 2015 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package schema + +import ( + "fmt" + "strings" +) + +// ParseResourceArg takes the common style of string which may be either `resource.group.com` or `resource.version.group.com` +// and parses it out into both possibilities. This code takes no responsibility for knowing which representation was intended +// but with a knowledge of all GroupVersions, calling code can take a very good guess. If there are only two segments, then +// `*GroupVersionResource` is nil. +// `resource.group.com` -> `group=com, version=group, resource=resource` and `group=group.com, resource=resource` +func ParseResourceArg(arg string) (*GroupVersionResource, GroupResource) { + var gvr *GroupVersionResource + if strings.Count(arg, ".") >= 2 { + s := strings.SplitN(arg, ".", 3) + gvr = &GroupVersionResource{Group: s[2], Version: s[1], Resource: s[0]} + } + + return gvr, ParseGroupResource(arg) +} + +// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +type GroupResource struct { + Group string + Resource string +} + +func (gr GroupResource) WithVersion(version string) GroupVersionResource { + return GroupVersionResource{Group: gr.Group, Version: version, Resource: gr.Resource} +} + +func (gr GroupResource) Empty() bool { + return len(gr.Group) == 0 && len(gr.Resource) == 0 +} + +func (gr *GroupResource) String() string { + if len(gr.Group) == 0 { + return gr.Resource + } + return gr.Resource + "." + gr.Group +} + +// ParseGroupResource turns "resource.group" string into a GroupResource struct. Empty strings are allowed +// for each field. +func ParseGroupResource(gr string) GroupResource { + if i := strings.Index(gr, "."); i == -1 { + return GroupResource{Resource: gr} + } else { + return GroupResource{Group: gr[i+1:], Resource: gr[:i]} + } +} + +// GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion +// to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling +type GroupVersionResource struct { + Group string + Version string + Resource string +} + +func (gvr GroupVersionResource) Empty() bool { + return len(gvr.Group) == 0 && len(gvr.Version) == 0 && len(gvr.Resource) == 0 +} + +func (gvr GroupVersionResource) GroupResource() GroupResource { + return GroupResource{Group: gvr.Group, Resource: gvr.Resource} +} + +func (gvr GroupVersionResource) GroupVersion() GroupVersion { + return GroupVersion{Group: gvr.Group, Version: gvr.Version} +} + +func (gvr *GroupVersionResource) String() string { + return strings.Join([]string{gvr.Group, "/", gvr.Version, ", Resource=", gvr.Resource}, "") +} + +// GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +type GroupKind struct { + Group string + Kind string +} + +func (gk GroupKind) Empty() bool { + return len(gk.Group) == 0 && len(gk.Kind) == 0 +} + +func (gk GroupKind) WithVersion(version string) GroupVersionKind { + return GroupVersionKind{Group: gk.Group, Version: version, Kind: gk.Kind} +} + +func (gk *GroupKind) String() string { + if len(gk.Group) == 0 { + return gk.Kind + } + return gk.Kind + "." + gk.Group +} + +// GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion +// to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling +type GroupVersionKind struct { + Group string + Version string + Kind string +} + +// Empty returns true if group, version, and kind are empty +func (gvk GroupVersionKind) Empty() bool { + return len(gvk.Group) == 0 && len(gvk.Version) == 0 && len(gvk.Kind) == 0 +} + +func (gvk GroupVersionKind) GroupKind() GroupKind { + return GroupKind{Group: gvk.Group, Kind: gvk.Kind} +} + +func (gvk GroupVersionKind) GroupVersion() GroupVersion { + return GroupVersion{Group: gvk.Group, Version: gvk.Version} +} + +func (gvk GroupVersionKind) String() string { + return gvk.Group + "/" + gvk.Version + ", Kind=" + gvk.Kind +} + +// GroupVersion contains the "group" and the "version", which uniquely identifies the API. +type GroupVersion struct { + Group string + Version string +} + +// Empty returns true if group and version are empty +func (gv GroupVersion) Empty() bool { + return len(gv.Group) == 0 && len(gv.Version) == 0 +} + +// String puts "group" and "version" into a single "group/version" string. For the legacy v1 +// it returns "v1". +func (gv GroupVersion) String() string { + // special case the internal apiVersion for the legacy kube types + if gv.Empty() { + return "" + } + + // special case of "v1" for backward compatibility + if len(gv.Group) == 0 && gv.Version == "v1" { + return gv.Version + } + if len(gv.Group) > 0 { + return gv.Group + "/" + gv.Version + } + return gv.Version +} + +// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false +// if none of the options match the group. It prefers a match to group and version over just group. +// TODO: Move GroupVersion to a package under pkg/runtime, since it's used by scheme. +// TODO: Introduce an adapter type between GroupVersion and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) +// in fewer places. +func (gv GroupVersion) KindForGroupVersionKinds(kinds []GroupVersionKind) (target GroupVersionKind, ok bool) { + for _, gvk := range kinds { + if gvk.Group == gv.Group && gvk.Version == gv.Version { + return gvk, true + } + } + for _, gvk := range kinds { + if gvk.Group == gv.Group { + return gv.WithKind(gvk.Kind), true + } + } + return GroupVersionKind{}, false +} + +// ParseGroupVersion turns "group/version" string into a GroupVersion struct. It reports error +// if it cannot parse the string. +func ParseGroupVersion(gv string) (GroupVersion, error) { + // this can be the internal version for the legacy kube types + // TODO once we've cleared the last uses as strings, this special case should be removed. + if (len(gv) == 0) || (gv == "/") { + return GroupVersion{}, nil + } + + switch strings.Count(gv, "/") { + case 0: + return GroupVersion{"", gv}, nil + case 1: + i := strings.Index(gv, "/") + return GroupVersion{gv[:i], gv[i+1:]}, nil + default: + return GroupVersion{}, fmt.Errorf("unexpected GroupVersion string: %v", gv) + } +} + +// WithKind creates a GroupVersionKind based on the method receiver's GroupVersion and the passed Kind. +func (gv GroupVersion) WithKind(kind string) GroupVersionKind { + return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} +} + +// WithResource creates a GroupVersionResource based on the method receiver's GroupVersion and the passed Resource. +func (gv GroupVersion) WithResource(resource string) GroupVersionResource { + return GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: resource} +} + +// GroupVersions can be used to represent a set of desired group versions. +// TODO: Move GroupVersions to a package under pkg/runtime, since it's used by scheme. +// TODO: Introduce an adapter type between GroupVersions and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) +// in fewer places. +type GroupVersions []GroupVersion + +// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false +// if none of the options match the group. +func (gvs GroupVersions) KindForGroupVersionKinds(kinds []GroupVersionKind) (GroupVersionKind, bool) { + var targets []GroupVersionKind + for _, gv := range gvs { + target, ok := gv.KindForGroupVersionKinds(kinds) + if !ok { + continue + } + targets = append(targets, target) + } + if len(targets) == 1 { + return targets[0], true + } + if len(targets) > 1 { + return bestMatch(kinds, targets), true + } + return GroupVersionKind{}, false +} + +// bestMatch tries to pick best matching GroupVersionKind and falls back to the first +// found if no exact match exists. +func bestMatch(kinds []GroupVersionKind, targets []GroupVersionKind) GroupVersionKind { + for _, gvk := range targets { + for _, k := range kinds { + if k == gvk { + return k + } + } + } + return targets[0] +} + +// ToAPIVersionAndKind is a convenience method for satisfying runtime.Object on types that +// do not use TypeMeta. +func (gvk *GroupVersionKind) ToAPIVersionAndKind() (string, string) { + if gvk == nil { + return "", "" + } + return gvk.GroupVersion().String(), gvk.Kind +} + +// FromAPIVersionAndKind returns a GVK representing the provided fields for types that +// do not use TypeMeta. This method exists to support test types and legacy serializations +// that have a distinct group and kind. +// TODO: further reduce usage of this method. +func FromAPIVersionAndKind(apiVersion, kind string) GroupVersionKind { + if gv, err := ParseGroupVersion(apiVersion); err == nil { + return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} + } + return GroupVersionKind{Kind: kind} +} diff --git a/staging/src/k8s.io/client-go/pkg/runtime/schema/interfaces.go b/staging/src/k8s.io/client-go/pkg/runtime/schema/interfaces.go new file mode 100644 index 00000000000..b5706684587 --- /dev/null +++ b/staging/src/k8s.io/client-go/pkg/runtime/schema/interfaces.go @@ -0,0 +1,40 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package schema + +// All objects that are serialized from a Scheme encode their type information. This interface is used +// by serialization to set type information from the Scheme onto the serialized version of an object. +// For objects that cannot be serialized or have unique requirements, this interface may be a no-op. +type ObjectKind interface { + // SetGroupVersionKind sets or clears the intended serialized kind of an object. Passing kind nil + // should clear the current setting. + SetGroupVersionKind(kind GroupVersionKind) + // GroupVersionKind returns the stored group, version, and kind of an object, or nil if the object does + // not expose or provide these fields. + GroupVersionKind() GroupVersionKind +} + +// EmptyObjectKind implements the ObjectKind interface as a noop +var EmptyObjectKind = emptyObjectKind{} + +type emptyObjectKind struct{} + +// SetGroupVersionKind implements the ObjectKind interface +func (emptyObjectKind) SetGroupVersionKind(gvk GroupVersionKind) {} + +// GroupVersionKind implements the ObjectKind interface +func (emptyObjectKind) GroupVersionKind() GroupVersionKind { return GroupVersionKind{} } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/scheme.go b/staging/src/k8s.io/client-go/pkg/runtime/scheme.go index b191e5fb424..6c0a87e0d7e 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/scheme.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/scheme.go @@ -21,8 +21,8 @@ import ( "net/url" "reflect" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/conversion" + "k8s.io/client-go/pkg/runtime/schema" ) // Scheme defines methods for serializing and deserializing API objects, a type @@ -43,14 +43,14 @@ import ( type Scheme struct { // versionMap allows one to figure out the go type of an object with // the given version and name. - gvkToType map[unversioned.GroupVersionKind]reflect.Type + gvkToType map[schema.GroupVersionKind]reflect.Type // typeToGroupVersion allows one to find metadata for a given go object. // The reflect.Type we index by should *not* be a pointer. - typeToGVK map[reflect.Type][]unversioned.GroupVersionKind + typeToGVK map[reflect.Type][]schema.GroupVersionKind // unversionedTypes are transformed without conversion in ConvertToVersion. - unversionedTypes map[reflect.Type]unversioned.GroupVersionKind + unversionedTypes map[reflect.Type]schema.GroupVersionKind // unversionedKinds are the names of kinds that can be created in the context of any group // or version @@ -80,9 +80,9 @@ type FieldLabelConversionFunc func(label, value string) (internalLabel, internal // NewScheme creates a new Scheme. This scheme is pluggable by default. func NewScheme() *Scheme { s := &Scheme{ - gvkToType: map[unversioned.GroupVersionKind]reflect.Type{}, - typeToGVK: map[reflect.Type][]unversioned.GroupVersionKind{}, - unversionedTypes: map[reflect.Type]unversioned.GroupVersionKind{}, + gvkToType: map[schema.GroupVersionKind]reflect.Type{}, + typeToGVK: map[reflect.Type][]schema.GroupVersionKind{}, + unversionedTypes: map[reflect.Type]schema.GroupVersionKind{}, unversionedKinds: map[string]reflect.Type{}, cloner: conversion.NewCloner(), fieldLabelConversionFuncs: map[string]map[string]FieldLabelConversionFunc{}, @@ -145,7 +145,7 @@ func (s *Scheme) Converter() *conversion.Converter { // // TODO: there is discussion about removing unversioned and replacing it with objects that are manifest into // every version with particular schemas. Resolve this method at that point. -func (s *Scheme) AddUnversionedTypes(version unversioned.GroupVersion, types ...Object) { +func (s *Scheme) AddUnversionedTypes(version schema.GroupVersion, types ...Object) { s.AddKnownTypes(version, types...) for _, obj := range types { t := reflect.TypeOf(obj).Elem() @@ -162,7 +162,7 @@ func (s *Scheme) AddUnversionedTypes(version unversioned.GroupVersion, types ... // All objects passed to types should be pointers to structs. The name that go reports for // the struct becomes the "kind" field when encoding. Version may not be empty - use the // APIVersionInternal constant if you have a type that does not have a formal version. -func (s *Scheme) AddKnownTypes(gv unversioned.GroupVersion, types ...Object) { +func (s *Scheme) AddKnownTypes(gv schema.GroupVersion, types ...Object) { if len(gv.Version) == 0 { panic(fmt.Sprintf("version is required on all types: %s %v", gv, types[0])) } @@ -186,7 +186,7 @@ func (s *Scheme) AddKnownTypes(gv unversioned.GroupVersion, types ...Object) { // be encoded as. Useful for testing when you don't want to make multiple packages to define // your structs. Version may not be empty - use the APIVersionInternal constant if you have a // type that does not have a formal version. -func (s *Scheme) AddKnownTypeWithName(gvk unversioned.GroupVersionKind, obj Object) { +func (s *Scheme) AddKnownTypeWithName(gvk schema.GroupVersionKind, obj Object) { t := reflect.TypeOf(obj) if len(gvk.Version) == 0 { panic(fmt.Sprintf("version is required on all types: %s %v", gvk, t)) @@ -204,7 +204,7 @@ func (s *Scheme) AddKnownTypeWithName(gvk unversioned.GroupVersionKind, obj Obje } // KnownTypes returns the types known for the given version. -func (s *Scheme) KnownTypes(gv unversioned.GroupVersion) map[string]reflect.Type { +func (s *Scheme) KnownTypes(gv schema.GroupVersion) map[string]reflect.Type { types := make(map[string]reflect.Type) for gvk, t := range s.gvkToType { if gv != gvk.GroupVersion() { @@ -217,23 +217,23 @@ func (s *Scheme) KnownTypes(gv unversioned.GroupVersion) map[string]reflect.Type } // AllKnownTypes returns the all known types. -func (s *Scheme) AllKnownTypes() map[unversioned.GroupVersionKind]reflect.Type { +func (s *Scheme) AllKnownTypes() map[schema.GroupVersionKind]reflect.Type { return s.gvkToType } // ObjectKind returns the group,version,kind of the go object and true if this object // is considered unversioned, or an error if it's not a pointer or is unregistered. -func (s *Scheme) ObjectKind(obj Object) (unversioned.GroupVersionKind, bool, error) { +func (s *Scheme) ObjectKind(obj Object) (schema.GroupVersionKind, bool, error) { gvks, unversionedType, err := s.ObjectKinds(obj) if err != nil { - return unversioned.GroupVersionKind{}, false, err + return schema.GroupVersionKind{}, false, err } return gvks[0], unversionedType, nil } // ObjectKinds returns all possible group,version,kind of the go object, true if the // object is considered unversioned, or an error if it's not a pointer or is unregistered. -func (s *Scheme) ObjectKinds(obj Object) ([]unversioned.GroupVersionKind, bool, error) { +func (s *Scheme) ObjectKinds(obj Object) ([]schema.GroupVersionKind, bool, error) { v, err := conversion.EnforcePtr(obj) if err != nil { return nil, false, err @@ -242,7 +242,7 @@ func (s *Scheme) ObjectKinds(obj Object) ([]unversioned.GroupVersionKind, bool, gvks, ok := s.typeToGVK[t] if !ok { - return nil, false, NewNotRegisteredErr(unversioned.GroupVersionKind{}, t) + return nil, false, NewNotRegisteredErr(schema.GroupVersionKind{}, t) } _, unversionedType := s.unversionedTypes[t] @@ -251,7 +251,7 @@ func (s *Scheme) ObjectKinds(obj Object) ([]unversioned.GroupVersionKind, bool, // Recognizes returns true if the scheme is able to handle the provided group,version,kind // of an object. -func (s *Scheme) Recognizes(gvk unversioned.GroupVersionKind) bool { +func (s *Scheme) Recognizes(gvk schema.GroupVersionKind) bool { _, exists := s.gvkToType[gvk] return exists } @@ -272,7 +272,7 @@ func (s *Scheme) IsUnversioned(obj Object) (bool, bool) { // New returns a new API object of the given version and name, or an error if it hasn't // been registered. The version and kind fields must be specified. -func (s *Scheme) New(kind unversioned.GroupVersionKind) (Object, error) { +func (s *Scheme) New(kind schema.GroupVersionKind) (Object, error) { if t, exists := s.gvkToType[kind]; exists { return reflect.New(t).Interface().(Object), nil } @@ -514,7 +514,7 @@ func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) ( } kinds, ok := s.typeToGVK[t] if !ok || len(kinds) == 0 { - return nil, NewNotRegisteredErr(unversioned.GroupVersionKind{}, t) + return nil, NewNotRegisteredErr(schema.GroupVersionKind{}, t) } gvk, ok := target.KindForGroupVersionKinds(kinds) @@ -522,7 +522,7 @@ func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) ( // try to see if this type is listed as unversioned (for legacy support) // TODO: when we move to server API versions, we should completely remove the unversioned concept if unversionedKind, ok := s.unversionedTypes[t]; ok { - if gvk, ok := target.KindForGroupVersionKinds([]unversioned.GroupVersionKind{unversionedKind}); ok { + if gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{unversionedKind}); ok { return copyAndSetTargetKind(copy, s, in, gvk) } return copyAndSetTargetKind(copy, s, in, unversionedKind) @@ -541,7 +541,7 @@ func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) ( // type is unversioned, no conversion necessary if unversionedKind, ok := s.unversionedTypes[t]; ok { - if gvk, ok := target.KindForGroupVersionKinds([]unversioned.GroupVersionKind{unversionedKind}); ok { + if gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{unversionedKind}); ok { return copyAndSetTargetKind(copy, s, in, gvk) } return copyAndSetTargetKind(copy, s, in, unversionedKind) @@ -576,7 +576,7 @@ func (s *Scheme) generateConvertMeta(in interface{}) (conversion.FieldMatchingFl } // copyAndSetTargetKind performs a conditional copy before returning the object, or an error if copy was not successful. -func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind unversioned.GroupVersionKind) (Object, error) { +func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind schema.GroupVersionKind) (Object, error) { if copy { copied, err := copier.Copy(obj) if err != nil { @@ -589,11 +589,11 @@ func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind unver } // setTargetKind sets the kind on an object, taking into account whether the target kind is the internal version. -func setTargetKind(obj Object, kind unversioned.GroupVersionKind) { +func setTargetKind(obj Object, kind schema.GroupVersionKind) { if kind.Version == APIVersionInternal { // internal is a special case // TODO: look at removing the need to special case this - obj.GetObjectKind().SetGroupVersionKind(unversioned.GroupVersionKind{}) + obj.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) return } obj.GetObjectKind().SetGroupVersionKind(kind) diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/codec_factory.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/codec_factory.go index 69f56bb610e..5782023a70d 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/codec_factory.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/codec_factory.go @@ -17,8 +17,8 @@ limitations under the License. package serializer import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/json" "k8s.io/client-go/pkg/runtime/serializer/recognizer" "k8s.io/client-go/pkg/runtime/serializer/versioning" @@ -162,8 +162,8 @@ func (f CodecFactory) SupportedMediaTypes() []runtime.SerializerInfo { // // TODO: make this call exist only in pkg/api, and initialize it with the set of default versions. // All other callers will be forced to request a Codec directly. -func (f CodecFactory) LegacyCodec(version ...unversioned.GroupVersion) runtime.Codec { - return versioning.NewDefaultingCodecForScheme(f.scheme, f.legacySerializer, f.universal, unversioned.GroupVersions(version), runtime.InternalGroupVersioner) +func (f CodecFactory) LegacyCodec(version ...schema.GroupVersion) runtime.Codec { + return versioning.NewDefaultingCodecForScheme(f.scheme, f.legacySerializer, f.universal, schema.GroupVersions(version), runtime.InternalGroupVersioner) } // UniversalDeserializer can convert any stored data recognized by this factory into a Go object that satisfies @@ -181,12 +181,12 @@ func (f CodecFactory) UniversalDeserializer() runtime.Decoder { // // TODO: the decoder will eventually be removed in favor of dealing with objects in their versioned form // TODO: only accept a group versioner -func (f CodecFactory) UniversalDecoder(versions ...unversioned.GroupVersion) runtime.Decoder { +func (f CodecFactory) UniversalDecoder(versions ...schema.GroupVersion) runtime.Decoder { var versioner runtime.GroupVersioner if len(versions) == 0 { versioner = runtime.InternalGroupVersioner } else { - versioner = unversioned.GroupVersions(versions) + versioner = schema.GroupVersions(versions) } return f.CodecForVersions(nil, f.universal, nil, versioner) } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/json.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/json.go index 2f2f69fbbd9..cd88dc1e7e5 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/json.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/json.go @@ -23,8 +23,8 @@ import ( "github.com/ghodss/yaml" "github.com/ugorji/go/codec" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/recognizer" "k8s.io/client-go/pkg/util/framer" utilyaml "k8s.io/client-go/pkg/util/yaml" @@ -71,7 +71,7 @@ var _ recognizer.RecognizingDecoder = &Serializer{} // extracted and no decoding will be performed. If into is not registered with the typer, then the object will be straight decoded using // normal JSON/YAML unmarshalling. If into is provided and the original data is not fully qualified with kind/version/group, the type of // the into will be used to alter the returned gvk. On success or most errors, the method will return the calculated schema kind. -func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if versioned, ok := into.(*runtime.VersionedObjects); ok { into = versioned.Last() obj, actual, err := s.Decode(originalData, gvk, into) diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/meta.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/meta.go index 325df63d33a..7b5758e4ba8 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/meta.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/json/meta.go @@ -20,7 +20,7 @@ import ( "encoding/json" "fmt" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) // MetaFactory is used to store and retrieve the version and kind @@ -28,7 +28,7 @@ import ( type MetaFactory interface { // Interpret should return the version and kind of the wire-format of // the object. - Interpret(data []byte) (*unversioned.GroupVersionKind, error) + Interpret(data []byte) (*schema.GroupVersionKind, error) } // DefaultMetaFactory is a default factory for versioning objects in JSON. The object @@ -45,7 +45,7 @@ type SimpleMetaFactory struct { // Interpret will return the APIVersion and Kind of the JSON wire-format // encoding of an object, or an error. -func (SimpleMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, error) { +func (SimpleMetaFactory) Interpret(data []byte) (*schema.GroupVersionKind, error) { findKind := struct { // +optional APIVersion string `json:"apiVersion,omitempty"` @@ -55,9 +55,9 @@ func (SimpleMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, if err := json.Unmarshal(data, &findKind); err != nil { return nil, fmt.Errorf("couldn't get version/kind; json parse error: %v", err) } - gv, err := unversioned.ParseGroupVersion(findKind.APIVersion) + gv, err := schema.ParseGroupVersion(findKind.APIVersion) if err != nil { return nil, err } - return &unversioned.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.Kind}, nil + return &schema.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.Kind}, nil } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/protobuf/protobuf.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/protobuf/protobuf.go index 0118828eee1..f48bca29c4f 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/protobuf/protobuf.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/protobuf/protobuf.go @@ -24,8 +24,8 @@ import ( "github.com/gogo/protobuf/proto" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/recognizer" "k8s.io/client-go/pkg/util/framer" ) @@ -85,7 +85,7 @@ var _ recognizer.RecognizingDecoder = &Serializer{} // be straight decoded using normal protobuf unmarshalling (the MarshalTo interface). If into is provided and the original data is // not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most // errors, the method will return the calculated schema kind. -func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if versioned, ok := into.(*runtime.VersionedObjects); ok { into = versioned.Last() obj, actual, err := s.Decode(originalData, gvk, into) @@ -255,7 +255,7 @@ func (s *Serializer) RecognizesData(peek io.Reader) (bool, bool, error) { } // copyKindDefaults defaults dst to the value in src if dst does not have a value set. -func copyKindDefaults(dst, src *unversioned.GroupVersionKind) { +func copyKindDefaults(dst, src *schema.GroupVersionKind) { if src == nil { return } @@ -316,7 +316,7 @@ var _ runtime.Serializer = &RawSerializer{} // be straight decoded using normal protobuf unmarshalling (the MarshalTo interface). If into is provided and the original data is // not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most // errors, the method will return the calculated schema kind. -func (s *RawSerializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (s *RawSerializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { if into == nil { return nil, nil, fmt.Errorf("this serializer requires an object to decode into: %#v", s) } @@ -341,7 +341,7 @@ func (s *RawSerializer) Decode(originalData []byte, gvk *unversioned.GroupVersio } data := originalData - actual := &unversioned.GroupVersionKind{} + actual := &schema.GroupVersionKind{} copyKindDefaults(actual, gvk) if intoUnknown, ok := into.(*runtime.Unknown); ok && intoUnknown != nil { @@ -386,7 +386,7 @@ func (s *RawSerializer) Decode(originalData []byte, gvk *unversioned.GroupVersio } // unmarshalToObject is the common code between decode in the raw and normal serializer. -func unmarshalToObject(typer runtime.ObjectTyper, creater runtime.ObjectCreater, actual *unversioned.GroupVersionKind, into runtime.Object, data []byte) (runtime.Object, *unversioned.GroupVersionKind, error) { +func unmarshalToObject(typer runtime.ObjectTyper, creater runtime.ObjectCreater, actual *schema.GroupVersionKind, into runtime.Object, data []byte) (runtime.Object, *schema.GroupVersionKind, error) { // use the target if necessary obj, err := runtime.UseOrCreateObject(typer, creater, *actual, into) if err != nil { diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/recognizer/recognizer.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/recognizer/recognizer.go index 54d978fb300..6f0d99fd968 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/recognizer/recognizer.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/recognizer/recognizer.go @@ -22,8 +22,8 @@ import ( "fmt" "io" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) type RecognizingDecoder interface { @@ -81,7 +81,7 @@ func (d *decoder) RecognizesData(peek io.Reader) (bool, bool, error) { return false, anyUnknown, lastErr } -func (d *decoder) Decode(data []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d *decoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { var ( lastErr error skipped []runtime.Decoder diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/streaming/streaming.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/streaming/streaming.go index 9b91f1ba835..75a1a15e296 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/streaming/streaming.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/streaming/streaming.go @@ -23,8 +23,8 @@ import ( "fmt" "io" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // Encoder is a runtime.Encoder on a stream. @@ -37,7 +37,7 @@ type Encoder interface { // Decoder is a runtime.Decoder from a stream. type Decoder interface { // Decode will return io.EOF when no more objects are available. - Decode(defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) + Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) // Close closes the underlying stream. Close() error } @@ -71,7 +71,7 @@ func NewDecoder(r io.ReadCloser, d runtime.Decoder) Decoder { var ErrObjectTooLarge = fmt.Errorf("object to decode was longer than maximum allowed size") // Decode reads the next object from the stream and decodes it. -func (d *decoder) Decode(defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d *decoder) Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { base := 0 for { n, err := d.reader.Read(d.buf[base:]) diff --git a/staging/src/k8s.io/client-go/pkg/runtime/serializer/versioning/versioning.go b/staging/src/k8s.io/client-go/pkg/runtime/serializer/versioning/versioning.go index 386397f08a9..a25a69f3cd7 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/serializer/versioning/versioning.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/serializer/versioning/versioning.go @@ -19,8 +19,8 @@ package versioning import ( "io" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" utilruntime "k8s.io/client-go/pkg/util/runtime" ) @@ -93,7 +93,7 @@ type codec struct { // Decode attempts a decode of the object, then tries to convert it to the internal version. If into is provided and the decoding is // successful, the returned runtime.Object will be the value passed as into. Note that this may bypass conversion if you pass an // into that matches the serialized version. -func (c *codec) Decode(data []byte, defaultGVK *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (c *codec) Decode(data []byte, defaultGVK *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { versioned, isVersioned := into.(*runtime.VersionedObjects) if isVersioned { into = versioned.Last() @@ -254,12 +254,12 @@ type DirectDecoder struct { } // Decode does not do conversion. It removes the gvk during deserialization. -func (d DirectDecoder) Decode(data []byte, defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (d DirectDecoder) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { obj, gvk, err := d.Decoder.Decode(data, defaults, into) if obj != nil { kind := obj.GetObjectKind() // clearing the gvk is just a convention of a codec - kind.SetGroupVersionKind(unversioned.GroupVersionKind{}) + kind.SetGroupVersionKind(schema.GroupVersionKind{}) } return obj, gvk, err } diff --git a/staging/src/k8s.io/client-go/pkg/runtime/unstructured.go b/staging/src/k8s.io/client-go/pkg/runtime/unstructured.go index a15208c51ce..7a0e76b672f 100644 --- a/staging/src/k8s.io/client-go/pkg/runtime/unstructured.go +++ b/staging/src/k8s.io/client-go/pkg/runtime/unstructured.go @@ -28,6 +28,7 @@ import ( "k8s.io/client-go/pkg/api/meta/metatypes" "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/types" "k8s.io/client-go/pkg/util/json" ) @@ -327,15 +328,15 @@ func (u *Unstructured) SetAnnotations(annotations map[string]string) { u.setNestedMap(annotations, "metadata", "annotations") } -func (u *Unstructured) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (u *Unstructured) SetGroupVersionKind(gvk schema.GroupVersionKind) { u.SetAPIVersion(gvk.GroupVersion().String()) u.SetKind(gvk.Kind) } -func (u *Unstructured) GroupVersionKind() unversioned.GroupVersionKind { - gv, err := unversioned.ParseGroupVersion(u.GetAPIVersion()) +func (u *Unstructured) GroupVersionKind() schema.GroupVersionKind { + gv, err := schema.ParseGroupVersion(u.GetAPIVersion()) if err != nil { - return unversioned.GroupVersionKind{} + return schema.GroupVersionKind{} } gvk := gv.WithKind(u.GetKind()) return gvk @@ -421,15 +422,15 @@ func (u *UnstructuredList) SetSelfLink(selfLink string) { u.setNestedField(selfLink, "metadata", "selfLink") } -func (u *UnstructuredList) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (u *UnstructuredList) SetGroupVersionKind(gvk schema.GroupVersionKind) { u.SetAPIVersion(gvk.GroupVersion().String()) u.SetKind(gvk.Kind) } -func (u *UnstructuredList) GroupVersionKind() unversioned.GroupVersionKind { - gv, err := unversioned.ParseGroupVersion(u.GetAPIVersion()) +func (u *UnstructuredList) GroupVersionKind() schema.GroupVersionKind { + gv, err := schema.ParseGroupVersion(u.GetAPIVersion()) if err != nil { - return unversioned.GroupVersionKind{} + return schema.GroupVersionKind{} } gvk := gv.WithKind(u.GetKind()) return gvk @@ -442,7 +443,7 @@ var UnstructuredJSONScheme Codec = unstructuredJSONScheme{} type unstructuredJSONScheme struct{} -func (s unstructuredJSONScheme) Decode(data []byte, _ *unversioned.GroupVersionKind, obj Object) (Object, *unversioned.GroupVersionKind, error) { +func (s unstructuredJSONScheme) Decode(data []byte, _ *schema.GroupVersionKind, obj Object) (Object, *schema.GroupVersionKind, error) { var err error if obj != nil { err = s.decodeInto(data, obj) @@ -597,7 +598,7 @@ func (UnstructuredObjectConverter) Convert(in, out, context interface{}) error { func (UnstructuredObjectConverter) ConvertToVersion(in Object, target GroupVersioner) (Object, error) { if kind := in.GetObjectKind().GroupVersionKind(); !kind.Empty() { - gvk, ok := target.KindForGroupVersionKinds([]unversioned.GroupVersionKind{kind}) + gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{kind}) if !ok { // TODO: should this be a typed error? return nil, fmt.Errorf("%v is unstructured and is not suitable for converting to %q", kind, target) diff --git a/staging/src/k8s.io/client-go/pkg/util/cert/csr.go b/staging/src/k8s.io/client-go/pkg/util/cert/csr.go index 69846df6d34..9a0f628b7e9 100644 --- a/staging/src/k8s.io/client-go/pkg/util/cert/csr.go +++ b/staging/src/k8s.io/client-go/pkg/util/cert/csr.go @@ -26,6 +26,7 @@ import ( "net" "k8s.io/client-go/pkg/apis/certificates" + "k8s.io/client-go/pkg/apis/certificates/v1alpha1" ) // ParseCSR extracts the CSR from the API object and decodes it. @@ -43,6 +44,21 @@ func ParseCSR(obj *certificates.CertificateSigningRequest) (*x509.CertificateReq return csr, nil } +// ParseCSRV1alpha1 extracts the CSR from the API object and decodes it. +func ParseCSRV1alpha1(obj *v1alpha1.CertificateSigningRequest) (*x509.CertificateRequest, error) { + // extract PEM from request object + pemBytes := obj.Spec.Request + block, _ := pem.Decode(pemBytes) + if block == nil || block.Type != "CERTIFICATE REQUEST" { + return nil, errors.New("PEM block type must be CERTIFICATE REQUEST") + } + csr, err := x509.ParseCertificateRequest(block.Bytes) + if err != nil { + return nil, err + } + return csr, nil +} + // MakeCSR generates a PEM-encoded CSR using the supplied private key, subject, and SANs. // All key types that are implemented via crypto.Signer are supported (This includes *rsa.PrivateKey and *ecdsa.PrivateKey.) func MakeCSR(privateKey interface{}, subject *pkix.Name, dnsSANs []string, ipSANs []net.IP) (csr []byte, err error) { diff --git a/staging/src/k8s.io/client-go/pkg/util/config/feature_gate.go b/staging/src/k8s.io/client-go/pkg/util/config/feature_gate.go index 11996dabf14..ff90f2fb289 100644 --- a/staging/src/k8s.io/client-go/pkg/util/config/feature_gate.go +++ b/staging/src/k8s.io/client-go/pkg/util/config/feature_gate.go @@ -43,18 +43,26 @@ const ( dynamicKubeletConfig = "DynamicKubeletConfig" dynamicVolumeProvisioning = "DynamicVolumeProvisioning" streamingProxyRedirects = "StreamingProxyRedirects" + + // experimentalHostUserNamespaceDefaulting Default userns=host for containers + // that are using other host namespaces, host mounts, the pod contains a privileged container, + // or specific non-namespaced capabilities + // (MKNOD, SYS_MODULE, SYS_TIME). This should only be enabled if user namespace remapping is enabled + // in the docker daemon. + experimentalHostUserNamespaceDefaultingGate = "ExperimentalHostUserNamespaceDefaulting" ) var ( // Default values for recorded features. Every new feature gate should be // represented here. knownFeatures = map[string]featureSpec{ - allAlphaGate: {false, alpha}, - externalTrafficLocalOnly: {true, beta}, - appArmor: {true, beta}, - dynamicKubeletConfig: {false, alpha}, - dynamicVolumeProvisioning: {true, alpha}, - streamingProxyRedirects: {false, alpha}, + allAlphaGate: {false, alpha}, + externalTrafficLocalOnly: {true, beta}, + appArmor: {true, beta}, + dynamicKubeletConfig: {false, alpha}, + dynamicVolumeProvisioning: {true, alpha}, + streamingProxyRedirects: {false, alpha}, + experimentalHostUserNamespaceDefaultingGate: {false, alpha}, } // Special handling for a few gates. @@ -115,6 +123,10 @@ type FeatureGate interface { // owner: timstclair // alpha: v1.5 StreamingProxyRedirects() bool + + // owner: @pweil- + // alpha: v1.5 + ExperimentalHostUserNamespaceDefaulting() bool } // featureGate implements FeatureGate as well as pflag.Value for flag parsing. @@ -209,6 +221,11 @@ func (f *featureGate) StreamingProxyRedirects() bool { return f.lookup(streamingProxyRedirects) } +// ExperimentalHostUserNamespaceDefaulting returns value for experimentalHostUserNamespaceDefaulting +func (f *featureGate) ExperimentalHostUserNamespaceDefaulting() bool { + return f.lookup(experimentalHostUserNamespaceDefaultingGate) +} + func (f *featureGate) lookup(key string) bool { defaultValue := f.known[key].enabled if f.enabled != nil { diff --git a/staging/src/k8s.io/client-go/pkg/watch/mux.go b/staging/src/k8s.io/client-go/pkg/watch/mux.go index 3c7cfd1b102..9094bf6dee6 100644 --- a/staging/src/k8s.io/client-go/pkg/watch/mux.go +++ b/staging/src/k8s.io/client-go/pkg/watch/mux.go @@ -19,8 +19,8 @@ package watch import ( "sync" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // FullChannelBehavior controls how the Broadcaster reacts if a watcher's watch @@ -81,8 +81,8 @@ const internalRunFunctionMarker = "internal-do-function" // a function type we can shoehorn into the queue. type functionFakeRuntimeObject func() -func (obj functionFakeRuntimeObject) GetObjectKind() unversioned.ObjectKind { - return unversioned.EmptyObjectKind +func (obj functionFakeRuntimeObject) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind } // Execute f, blocking the incoming queue (and waiting for it to drain first). diff --git a/staging/src/k8s.io/client-go/pkg/watch/versioned/register.go b/staging/src/k8s.io/client-go/pkg/watch/versioned/register.go index 2223a934be5..980214d2d4e 100644 --- a/staging/src/k8s.io/client-go/pkg/watch/versioned/register.go +++ b/staging/src/k8s.io/client-go/pkg/watch/versioned/register.go @@ -17,9 +17,9 @@ limitations under the License. package versioned import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/conversion" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/watch" ) @@ -28,10 +28,10 @@ const WatchEventKind = "WatchEvent" // AddToGroupVersion registers the watch external and internal kinds with the scheme, and ensures the proper // conversions are in place. -func AddToGroupVersion(scheme *runtime.Scheme, groupVersion unversioned.GroupVersion) { +func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) { scheme.AddKnownTypeWithName(groupVersion.WithKind(WatchEventKind), &Event{}) scheme.AddKnownTypeWithName( - unversioned.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), + schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), &InternalEvent{}, ) scheme.AddConversionFuncs( @@ -80,5 +80,5 @@ func Convert_versioned_Event_to_versioned_InternalEvent(in *Event, out *Internal // InternalEvent makes watch.Event versioned type InternalEvent watch.Event -func (e *InternalEvent) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } -func (e *Event) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObjectKind } +func (e *InternalEvent) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (e *Event) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } diff --git a/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go b/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go index bf5b253de51..c187bdd00ef 100644 --- a/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go +++ b/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go @@ -23,6 +23,7 @@ import ( "net/http" "os/exec" "strings" + "sync" "time" "github.com/golang/glog" @@ -40,6 +41,48 @@ func init() { } } +// gcpAuthProvider is an auth provider plugin that uses GCP credentials to provide +// tokens for kubectl to authenticate itself to the apiserver. A sample json config +// is provided below with all recognized options described. +// +// { +// 'auth-provider': { +// # Required +// "name": "gcp", +// +// 'config': { +// # Caching options +// +// # Raw string data representing cached access token. +// "access-token": "ya29.CjWdA4GiBPTt", +// # RFC3339Nano expiration timestamp for cached access token. +// "expiry": "2016-10-31 22:31:9.123", +// +// # Command execution options +// # These options direct the plugin to execute a specified command and parse +// # token and expiry time from the output of the command. +// +// # Command to execute for access token. String is split on whitespace +// # with first field treated as the executable, remaining fields as args. +// # Command output will be parsed as JSON. +// "cmd-path": "/usr/bin/gcloud config config-helper --output=json", +// +// # JSONPath to the string field that represents the access token in +// # command output. If omitted, defaults to "{.access_token}". +// "token-key": "{.credential.access_token}", +// +// # JSONPath to the string field that represents expiration timestamp +// # of the access token in the command output. If omitted, defaults to +// # "{.token_expiry}" +// "expiry-key": ""{.credential.token_expiry}", +// +// # golang reference time in the format that the expiration timestamp uses. +// # If omitted, defaults to time.RFC3339Nano +// "time-fmt": "2006-01-02 15:04:05.999999999" +// } +// } +// } +// type gcpAuthProvider struct { tokenSource oauth2.TokenSource persister rest.AuthProviderConfigPersister @@ -74,6 +117,7 @@ func (g *gcpAuthProvider) WrapTransport(rt http.RoundTripper) http.RoundTripper func (g *gcpAuthProvider) Login() error { return nil } type cachedTokenSource struct { + lk sync.Mutex source oauth2.TokenSource accessToken string expiry time.Time @@ -99,11 +143,7 @@ func newCachedTokenSource(accessToken, expiry string, persister rest.AuthProvide } func (t *cachedTokenSource) Token() (*oauth2.Token, error) { - tok := &oauth2.Token{ - AccessToken: t.accessToken, - TokenType: "Bearer", - Expiry: t.expiry, - } + tok := t.cachedToken() if tok.Valid() && !tok.Expiry.IsZero() { return tok, nil } @@ -111,16 +151,39 @@ func (t *cachedTokenSource) Token() (*oauth2.Token, error) { if err != nil { return nil, err } + cache := t.update(tok) if t.persister != nil { - t.cache["access-token"] = tok.AccessToken - t.cache["expiry"] = tok.Expiry.Format(time.RFC3339Nano) - if err := t.persister.Persist(t.cache); err != nil { + if err := t.persister.Persist(cache); err != nil { glog.V(4).Infof("Failed to persist token: %v", err) } } return tok, nil } +func (t *cachedTokenSource) cachedToken() *oauth2.Token { + t.lk.Lock() + defer t.lk.Unlock() + return &oauth2.Token{ + AccessToken: t.accessToken, + TokenType: "Bearer", + Expiry: t.expiry, + } +} + +func (t *cachedTokenSource) update(tok *oauth2.Token) map[string]string { + t.lk.Lock() + defer t.lk.Unlock() + t.accessToken = tok.AccessToken + t.expiry = tok.Expiry + ret := map[string]string{} + for k, v := range t.cache { + ret[k] = v + } + ret["access-token"] = t.accessToken + ret["expiry"] = t.expiry.Format(time.RFC3339Nano) + return ret +} + type commandTokenSource struct { cmd string args []string diff --git a/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp_test.go b/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp_test.go index dfd25bbf1b7..cb64b8380ca 100644 --- a/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp_test.go +++ b/staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp_test.go @@ -20,6 +20,7 @@ import ( "fmt" "reflect" "strings" + "sync" "testing" "time" @@ -141,3 +142,70 @@ func TestCmdTokenSource(t *testing.T) { } } } + +type fakePersister struct { + lk sync.Mutex + cache map[string]string +} + +func (f *fakePersister) Persist(cache map[string]string) error { + f.lk.Lock() + defer f.lk.Unlock() + f.cache = map[string]string{} + for k, v := range cache { + f.cache[k] = v + } + return nil +} + +func (f *fakePersister) read() map[string]string { + ret := map[string]string{} + f.lk.Lock() + for k, v := range f.cache { + ret[k] = v + } + return ret +} + +type fakeTokenSource struct { + token *oauth2.Token + err error +} + +func (f *fakeTokenSource) Token() (*oauth2.Token, error) { + return f.token, f.err +} + +func TestCachedTokenSource(t *testing.T) { + tok := &oauth2.Token{AccessToken: "fakeaccesstoken"} + persister := &fakePersister{} + source := &fakeTokenSource{ + token: tok, + err: nil, + } + cache := map[string]string{ + "foo": "bar", + "baz": "bazinga", + } + ts, err := newCachedTokenSource("fakeaccesstoken", "", persister, source, cache) + if err != nil { + t.Fatal(err) + } + var wg sync.WaitGroup + wg.Add(10) + for i := 0; i < 10; i++ { + go func() { + _, err := ts.Token() + if err != nil { + t.Errorf("unexpected error: %s", err) + } + wg.Done() + }() + } + wg.Wait() + cache["access-token"] = "fakeaccesstoken" + cache["expiry"] = tok.Expiry.Format(time.RFC3339Nano) + if got := persister.read(); !reflect.DeepEqual(got, cache) { + t.Errorf("got cache %v, want %v", got, cache) + } +} diff --git a/staging/src/k8s.io/client-go/rest/client.go b/staging/src/k8s.io/client-go/rest/client.go index 79559edb493..c397a262b5e 100644 --- a/staging/src/k8s.io/client-go/rest/client.go +++ b/staging/src/k8s.io/client-go/rest/client.go @@ -27,8 +27,8 @@ import ( "time" "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/flowcontrol" ) @@ -48,7 +48,7 @@ type Interface interface { Patch(pt api.PatchType) *Request Get() *Request Delete() *Request - APIVersion() unversioned.GroupVersion + APIVersion() schema.GroupVersion } // RESTClient imposes common Kubernetes API conventions on a set of resource paths. @@ -100,7 +100,7 @@ func NewRESTClient(baseURL *url.URL, versionedAPIPath string, config ContentConf base.Fragment = "" if config.GroupVersion == nil { - config.GroupVersion = &unversioned.GroupVersion{} + config.GroupVersion = &schema.GroupVersion{} } if len(config.ContentType) == 0 { config.ContentType = "application/json" @@ -173,7 +173,7 @@ func createSerializers(config ContentConfig) (*Serializers, error) { info = mediaTypes[0] } - internalGV := unversioned.GroupVersions{ + internalGV := schema.GroupVersions{ { Group: config.GroupVersion.Group, Version: runtime.APIVersionInternal, @@ -253,6 +253,6 @@ func (c *RESTClient) Delete() *Request { } // APIVersion returns the APIVersion this RESTClient is expected to use. -func (c *RESTClient) APIVersion() unversioned.GroupVersion { +func (c *RESTClient) APIVersion() schema.GroupVersion { return *c.contentConfig.GroupVersion } diff --git a/staging/src/k8s.io/client-go/rest/client_test.go b/staging/src/k8s.io/client-go/rest/client_test.go index b8a0221bb58..1e0dc0e6811 100644 --- a/staging/src/k8s.io/client-go/rest/client_test.go +++ b/staging/src/k8s.io/client-go/rest/client_test.go @@ -33,6 +33,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/diff" utiltesting "k8s.io/client-go/pkg/util/testing" ) @@ -51,7 +52,7 @@ type TestParam struct { func TestSerializer(t *testing.T) { contentConfig := ContentConfig{ ContentType: "application/json", - GroupVersion: &unversioned.GroupVersion{Group: "other", Version: runtime.APIVersionInternal}, + GroupVersion: &schema.GroupVersion{Group: "other", Version: runtime.APIVersionInternal}, NegotiatedSerializer: api.Codecs, } diff --git a/staging/src/k8s.io/client-go/rest/config.go b/staging/src/k8s.io/client-go/rest/config.go index 37d8756494a..6e316d1238a 100644 --- a/staging/src/k8s.io/client-go/rest/config.go +++ b/staging/src/k8s.io/client-go/rest/config.go @@ -32,6 +32,7 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" certutil "k8s.io/client-go/pkg/util/cert" "k8s.io/client-go/pkg/util/flowcontrol" "k8s.io/client-go/pkg/version" @@ -150,7 +151,7 @@ type ContentConfig struct { // GroupVersion is the API version to talk to. Must be provided when initializing // a RESTClient directly. When initializing a Client, will be set with the default // code version. - GroupVersion *unversioned.GroupVersion + GroupVersion *schema.GroupVersion // NegotiatedSerializer is used for obtaining encoders and decoders for multiple // supported media types. NegotiatedSerializer runtime.NegotiatedSerializer diff --git a/staging/src/k8s.io/client-go/rest/config_test.go b/staging/src/k8s.io/client-go/rest/config_test.go index 168373639d3..c4e62a55668 100644 --- a/staging/src/k8s.io/client-go/rest/config_test.go +++ b/staging/src/k8s.io/client-go/rest/config_test.go @@ -27,9 +27,9 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/testapi" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/diff" "k8s.io/client-go/pkg/util/flowcontrol" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" @@ -133,7 +133,7 @@ func (t *fakeLimiter) Accept() {} type fakeCodec struct{} -func (c *fakeCodec) Decode([]byte, *unversioned.GroupVersionKind, runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error) { +func (c *fakeCodec) Decode([]byte, *schema.GroupVersionKind, runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { return nil, nil, nil } diff --git a/staging/src/k8s.io/client-go/rest/fake/fake.go b/staging/src/k8s.io/client-go/rest/fake/fake.go index 4321ed01372..4ecdd4c3c99 100644 --- a/staging/src/k8s.io/client-go/rest/fake/fake.go +++ b/staging/src/k8s.io/client-go/rest/fake/fake.go @@ -24,9 +24,9 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/testapi" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/util/flowcontrol" "k8s.io/client-go/rest" ) @@ -78,7 +78,7 @@ func (c *RESTClient) Verb(verb string) *rest.Request { return c.request(verb) } -func (c *RESTClient) APIVersion() unversioned.GroupVersion { +func (c *RESTClient) APIVersion() schema.GroupVersion { return *(testapi.Default.GroupVersion()) } @@ -99,7 +99,7 @@ func (c *RESTClient) request(verb string) *rest.Request { } ns := c.NegotiatedSerializer info, _ := runtime.SerializerInfoForMediaType(ns.SupportedMediaTypes(), runtime.ContentTypeJSON) - internalVersion := unversioned.GroupVersion{ + internalVersion := schema.GroupVersion{ Group: registered.GroupOrDie(groupName).GroupVersion.Group, Version: runtime.APIVersionInternal, } diff --git a/staging/src/k8s.io/client-go/rest/request.go b/staging/src/k8s.io/client-go/rest/request.go index f5926e3b9f0..460ac9743bd 100644 --- a/staging/src/k8s.io/client-go/rest/request.go +++ b/staging/src/k8s.io/client-go/rest/request.go @@ -39,6 +39,7 @@ import ( "k8s.io/client-go/pkg/fields" "k8s.io/client-go/pkg/labels" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/streaming" "k8s.io/client-go/pkg/util/flowcontrol" "k8s.io/client-go/pkg/util/net" @@ -333,10 +334,10 @@ func (r resourceTypeToFieldMapping) filterField(resourceType, field, value strin return fMapping.filterField(field, value) } -type versionToResourceToFieldMapping map[unversioned.GroupVersion]resourceTypeToFieldMapping +type versionToResourceToFieldMapping map[schema.GroupVersion]resourceTypeToFieldMapping // filterField transforms the given field/value selector for the given groupVersion and resource -func (v versionToResourceToFieldMapping) filterField(groupVersion *unversioned.GroupVersion, resourceType, field, value string) (newField, newValue string, err error) { +func (v versionToResourceToFieldMapping) filterField(groupVersion *schema.GroupVersion, resourceType, field, value string) (newField, newValue string, err error) { rMapping, ok := v[*groupVersion] if !ok { // no groupVersion overrides registered, default to identity mapping @@ -1001,7 +1002,7 @@ func (r *Request) newUnstructuredResponseError(body []byte, isTextResponse bool, return errors.NewGenericServerResponse( statusCode, method, - unversioned.GroupResource{ + schema.GroupResource{ Group: r.content.GroupVersion.Group, Resource: r.resource, }, @@ -1146,7 +1147,7 @@ func (r Result) Error() error { // attempt to convert the body into a Status object // to be backwards compatible with old servers that do not return a version, default to "v1" - out, _, err := r.decoder.Decode(r.body, &unversioned.GroupVersionKind{Version: "v1"}, nil) + out, _, err := r.decoder.Decode(r.body, &schema.GroupVersionKind{Version: "v1"}, nil) if err != nil { glog.V(5).Infof("body was not decodable (unable to check for Status): %v", err) return r.err diff --git a/staging/src/k8s.io/client-go/rest/request_test.go b/staging/src/k8s.io/client-go/rest/request_test.go index 1771374dd2c..c647a5e8c7d 100755 --- a/staging/src/k8s.io/client-go/rest/request_test.go +++ b/staging/src/k8s.io/client-go/rest/request_test.go @@ -39,6 +39,7 @@ import ( "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/labels" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/streaming" "k8s.io/client-go/pkg/util/clock" "k8s.io/client-go/pkg/util/diff" @@ -270,8 +271,8 @@ func TestRequestURI(t *testing.T) { type NotAnAPIObject struct{} -func (obj NotAnAPIObject) GroupVersionKind() *unversioned.GroupVersionKind { return nil } -func (obj NotAnAPIObject) SetGroupVersionKind(gvk *unversioned.GroupVersionKind) {} +func (obj NotAnAPIObject) GroupVersionKind() *schema.GroupVersionKind { return nil } +func (obj NotAnAPIObject) SetGroupVersionKind(gvk *schema.GroupVersionKind) {} func defaultContentConfig() ContentConfig { return ContentConfig{ @@ -327,7 +328,7 @@ func TestResultIntoWithErrReturnsErr(t *testing.T) { func TestURLTemplate(t *testing.T) { uri, _ := url.Parse("http://localhost") - r := NewRequest(nil, "POST", uri, "", ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "test"}}, Serializers{}, nil, nil) + r := NewRequest(nil, "POST", uri, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil) r.Prefix("pre1").Resource("r1").Namespace("ns").Name("nm").Param("p0", "v0") full := r.URL() if full.String() != "http://localhost/pre1/namespaces/ns/r1/nm?p0=v0" { @@ -1412,7 +1413,7 @@ func TestAbsPath(t *testing.T) { {"/p1/api/p2", "/api/r1", "/api/", "/p1/api/p2/api/"}, } { u, _ := url.Parse("http://localhost:123" + tc.configPrefix) - r := NewRequest(nil, "POST", u, "", ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).Prefix(tc.resourcePrefix).AbsPath(tc.absPath) + r := NewRequest(nil, "POST", u, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).Prefix(tc.resourcePrefix).AbsPath(tc.absPath) if r.pathPrefix != tc.wantsAbsPath { t.Errorf("test case %d failed, unexpected path: %q, expected %q", i, r.pathPrefix, tc.wantsAbsPath) } @@ -1432,7 +1433,7 @@ func TestUintParam(t *testing.T) { for _, item := range table { u, _ := url.Parse("http://localhost") - r := NewRequest(nil, "GET", u, "", ContentConfig{GroupVersion: &unversioned.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).AbsPath("").UintParam(item.name, item.testVal) + r := NewRequest(nil, "GET", u, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).AbsPath("").UintParam(item.name, item.testVal) if e, a := item.expectStr, r.URL().String(); e != a { t.Errorf("expected %v, got %v", e, a) } diff --git a/staging/src/k8s.io/client-go/rest/url_utils.go b/staging/src/k8s.io/client-go/rest/url_utils.go index 46da9910112..052798e7b6d 100644 --- a/staging/src/k8s.io/client-go/rest/url_utils.go +++ b/staging/src/k8s.io/client-go/rest/url_utils.go @@ -21,13 +21,13 @@ import ( "net/url" "path" - "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/runtime/schema" ) // DefaultServerURL converts a host, host:port, or URL string to the default base server API path // to use with a Client at a given API version following the standard conventions for a // Kubernetes API. -func DefaultServerURL(host, apiPath string, groupVersion unversioned.GroupVersion, defaultTLS bool) (*url.URL, string, error) { +func DefaultServerURL(host, apiPath string, groupVersion schema.GroupVersion, defaultTLS bool) (*url.URL, string, error) { if host == "" { return nil, "", fmt.Errorf("host must be a URL or a host:port pair") } @@ -89,5 +89,5 @@ func defaultServerUrlFor(config *Config) (*url.URL, string, error) { if config.GroupVersion != nil { return DefaultServerURL(host, config.APIPath, *config.GroupVersion, defaultTLS) } - return DefaultServerURL(host, config.APIPath, unversioned.GroupVersion{}, defaultTLS) + return DefaultServerURL(host, config.APIPath, schema.GroupVersion{}, defaultTLS) } diff --git a/staging/src/k8s.io/client-go/testing/actions.go b/staging/src/k8s.io/client-go/testing/actions.go index c8f955c348d..4708c2250c5 100644 --- a/staging/src/k8s.io/client-go/testing/actions.go +++ b/staging/src/k8s.io/client-go/testing/actions.go @@ -22,14 +22,14 @@ import ( "strings" "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/fields" "k8s.io/client-go/pkg/labels" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) -func NewRootGetAction(resource unversioned.GroupVersionResource, name string) GetActionImpl { +func NewRootGetAction(resource schema.GroupVersionResource, name string) GetActionImpl { action := GetActionImpl{} action.Verb = "get" action.Resource = resource @@ -38,7 +38,7 @@ func NewRootGetAction(resource unversioned.GroupVersionResource, name string) Ge return action } -func NewGetAction(resource unversioned.GroupVersionResource, namespace, name string) GetActionImpl { +func NewGetAction(resource schema.GroupVersionResource, namespace, name string) GetActionImpl { action := GetActionImpl{} action.Verb = "get" action.Resource = resource @@ -48,7 +48,7 @@ func NewGetAction(resource unversioned.GroupVersionResource, namespace, name str return action } -func NewRootListAction(resource unversioned.GroupVersionResource, opts interface{}) ListActionImpl { +func NewRootListAction(resource schema.GroupVersionResource, opts interface{}) ListActionImpl { action := ListActionImpl{} action.Verb = "list" action.Resource = resource @@ -58,7 +58,7 @@ func NewRootListAction(resource unversioned.GroupVersionResource, opts interface return action } -func NewListAction(resource unversioned.GroupVersionResource, namespace string, opts interface{}) ListActionImpl { +func NewListAction(resource schema.GroupVersionResource, namespace string, opts interface{}) ListActionImpl { action := ListActionImpl{} action.Verb = "list" action.Resource = resource @@ -69,7 +69,7 @@ func NewListAction(resource unversioned.GroupVersionResource, namespace string, return action } -func NewRootCreateAction(resource unversioned.GroupVersionResource, object runtime.Object) CreateActionImpl { +func NewRootCreateAction(resource schema.GroupVersionResource, object runtime.Object) CreateActionImpl { action := CreateActionImpl{} action.Verb = "create" action.Resource = resource @@ -78,7 +78,7 @@ func NewRootCreateAction(resource unversioned.GroupVersionResource, object runti return action } -func NewCreateAction(resource unversioned.GroupVersionResource, namespace string, object runtime.Object) CreateActionImpl { +func NewCreateAction(resource schema.GroupVersionResource, namespace string, object runtime.Object) CreateActionImpl { action := CreateActionImpl{} action.Verb = "create" action.Resource = resource @@ -88,7 +88,7 @@ func NewCreateAction(resource unversioned.GroupVersionResource, namespace string return action } -func NewRootUpdateAction(resource unversioned.GroupVersionResource, object runtime.Object) UpdateActionImpl { +func NewRootUpdateAction(resource schema.GroupVersionResource, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -97,7 +97,7 @@ func NewRootUpdateAction(resource unversioned.GroupVersionResource, object runti return action } -func NewUpdateAction(resource unversioned.GroupVersionResource, namespace string, object runtime.Object) UpdateActionImpl { +func NewUpdateAction(resource schema.GroupVersionResource, namespace string, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -107,7 +107,7 @@ func NewUpdateAction(resource unversioned.GroupVersionResource, namespace string return action } -func NewRootPatchAction(resource unversioned.GroupVersionResource, name string, patch []byte) PatchActionImpl { +func NewRootPatchAction(resource schema.GroupVersionResource, name string, patch []byte) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -117,7 +117,7 @@ func NewRootPatchAction(resource unversioned.GroupVersionResource, name string, return action } -func NewPatchAction(resource unversioned.GroupVersionResource, namespace string, name string, patch []byte) PatchActionImpl { +func NewPatchAction(resource schema.GroupVersionResource, namespace string, name string, patch []byte) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -128,7 +128,7 @@ func NewPatchAction(resource unversioned.GroupVersionResource, namespace string, return action } -func NewRootPatchSubresourceAction(resource unversioned.GroupVersionResource, name string, patch []byte, subresources ...string) PatchActionImpl { +func NewRootPatchSubresourceAction(resource schema.GroupVersionResource, name string, patch []byte, subresources ...string) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -139,7 +139,7 @@ func NewRootPatchSubresourceAction(resource unversioned.GroupVersionResource, na return action } -func NewPatchSubresourceAction(resource unversioned.GroupVersionResource, namespace, name string, patch []byte, subresources ...string) PatchActionImpl { +func NewPatchSubresourceAction(resource schema.GroupVersionResource, namespace, name string, patch []byte, subresources ...string) PatchActionImpl { action := PatchActionImpl{} action.Verb = "patch" action.Resource = resource @@ -151,7 +151,7 @@ func NewPatchSubresourceAction(resource unversioned.GroupVersionResource, namesp return action } -func NewRootUpdateSubresourceAction(resource unversioned.GroupVersionResource, subresource string, object runtime.Object) UpdateActionImpl { +func NewRootUpdateSubresourceAction(resource schema.GroupVersionResource, subresource string, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -160,7 +160,7 @@ func NewRootUpdateSubresourceAction(resource unversioned.GroupVersionResource, s return action } -func NewUpdateSubresourceAction(resource unversioned.GroupVersionResource, subresource string, namespace string, object runtime.Object) UpdateActionImpl { +func NewUpdateSubresourceAction(resource schema.GroupVersionResource, subresource string, namespace string, object runtime.Object) UpdateActionImpl { action := UpdateActionImpl{} action.Verb = "update" action.Resource = resource @@ -171,7 +171,7 @@ func NewUpdateSubresourceAction(resource unversioned.GroupVersionResource, subre return action } -func NewRootDeleteAction(resource unversioned.GroupVersionResource, name string) DeleteActionImpl { +func NewRootDeleteAction(resource schema.GroupVersionResource, name string) DeleteActionImpl { action := DeleteActionImpl{} action.Verb = "delete" action.Resource = resource @@ -180,7 +180,7 @@ func NewRootDeleteAction(resource unversioned.GroupVersionResource, name string) return action } -func NewDeleteAction(resource unversioned.GroupVersionResource, namespace, name string) DeleteActionImpl { +func NewDeleteAction(resource schema.GroupVersionResource, namespace, name string) DeleteActionImpl { action := DeleteActionImpl{} action.Verb = "delete" action.Resource = resource @@ -190,7 +190,7 @@ func NewDeleteAction(resource unversioned.GroupVersionResource, namespace, name return action } -func NewRootDeleteCollectionAction(resource unversioned.GroupVersionResource, opts interface{}) DeleteCollectionActionImpl { +func NewRootDeleteCollectionAction(resource schema.GroupVersionResource, opts interface{}) DeleteCollectionActionImpl { action := DeleteCollectionActionImpl{} action.Verb = "delete-collection" action.Resource = resource @@ -200,7 +200,7 @@ func NewRootDeleteCollectionAction(resource unversioned.GroupVersionResource, op return action } -func NewDeleteCollectionAction(resource unversioned.GroupVersionResource, namespace string, opts interface{}) DeleteCollectionActionImpl { +func NewDeleteCollectionAction(resource schema.GroupVersionResource, namespace string, opts interface{}) DeleteCollectionActionImpl { action := DeleteCollectionActionImpl{} action.Verb = "delete-collection" action.Resource = resource @@ -211,7 +211,7 @@ func NewDeleteCollectionAction(resource unversioned.GroupVersionResource, namesp return action } -func NewRootWatchAction(resource unversioned.GroupVersionResource, opts interface{}) WatchActionImpl { +func NewRootWatchAction(resource schema.GroupVersionResource, opts interface{}) WatchActionImpl { action := WatchActionImpl{} action.Verb = "watch" action.Resource = resource @@ -250,7 +250,7 @@ func ExtractFromListOptions(opts interface{}) (labelSelector labels.Selector, fi return labelSelector, fieldSelector, resourceVersion } -func NewWatchAction(resource unversioned.GroupVersionResource, namespace string, opts interface{}) WatchActionImpl { +func NewWatchAction(resource schema.GroupVersionResource, namespace string, opts interface{}) WatchActionImpl { action := WatchActionImpl{} action.Verb = "watch" action.Resource = resource @@ -261,7 +261,7 @@ func NewWatchAction(resource unversioned.GroupVersionResource, namespace string, return action } -func NewProxyGetAction(resource unversioned.GroupVersionResource, namespace, scheme, name, port, path string, params map[string]string) ProxyGetActionImpl { +func NewProxyGetAction(resource schema.GroupVersionResource, namespace, scheme, name, port, path string, params map[string]string) ProxyGetActionImpl { action := ProxyGetActionImpl{} action.Verb = "get" action.Resource = resource @@ -287,7 +287,7 @@ type WatchRestrictions struct { type Action interface { GetNamespace() string GetVerb() string - GetResource() unversioned.GroupVersionResource + GetResource() schema.GroupVersionResource GetSubresource() string Matches(verb, resource string) bool } @@ -339,7 +339,7 @@ type ProxyGetAction interface { type ActionImpl struct { Namespace string Verb string - Resource unversioned.GroupVersionResource + Resource schema.GroupVersionResource Subresource string } @@ -349,7 +349,7 @@ func (a ActionImpl) GetNamespace() string { func (a ActionImpl) GetVerb() string { return a.Verb } -func (a ActionImpl) GetResource() unversioned.GroupVersionResource { +func (a ActionImpl) GetResource() schema.GroupVersionResource { return a.Resource } func (a ActionImpl) GetSubresource() string { diff --git a/staging/src/k8s.io/client-go/testing/fake.go b/staging/src/k8s.io/client-go/testing/fake.go index 82e9efbf271..192e635c1f4 100644 --- a/staging/src/k8s.io/client-go/testing/fake.go +++ b/staging/src/k8s.io/client-go/testing/fake.go @@ -22,6 +22,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/version" "k8s.io/client-go/pkg/watch" "k8s.io/client-go/rest" @@ -221,7 +222,7 @@ type FakeDiscovery struct { func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*unversioned.APIResourceList, error) { action := ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources[groupVersion], nil @@ -230,7 +231,7 @@ func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*un func (c *FakeDiscovery) ServerResources() (map[string]*unversioned.APIResourceList, error) { action := ActionImpl{ Verb: "get", - Resource: unversioned.GroupVersionResource{Resource: "resource"}, + Resource: schema.GroupVersionResource{Resource: "resource"}, } c.Invokes(action, nil) return c.Resources, nil @@ -243,7 +244,7 @@ func (c *FakeDiscovery) ServerGroups() (*unversioned.APIGroupList, error) { func (c *FakeDiscovery) ServerVersion() (*version.Info, error) { action := ActionImpl{} action.Verb = "get" - action.Resource = unversioned.GroupVersionResource{Resource: "version"} + action.Resource = schema.GroupVersionResource{Resource: "version"} c.Invokes(action, nil) versionInfo := version.Get() diff --git a/staging/src/k8s.io/client-go/testing/fixture.go b/staging/src/k8s.io/client-go/testing/fixture.go index 2a2d88c18f6..b8afc9fac16 100644 --- a/staging/src/k8s.io/client-go/testing/fixture.go +++ b/staging/src/k8s.io/client-go/testing/fixture.go @@ -25,6 +25,7 @@ import ( "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/apimachinery/registered" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/watch" "k8s.io/client-go/rest" ) @@ -38,19 +39,19 @@ type ObjectTracker interface { Add(obj runtime.Object) error // Get retrieves the object by its kind, namespace and name. - Get(gvk unversioned.GroupVersionKind, ns, name string) (runtime.Object, error) + Get(gvk schema.GroupVersionKind, ns, name string) (runtime.Object, error) // Update updates an existing object in the tracker. Update(obj runtime.Object) error // List retrieves all objects of a given kind in the given // namespace. Only non-List kinds are accepted. - List(gvk unversioned.GroupVersionKind, ns string) (runtime.Object, error) + List(gvk schema.GroupVersionKind, ns string) (runtime.Object, error) // Delete deletes an existing object from the tracker. If object // didn't exist in the tracker prior to deletion, Delete returns // no error. - Delete(gvk unversioned.GroupVersionKind, ns, name string) error + Delete(gvk schema.GroupVersionKind, ns, name string) error } // ObjectScheme abstracts the implementation of common operations on objects. @@ -143,7 +144,7 @@ type tracker struct { scheme ObjectScheme decoder runtime.Decoder lock sync.RWMutex - objects map[unversioned.GroupVersionKind][]runtime.Object + objects map[schema.GroupVersionKind][]runtime.Object } var _ ObjectTracker = &tracker{} @@ -154,11 +155,11 @@ func NewObjectTracker(scheme ObjectScheme, decoder runtime.Decoder) ObjectTracke return &tracker{ scheme: scheme, decoder: decoder, - objects: make(map[unversioned.GroupVersionKind][]runtime.Object), + objects: make(map[schema.GroupVersionKind][]runtime.Object), } } -func (t *tracker) List(gvk unversioned.GroupVersionKind, ns string) (runtime.Object, error) { +func (t *tracker) List(gvk schema.GroupVersionKind, ns string) (runtime.Object, error) { // Heuristic for list kind: original kind + List suffix. Might // not always be true but this tracker has a pretty limited // understanding of the actual API model. @@ -195,12 +196,12 @@ func (t *tracker) List(gvk unversioned.GroupVersionKind, ns string) (runtime.Obj return list, nil } -func (t *tracker) Get(gvk unversioned.GroupVersionKind, ns, name string) (runtime.Object, error) { +func (t *tracker) Get(gvk schema.GroupVersionKind, ns, name string) (runtime.Object, error) { if err := checkNamespace(gvk, ns); err != nil { return nil, err } - errNotFound := errors.NewNotFound(unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) + errNotFound := errors.NewNotFound(schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) t.lock.RLock() defer t.lock.RUnlock() @@ -266,7 +267,7 @@ func (t *tracker) add(obj runtime.Object, replaceExisting bool) error { defer t.lock.Unlock() for _, gvk := range gvks { - gr := unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind} + gr := schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind} // To avoid the object from being accidentally modified by caller // after it's been added to the tracker, we always store the deep @@ -332,7 +333,7 @@ func (t *tracker) addList(obj runtime.Object, replaceExisting bool) error { return nil } -func (t *tracker) Delete(gvk unversioned.GroupVersionKind, ns, name string) error { +func (t *tracker) Delete(gvk schema.GroupVersionKind, ns, name string) error { if err := checkNamespace(gvk, ns); err != nil { return err } @@ -358,7 +359,7 @@ func (t *tracker) Delete(gvk unversioned.GroupVersionKind, ns, name string) erro return nil } - return errors.NewNotFound(unversioned.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) + return errors.NewNotFound(schema.GroupResource{Group: gvk.Group, Resource: gvk.Kind}, name) } // filterByNamespaceAndName returns all objects in the collection that @@ -387,7 +388,7 @@ func filterByNamespaceAndName(objs []runtime.Object, ns, name string) ([]runtime // checkNamespace makes sure that the scope of gvk matches ns. It // returns an error if namespace is empty but gvk is a namespaced // kind, or if ns is non-empty and gvk is a namespaced kind. -func checkNamespace(gvk unversioned.GroupVersionKind, ns string) error { +func checkNamespace(gvk schema.GroupVersionKind, ns string) error { group, err := registered.Group(gvk.Group) if err != nil { return err diff --git a/staging/src/k8s.io/client-go/tools/cache/controller_test.go b/staging/src/k8s.io/client-go/tools/cache/controller_test.go index 2e74c11ec9f..022e21f080d 100644 --- a/staging/src/k8s.io/client-go/tools/cache/controller_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/controller_test.go @@ -23,7 +23,7 @@ import ( "testing" "time" - "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/util/sets" "k8s.io/client-go/pkg/util/wait" @@ -51,7 +51,7 @@ func Example() { cfg := &Config{ Queue: fifo, ListerWatcher: source, - ObjectType: &api.Pod{}, + ObjectType: &v1.Pod{}, FullResyncPeriod: time.Millisecond * 100, RetryOnError: false, @@ -101,7 +101,7 @@ func Example() { for _, name := range testIDs { // Note that these pods are not valid-- the fake source doesn't // call validation or anything. - source.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: name}}) + source.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: name}}) } // Let's wait for the controller to process the things we just added. @@ -130,7 +130,7 @@ func ExampleNewInformer() { // logs anything deleted. _, controller := NewInformer( source, - &api.Pod{}, + &v1.Pod{}, time.Millisecond*100, ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { @@ -158,7 +158,7 @@ func ExampleNewInformer() { for _, name := range testIDs { // Note that these pods are not valid-- the fake source doesn't // call validation or anything. - source.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: name}}) + source.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: name}}) } // Let's wait for the controller to process the things we just added. @@ -206,7 +206,7 @@ func TestHammerController(t *testing.T) { // Make a controller which just logs all the changes it gets. _, controller := NewInformer( source, - &api.Pod{}, + &v1.Pod{}, time.Millisecond*100, ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { recordFunc("add", obj) }, @@ -253,7 +253,7 @@ func TestHammerController(t *testing.T) { name = l[r.Intn(len(l))] } - pod := &api.Pod{} + pod := &v1.Pod{} f.Fuzz(pod) pod.ObjectMeta.Name = name pod.ObjectMeta.Namespace = "default" @@ -315,9 +315,9 @@ func TestUpdate(t *testing.T) { pair{FROM, FROM}: true, } - pod := func(name, check string, final bool) *api.Pod { - p := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := func(name, check string, final bool) *v1.Pod { + p := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: name, Labels: map[string]string{"check": check}, }, @@ -327,7 +327,7 @@ func TestUpdate(t *testing.T) { } return p } - deletePod := func(p *api.Pod) bool { + deletePod := func(p *v1.Pod) bool { return p.Labels["final"] == "true" } @@ -350,20 +350,20 @@ func TestUpdate(t *testing.T) { watchCh := make(chan struct{}) _, controller := NewInformer( &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { watch, err := source.Watch(options) close(watchCh) return watch, err }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { return source.List(options) }, }, - &api.Pod{}, + &v1.Pod{}, 0, ResourceEventHandlerFuncs{ UpdateFunc: func(oldObj, newObj interface{}) { - o, n := oldObj.(*api.Pod), newObj.(*api.Pod) + o, n := oldObj.(*v1.Pod), newObj.(*v1.Pod) from, to := o.Labels["check"], n.Labels["check"] if !allowedTransitions[pair{from, to}] { t.Errorf("observed transition %q -> %q for %v", from, to, n.Name) diff --git a/staging/src/k8s.io/client-go/tools/cache/index_test.go b/staging/src/k8s.io/client-go/tools/cache/index_test.go index 6794364738a..07cb8ac5297 100644 --- a/staging/src/k8s.io/client-go/tools/cache/index_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/index_test.go @@ -21,19 +21,20 @@ import ( "testing" "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/api/v1" ) func testIndexFunc(obj interface{}) ([]string, error) { - pod := obj.(*api.Pod) + pod := obj.(*v1.Pod) return []string{pod.Labels["foo"]}, nil } func TestGetIndexFuncValues(t *testing.T) { index := NewIndexer(MetaNamespaceKeyFunc, Indexers{"testmodes": testIndexFunc}) - pod1 := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "one", Labels: map[string]string{"foo": "bar"}}} - pod2 := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "two", Labels: map[string]string{"foo": "bar"}}} - pod3 := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "tre", Labels: map[string]string{"foo": "biz"}}} + pod1 := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "one", Labels: map[string]string{"foo": "bar"}}} + pod2 := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "two", Labels: map[string]string{"foo": "bar"}}} + pod3 := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "tre", Labels: map[string]string{"foo": "biz"}}} index.Add(pod1) index.Add(pod2) @@ -52,7 +53,7 @@ func TestGetIndexFuncValues(t *testing.T) { } func testUsersIndexFunc(obj interface{}) ([]string, error) { - pod := obj.(*api.Pod) + pod := obj.(*v1.Pod) usersString := pod.Annotations["users"] return strings.Split(usersString, ","), nil @@ -61,9 +62,9 @@ func testUsersIndexFunc(obj interface{}) ([]string, error) { func TestMultiIndexKeys(t *testing.T) { index := NewIndexer(MetaNamespaceKeyFunc, Indexers{"byUser": testUsersIndexFunc}) - pod1 := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "one", Annotations: map[string]string{"users": "ernie,bert"}}} - pod2 := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "two", Annotations: map[string]string{"users": "bert,oscar"}}} - pod3 := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "tre", Annotations: map[string]string{"users": "ernie,elmo"}}} + pod1 := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "one", Annotations: map[string]string{"users": "ernie,bert"}}} + pod2 := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "two", Annotations: map[string]string{"users": "bert,oscar"}}} + pod3 := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "tre", Annotations: map[string]string{"users": "ernie,elmo"}}} index.Add(pod1) index.Add(pod2) @@ -121,7 +122,7 @@ func TestMultiIndexKeys(t *testing.T) { if err != nil { t.Errorf("unexpected error: %v", err) } - copyOfPod2 := obj.(*api.Pod) + copyOfPod2 := obj.(*v1.Pod) copyOfPod2.Annotations["users"] = "oscar" index.Update(copyOfPod2) bertPods, err = index.ByIndex("byUser", "bert") diff --git a/staging/src/k8s.io/client-go/tools/cache/listers.go b/staging/src/k8s.io/client-go/tools/cache/listers.go index eafac197af0..6fa98f20196 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listers.go +++ b/staging/src/k8s.io/client-go/tools/cache/listers.go @@ -20,17 +20,19 @@ import ( "fmt" "github.com/golang/glog" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/errors" "k8s.io/client-go/pkg/api/meta" "k8s.io/client-go/pkg/api/unversioned" - "k8s.io/client-go/pkg/apis/apps" - "k8s.io/client-go/pkg/apis/certificates" - "k8s.io/client-go/pkg/apis/extensions" - "k8s.io/client-go/pkg/apis/policy" - "k8s.io/client-go/pkg/apis/storage" + "k8s.io/client-go/pkg/api/v1" + apps "k8s.io/client-go/pkg/apis/apps/v1beta1" + certificates "k8s.io/client-go/pkg/apis/certificates/v1alpha1" + extensions "k8s.io/client-go/pkg/apis/extensions/v1beta1" + policy "k8s.io/client-go/pkg/apis/policy/v1beta1" + storageinternal "k8s.io/client-go/pkg/apis/storage" + storage "k8s.io/client-go/pkg/apis/storage/v1beta1" "k8s.io/client-go/pkg/labels" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // AppendFunc is used to add a matching item to whatever list the caller is using @@ -50,7 +52,7 @@ func ListAll(store Store, selector labels.Selector, appendFn AppendFunc) error { } func ListAllByNamespace(indexer Indexer, namespace string, selector labels.Selector, appendFn AppendFunc) error { - if namespace == api.NamespaceAll { + if namespace == v1.NamespaceAll { for _, m := range indexer.List() { metadata, err := meta.Accessor(m) if err != nil { @@ -63,7 +65,7 @@ func ListAllByNamespace(indexer Indexer, namespace string, selector labels.Selec return nil } - items, err := indexer.Index(NamespaceIndex, &api.ObjectMeta{Namespace: namespace}) + items, err := indexer.Index(NamespaceIndex, &v1.ObjectMeta{Namespace: namespace}) if err != nil { // Ignore error; do slow search without index. glog.Warningf("can not retrieve list of objects using index : %v", err) @@ -110,13 +112,13 @@ type GenericNamespaceLister interface { Get(name string) (runtime.Object, error) } -func NewGenericLister(indexer Indexer, resource unversioned.GroupResource) GenericLister { +func NewGenericLister(indexer Indexer, resource schema.GroupResource) GenericLister { return &genericLister{indexer: indexer, resource: resource} } type genericLister struct { indexer Indexer - resource unversioned.GroupResource + resource schema.GroupResource } func (s *genericLister) List(selector labels.Selector) (ret []runtime.Object, err error) { @@ -144,7 +146,7 @@ func (s *genericLister) Get(name string) (runtime.Object, error) { type genericNamespaceLister struct { indexer Indexer namespace string - resource unversioned.GroupResource + resource schema.GroupResource } func (s *genericNamespaceLister) List(selector labels.Selector) (ret []runtime.Object, err error) { @@ -170,7 +172,7 @@ func (s *genericNamespaceLister) Get(name string) (runtime.Object, error) { // NodeConditionPredicate is a function that indicates whether the given node's conditions meet // some set of criteria defined by the function. -type NodeConditionPredicate func(node *api.Node) bool +type NodeConditionPredicate func(node *v1.Node) bool // StoreToNodeLister makes a Store have the List method of the client.NodeInterface // The Store must contain (only) Nodes. @@ -178,9 +180,9 @@ type StoreToNodeLister struct { Store } -func (s *StoreToNodeLister) List() (machines api.NodeList, err error) { +func (s *StoreToNodeLister) List() (machines v1.NodeList, err error) { for _, m := range s.Store.List() { - machines.Items = append(machines.Items, *(m.(*api.Node))) + machines.Items = append(machines.Items, *(m.(*v1.Node))) } return machines, nil } @@ -199,9 +201,9 @@ type storeToNodeConditionLister struct { } // List returns a list of nodes that match the conditions defined by the predicate functions in the storeToNodeConditionLister. -func (s storeToNodeConditionLister) List() (nodes []*api.Node, err error) { +func (s storeToNodeConditionLister) List() (nodes []*v1.Node, err error) { for _, m := range s.store.List() { - node := m.(*api.Node) + node := m.(*v1.Node) if s.predicate(node) { nodes = append(nodes, node) } else { @@ -236,7 +238,7 @@ func (s *StoreToDaemonSetLister) List() (dss extensions.DaemonSetList, err error // GetPodDaemonSets returns a list of daemon sets managing a pod. // Returns an error if and only if no matching daemon sets are found. -func (s *StoreToDaemonSetLister) GetPodDaemonSets(pod *api.Pod) (daemonSets []extensions.DaemonSet, err error) { +func (s *StoreToDaemonSetLister) GetPodDaemonSets(pod *v1.Pod) (daemonSets []extensions.DaemonSet, err error) { var selector labels.Selector var daemonSet extensions.DaemonSet @@ -274,17 +276,17 @@ type StoreToEndpointsLister struct { } // List lists all endpoints in the store. -func (s *StoreToEndpointsLister) List() (services api.EndpointsList, err error) { +func (s *StoreToEndpointsLister) List() (services v1.EndpointsList, err error) { for _, m := range s.Store.List() { - services.Items = append(services.Items, *(m.(*api.Endpoints))) + services.Items = append(services.Items, *(m.(*v1.Endpoints))) } return services, nil } // GetServiceEndpoints returns the endpoints of a service, matched on service name. -func (s *StoreToEndpointsLister) GetServiceEndpoints(svc *api.Service) (ep api.Endpoints, err error) { +func (s *StoreToEndpointsLister) GetServiceEndpoints(svc *v1.Service) (ep v1.Endpoints, err error) { for _, m := range s.Store.List() { - ep = *m.(*api.Endpoints) + ep = *m.(*v1.Endpoints) if svc.Name == ep.Name && svc.Namespace == ep.Namespace { return ep, nil } @@ -299,8 +301,8 @@ type StoreToPVFetcher struct { } // GetPersistentVolumeInfo returns cached data for the PersistentVolume 'id'. -func (s *StoreToPVFetcher) GetPersistentVolumeInfo(id string) (*api.PersistentVolume, error) { - o, exists, err := s.Get(&api.PersistentVolume{ObjectMeta: api.ObjectMeta{Name: id}}) +func (s *StoreToPVFetcher) GetPersistentVolumeInfo(id string) (*v1.PersistentVolume, error) { + o, exists, err := s.Get(&v1.PersistentVolume{ObjectMeta: v1.ObjectMeta{Name: id}}) if err != nil { return nil, fmt.Errorf("error retrieving PersistentVolume '%v' from cache: %v", id, err) @@ -310,7 +312,7 @@ func (s *StoreToPVFetcher) GetPersistentVolumeInfo(id string) (*api.PersistentVo return nil, fmt.Errorf("PersistentVolume '%v' not found", id) } - return o.(*api.PersistentVolume), nil + return o.(*v1.PersistentVolume), nil } // StoreToStatefulSetLister gives a store List and Exists methods. The store must contain only StatefulSets. @@ -345,7 +347,7 @@ func (s *StoreToStatefulSetLister) StatefulSets(namespace string) storeStatefulS } // GetPodStatefulSets returns a list of StatefulSets managing a pod. Returns an error only if no matching StatefulSets are found. -func (s *StoreToStatefulSetLister) GetPodStatefulSets(pod *api.Pod) (psList []apps.StatefulSet, err error) { +func (s *StoreToStatefulSetLister) GetPodStatefulSets(pod *v1.Pod) (psList []apps.StatefulSet, err error) { var selector labels.Selector var ps apps.StatefulSet @@ -404,7 +406,7 @@ type StoreToPodDisruptionBudgetLister struct { } // GetPodPodDisruptionBudgets returns a list of PodDisruptionBudgets matching a pod. Returns an error only if no matching PodDisruptionBudgets are found. -func (s *StoreToPodDisruptionBudgetLister) GetPodPodDisruptionBudgets(pod *api.Pod) (pdbList []policy.PodDisruptionBudget, err error) { +func (s *StoreToPodDisruptionBudgetLister) GetPodPodDisruptionBudgets(pod *v1.Pod) (pdbList []policy.PodDisruptionBudget, err error) { var selector labels.Selector if len(pod.Labels) == 0 { @@ -466,13 +468,13 @@ func (s *storageClassLister) List(selector labels.Selector) (ret []*storage.Stor // List returns a list of storage classes func (s *storageClassLister) Get(name string) (*storage.StorageClass, error) { - key := &storage.StorageClass{ObjectMeta: api.ObjectMeta{Name: name}} + key := &storage.StorageClass{ObjectMeta: v1.ObjectMeta{Name: name}} obj, exists, err := s.indexer.Get(key) if err != nil { return nil, err } if !exists { - return nil, errors.NewNotFound(storage.Resource("storageclass"), name) + return nil, errors.NewNotFound(storageinternal.Resource("storageclass"), name) } return obj.(*storage.StorageClass), nil } diff --git a/staging/src/k8s.io/client-go/tools/cache/listers_core.go b/staging/src/k8s.io/client-go/tools/cache/listers_core.go index b9038e4ae7b..19d613c3144 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listers_core.go +++ b/staging/src/k8s.io/client-go/tools/cache/listers_core.go @@ -21,6 +21,7 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/errors" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/labels" ) @@ -40,9 +41,9 @@ type StoreToPodLister struct { Indexer Indexer } -func (s *StoreToPodLister) List(selector labels.Selector) (ret []*api.Pod, err error) { +func (s *StoreToPodLister) List(selector labels.Selector) (ret []*v1.Pod, err error) { err = ListAll(s.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.Pod)) + ret = append(ret, m.(*v1.Pod)) }) return ret, err } @@ -56,14 +57,14 @@ type storePodsNamespacer struct { namespace string } -func (s storePodsNamespacer) List(selector labels.Selector) (ret []*api.Pod, err error) { +func (s storePodsNamespacer) List(selector labels.Selector) (ret []*v1.Pod, err error) { err = ListAllByNamespace(s.Indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*api.Pod)) + ret = append(ret, m.(*v1.Pod)) }) return ret, err } -func (s storePodsNamespacer) Get(name string) (*api.Pod, error) { +func (s storePodsNamespacer) Get(name string) (*v1.Pod, error) { obj, exists, err := s.Indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err @@ -71,7 +72,7 @@ func (s storePodsNamespacer) Get(name string) (*api.Pod, error) { if !exists { return nil, errors.NewNotFound(api.Resource("pod"), name) } - return obj.(*api.Pod), nil + return obj.(*v1.Pod), nil } // StoreToServiceLister helps list services @@ -79,9 +80,9 @@ type StoreToServiceLister struct { Indexer Indexer } -func (s *StoreToServiceLister) List(selector labels.Selector) (ret []*api.Service, err error) { +func (s *StoreToServiceLister) List(selector labels.Selector) (ret []*v1.Service, err error) { err = ListAll(s.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.Service)) + ret = append(ret, m.(*v1.Service)) }) return ret, err } @@ -95,14 +96,14 @@ type storeServicesNamespacer struct { namespace string } -func (s storeServicesNamespacer) List(selector labels.Selector) (ret []*api.Service, err error) { +func (s storeServicesNamespacer) List(selector labels.Selector) (ret []*v1.Service, err error) { err = ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*api.Service)) + ret = append(ret, m.(*v1.Service)) }) return ret, err } -func (s storeServicesNamespacer) Get(name string) (*api.Service, error) { +func (s storeServicesNamespacer) Get(name string) (*v1.Service, error) { obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err @@ -110,12 +111,12 @@ func (s storeServicesNamespacer) Get(name string) (*api.Service, error) { if !exists { return nil, errors.NewNotFound(api.Resource("service"), name) } - return obj.(*api.Service), nil + return obj.(*v1.Service), nil } // TODO: Move this back to scheduler as a helper function that takes a Store, // rather than a method of StoreToServiceLister. -func (s *StoreToServiceLister) GetPodServices(pod *api.Pod) (services []*api.Service, err error) { +func (s *StoreToServiceLister) GetPodServices(pod *v1.Pod) (services []*v1.Service, err error) { allServices, err := s.Services(pod.Namespace).List(labels.Everything()) if err != nil { return nil, err @@ -141,9 +142,9 @@ type StoreToReplicationControllerLister struct { Indexer Indexer } -func (s *StoreToReplicationControllerLister) List(selector labels.Selector) (ret []*api.ReplicationController, err error) { +func (s *StoreToReplicationControllerLister) List(selector labels.Selector) (ret []*v1.ReplicationController, err error) { err = ListAll(s.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.ReplicationController)) + ret = append(ret, m.(*v1.ReplicationController)) }) return ret, err } @@ -157,14 +158,14 @@ type storeReplicationControllersNamespacer struct { namespace string } -func (s storeReplicationControllersNamespacer) List(selector labels.Selector) (ret []*api.ReplicationController, err error) { +func (s storeReplicationControllersNamespacer) List(selector labels.Selector) (ret []*v1.ReplicationController, err error) { err = ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*api.ReplicationController)) + ret = append(ret, m.(*v1.ReplicationController)) }) return ret, err } -func (s storeReplicationControllersNamespacer) Get(name string) (*api.ReplicationController, error) { +func (s storeReplicationControllersNamespacer) Get(name string) (*v1.ReplicationController, error) { obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err @@ -172,24 +173,24 @@ func (s storeReplicationControllersNamespacer) Get(name string) (*api.Replicatio if !exists { return nil, errors.NewNotFound(api.Resource("replicationcontroller"), name) } - return obj.(*api.ReplicationController), nil + return obj.(*v1.ReplicationController), nil } // GetPodControllers returns a list of replication controllers managing a pod. Returns an error only if no matching controllers are found. -func (s *StoreToReplicationControllerLister) GetPodControllers(pod *api.Pod) (controllers []*api.ReplicationController, err error) { +func (s *StoreToReplicationControllerLister) GetPodControllers(pod *v1.Pod) (controllers []*v1.ReplicationController, err error) { if len(pod.Labels) == 0 { err = fmt.Errorf("no controllers found for pod %v because it has no labels", pod.Name) return } - key := &api.ReplicationController{ObjectMeta: api.ObjectMeta{Namespace: pod.Namespace}} + key := &v1.ReplicationController{ObjectMeta: v1.ObjectMeta{Namespace: pod.Namespace}} items, err := s.Indexer.Index(NamespaceIndex, key) if err != nil { return } for _, m := range items { - rc := m.(*api.ReplicationController) + rc := m.(*v1.ReplicationController) selector := labels.Set(rc.Spec.Selector).AsSelectorPreValidated() // If an rc with a nil or empty selector creeps in, it should match nothing, not everything. @@ -209,9 +210,9 @@ type StoreToServiceAccountLister struct { Indexer Indexer } -func (s *StoreToServiceAccountLister) List(selector labels.Selector) (ret []*api.ServiceAccount, err error) { +func (s *StoreToServiceAccountLister) List(selector labels.Selector) (ret []*v1.ServiceAccount, err error) { err = ListAll(s.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.ServiceAccount)) + ret = append(ret, m.(*v1.ServiceAccount)) }) return ret, err } @@ -225,14 +226,14 @@ type storeServiceAccountsNamespacer struct { namespace string } -func (s storeServiceAccountsNamespacer) List(selector labels.Selector) (ret []*api.ServiceAccount, err error) { +func (s storeServiceAccountsNamespacer) List(selector labels.Selector) (ret []*v1.ServiceAccount, err error) { err = ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*api.ServiceAccount)) + ret = append(ret, m.(*v1.ServiceAccount)) }) return ret, err } -func (s storeServiceAccountsNamespacer) Get(name string) (*api.ServiceAccount, error) { +func (s storeServiceAccountsNamespacer) Get(name string) (*v1.ServiceAccount, error) { obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err @@ -240,7 +241,7 @@ func (s storeServiceAccountsNamespacer) Get(name string) (*api.ServiceAccount, e if !exists { return nil, errors.NewNotFound(api.Resource("serviceaccount"), name) } - return obj.(*api.ServiceAccount), nil + return obj.(*v1.ServiceAccount), nil } // StoreToLimitRangeLister helps list limit ranges @@ -248,9 +249,9 @@ type StoreToLimitRangeLister struct { Indexer Indexer } -func (s *StoreToLimitRangeLister) List(selector labels.Selector) (ret []*api.LimitRange, err error) { +func (s *StoreToLimitRangeLister) List(selector labels.Selector) (ret []*v1.LimitRange, err error) { err = ListAll(s.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.LimitRange)) + ret = append(ret, m.(*v1.LimitRange)) }) return ret, err } @@ -261,9 +262,9 @@ type StoreToPersistentVolumeClaimLister struct { } // List returns all persistentvolumeclaims that match the specified selector -func (s *StoreToPersistentVolumeClaimLister) List(selector labels.Selector) (ret []*api.PersistentVolumeClaim, err error) { +func (s *StoreToPersistentVolumeClaimLister) List(selector labels.Selector) (ret []*v1.PersistentVolumeClaim, err error) { err = ListAll(s.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.PersistentVolumeClaim)) + ret = append(ret, m.(*v1.PersistentVolumeClaim)) }) return ret, err } @@ -277,14 +278,14 @@ type storeLimitRangesNamespacer struct { namespace string } -func (s storeLimitRangesNamespacer) List(selector labels.Selector) (ret []*api.LimitRange, err error) { +func (s storeLimitRangesNamespacer) List(selector labels.Selector) (ret []*v1.LimitRange, err error) { err = ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*api.LimitRange)) + ret = append(ret, m.(*v1.LimitRange)) }) return ret, err } -func (s storeLimitRangesNamespacer) Get(name string) (*api.LimitRange, error) { +func (s storeLimitRangesNamespacer) Get(name string) (*v1.LimitRange, error) { obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err @@ -292,7 +293,7 @@ func (s storeLimitRangesNamespacer) Get(name string) (*api.LimitRange, error) { if !exists { return nil, errors.NewNotFound(api.Resource("limitrange"), name) } - return obj.(*api.LimitRange), nil + return obj.(*v1.LimitRange), nil } // PersistentVolumeClaims returns all claims in a specified namespace. @@ -305,14 +306,14 @@ type storePersistentVolumeClaimsNamespacer struct { namespace string } -func (s storePersistentVolumeClaimsNamespacer) List(selector labels.Selector) (ret []*api.PersistentVolumeClaim, err error) { +func (s storePersistentVolumeClaimsNamespacer) List(selector labels.Selector) (ret []*v1.PersistentVolumeClaim, err error) { err = ListAllByNamespace(s.Indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*api.PersistentVolumeClaim)) + ret = append(ret, m.(*v1.PersistentVolumeClaim)) }) return ret, err } -func (s storePersistentVolumeClaimsNamespacer) Get(name string) (*api.PersistentVolumeClaim, error) { +func (s storePersistentVolumeClaimsNamespacer) Get(name string) (*v1.PersistentVolumeClaim, error) { obj, exists, err := s.Indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err @@ -320,7 +321,7 @@ func (s storePersistentVolumeClaimsNamespacer) Get(name string) (*api.Persistent if !exists { return nil, errors.NewNotFound(api.Resource("persistentvolumeclaims"), name) } - return obj.(*api.PersistentVolumeClaim), nil + return obj.(*v1.PersistentVolumeClaim), nil } // IndexerToNamespaceLister gives an Indexer List method @@ -329,14 +330,14 @@ type IndexerToNamespaceLister struct { } // List returns a list of namespaces -func (i *IndexerToNamespaceLister) List(selector labels.Selector) (ret []*api.Namespace, err error) { +func (i *IndexerToNamespaceLister) List(selector labels.Selector) (ret []*v1.Namespace, err error) { err = ListAll(i.Indexer, selector, func(m interface{}) { - ret = append(ret, m.(*api.Namespace)) + ret = append(ret, m.(*v1.Namespace)) }) return ret, err } -func (i *IndexerToNamespaceLister) Get(name string) (*api.Namespace, error) { +func (i *IndexerToNamespaceLister) Get(name string) (*v1.Namespace, error) { obj, exists, err := i.Indexer.GetByKey(name) if err != nil { return nil, err @@ -344,5 +345,5 @@ func (i *IndexerToNamespaceLister) Get(name string) (*api.Namespace, error) { if !exists { return nil, errors.NewNotFound(api.Resource("namespace"), name) } - return obj.(*api.Namespace), nil + return obj.(*v1.Namespace), nil } diff --git a/staging/src/k8s.io/client-go/tools/cache/listers_extensions.go b/staging/src/k8s.io/client-go/tools/cache/listers_extensions.go index 7281df9e35b..b9a9a792fbf 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listers_extensions.go +++ b/staging/src/k8s.io/client-go/tools/cache/listers_extensions.go @@ -19,10 +19,11 @@ package cache import ( "fmt" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/errors" "k8s.io/client-go/pkg/api/unversioned" - "k8s.io/client-go/pkg/apis/extensions" + "k8s.io/client-go/pkg/api/v1" + extensionsinternal "k8s.io/client-go/pkg/apis/extensions" + extensions "k8s.io/client-go/pkg/apis/extensions/v1beta1" "k8s.io/client-go/pkg/labels" ) @@ -71,7 +72,7 @@ func (s storeDeploymentsNamespacer) Get(name string) (*extensions.Deployment, er return nil, err } if !exists { - return nil, errors.NewNotFound(extensions.Resource("deployment"), name) + return nil, errors.NewNotFound(extensionsinternal.Resource("deployment"), name) } return obj.(*extensions.Deployment), nil } @@ -107,7 +108,7 @@ func (s *StoreToDeploymentLister) GetDeploymentsForReplicaSet(rs *extensions.Rep // GetDeploymentsForDeployments returns a list of deployments managing a pod. Returns an error only if no matching deployments are found. // TODO eliminate shallow copies -func (s *StoreToDeploymentLister) GetDeploymentsForPod(pod *api.Pod) (deployments []*extensions.Deployment, err error) { +func (s *StoreToDeploymentLister) GetDeploymentsForPod(pod *v1.Pod) (deployments []*extensions.Deployment, err error) { if len(pod.Labels) == 0 { err = fmt.Errorf("no deployments found for Pod %v because it has no labels", pod.Name) return @@ -172,13 +173,13 @@ func (s storeReplicaSetsNamespacer) Get(name string) (*extensions.ReplicaSet, er return nil, err } if !exists { - return nil, errors.NewNotFound(extensions.Resource("replicaset"), name) + return nil, errors.NewNotFound(extensionsinternal.Resource("replicaset"), name) } return obj.(*extensions.ReplicaSet), nil } // GetPodReplicaSets returns a list of ReplicaSets managing a pod. Returns an error only if no matching ReplicaSets are found. -func (s *StoreToReplicaSetLister) GetPodReplicaSets(pod *api.Pod) (rss []*extensions.ReplicaSet, err error) { +func (s *StoreToReplicaSetLister) GetPodReplicaSets(pod *v1.Pod) (rss []*extensions.ReplicaSet, err error) { if len(pod.Labels) == 0 { err = fmt.Errorf("no ReplicaSets found for pod %v because it has no labels", pod.Name) return diff --git a/staging/src/k8s.io/client-go/tools/cache/listers_rbac.go b/staging/src/k8s.io/client-go/tools/cache/listers_rbac.go index fb9906f19e1..a8463667f24 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listers_rbac.go +++ b/staging/src/k8s.io/client-go/tools/cache/listers_rbac.go @@ -18,7 +18,7 @@ package cache import ( "k8s.io/client-go/pkg/api/errors" - "k8s.io/client-go/pkg/apis/rbac" + rbac "k8s.io/client-go/pkg/apis/rbac" "k8s.io/client-go/pkg/labels" ) diff --git a/staging/src/k8s.io/client-go/tools/cache/listers_test.go b/staging/src/k8s.io/client-go/tools/cache/listers_test.go index ff1d0b3e405..12b3884e1dd 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listers_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/listers_test.go @@ -19,10 +19,10 @@ package cache import ( "testing" - "k8s.io/client-go/pkg/api" apierrors "k8s.io/client-go/pkg/api/errors" "k8s.io/client-go/pkg/api/unversioned" - "k8s.io/client-go/pkg/apis/extensions" + "k8s.io/client-go/pkg/api/v1" + extensions "k8s.io/client-go/pkg/apis/extensions/v1beta1" "k8s.io/client-go/pkg/labels" "k8s.io/client-go/pkg/util/sets" ) @@ -31,7 +31,7 @@ func TestStoreToNodeLister(t *testing.T) { store := NewStore(MetaNamespaceKeyFunc) ids := sets.NewString("foo", "bar", "baz") for id := range ids { - store.Add(&api.Node{ObjectMeta: api.ObjectMeta{Name: id}}) + store.Add(&v1.Node{ObjectMeta: v1.ObjectMeta{Name: id}}) } sml := StoreToNodeLister{store} @@ -50,44 +50,44 @@ func TestStoreToNodeLister(t *testing.T) { func TestStoreToNodeConditionLister(t *testing.T) { store := NewStore(MetaNamespaceKeyFunc) - nodes := []*api.Node{ + nodes := []*v1.Node{ { - ObjectMeta: api.ObjectMeta{Name: "foo"}, - Status: api.NodeStatus{ - Conditions: []api.NodeCondition{ + ObjectMeta: v1.ObjectMeta{Name: "foo"}, + Status: v1.NodeStatus{ + Conditions: []v1.NodeCondition{ { - Type: api.NodeReady, - Status: api.ConditionTrue, + Type: v1.NodeReady, + Status: v1.ConditionTrue, }, { - Type: api.NodeOutOfDisk, - Status: api.ConditionFalse, + Type: v1.NodeOutOfDisk, + Status: v1.ConditionFalse, }, }, }, }, { - ObjectMeta: api.ObjectMeta{Name: "bar"}, - Status: api.NodeStatus{ - Conditions: []api.NodeCondition{ + ObjectMeta: v1.ObjectMeta{Name: "bar"}, + Status: v1.NodeStatus{ + Conditions: []v1.NodeCondition{ { - Type: api.NodeOutOfDisk, - Status: api.ConditionTrue, + Type: v1.NodeOutOfDisk, + Status: v1.ConditionTrue, }, }, }, }, { - ObjectMeta: api.ObjectMeta{Name: "baz"}, - Status: api.NodeStatus{ - Conditions: []api.NodeCondition{ + ObjectMeta: v1.ObjectMeta{Name: "baz"}, + Status: v1.NodeStatus{ + Conditions: []v1.NodeCondition{ { - Type: api.NodeReady, - Status: api.ConditionFalse, + Type: v1.NodeReady, + Status: v1.ConditionFalse, }, { - Type: api.NodeOutOfDisk, - Status: api.ConditionUnknown, + Type: v1.NodeOutOfDisk, + Status: v1.ConditionUnknown, }, }, }, @@ -97,9 +97,9 @@ func TestStoreToNodeConditionLister(t *testing.T) { store.Add(n) } - predicate := func(node *api.Node) bool { + predicate := func(node *v1.Node) bool { for _, cond := range node.Status.Conditions { - if cond.Type == api.NodeOutOfDisk && cond.Status == api.ConditionTrue { + if cond.Type == v1.NodeOutOfDisk && cond.Status == v1.ConditionTrue { return false } } @@ -126,65 +126,65 @@ func TestStoreToNodeConditionLister(t *testing.T) { func TestStoreToReplicationControllerLister(t *testing.T) { testCases := []struct { description string - inRCs []*api.ReplicationController - list func(StoreToReplicationControllerLister) ([]*api.ReplicationController, error) + inRCs []*v1.ReplicationController + list func(StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) outRCNames sets.String expectErr bool onlyIfIndexedByNamespace bool }{ { description: "Verify we can search all namespaces", - inRCs: []*api.ReplicationController{ + inRCs: []*v1.ReplicationController{ { - ObjectMeta: api.ObjectMeta{Name: "foo", Namespace: "bar"}, + ObjectMeta: v1.ObjectMeta{Name: "foo", Namespace: "bar"}, }, { - ObjectMeta: api.ObjectMeta{Name: "hmm", Namespace: "hmm"}, + ObjectMeta: v1.ObjectMeta{Name: "hmm", Namespace: "hmm"}, }, }, - list: func(lister StoreToReplicationControllerLister) ([]*api.ReplicationController, error) { - return lister.ReplicationControllers(api.NamespaceAll).List(labels.Set{}.AsSelectorPreValidated()) + list: func(lister StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) { + return lister.ReplicationControllers(v1.NamespaceAll).List(labels.Set{}.AsSelectorPreValidated()) }, outRCNames: sets.NewString("hmm", "foo"), }, { description: "Verify we can search a specific namespace", - inRCs: []*api.ReplicationController{ + inRCs: []*v1.ReplicationController{ { - ObjectMeta: api.ObjectMeta{Name: "foo", Namespace: "bar"}, + ObjectMeta: v1.ObjectMeta{Name: "foo", Namespace: "bar"}, }, { - ObjectMeta: api.ObjectMeta{Name: "hmm", Namespace: "hmm"}, + ObjectMeta: v1.ObjectMeta{Name: "hmm", Namespace: "hmm"}, }, }, - list: func(lister StoreToReplicationControllerLister) ([]*api.ReplicationController, error) { + list: func(lister StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) { return lister.ReplicationControllers("hmm").List(labels.Set{}.AsSelectorPreValidated()) }, outRCNames: sets.NewString("hmm"), }, { description: "Basic listing with all labels and no selectors", - inRCs: []*api.ReplicationController{ - {ObjectMeta: api.ObjectMeta{Name: "basic"}}, + inRCs: []*v1.ReplicationController{ + {ObjectMeta: v1.ObjectMeta{Name: "basic"}}, }, - list: func(lister StoreToReplicationControllerLister) ([]*api.ReplicationController, error) { + list: func(lister StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) { return lister.List(labels.Everything()) }, outRCNames: sets.NewString("basic"), }, { description: "No pod labels", - inRCs: []*api.ReplicationController{ + inRCs: []*v1.ReplicationController{ { - ObjectMeta: api.ObjectMeta{Name: "basic", Namespace: "ns"}, - Spec: api.ReplicationControllerSpec{ + ObjectMeta: v1.ObjectMeta{Name: "basic", Namespace: "ns"}, + Spec: v1.ReplicationControllerSpec{ Selector: map[string]string{"foo": "baz"}, }, }, }, - list: func(lister StoreToReplicationControllerLister) ([]*api.ReplicationController, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{Name: "pod1", Namespace: "ns"}, + list: func(lister StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) { + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{Name: "pod1", Namespace: "ns"}, } return lister.GetPodControllers(pod) }, @@ -193,14 +193,14 @@ func TestStoreToReplicationControllerLister(t *testing.T) { }, { description: "No RC selectors", - inRCs: []*api.ReplicationController{ + inRCs: []*v1.ReplicationController{ { - ObjectMeta: api.ObjectMeta{Name: "basic", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "basic", Namespace: "ns"}, }, }, - list: func(lister StoreToReplicationControllerLister) ([]*api.ReplicationController, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + list: func(lister StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) { + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "pod1", Namespace: "ns", Labels: map[string]string{"foo": "bar"}, @@ -213,23 +213,23 @@ func TestStoreToReplicationControllerLister(t *testing.T) { }, { description: "Matching labels to selectors and namespace", - inRCs: []*api.ReplicationController{ + inRCs: []*v1.ReplicationController{ { - ObjectMeta: api.ObjectMeta{Name: "foo"}, - Spec: api.ReplicationControllerSpec{ + ObjectMeta: v1.ObjectMeta{Name: "foo"}, + Spec: v1.ReplicationControllerSpec{ Selector: map[string]string{"foo": "bar"}, }, }, { - ObjectMeta: api.ObjectMeta{Name: "bar", Namespace: "ns"}, - Spec: api.ReplicationControllerSpec{ + ObjectMeta: v1.ObjectMeta{Name: "bar", Namespace: "ns"}, + Spec: v1.ReplicationControllerSpec{ Selector: map[string]string{"foo": "bar"}, }, }, }, - list: func(lister StoreToReplicationControllerLister) ([]*api.ReplicationController, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + list: func(lister StoreToReplicationControllerLister) ([]*v1.ReplicationController, error) { + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "pod1", Labels: map[string]string{"foo": "bar"}, Namespace: "ns", @@ -290,7 +290,7 @@ func TestStoreToReplicaSetLister(t *testing.T) { // Basic listing with all labels and no selectors { inRSs: []*extensions.ReplicaSet{ - {ObjectMeta: api.ObjectMeta{Name: "basic"}}, + {ObjectMeta: v1.ObjectMeta{Name: "basic"}}, }, list: func() ([]*extensions.ReplicaSet, error) { return lister.List(labels.Everything()) @@ -301,15 +301,15 @@ func TestStoreToReplicaSetLister(t *testing.T) { { inRSs: []*extensions.ReplicaSet{ { - ObjectMeta: api.ObjectMeta{Name: "basic", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "basic", Namespace: "ns"}, Spec: extensions.ReplicaSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{"foo": "baz"}}, }, }, }, list: func() ([]*extensions.ReplicaSet, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{Name: "pod1", Namespace: "ns"}, + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{Name: "pod1", Namespace: "ns"}, } return lister.GetPodReplicaSets(pod) }, @@ -320,12 +320,12 @@ func TestStoreToReplicaSetLister(t *testing.T) { { inRSs: []*extensions.ReplicaSet{ { - ObjectMeta: api.ObjectMeta{Name: "basic", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "basic", Namespace: "ns"}, }, }, list: func() ([]*extensions.ReplicaSet, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "pod1", Namespace: "ns", Labels: map[string]string{"foo": "bar"}, @@ -340,21 +340,21 @@ func TestStoreToReplicaSetLister(t *testing.T) { { inRSs: []*extensions.ReplicaSet{ { - ObjectMeta: api.ObjectMeta{Name: "foo"}, + ObjectMeta: v1.ObjectMeta{Name: "foo"}, Spec: extensions.ReplicaSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}}, }, }, { - ObjectMeta: api.ObjectMeta{Name: "bar", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "bar", Namespace: "ns"}, Spec: extensions.ReplicaSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}}, }, }, }, list: func() ([]*extensions.ReplicaSet, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "pod1", Labels: map[string]string{"foo": "bar"}, Namespace: "ns", @@ -402,7 +402,7 @@ func TestStoreToDaemonSetLister(t *testing.T) { // Basic listing { inDSs: []*extensions.DaemonSet{ - {ObjectMeta: api.ObjectMeta{Name: "basic"}}, + {ObjectMeta: v1.ObjectMeta{Name: "basic"}}, }, list: func() ([]extensions.DaemonSet, error) { list, err := lister.List() @@ -413,9 +413,9 @@ func TestStoreToDaemonSetLister(t *testing.T) { // Listing multiple daemon sets { inDSs: []*extensions.DaemonSet{ - {ObjectMeta: api.ObjectMeta{Name: "basic"}}, - {ObjectMeta: api.ObjectMeta{Name: "complex"}}, - {ObjectMeta: api.ObjectMeta{Name: "complex2"}}, + {ObjectMeta: v1.ObjectMeta{Name: "basic"}}, + {ObjectMeta: v1.ObjectMeta{Name: "complex"}}, + {ObjectMeta: v1.ObjectMeta{Name: "complex2"}}, }, list: func() ([]extensions.DaemonSet, error) { list, err := lister.List() @@ -427,15 +427,15 @@ func TestStoreToDaemonSetLister(t *testing.T) { { inDSs: []*extensions.DaemonSet{ { - ObjectMeta: api.ObjectMeta{Name: "basic", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "basic", Namespace: "ns"}, Spec: extensions.DaemonSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{"foo": "baz"}}, }, }, }, list: func() ([]extensions.DaemonSet, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{Name: "pod1", Namespace: "ns"}, + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{Name: "pod1", Namespace: "ns"}, } return lister.GetPodDaemonSets(pod) }, @@ -446,12 +446,12 @@ func TestStoreToDaemonSetLister(t *testing.T) { { inDSs: []*extensions.DaemonSet{ { - ObjectMeta: api.ObjectMeta{Name: "basic", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "basic", Namespace: "ns"}, }, }, list: func() ([]extensions.DaemonSet, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "pod1", Namespace: "ns", Labels: map[string]string{"foo": "bar"}, @@ -466,21 +466,21 @@ func TestStoreToDaemonSetLister(t *testing.T) { { inDSs: []*extensions.DaemonSet{ { - ObjectMeta: api.ObjectMeta{Name: "foo"}, + ObjectMeta: v1.ObjectMeta{Name: "foo"}, Spec: extensions.DaemonSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}}, }, }, { - ObjectMeta: api.ObjectMeta{Name: "bar", Namespace: "ns"}, + ObjectMeta: v1.ObjectMeta{Name: "bar", Namespace: "ns"}, Spec: extensions.DaemonSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}}, }, }, }, list: func() ([]extensions.DaemonSet, error) { - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "pod1", Labels: map[string]string{"foo": "bar"}, Namespace: "ns", @@ -527,25 +527,25 @@ func TestStoreToPodLister(t *testing.T) { for _, store := range stores { ids := []string{"foo", "bar", "baz"} for _, id := range ids { - store.Add(&api.Pod{ - ObjectMeta: api.ObjectMeta{ + store.Add(&v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Namespace: "other", Name: id, Labels: map[string]string{"name": id}, }, }) } - store.Add(&api.Pod{ - ObjectMeta: api.ObjectMeta{ + store.Add(&v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "quux", - Namespace: api.NamespaceDefault, + Namespace: v1.NamespaceDefault, Labels: map[string]string{"name": "quux"}, }, }) spl := StoreToPodLister{store} // Verify that we can always look up by Namespace. - defaultPods, err := spl.Pods(api.NamespaceDefault).List(labels.Set{}.AsSelectorPreValidated()) + defaultPods, err := spl.Pods(v1.NamespaceDefault).List(labels.Set{}.AsSelectorPreValidated()) if err != nil { t.Errorf("Unexpected error: %v", err) } else if e, a := 1, len(defaultPods); e != a { @@ -583,17 +583,17 @@ func TestStoreToPodLister(t *testing.T) { func TestStoreToServiceLister(t *testing.T) { store := NewIndexer(MetaNamespaceKeyFunc, Indexers{NamespaceIndex: MetaNamespaceIndexFunc}) - store.Add(&api.Service{ - ObjectMeta: api.ObjectMeta{Name: "foo"}, - Spec: api.ServiceSpec{ + store.Add(&v1.Service{ + ObjectMeta: v1.ObjectMeta{Name: "foo"}, + Spec: v1.ServiceSpec{ Selector: map[string]string{}, }, }) - store.Add(&api.Service{ObjectMeta: api.ObjectMeta{Name: "bar"}}) + store.Add(&v1.Service{ObjectMeta: v1.ObjectMeta{Name: "bar"}}) ssl := StoreToServiceLister{store} - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "foopod", Labels: map[string]string{"role": "foo"}, }, diff --git a/staging/src/k8s.io/client-go/tools/cache/listwatch.go b/staging/src/k8s.io/client-go/tools/cache/listwatch.go index d3c7d67dbab..05559faf54d 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listwatch.go +++ b/staging/src/k8s.io/client-go/tools/cache/listwatch.go @@ -21,6 +21,7 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/meta" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/fields" "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/watch" @@ -31,16 +32,16 @@ import ( type ListerWatcher interface { // List should return a list type object; the Items field will be extracted, and the // ResourceVersion field will be used to start the watch in the right place. - List(options api.ListOptions) (runtime.Object, error) + List(options v1.ListOptions) (runtime.Object, error) // Watch should begin a watch at the specified version. - Watch(options api.ListOptions) (watch.Interface, error) + Watch(options v1.ListOptions) (watch.Interface, error) } // ListFunc knows how to list resources -type ListFunc func(options api.ListOptions) (runtime.Object, error) +type ListFunc func(options v1.ListOptions) (runtime.Object, error) // WatchFunc knows how to watch resources -type WatchFunc func(options api.ListOptions) (watch.Interface, error) +type WatchFunc func(options v1.ListOptions) (watch.Interface, error) // ListWatch knows how to list and watch a set of apiserver resources. It satisfies the ListerWatcher interface. // It is a convenience function for users of NewReflector, etc. @@ -57,7 +58,7 @@ type Getter interface { // NewListWatchFromClient creates a new ListWatch from the specified client, resource, namespace and field selector. func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSelector fields.Selector) *ListWatch { - listFunc := func(options api.ListOptions) (runtime.Object, error) { + listFunc := func(options v1.ListOptions) (runtime.Object, error) { return c.Get(). Namespace(namespace). Resource(resource). @@ -66,7 +67,7 @@ func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSe Do(). Get() } - watchFunc := func(options api.ListOptions) (watch.Interface, error) { + watchFunc := func(options v1.ListOptions) (watch.Interface, error) { return c.Get(). Prefix("watch"). Namespace(namespace). @@ -78,7 +79,7 @@ func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSe return &ListWatch{ListFunc: listFunc, WatchFunc: watchFunc} } -func timeoutFromListOptions(options api.ListOptions) time.Duration { +func timeoutFromListOptions(options v1.ListOptions) time.Duration { if options.TimeoutSeconds != nil { return time.Duration(*options.TimeoutSeconds) * time.Second } @@ -86,12 +87,12 @@ func timeoutFromListOptions(options api.ListOptions) time.Duration { } // List a set of apiserver resources -func (lw *ListWatch) List(options api.ListOptions) (runtime.Object, error) { +func (lw *ListWatch) List(options v1.ListOptions) (runtime.Object, error) { return lw.ListFunc(options) } // Watch a set of apiserver resources -func (lw *ListWatch) Watch(options api.ListOptions) (watch.Interface, error) { +func (lw *ListWatch) Watch(options v1.ListOptions) (watch.Interface, error) { return lw.WatchFunc(options) } @@ -101,7 +102,7 @@ func ListWatchUntil(timeout time.Duration, lw ListerWatcher, conditions ...watch return nil, nil } - list, err := lw.List(api.ListOptions{}) + list, err := lw.List(v1.ListOptions{}) if err != nil { return nil, err } @@ -153,7 +154,7 @@ func ListWatchUntil(timeout time.Duration, lw ListerWatcher, conditions ...watch } currResourceVersion := metaObj.GetResourceVersion() - watchInterface, err := lw.Watch(api.ListOptions{ResourceVersion: currResourceVersion}) + watchInterface, err := lw.Watch(v1.ListOptions{ResourceVersion: currResourceVersion}) if err != nil { return nil, err } diff --git a/staging/src/k8s.io/client-go/tools/cache/mutation_detector_test.go b/staging/src/k8s.io/client-go/tools/cache/mutation_detector_test.go index 7614ab5c509..557c8c836c2 100644 --- a/staging/src/k8s.io/client-go/tools/cache/mutation_detector_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/mutation_detector_test.go @@ -22,7 +22,7 @@ import ( "testing" "time" - "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/watch" ) @@ -30,15 +30,15 @@ import ( func TestMutationDetector(t *testing.T) { fakeWatch := watch.NewFake() lw := &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { return fakeWatch, nil }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { - return &api.PodList{}, nil + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + return &v1.PodList{}, nil }, } - pod := &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: "anything", Labels: map[string]string{"check": "foo"}, }, @@ -48,7 +48,7 @@ func TestMutationDetector(t *testing.T) { addReceived := make(chan bool) mutationFound := make(chan bool) - informer := NewSharedInformer(lw, &api.Pod{}, 1*time.Second).(*sharedIndexInformer) + informer := NewSharedInformer(lw, &v1.Pod{}, 1*time.Second).(*sharedIndexInformer) informer.cacheMutationDetector = &defaultCacheMutationDetector{ name: "name", period: 1 * time.Second, diff --git a/staging/src/k8s.io/client-go/tools/cache/reflector.go b/staging/src/k8s.io/client-go/tools/cache/reflector.go index 55da33ee898..5d95b2294c9 100644 --- a/staging/src/k8s.io/client-go/tools/cache/reflector.go +++ b/staging/src/k8s.io/client-go/tools/cache/reflector.go @@ -34,9 +34,9 @@ import ( "time" "github.com/golang/glog" - "k8s.io/client-go/pkg/api" apierrs "k8s.io/client-go/pkg/api/errors" "k8s.io/client-go/pkg/api/meta" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" utilruntime "k8s.io/client-go/pkg/util/runtime" "k8s.io/client-go/pkg/util/wait" @@ -239,7 +239,7 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error { // Explicitly set "0" as resource version - it's fine for the List() // to be served from cache and potentially be delayed relative to // etcd contents. Reflector framework will catch up via Watch() eventually. - options := api.ListOptions{ResourceVersion: "0"} + options := v1.ListOptions{ResourceVersion: "0"} list, err := r.listerWatcher.List(options) if err != nil { return fmt.Errorf("%s: Failed to list %v: %v", r.name, r.expectedType, err) @@ -278,7 +278,7 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error { for { timemoutseconds := int64(minWatchTimeout.Seconds() * (rand.Float64() + 1.0)) - options = api.ListOptions{ + options = v1.ListOptions{ ResourceVersion: resourceVersion, // We want to avoid situations of hanging watchers. Stop any wachers that do not // receive any events within the timeout window. diff --git a/staging/src/k8s.io/client-go/tools/cache/reflector_test.go b/staging/src/k8s.io/client-go/tools/cache/reflector_test.go index 9ae39afad8f..9600ee8701c 100644 --- a/staging/src/k8s.io/client-go/tools/cache/reflector_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/reflector_test.go @@ -24,8 +24,8 @@ import ( "testing" "time" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/unversioned" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/util/wait" "k8s.io/client-go/pkg/watch" @@ -34,27 +34,27 @@ import ( var nevererrc chan error type testLW struct { - ListFunc func(options api.ListOptions) (runtime.Object, error) - WatchFunc func(options api.ListOptions) (watch.Interface, error) + ListFunc func(options v1.ListOptions) (runtime.Object, error) + WatchFunc func(options v1.ListOptions) (watch.Interface, error) } -func (t *testLW) List(options api.ListOptions) (runtime.Object, error) { +func (t *testLW) List(options v1.ListOptions) (runtime.Object, error) { return t.ListFunc(options) } -func (t *testLW) Watch(options api.ListOptions) (watch.Interface, error) { +func (t *testLW) Watch(options v1.ListOptions) (watch.Interface, error) { return t.WatchFunc(options) } func TestCloseWatchChannelOnError(t *testing.T) { - r := NewReflector(&testLW{}, &api.Pod{}, NewStore(MetaNamespaceKeyFunc), 0) - pod := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}} + r := NewReflector(&testLW{}, &v1.Pod{}, NewStore(MetaNamespaceKeyFunc), 0) + pod := &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "bar"}} fw := watch.NewFake() r.listerWatcher = &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { return fw, nil }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { - return &api.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}, nil + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + return &v1.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}, nil }, } go r.ListAndWatch(wait.NeverStop) @@ -73,20 +73,20 @@ func TestCloseWatchChannelOnError(t *testing.T) { func TestRunUntil(t *testing.T) { stopCh := make(chan struct{}) store := NewStore(MetaNamespaceKeyFunc) - r := NewReflector(&testLW{}, &api.Pod{}, store, 0) + r := NewReflector(&testLW{}, &v1.Pod{}, store, 0) fw := watch.NewFake() r.listerWatcher = &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { return fw, nil }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { - return &api.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}, nil + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + return &v1.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}, nil }, } r.RunUntil(stopCh) // Synchronously add a dummy pod into the watch channel so we // know the RunUntil go routine is in the watch handler. - fw.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}}) + fw.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "bar"}}) close(stopCh) select { case _, ok := <-fw.ResultChan(): @@ -101,7 +101,7 @@ func TestRunUntil(t *testing.T) { func TestReflectorResyncChan(t *testing.T) { s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &api.Pod{}, s, time.Millisecond) + g := NewReflector(&testLW{}, &v1.Pod{}, s, time.Millisecond) a, _ := g.resyncChan() b := time.After(wait.ForeverTestTimeout) select { @@ -114,7 +114,7 @@ func TestReflectorResyncChan(t *testing.T) { func BenchmarkReflectorResyncChanMany(b *testing.B) { s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &api.Pod{}, s, 25*time.Millisecond) + g := NewReflector(&testLW{}, &v1.Pod{}, s, 25*time.Millisecond) // The improvement to this (calling the timer's Stop() method) makes // this benchmark about 40% faster. for i := 0; i < b.N; i++ { @@ -126,7 +126,7 @@ func BenchmarkReflectorResyncChanMany(b *testing.B) { func TestReflectorWatchHandlerError(t *testing.T) { s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &api.Pod{}, s, 0) + g := NewReflector(&testLW{}, &v1.Pod{}, s, 0) fw := watch.NewFake() go func() { fw.Stop() @@ -140,15 +140,15 @@ func TestReflectorWatchHandlerError(t *testing.T) { func TestReflectorWatchHandler(t *testing.T) { s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &api.Pod{}, s, 0) + g := NewReflector(&testLW{}, &v1.Pod{}, s, 0) fw := watch.NewFake() - s.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}) - s.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}}) + s.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "foo"}}) + s.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "bar"}}) go func() { - fw.Add(&api.Service{ObjectMeta: api.ObjectMeta{Name: "rejected"}}) - fw.Delete(&api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}) - fw.Modify(&api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar", ResourceVersion: "55"}}) - fw.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: "baz", ResourceVersion: "32"}}) + fw.Add(&v1.Service{ObjectMeta: v1.ObjectMeta{Name: "rejected"}}) + fw.Delete(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "foo"}}) + fw.Modify(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "bar", ResourceVersion: "55"}}) + fw.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: "baz", ResourceVersion: "32"}}) fw.Stop() }() var resumeRV string @@ -157,12 +157,12 @@ func TestReflectorWatchHandler(t *testing.T) { t.Errorf("unexpected error %v", err) } - mkPod := func(id string, rv string) *api.Pod { - return &api.Pod{ObjectMeta: api.ObjectMeta{Name: id, ResourceVersion: rv}} + mkPod := func(id string, rv string) *v1.Pod { + return &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: id, ResourceVersion: rv}} } table := []struct { - Pod *api.Pod + Pod *v1.Pod exists bool }{ {mkPod("foo", ""), false}, @@ -178,7 +178,7 @@ func TestReflectorWatchHandler(t *testing.T) { if !exists { continue } - if e, a := item.Pod.ResourceVersion, obj.(*api.Pod).ResourceVersion; e != a { + if e, a := item.Pod.ResourceVersion, obj.(*v1.Pod).ResourceVersion; e != a { t.Errorf("%v: expected %v, got %v", item.Pod, e, a) } } @@ -196,7 +196,7 @@ func TestReflectorWatchHandler(t *testing.T) { func TestReflectorStopWatch(t *testing.T) { s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &api.Pod{}, s, 0) + g := NewReflector(&testLW{}, &v1.Pod{}, s, 0) fw := watch.NewFake() var resumeRV string stopWatch := make(chan struct{}, 1) @@ -215,7 +215,7 @@ func TestReflectorListAndWatch(t *testing.T) { // inject an error. expectedRVs := []string{"1", "3"} lw := &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { rv := options.ResourceVersion fw := watch.NewFake() if e, a := expectedRVs[0], rv; e != a { @@ -227,12 +227,12 @@ func TestReflectorListAndWatch(t *testing.T) { go func() { createdFakes <- fw }() return fw, nil }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { - return &api.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}, nil + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + return &v1.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}, nil }, } s := NewFIFO(MetaNamespaceKeyFunc) - r := NewReflector(lw, &api.Pod{}, s, 0) + r := NewReflector(lw, &v1.Pod{}, s, 0) go r.ListAndWatch(wait.NeverStop) ids := []string{"foo", "bar", "baz", "qux", "zoo"} @@ -242,7 +242,7 @@ func TestReflectorListAndWatch(t *testing.T) { fw = <-createdFakes } sendingRV := strconv.FormatUint(uint64(i+2), 10) - fw.Add(&api.Pod{ObjectMeta: api.ObjectMeta{Name: id, ResourceVersion: sendingRV}}) + fw.Add(&v1.Pod{ObjectMeta: v1.ObjectMeta{Name: id, ResourceVersion: sendingRV}}) if sendingRV == "3" { // Inject a failure. fw.Stop() @@ -252,7 +252,7 @@ func TestReflectorListAndWatch(t *testing.T) { // Verify we received the right ids with the right resource versions. for i, id := range ids { - pod := Pop(s).(*api.Pod) + pod := Pop(s).(*v1.Pod) if e, a := id, pod.Name; e != a { t.Errorf("%v: Expected %v, got %v", i, e, a) } @@ -267,18 +267,18 @@ func TestReflectorListAndWatch(t *testing.T) { } func TestReflectorListAndWatchWithErrors(t *testing.T) { - mkPod := func(id string, rv string) *api.Pod { - return &api.Pod{ObjectMeta: api.ObjectMeta{Name: id, ResourceVersion: rv}} + mkPod := func(id string, rv string) *v1.Pod { + return &v1.Pod{ObjectMeta: v1.ObjectMeta{Name: id, ResourceVersion: rv}} } - mkList := func(rv string, pods ...*api.Pod) *api.PodList { - list := &api.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: rv}} + mkList := func(rv string, pods ...*v1.Pod) *v1.PodList { + list := &v1.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: rv}} for _, pod := range pods { list.Items = append(list.Items, *pod) } return list } table := []struct { - list *api.PodList + list *v1.PodList listErr error events []watch.Event watchErr error @@ -317,7 +317,7 @@ func TestReflectorListAndWatchWithErrors(t *testing.T) { current := s.List() checkMap := map[string]string{} for _, item := range current { - pod := item.(*api.Pod) + pod := item.(*v1.Pod) checkMap[pod.Name] = pod.ResourceVersion } for _, pod := range item.list.Items { @@ -331,7 +331,7 @@ func TestReflectorListAndWatchWithErrors(t *testing.T) { } watchRet, watchErr := item.events, item.watchErr lw := &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if watchErr != nil { return nil, watchErr } @@ -345,11 +345,11 @@ func TestReflectorListAndWatchWithErrors(t *testing.T) { }() return fw, nil }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { return item.list, item.listErr }, } - r := NewReflector(lw, &api.Pod{}, s, 0) + r := NewReflector(lw, &v1.Pod{}, s, 0) r.ListAndWatch(wait.NeverStop) } } @@ -369,16 +369,16 @@ func TestReflectorResync(t *testing.T) { } lw := &testLW{ - WatchFunc: func(options api.ListOptions) (watch.Interface, error) { + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { fw := watch.NewFake() return fw, nil }, - ListFunc: func(options api.ListOptions) (runtime.Object, error) { - return &api.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "0"}}, nil + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + return &v1.PodList{ListMeta: unversioned.ListMeta{ResourceVersion: "0"}}, nil }, } resyncPeriod := 1 * time.Millisecond - r := NewReflector(lw, &api.Pod{}, s, resyncPeriod) + r := NewReflector(lw, &v1.Pod{}, s, resyncPeriod) if err := r.ListAndWatch(stopCh); err != nil { // error from Resync is not propaged up to here. t.Errorf("expected error %v", err) diff --git a/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source.go b/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source.go index 6eb6ca87296..d51b086d7f8 100644 --- a/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source.go +++ b/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source.go @@ -24,6 +24,7 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/meta" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/types" "k8s.io/client-go/pkg/watch" @@ -161,7 +162,7 @@ func (f *FakeControllerSource) getListItemsLocked() ([]runtime.Object, error) { } // List returns a list object, with its resource version set. -func (f *FakeControllerSource) List(options api.ListOptions) (runtime.Object, error) { +func (f *FakeControllerSource) List(options v1.ListOptions) (runtime.Object, error) { f.lock.RLock() defer f.lock.RUnlock() list, err := f.getListItemsLocked() @@ -182,14 +183,14 @@ func (f *FakeControllerSource) List(options api.ListOptions) (runtime.Object, er } // List returns a list object, with its resource version set. -func (f *FakePVControllerSource) List(options api.ListOptions) (runtime.Object, error) { +func (f *FakePVControllerSource) List(options v1.ListOptions) (runtime.Object, error) { f.lock.RLock() defer f.lock.RUnlock() list, err := f.FakeControllerSource.getListItemsLocked() if err != nil { return nil, err } - listObj := &api.PersistentVolumeList{} + listObj := &v1.PersistentVolumeList{} if err := meta.SetList(listObj, list); err != nil { return nil, err } @@ -203,14 +204,14 @@ func (f *FakePVControllerSource) List(options api.ListOptions) (runtime.Object, } // List returns a list object, with its resource version set. -func (f *FakePVCControllerSource) List(options api.ListOptions) (runtime.Object, error) { +func (f *FakePVCControllerSource) List(options v1.ListOptions) (runtime.Object, error) { f.lock.RLock() defer f.lock.RUnlock() list, err := f.FakeControllerSource.getListItemsLocked() if err != nil { return nil, err } - listObj := &api.PersistentVolumeClaimList{} + listObj := &v1.PersistentVolumeClaimList{} if err := meta.SetList(listObj, list); err != nil { return nil, err } @@ -225,7 +226,7 @@ func (f *FakePVCControllerSource) List(options api.ListOptions) (runtime.Object, // Watch returns a watch, which will be pre-populated with all changes // after resourceVersion. -func (f *FakeControllerSource) Watch(options api.ListOptions) (watch.Interface, error) { +func (f *FakeControllerSource) Watch(options v1.ListOptions) (watch.Interface, error) { f.lock.RLock() defer f.lock.RUnlock() rc, err := strconv.Atoi(options.ResourceVersion) diff --git a/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source_test.go b/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source_test.go index 6c4f56d50d9..c558cda4ccd 100644 --- a/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/testing/fake_controller_source_test.go @@ -21,6 +21,7 @@ import ( "testing" "k8s.io/client-go/pkg/api" + "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/watch" ) @@ -33,7 +34,7 @@ func consume(t *testing.T, w watch.Interface, rvs []string, done *sync.WaitGroup t.Errorf("%#v: unexpected channel close, wanted %v", rvs, rv) return } - gotRV := got.Object.(*api.Pod).ObjectMeta.ResourceVersion + gotRV := got.Object.(*v1.Pod).ObjectMeta.ResourceVersion if e, a := rv, gotRV; e != a { t.Errorf("wanted %v, got %v", e, a) } else { @@ -48,9 +49,9 @@ func consume(t *testing.T, w watch.Interface, rvs []string, done *sync.WaitGroup } func TestRCNumber(t *testing.T) { - pod := func(name string) *api.Pod { - return &api.Pod{ - ObjectMeta: api.ObjectMeta{ + pod := func(name string) *v1.Pod { + return &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ Name: name, }, } @@ -64,13 +65,13 @@ func TestRCNumber(t *testing.T) { source.Modify(pod("foo")) source.Modify(pod("foo")) - w, err := source.Watch(api.ListOptions{ResourceVersion: "1"}) + w, err := source.Watch(v1.ListOptions{ResourceVersion: "1"}) if err != nil { t.Fatalf("Unexpected error: %v", err) } go consume(t, w, []string{"2", "3"}, wg) - list, err := source.List(api.ListOptions{}) + list, err := source.List(v1.ListOptions{}) if err != nil { t.Fatalf("Unexpected error: %v", err) } @@ -78,13 +79,13 @@ func TestRCNumber(t *testing.T) { t.Errorf("wanted %v, got %v", e, a) } - w2, err := source.Watch(api.ListOptions{ResourceVersion: "2"}) + w2, err := source.Watch(v1.ListOptions{ResourceVersion: "2"}) if err != nil { t.Fatalf("Unexpected error: %v", err) } go consume(t, w2, []string{"3"}, wg) - w3, err := source.Watch(api.ListOptions{ResourceVersion: "3"}) + w3, err := source.Watch(v1.ListOptions{ResourceVersion: "3"}) if err != nil { t.Fatalf("Unexpected error: %v", err) } diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/api/latest/latest.go b/staging/src/k8s.io/client-go/tools/clientcmd/api/latest/latest.go index f9c24d6e5cd..b8792373cda 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/api/latest/latest.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/api/latest/latest.go @@ -17,8 +17,8 @@ limitations under the License. package latest import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer/json" "k8s.io/client-go/pkg/runtime/serializer/versioning" "k8s.io/client-go/tools/clientcmd/api" @@ -28,7 +28,7 @@ import ( // Version is the string that represents the current external default version. const Version = "v1" -var ExternalVersion = unversioned.GroupVersion{Group: "", Version: "v1"} +var ExternalVersion = schema.GroupVersion{Group: "", Version: "v1"} // OldestVersion is the string that represents the oldest server version supported, // for client code that wants to hardcode the lowest common denominator. @@ -60,7 +60,7 @@ func init() { Scheme, yamlSerializer, yamlSerializer, - unversioned.GroupVersion{Version: Version}, + schema.GroupVersion{Version: Version}, runtime.InternalGroupVersioner, ) } diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/api/register.go b/staging/src/k8s.io/client-go/tools/clientcmd/api/register.go index efca4eea143..08e55976744 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/api/register.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/api/register.go @@ -17,13 +17,13 @@ limitations under the License. package api import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // SchemeGroupVersion is group version used to register these objects // TODO this should be in the "kubeconfig" group -var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: runtime.APIVersionInternal} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: runtime.APIVersionInternal} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) @@ -37,10 +37,10 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Config) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *Config) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *Config) GetObjectKind() schema.ObjectKind { return obj } +func (obj *Config) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *Config) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *Config) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/api/v1/register.go b/staging/src/k8s.io/client-go/tools/clientcmd/api/v1/register.go index d8659354a62..213a5fc4213 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/api/v1/register.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/api/v1/register.go @@ -17,13 +17,13 @@ limitations under the License. package v1 import ( - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" ) // SchemeGroupVersion is group version used to register these objects // TODO this should be in the "kubeconfig" group -var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: "v1"} +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addConversionFuncs) @@ -37,10 +37,10 @@ func addKnownTypes(scheme *runtime.Scheme) error { return nil } -func (obj *Config) GetObjectKind() unversioned.ObjectKind { return obj } -func (obj *Config) SetGroupVersionKind(gvk unversioned.GroupVersionKind) { +func (obj *Config) GetObjectKind() schema.ObjectKind { return obj } +func (obj *Config) SetGroupVersionKind(gvk schema.GroupVersionKind) { obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() } -func (obj *Config) GroupVersionKind() unversioned.GroupVersionKind { - return unversioned.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +func (obj *Config) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) } diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/loader.go b/staging/src/k8s.io/client-go/tools/clientcmd/loader.go index d678e7fa203..7b251b114f5 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/loader.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/loader.go @@ -30,8 +30,8 @@ import ( "github.com/golang/glog" "github.com/imdario/mergo" - "k8s.io/client-go/pkg/api/unversioned" "k8s.io/client-go/pkg/runtime" + "k8s.io/client-go/pkg/runtime/schema" utilerrors "k8s.io/client-go/pkg/util/errors" "k8s.io/client-go/pkg/util/homedir" "k8s.io/client-go/rest" @@ -388,7 +388,7 @@ func Load(data []byte) (*clientcmdapi.Config, error) { if len(data) == 0 { return config, nil } - decoded, _, err := clientcmdlatest.Codec.Decode(data, &unversioned.GroupVersionKind{Version: clientcmdlatest.Version, Kind: "Config"}, config) + decoded, _, err := clientcmdlatest.Codec.Decode(data, &schema.GroupVersionKind{Version: clientcmdlatest.Version, Kind: "Config"}, config) if err != nil { return nil, err }