mirror of https://github.com/k3s-io/k3s
Create meta/internalversion for ListOptions
Move over only the conversions that are needed, create a new scheme that is private to meta and only accessible via ParameterCodec. Move half of pkg/util/labels/.readonly to pkg/apis/meta/v1/labels.gopull/6/head
parent
bf20045736
commit
4f865efdb9
|
@ -287,14 +287,6 @@ func IsStandardFinalizerName(str string) bool {
|
|||
return standardFinalizers.Has(str)
|
||||
}
|
||||
|
||||
// SingleObject returns a ListOptions for watching a single object.
|
||||
func SingleObject(meta metav1.ObjectMeta) ListOptions {
|
||||
return ListOptions{
|
||||
FieldSelector: fields.OneTermEqualSelector("metadata.name", meta.Name),
|
||||
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) {
|
||||
|
|
|
@ -2867,6 +2867,7 @@ type DeleteOptions struct {
|
|||
|
||||
// ListOptions is the query options to a standard REST list call, and has future support for
|
||||
// watch calls.
|
||||
// DEPRECATED: This type has been moved to meta/v1 and will be removed soon.
|
||||
type ListOptions struct {
|
||||
metav1.TypeMeta
|
||||
|
||||
|
|
|
@ -1276,6 +1276,8 @@ message List {
|
|||
}
|
||||
|
||||
// ListOptions is the query options to a standard REST list call.
|
||||
// DEPRECATED: This type has been moved to meta/v1 and will be removed soon.
|
||||
// +k8s:openapi-gen=false
|
||||
message ListOptions {
|
||||
// A selector to restrict the list of returned objects by their labels.
|
||||
// Defaults to everything.
|
||||
|
|
|
@ -21,8 +21,6 @@ import (
|
|||
"fmt"
|
||||
"strings"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/fields"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/selection"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
|
@ -91,14 +89,6 @@ func IsStandardFinalizerName(str string) bool {
|
|||
return standardFinalizers.Has(str)
|
||||
}
|
||||
|
||||
// SingleObject returns a ListOptions for watching a single object.
|
||||
func SingleObject(meta metav1.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) {
|
||||
|
|
|
@ -3308,6 +3308,8 @@ type DeleteOptions struct {
|
|||
}
|
||||
|
||||
// ListOptions is the query options to a standard REST list call.
|
||||
// DEPRECATED: This type has been moved to meta/v1 and will be removed soon.
|
||||
// +k8s:openapi-gen=false
|
||||
type ListOptions struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
Copyright 2017 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 internalversion
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/conversion"
|
||||
"k8s.io/apimachinery/pkg/fields"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||
)
|
||||
|
||||
func Convert_internalversion_ListOptions_To_v1_ListOptions(in *ListOptions, out *metav1.ListOptions, s conversion.Scope) error {
|
||||
if err := Convert_fields_Selector_To_string(&in.FieldSelector, &out.FieldSelector, s); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := Convert_labels_Selector_To_string(&in.LabelSelector, &out.LabelSelector, s); err != nil {
|
||||
return err
|
||||
}
|
||||
out.ResourceVersion = in.ResourceVersion
|
||||
out.TimeoutSeconds = in.TimeoutSeconds
|
||||
out.Watch = in.Watch
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_v1_ListOptions_To_internalversion_ListOptions(in *metav1.ListOptions, out *ListOptions, s conversion.Scope) error {
|
||||
if err := Convert_string_To_fields_Selector(&in.FieldSelector, &out.FieldSelector, s); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := Convert_string_To_labels_Selector(&in.LabelSelector, &out.LabelSelector, s); err != nil {
|
||||
return err
|
||||
}
|
||||
out.ResourceVersion = in.ResourceVersion
|
||||
out.TimeoutSeconds = in.TimeoutSeconds
|
||||
out.Watch = in.Watch
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_string_To_labels_Selector(in *string, out *labels.Selector, s conversion.Scope) error {
|
||||
selector, err := labels.Parse(*in)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*out = selector
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_string_To_fields_Selector(in *string, out *fields.Selector, s conversion.Scope) error {
|
||||
selector, err := fields.ParseSelector(*in)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*out = selector
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_labels_Selector_To_string(in *labels.Selector, out *string, s conversion.Scope) error {
|
||||
if *in == nil {
|
||||
return nil
|
||||
}
|
||||
*out = (*in).String()
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_fields_Selector_To_string(in *fields.Selector, out *string, s conversion.Scope) error {
|
||||
if *in == nil {
|
||||
return nil
|
||||
}
|
||||
*out = (*in).String()
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_map_to_v1_LabelSelector(in *map[string]string, out *metav1.LabelSelector, s conversion.Scope) error {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out = new(metav1.LabelSelector)
|
||||
for labelKey, labelValue := range *in {
|
||||
metav1.AddLabelToSelector(out, labelKey, labelValue)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func Convert_v1_LabelSelector_to_map(in *metav1.LabelSelector, out *map[string]string, s conversion.Scope) error {
|
||||
var err error
|
||||
*out, err = metav1.LabelSelectorAsMap(in)
|
||||
if err != nil {
|
||||
err = field.Invalid(field.NewPath("labelSelector"), *in, fmt.Sprintf("cannot convert to old selector: %v", err))
|
||||
}
|
||||
return err
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
Copyright 2017 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 internalversion
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
)
|
||||
|
||||
// GroupName is the group name for this API.
|
||||
const GroupName = "meta.k8s.io"
|
||||
|
||||
// Scheme is the registry for any type that adheres to the meta API spec.
|
||||
var scheme = runtime.NewScheme()
|
||||
|
||||
// Codecs provides access to encoding and decoding for the scheme
|
||||
var codecs = serializer.NewCodecFactory(scheme)
|
||||
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
|
||||
|
||||
// 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) schema.GroupKind {
|
||||
return SchemeGroupVersion.WithKind(kind).GroupKind()
|
||||
}
|
||||
|
||||
// addToGroupVersion registers common meta types into schemas.
|
||||
func addToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) error {
|
||||
if err := scheme.AddIgnoredConversionType(&metav1.TypeMeta{}, &metav1.TypeMeta{}); err != nil {
|
||||
return err
|
||||
}
|
||||
scheme.AddConversionFuncs(
|
||||
Convert_string_To_labels_Selector,
|
||||
Convert_labels_Selector_To_string,
|
||||
|
||||
Convert_string_To_fields_Selector,
|
||||
Convert_fields_Selector_To_string,
|
||||
|
||||
Convert_map_to_v1_LabelSelector,
|
||||
Convert_v1_LabelSelector_to_map,
|
||||
|
||||
Convert_internalversion_ListOptions_To_v1_ListOptions,
|
||||
Convert_v1_ListOptions_To_internalversion_ListOptions,
|
||||
)
|
||||
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
&ListOptions{},
|
||||
)
|
||||
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Unlike other API groups, meta internal knows about all meta external versions, but keeps
|
||||
// the logic for conversion private.
|
||||
func init() {
|
||||
if err := addToGroupVersion(scheme, SchemeGroupVersion); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
package internalversion
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/diff"
|
||||
)
|
||||
|
||||
func TestListOptions(t *testing.T) {
|
||||
// verify round trip conversion
|
||||
ten := int64(10)
|
||||
in := &metav1.ListOptions{
|
||||
LabelSelector: "a=1",
|
||||
FieldSelector: "b=1",
|
||||
ResourceVersion: "10",
|
||||
TimeoutSeconds: &ten,
|
||||
Watch: true,
|
||||
}
|
||||
out := &ListOptions{}
|
||||
if err := scheme.Convert(in, out, nil); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
actual := &metav1.ListOptions{}
|
||||
if err := scheme.Convert(out, actual, nil); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !reflect.DeepEqual(in, actual) {
|
||||
t.Errorf("unexpected: %s", diff.ObjectReflectDiff(in, actual))
|
||||
}
|
||||
|
||||
// verify failing conversion
|
||||
for i, failingObject := range []*metav1.ListOptions{
|
||||
&metav1.ListOptions{LabelSelector: "a!!!"},
|
||||
&metav1.ListOptions{FieldSelector: "a!!!"},
|
||||
} {
|
||||
out = &ListOptions{}
|
||||
if err := scheme.Convert(failingObject, out, nil); err == nil {
|
||||
t.Errorf("%d: unexpected conversion: %#v", i, out)
|
||||
}
|
||||
}
|
||||
|
||||
// verify kind registration
|
||||
if gvk, unversioned, err := scheme.ObjectKind(in); err != nil || unversioned || gvk != metav1.SchemeGroupVersion.WithKind("ListOptions") {
|
||||
t.Errorf("unexpected: %v %v %v", gvk, unversioned, err)
|
||||
}
|
||||
if gvk, unversioned, err := scheme.ObjectKind(out); err != nil || unversioned || gvk != SchemeGroupVersion.WithKind("ListOptions") {
|
||||
t.Errorf("unexpected: %v %v %v", gvk, unversioned, err)
|
||||
}
|
||||
|
||||
actual = &metav1.ListOptions{}
|
||||
if err := ParameterCodec.DecodeParameters(url.Values{"watch": []string{"1"}}, metav1.SchemeGroupVersion, actual); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !actual.Watch {
|
||||
t.Errorf("unexpected watch decode: %#v", actual)
|
||||
}
|
||||
|
||||
// check ParameterCodec
|
||||
query, err := ParameterCodec.EncodeParameters(in, metav1.SchemeGroupVersion)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
actual = &metav1.ListOptions{}
|
||||
if err := ParameterCodec.DecodeParameters(query, metav1.SchemeGroupVersion, actual); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !reflect.DeepEqual(in, actual) {
|
||||
t.Errorf("unexpected: %s", diff.ObjectReflectDiff(in, actual))
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
Copyright 2017 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 internalversion
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/fields"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
)
|
||||
|
||||
// ListOptions is the query options to a standard REST list call, and has future support for
|
||||
// watch calls.
|
||||
type ListOptions struct {
|
||||
metav1.TypeMeta
|
||||
|
||||
// A selector based on labels
|
||||
LabelSelector labels.Selector
|
||||
// A selector based on fields
|
||||
FieldSelector fields.Selector
|
||||
// If true, watch for changes to this list
|
||||
Watch bool
|
||||
// When specified with a watch call, shows changes that occur after that particular version of a resource.
|
||||
// Defaults to changes from the beginning of history.
|
||||
// When specified for list:
|
||||
// - if unset, then the result is returned from remote storage based on quorum-read flag;
|
||||
// - if it's 0, then we simply return what we currently have in cache, no guarantee;
|
||||
// - if set to non zero, then the result is at least as fresh as given rv.
|
||||
ResourceVersion string
|
||||
// Timeout for the list/watch call.
|
||||
TimeoutSeconds *int64
|
||||
}
|
|
@ -42,6 +42,7 @@ limitations under the License.
|
|||
LabelSelector
|
||||
LabelSelectorRequirement
|
||||
ListMeta
|
||||
ListOptions
|
||||
ObjectMeta
|
||||
OwnerReference
|
||||
RootPaths
|
||||
|
@ -151,55 +152,59 @@ func (m *ListMeta) Reset() { *m = ListMeta{} }
|
|||
func (*ListMeta) ProtoMessage() {}
|
||||
func (*ListMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
|
||||
|
||||
func (m *ListOptions) Reset() { *m = ListOptions{} }
|
||||
func (*ListOptions) ProtoMessage() {}
|
||||
func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
|
||||
|
||||
func (m *ObjectMeta) Reset() { *m = ObjectMeta{} }
|
||||
func (*ObjectMeta) ProtoMessage() {}
|
||||
func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
|
||||
func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
|
||||
|
||||
func (m *OwnerReference) Reset() { *m = OwnerReference{} }
|
||||
func (*OwnerReference) ProtoMessage() {}
|
||||
func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
|
||||
func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
|
||||
|
||||
func (m *RootPaths) Reset() { *m = RootPaths{} }
|
||||
func (*RootPaths) ProtoMessage() {}
|
||||
func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
|
||||
func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} }
|
||||
|
||||
func (m *ServerAddressByClientCIDR) Reset() { *m = ServerAddressByClientCIDR{} }
|
||||
func (*ServerAddressByClientCIDR) ProtoMessage() {}
|
||||
func (*ServerAddressByClientCIDR) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptorGenerated, []int{20}
|
||||
return fileDescriptorGenerated, []int{21}
|
||||
}
|
||||
|
||||
func (m *Status) Reset() { *m = Status{} }
|
||||
func (*Status) ProtoMessage() {}
|
||||
func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} }
|
||||
func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
|
||||
|
||||
func (m *StatusCause) Reset() { *m = StatusCause{} }
|
||||
func (*StatusCause) ProtoMessage() {}
|
||||
func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
|
||||
func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
|
||||
|
||||
func (m *StatusDetails) Reset() { *m = StatusDetails{} }
|
||||
func (*StatusDetails) ProtoMessage() {}
|
||||
func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
|
||||
func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
|
||||
|
||||
func (m *Time) Reset() { *m = Time{} }
|
||||
func (*Time) ProtoMessage() {}
|
||||
func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
|
||||
func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
|
||||
|
||||
func (m *Timestamp) Reset() { *m = Timestamp{} }
|
||||
func (*Timestamp) ProtoMessage() {}
|
||||
func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
|
||||
func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
|
||||
|
||||
func (m *TypeMeta) Reset() { *m = TypeMeta{} }
|
||||
func (*TypeMeta) ProtoMessage() {}
|
||||
func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
|
||||
func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
|
||||
|
||||
func (m *Verbs) Reset() { *m = Verbs{} }
|
||||
func (*Verbs) ProtoMessage() {}
|
||||
func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
|
||||
func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
|
||||
|
||||
func (m *WatchEvent) Reset() { *m = WatchEvent{} }
|
||||
func (*WatchEvent) ProtoMessage() {}
|
||||
func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
|
||||
func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} }
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*APIGroup)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIGroup")
|
||||
|
@ -219,6 +224,7 @@ func init() {
|
|||
proto.RegisterType((*LabelSelector)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector")
|
||||
proto.RegisterType((*LabelSelectorRequirement)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement")
|
||||
proto.RegisterType((*ListMeta)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta")
|
||||
proto.RegisterType((*ListOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ListOptions")
|
||||
proto.RegisterType((*ObjectMeta)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta")
|
||||
proto.RegisterType((*OwnerReference)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference")
|
||||
proto.RegisterType((*RootPaths)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.RootPaths")
|
||||
|
@ -794,6 +800,49 @@ func (m *ListMeta) MarshalTo(data []byte) (int, error) {
|
|||
return i, nil
|
||||
}
|
||||
|
||||
func (m *ListOptions) 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 *ListOptions) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
data[i] = 0xa
|
||||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(len(m.LabelSelector)))
|
||||
i += copy(data[i:], m.LabelSelector)
|
||||
data[i] = 0x12
|
||||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(len(m.FieldSelector)))
|
||||
i += copy(data[i:], m.FieldSelector)
|
||||
data[i] = 0x18
|
||||
i++
|
||||
if m.Watch {
|
||||
data[i] = 1
|
||||
} else {
|
||||
data[i] = 0
|
||||
}
|
||||
i++
|
||||
data[i] = 0x22
|
||||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(len(m.ResourceVersion)))
|
||||
i += copy(data[i:], m.ResourceVersion)
|
||||
if m.TimeoutSeconds != nil {
|
||||
data[i] = 0x28
|
||||
i++
|
||||
i = encodeVarintGenerated(data, i, uint64(*m.TimeoutSeconds))
|
||||
}
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *ObjectMeta) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
|
@ -1510,6 +1559,22 @@ func (m *ListMeta) Size() (n int) {
|
|||
return n
|
||||
}
|
||||
|
||||
func (m *ListOptions) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
l = len(m.LabelSelector)
|
||||
n += 1 + l + sovGenerated(uint64(l))
|
||||
l = len(m.FieldSelector)
|
||||
n += 1 + l + sovGenerated(uint64(l))
|
||||
n += 2
|
||||
l = len(m.ResourceVersion)
|
||||
n += 1 + l + sovGenerated(uint64(l))
|
||||
if m.TimeoutSeconds != nil {
|
||||
n += 1 + sovGenerated(uint64(*m.TimeoutSeconds))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *ObjectMeta) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
|
@ -1843,6 +1908,20 @@ func (this *ListMeta) String() string {
|
|||
}, "")
|
||||
return s
|
||||
}
|
||||
func (this *ListOptions) String() string {
|
||||
if this == nil {
|
||||
return "nil"
|
||||
}
|
||||
s := strings.Join([]string{`&ListOptions{`,
|
||||
`LabelSelector:` + fmt.Sprintf("%v", this.LabelSelector) + `,`,
|
||||
`FieldSelector:` + fmt.Sprintf("%v", this.FieldSelector) + `,`,
|
||||
`Watch:` + fmt.Sprintf("%v", this.Watch) + `,`,
|
||||
`ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`,
|
||||
`TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`,
|
||||
`}`,
|
||||
}, "")
|
||||
return s
|
||||
}
|
||||
func (this *ObjectMeta) String() string {
|
||||
if this == nil {
|
||||
return "nil"
|
||||
|
@ -4018,6 +4097,183 @@ func (m *ListMeta) Unmarshal(data []byte) error {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
func (m *ListOptions) 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: ListOptions: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: ListOptions: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field LabelSelector", 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.LabelSelector = string(data[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field FieldSelector", 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.FieldSelector = string(data[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 3:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Watch", wireType)
|
||||
}
|
||||
var v int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowGenerated
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
iNdEx++
|
||||
v |= (int(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
m.Watch = bool(v != 0)
|
||||
case 4:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field ResourceVersion", 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.ResourceVersion = string(data[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 5:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field TimeoutSeconds", wireType)
|
||||
}
|
||||
var v int64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowGenerated
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
iNdEx++
|
||||
v |= (int64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
m.TimeoutSeconds = &v
|
||||
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 *ObjectMeta) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
|
@ -6062,126 +6318,130 @@ var (
|
|||
)
|
||||
|
||||
var fileDescriptorGenerated = []byte{
|
||||
// 1922 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x6f, 0x23, 0x49,
|
||||
0x15, 0x77, 0xdb, 0xb1, 0xc7, 0x7e, 0x8e, 0x27, 0x49, 0x31, 0x23, 0xbc, 0x91, 0xb0, 0xb3, 0xbd,
|
||||
0x2b, 0x34, 0x0b, 0xbb, 0x36, 0x09, 0xb0, 0x1a, 0x06, 0x58, 0x14, 0xc7, 0x99, 0x28, 0xda, 0xc9,
|
||||
0x4c, 0x54, 0xd9, 0x19, 0xc4, 0x32, 0x42, 0x74, 0xba, 0x2b, 0x4e, 0x93, 0x76, 0x77, 0x53, 0x55,
|
||||
0xf6, 0xc4, 0xec, 0x81, 0x95, 0x00, 0x89, 0x03, 0x42, 0x73, 0xe4, 0x80, 0xd0, 0x8e, 0xe0, 0x13,
|
||||
0xf0, 0x25, 0x98, 0xe3, 0x4a, 0x7b, 0xe1, 0x80, 0x22, 0x26, 0x1c, 0x38, 0x72, 0x8f, 0x38, 0xa0,
|
||||
0xaa, 0xae, 0xea, 0x3f, 0xce, 0x78, 0xd3, 0x66, 0xf7, 0xb0, 0x27, 0x77, 0xbd, 0x3f, 0xbf, 0xf7,
|
||||
0xea, 0xd5, 0xab, 0x57, 0xef, 0x19, 0xf6, 0x4e, 0x6e, 0xb3, 0x8e, 0x1b, 0x74, 0x4f, 0x46, 0x87,
|
||||
0x84, 0xfa, 0x84, 0x13, 0xd6, 0x1d, 0x13, 0xdf, 0x09, 0x68, 0x57, 0x31, 0xac, 0xd0, 0x1d, 0x5a,
|
||||
0xf6, 0xb1, 0xeb, 0x13, 0x3a, 0xe9, 0x86, 0x27, 0x03, 0x41, 0x60, 0xdd, 0x21, 0xe1, 0x56, 0x77,
|
||||
0xbc, 0xde, 0x1d, 0x10, 0x9f, 0x50, 0x8b, 0x13, 0xa7, 0x13, 0xd2, 0x80, 0x07, 0xe8, 0xf5, 0x48,
|
||||
0xab, 0x93, 0xd6, 0xea, 0x84, 0x27, 0x03, 0x41, 0x60, 0x1d, 0xa1, 0xd5, 0x19, 0xaf, 0xaf, 0xbe,
|
||||
0x35, 0x70, 0xf9, 0xf1, 0xe8, 0xb0, 0x63, 0x07, 0xc3, 0xee, 0x20, 0x18, 0x04, 0x5d, 0xa9, 0x7c,
|
||||
0x38, 0x3a, 0x92, 0x2b, 0xb9, 0x90, 0x5f, 0x11, 0xe8, 0xea, 0x4c, 0x57, 0xe8, 0xc8, 0xe7, 0xee,
|
||||
0x90, 0x4c, 0x7b, 0xb1, 0xfa, 0xf6, 0x55, 0x0a, 0xcc, 0x3e, 0x26, 0x43, 0xeb, 0x92, 0xde, 0xc6,
|
||||
0xe5, 0x60, 0xa8, 0x1d, 0x77, 0x29, 0x61, 0xc1, 0x88, 0xda, 0x97, 0x6d, 0xad, 0xbf, 0x5c, 0x67,
|
||||
0xc4, 0x5d, 0xaf, 0xeb, 0xfa, 0x9c, 0x71, 0x3a, 0xad, 0x62, 0xfe, 0xad, 0x04, 0xd5, 0xcd, 0xfd,
|
||||
0xdd, 0x1d, 0x1a, 0x8c, 0x42, 0xb4, 0x06, 0x0b, 0xbe, 0x35, 0x24, 0x4d, 0x63, 0xcd, 0xb8, 0x55,
|
||||
0xeb, 0x2d, 0x3e, 0x3f, 0x6b, 0x17, 0xce, 0xcf, 0xda, 0x0b, 0xf7, 0xad, 0x21, 0xc1, 0x92, 0x83,
|
||||
0x3c, 0xa8, 0x8e, 0x09, 0x65, 0x6e, 0xe0, 0xb3, 0x66, 0x71, 0xad, 0x74, 0xab, 0xbe, 0xf1, 0x4e,
|
||||
0x27, 0x4f, 0x98, 0x3b, 0xd2, 0xc0, 0xa3, 0x48, 0xf5, 0x6e, 0x40, 0xfb, 0x2e, 0xb3, 0x83, 0x31,
|
||||
0xa1, 0x93, 0xde, 0xb2, 0xb2, 0x52, 0x55, 0x4c, 0x86, 0x63, 0x0b, 0xe8, 0xd7, 0x06, 0x2c, 0x87,
|
||||
0x94, 0x1c, 0x11, 0x4a, 0x89, 0xa3, 0xf8, 0xcd, 0xd2, 0x9a, 0xf1, 0x39, 0x98, 0x6d, 0x2a, 0xb3,
|
||||
0xcb, 0xfb, 0x53, 0xf8, 0xf8, 0x92, 0x45, 0xf4, 0x67, 0x03, 0x56, 0x19, 0xa1, 0x63, 0x42, 0x37,
|
||||
0x1d, 0x87, 0x12, 0xc6, 0x7a, 0x93, 0x2d, 0xcf, 0x25, 0x3e, 0xdf, 0xda, 0xed, 0x63, 0xd6, 0x5c,
|
||||
0x90, 0x71, 0xf8, 0x41, 0x3e, 0x87, 0x0e, 0x66, 0xe1, 0xf4, 0x4c, 0xe5, 0xd1, 0xea, 0x4c, 0x11,
|
||||
0x86, 0x3f, 0xc5, 0x0d, 0xf3, 0x08, 0x16, 0xf5, 0x41, 0xde, 0x73, 0x19, 0x47, 0x8f, 0xa0, 0x32,
|
||||
0x10, 0x0b, 0xd6, 0x34, 0xa4, 0x83, 0x9d, 0x7c, 0x0e, 0x6a, 0x8c, 0xde, 0x75, 0xe5, 0x4f, 0x45,
|
||||
0x2e, 0x19, 0x56, 0x68, 0xe6, 0x27, 0x06, 0xd4, 0x37, 0xf7, 0x77, 0xb1, 0x4a, 0xc2, 0x1c, 0x49,
|
||||
0xb3, 0x01, 0x20, 0x7e, 0x59, 0x68, 0xd9, 0xc4, 0x69, 0x16, 0xd7, 0x8c, 0x5b, 0xd5, 0x1e, 0x52,
|
||||
0x72, 0x70, 0x3f, 0xe6, 0xe0, 0x94, 0x94, 0x40, 0x3d, 0x71, 0x7d, 0x47, 0x9e, 0x76, 0x0a, 0xf5,
|
||||
0x5d, 0xd7, 0x77, 0xb0, 0xe4, 0xa0, 0x7b, 0x50, 0x1e, 0x13, 0x7a, 0x28, 0xe2, 0x2f, 0x12, 0xe2,
|
||||
0xeb, 0xf9, 0xb6, 0xf7, 0x48, 0xa8, 0xf4, 0x6a, 0xe7, 0x67, 0xed, 0xb2, 0xfc, 0xc4, 0x11, 0x88,
|
||||
0xf9, 0x57, 0x03, 0x96, 0x52, 0xbb, 0x92, 0x11, 0xbc, 0x0d, 0x8b, 0x83, 0x54, 0xfe, 0xa8, 0x1d,
|
||||
0xde, 0x50, 0xbe, 0x2c, 0xa6, 0x73, 0x0b, 0x67, 0x24, 0x11, 0x81, 0x9a, 0xbe, 0xa4, 0xfa, 0x9e,
|
||||
0xac, 0xe7, 0x0e, 0xbf, 0xf6, 0x21, 0xb1, 0x94, 0x22, 0x32, 0x9c, 0x20, 0x9b, 0xff, 0x8e, 0x8e,
|
||||
0x42, 0xdf, 0x1c, 0x74, 0x2b, 0x75, 0x3b, 0xc5, 0xa1, 0xd7, 0x7a, 0x8b, 0x33, 0x6e, 0xd6, 0x15,
|
||||
0x29, 0x5d, 0xfc, 0x42, 0xa4, 0xf4, 0x9d, 0xea, 0x1f, 0x3e, 0x6a, 0x17, 0x3e, 0xfc, 0xc7, 0x5a,
|
||||
0xc1, 0xdc, 0x85, 0x6a, 0x7f, 0x44, 0x2d, 0x2e, 0x82, 0xfb, 0x7d, 0xa8, 0x3a, 0xea, 0x5b, 0x1e,
|
||||
0x49, 0xa9, 0xf7, 0xaa, 0xae, 0x21, 0x5a, 0xe6, 0xe2, 0xac, 0xdd, 0x10, 0xc5, 0xb5, 0xa3, 0x09,
|
||||
0x38, 0x56, 0x31, 0x1f, 0x43, 0x63, 0xfb, 0x34, 0x0c, 0x28, 0x7f, 0x10, 0x72, 0x19, 0x8b, 0xaf,
|
||||
0x42, 0x85, 0x48, 0x82, 0x44, 0xab, 0x26, 0x89, 0x1f, 0x89, 0x61, 0xc5, 0x45, 0xaf, 0x41, 0x99,
|
||||
0x9c, 0x5a, 0x36, 0x57, 0x19, 0xdc, 0x50, 0x62, 0xe5, 0x6d, 0x41, 0xc4, 0x11, 0xcf, 0x7c, 0x00,
|
||||
0xb0, 0x43, 0x62, 0xe8, 0x4d, 0x58, 0xd2, 0xa7, 0x95, 0x4d, 0xa2, 0x2f, 0x2b, 0xe5, 0x25, 0x9c,
|
||||
0x65, 0xe3, 0x69, 0x79, 0xf3, 0x31, 0xd4, 0x64, 0xa2, 0x89, 0xcc, 0x17, 0x2e, 0xc8, 0x3c, 0x53,
|
||||
0x28, 0xb1, 0x0b, 0x52, 0x02, 0x47, 0xbc, 0xf8, 0xea, 0x14, 0x67, 0x5d, 0x9d, 0x54, 0x5c, 0x3d,
|
||||
0x68, 0x44, 0xba, 0xfa, 0x36, 0xe7, 0xb2, 0xf0, 0x26, 0x54, 0xb5, 0x9b, 0xca, 0x4a, 0x5c, 0xc5,
|
||||
0x35, 0x10, 0x8e, 0x25, 0x52, 0xd6, 0x8e, 0x21, 0x73, 0x69, 0xf2, 0x19, 0x7b, 0x03, 0xae, 0xa9,
|
||||
0xb4, 0x55, 0xb6, 0x96, 0x94, 0xd8, 0x35, 0x1d, 0x33, 0xcd, 0x4f, 0x59, 0xfa, 0x25, 0x34, 0x67,
|
||||
0x95, 0xfe, 0xcf, 0x70, 0xad, 0xf3, 0xbb, 0x62, 0xfe, 0xde, 0x80, 0xe5, 0x34, 0x52, 0xfe, 0xe3,
|
||||
0xcb, 0x6f, 0xe4, 0xea, 0x22, 0x99, 0x8a, 0xc8, 0x9f, 0x0c, 0xb8, 0x91, 0xd9, 0xda, 0x5c, 0x27,
|
||||
0x3e, 0x87, 0x53, 0xe9, 0xe4, 0x28, 0xcd, 0x91, 0x1c, 0x9f, 0x14, 0xa1, 0x71, 0xcf, 0x3a, 0x24,
|
||||
0xde, 0x01, 0xf1, 0x88, 0xcd, 0x03, 0x8a, 0x3e, 0x80, 0xfa, 0xd0, 0xe2, 0xf6, 0xb1, 0xa4, 0xea,
|
||||
0x67, 0xac, 0x9f, 0xaf, 0x28, 0x65, 0x90, 0x3a, 0x7b, 0x09, 0xcc, 0xb6, 0xcf, 0xe9, 0xa4, 0xf7,
|
||||
0x25, 0xe5, 0x52, 0x3d, 0xc5, 0xc1, 0x69, 0x6b, 0xb2, 0xf7, 0x90, 0xeb, 0xed, 0xd3, 0x50, 0x54,
|
||||
0xa6, 0xf9, 0x5b, 0x9e, 0x8c, 0x0b, 0x98, 0xfc, 0x7c, 0xe4, 0x52, 0x32, 0x24, 0x3e, 0x4f, 0x7a,
|
||||
0x8f, 0xbd, 0x29, 0x7c, 0x7c, 0xc9, 0xe2, 0xea, 0x3b, 0xb0, 0x3c, 0xed, 0x3c, 0x5a, 0x86, 0xd2,
|
||||
0x09, 0x99, 0x44, 0xe7, 0x85, 0xc5, 0x27, 0xba, 0x01, 0xe5, 0xb1, 0xe5, 0x8d, 0xd4, 0x6d, 0xc4,
|
||||
0xd1, 0xe2, 0x4e, 0xf1, 0xb6, 0x61, 0xfe, 0xc5, 0x80, 0xe6, 0x2c, 0x47, 0xd0, 0x57, 0x52, 0x40,
|
||||
0xbd, 0xba, 0xf2, 0xaa, 0xf4, 0x2e, 0x99, 0x44, 0xa8, 0xdb, 0x50, 0x0d, 0x42, 0xd1, 0x2d, 0x06,
|
||||
0x54, 0x9d, 0xfa, 0x1b, 0xfa, 0x24, 0x1f, 0x28, 0xfa, 0xc5, 0x59, 0xfb, 0x66, 0x06, 0x5e, 0x33,
|
||||
0x70, 0xac, 0x8a, 0x4c, 0xa8, 0x48, 0x7f, 0x58, 0xb3, 0x24, 0xdf, 0x24, 0x10, 0xb5, 0xf5, 0x91,
|
||||
0xa4, 0x60, 0xc5, 0x31, 0x3f, 0x80, 0xaa, 0x78, 0x72, 0xf7, 0x08, 0xb7, 0x44, 0x02, 0x31, 0xe2,
|
||||
0x1d, 0xdd, 0x73, 0xfd, 0x13, 0xe5, 0x5a, 0x9c, 0x40, 0x07, 0x8a, 0x8e, 0x63, 0x89, 0x97, 0x95,
|
||||
0xd8, 0xe2, 0x9c, 0x25, 0xf6, 0x57, 0x00, 0xf0, 0xe0, 0xf0, 0x67, 0xc4, 0x8e, 0xec, 0x5f, 0xdd,
|
||||
0xd0, 0x88, 0x0a, 0xa2, 0xfa, 0x68, 0x41, 0x55, 0x06, 0x93, 0x0a, 0x92, 0xe2, 0xe1, 0x8c, 0x24,
|
||||
0xea, 0x42, 0x2d, 0x6e, 0x72, 0xd4, 0xed, 0x58, 0x51, 0x6a, 0xb5, 0xb8, 0x13, 0xc2, 0x89, 0x4c,
|
||||
0x26, 0x18, 0x0b, 0x57, 0x06, 0xa3, 0x07, 0xa5, 0x91, 0xeb, 0x34, 0xcb, 0x52, 0xf0, 0x1b, 0xfa,
|
||||
0x40, 0x1f, 0xee, 0xf6, 0x2f, 0xce, 0xda, 0xaf, 0xce, 0x1a, 0x44, 0xf8, 0x24, 0x24, 0xac, 0xf3,
|
||||
0x70, 0xb7, 0x8f, 0x85, 0xf2, 0xcb, 0x02, 0x5a, 0x99, 0x2f, 0xa0, 0xa2, 0xe1, 0x53, 0xbb, 0x16,
|
||||
0xda, 0xd7, 0xe4, 0x1b, 0x1d, 0x37, 0x7c, 0x3b, 0x31, 0x07, 0xa7, 0xa4, 0x10, 0x83, 0x15, 0x9b,
|
||||
0x12, 0xf9, 0xfd, 0x9e, 0x3b, 0x24, 0x8c, 0x5b, 0xc3, 0xb0, 0x59, 0x95, 0xad, 0xdd, 0xd7, 0xf2,
|
||||
0xdd, 0x37, 0xa1, 0xd6, 0x7b, 0x45, 0x99, 0x59, 0xd9, 0x9a, 0x06, 0xc3, 0x97, 0xf1, 0x51, 0x00,
|
||||
0x2b, 0x0e, 0xf1, 0x48, 0xd6, 0x68, 0x6d, 0x6e, 0xa3, 0x37, 0x85, 0xc1, 0xfe, 0x34, 0x10, 0xbe,
|
||||
0x8c, 0x8d, 0x7e, 0x02, 0xab, 0x9a, 0xb8, 0x43, 0x2d, 0x9b, 0xec, 0x13, 0xea, 0x06, 0xce, 0x01,
|
||||
0xb1, 0x03, 0xdf, 0x61, 0x4d, 0x90, 0x91, 0x6a, 0x89, 0x8e, 0xa9, 0x3f, 0x53, 0x0a, 0x7f, 0x0a,
|
||||
0x02, 0x72, 0xa0, 0xe2, 0x45, 0xd5, 0xb2, 0x2e, 0x4b, 0xd5, 0xf7, 0xf2, 0xed, 0x22, 0xc9, 0xfe,
|
||||
0x4e, 0xba, 0x4a, 0xc6, 0x9d, 0x90, 0x2a, 0x90, 0x0a, 0x1b, 0x9d, 0x42, 0xdd, 0xf2, 0xfd, 0x80,
|
||||
0xcb, 0x68, 0xb2, 0xe6, 0xa2, 0x34, 0xb5, 0x39, 0xb7, 0xa9, 0xcd, 0x04, 0x63, 0xaa, 0x2a, 0xa7,
|
||||
0x38, 0x38, 0x6d, 0x0a, 0x3d, 0x81, 0xa5, 0xe0, 0x89, 0x4f, 0x28, 0x16, 0x23, 0x1a, 0xf1, 0x45,
|
||||
0x7b, 0xdd, 0x90, 0xd6, 0xbf, 0x95, 0xd3, 0x7a, 0x46, 0x39, 0x49, 0xe9, 0x2c, 0x9d, 0xe1, 0x69,
|
||||
0x2b, 0xa8, 0x03, 0x70, 0xe4, 0xfa, 0x96, 0xe7, 0xfe, 0x82, 0x50, 0xd6, 0xbc, 0x2e, 0x0b, 0xd9,
|
||||
0x75, 0x91, 0xce, 0x77, 0x63, 0x2a, 0x4e, 0x49, 0xa0, 0x6f, 0x43, 0xdd, 0xf6, 0x46, 0x8c, 0x13,
|
||||
0x2a, 0x2b, 0xc4, 0x92, 0xbc, 0x41, 0xf1, 0xfe, 0xb6, 0x12, 0x16, 0x4e, 0xcb, 0xad, 0x7e, 0x07,
|
||||
0xea, 0xff, 0x67, 0xa5, 0x17, 0x2f, 0xc5, 0x74, 0x40, 0xe7, 0x7a, 0x29, 0xfe, 0x6b, 0xc0, 0xf5,
|
||||
0x6c, 0x18, 0xe2, 0xfe, 0xc2, 0x98, 0x39, 0x84, 0xe9, 0x5a, 0x59, 0x9a, 0x59, 0x2b, 0x55, 0x49,
|
||||
0x5a, 0xf8, 0x2c, 0x25, 0x69, 0x03, 0xc0, 0x0a, 0x5d, 0x5d, 0x8d, 0xa2, 0xea, 0x16, 0xd7, 0x93,
|
||||
0x64, 0x00, 0xc2, 0x29, 0x29, 0x71, 0x60, 0x76, 0xe0, 0x73, 0x1a, 0x78, 0x1e, 0xa1, 0xb2, 0x82,
|
||||
0x55, 0xa3, 0x03, 0xdb, 0x8a, 0xa9, 0x38, 0x25, 0x61, 0xbe, 0x09, 0x35, 0x1c, 0x04, 0x7c, 0xdf,
|
||||
0xe2, 0xc7, 0x0c, 0xb5, 0xa1, 0x1c, 0x8a, 0x0f, 0x35, 0x45, 0xc9, 0x71, 0x51, 0x72, 0x70, 0x44,
|
||||
0x37, 0x7f, 0x67, 0xc0, 0x2b, 0x33, 0x87, 0x1a, 0xe1, 0xaf, 0x1d, 0xaf, 0x54, 0xf4, 0x62, 0x7f,
|
||||
0x13, 0x39, 0x9c, 0x92, 0x42, 0xdf, 0x85, 0x46, 0x66, 0x12, 0x52, 0x8f, 0xca, 0x4d, 0xa5, 0xd6,
|
||||
0xc8, 0x58, 0xc3, 0x59, 0x59, 0xf3, 0x3f, 0x45, 0xa8, 0x1c, 0x70, 0x8b, 0x8f, 0x18, 0x7a, 0x0c,
|
||||
0x55, 0x91, 0xec, 0x8e, 0xc5, 0x2d, 0x69, 0x39, 0xf7, 0xe0, 0xaf, 0xdf, 0xdf, 0xe4, 0x81, 0xd1,
|
||||
0x14, 0x1c, 0x23, 0x8a, 0x59, 0x89, 0x49, 0x3b, 0xca, 0xbd, 0xb8, 0x42, 0x44, 0xd6, 0xb1, 0xe2,
|
||||
0x8a, 0x7e, 0x71, 0x48, 0x18, 0xb3, 0x06, 0x3a, 0x35, 0xe2, 0x7e, 0x71, 0x2f, 0x22, 0x63, 0xcd,
|
||||
0x47, 0x6f, 0x43, 0x85, 0x12, 0x8b, 0x05, 0xbe, 0xca, 0x91, 0x96, 0x86, 0xc4, 0x92, 0x7a, 0x71,
|
||||
0xd6, 0x5e, 0x54, 0xe0, 0x72, 0x8d, 0x95, 0x34, 0x7a, 0x1f, 0xae, 0x39, 0x84, 0x5b, 0xae, 0xc7,
|
||||
0x64, 0x46, 0xd4, 0x37, 0xbe, 0x99, 0x73, 0x5c, 0x95, 0x60, 0xfd, 0x48, 0xb5, 0x57, 0x17, 0x3e,
|
||||
0xa9, 0x05, 0xd6, 0x80, 0x22, 0xad, 0xed, 0xc0, 0x21, 0x32, 0x6d, 0xca, 0x49, 0x5a, 0x6f, 0x05,
|
||||
0x0e, 0xc1, 0x92, 0x63, 0x3e, 0x35, 0xa0, 0x1e, 0x21, 0x6d, 0x59, 0x23, 0x46, 0xd0, 0x7a, 0xbc,
|
||||
0x8b, 0xe8, 0xb8, 0xf5, 0x3b, 0xb4, 0xf0, 0xde, 0x24, 0x24, 0x17, 0x67, 0xed, 0x9a, 0x14, 0x13,
|
||||
0x8b, 0x78, 0x03, 0xa9, 0x18, 0x15, 0xaf, 0x88, 0xd1, 0x6b, 0x50, 0x3e, 0x72, 0x89, 0xa7, 0x3b,
|
||||
0xfd, 0xb8, 0x47, 0xbf, 0x2b, 0x88, 0x38, 0xe2, 0x99, 0x7f, 0x2c, 0x42, 0x23, 0xb3, 0xb9, 0x1c,
|
||||
0x9d, 0x4c, 0xdc, 0xfc, 0x17, 0x73, 0x0c, 0x94, 0xb3, 0xff, 0x8b, 0xf9, 0x11, 0x54, 0x6c, 0xb1,
|
||||
0x3f, 0xfd, 0x67, 0xd8, 0xfa, 0x3c, 0x47, 0x21, 0x23, 0x93, 0x64, 0x92, 0x5c, 0x32, 0xac, 0x00,
|
||||
0xd1, 0x0e, 0xac, 0x50, 0xc2, 0xe9, 0x64, 0xf3, 0x88, 0x13, 0xaa, 0x1f, 0xca, 0xb2, 0x3c, 0x97,
|
||||
0xf8, 0xad, 0xc7, 0xd3, 0x02, 0xf8, 0xb2, 0x8e, 0xe9, 0xc1, 0x82, 0x78, 0x87, 0x45, 0xd8, 0x99,
|
||||
0x82, 0x89, 0xfe, 0x3d, 0x88, 0xc3, 0xae, 0x95, 0x35, 0x5f, 0x44, 0xc7, 0xb7, 0xfc, 0x20, 0x4a,
|
||||
0xf6, 0x72, 0x12, 0x9d, 0xfb, 0x82, 0x88, 0x23, 0xde, 0x9d, 0x1b, 0x62, 0x82, 0xf9, 0xed, 0xb3,
|
||||
0x76, 0xe1, 0xe9, 0xb3, 0x76, 0xe1, 0xa3, 0x67, 0x6a, 0x9a, 0xf9, 0x31, 0xd4, 0x92, 0x57, 0xff,
|
||||
0x73, 0x36, 0x69, 0xfe, 0x14, 0xaa, 0x22, 0x93, 0x74, 0xb7, 0x7a, 0x45, 0x8d, 0xce, 0x56, 0xcf,
|
||||
0x62, 0x9e, 0xea, 0x69, 0x6e, 0x40, 0xf4, 0xf7, 0x98, 0xa8, 0x84, 0x2e, 0x27, 0xc3, 0x4c, 0x25,
|
||||
0xdc, 0x15, 0x04, 0x1c, 0xd1, 0x53, 0x03, 0xdc, 0x6f, 0x0c, 0x80, 0x1f, 0xca, 0xf9, 0x65, 0x2c,
|
||||
0x86, 0x8b, 0x35, 0x58, 0x10, 0x65, 0x7c, 0xda, 0x31, 0x79, 0x05, 0x24, 0x07, 0x3d, 0x84, 0x4a,
|
||||
0x20, 0xbb, 0x01, 0xe9, 0x54, 0x7d, 0xe3, 0xad, 0x99, 0x59, 0xa3, 0xfe, 0x2b, 0xef, 0x60, 0xeb,
|
||||
0xc9, 0xf6, 0x29, 0x27, 0xbe, 0xf0, 0x31, 0xc9, 0x98, 0xa8, 0xa5, 0xc0, 0x0a, 0xac, 0xf7, 0xfa,
|
||||
0xf3, 0x17, 0xad, 0xc2, 0xc7, 0x2f, 0x5a, 0x85, 0xbf, 0xbf, 0x68, 0x15, 0x3e, 0x3c, 0x6f, 0x19,
|
||||
0xcf, 0xcf, 0x5b, 0xc6, 0xc7, 0xe7, 0x2d, 0xe3, 0x9f, 0xe7, 0x2d, 0xe3, 0xe9, 0xbf, 0x5a, 0x85,
|
||||
0xf7, 0x8b, 0xe3, 0xf5, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xdb, 0xcd, 0x08, 0x9f, 0x6d, 0x18,
|
||||
0x00, 0x00,
|
||||
// 1992 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x19, 0x4d, 0x6f, 0x23, 0x49,
|
||||
0xd5, 0xed, 0xaf, 0xb1, 0x9f, 0xf3, 0x59, 0xcc, 0x08, 0x6f, 0x24, 0xec, 0x6c, 0xef, 0x0a, 0xcd,
|
||||
0xc2, 0xae, 0x4d, 0x02, 0xac, 0x86, 0x01, 0x16, 0xc5, 0x71, 0x26, 0x8a, 0x76, 0x32, 0x13, 0x55,
|
||||
0x76, 0x06, 0xb1, 0x8c, 0x10, 0x9d, 0xee, 0x8a, 0xd3, 0xa4, 0xdd, 0x6d, 0xaa, 0xca, 0x9e, 0x98,
|
||||
0x3d, 0xb0, 0x12, 0x20, 0x71, 0x40, 0x68, 0x8e, 0x1c, 0x10, 0xda, 0x11, 0xdc, 0xb8, 0xf1, 0x27,
|
||||
0x98, 0xe3, 0x4a, 0x7b, 0xe1, 0x80, 0x2c, 0x26, 0x1c, 0x38, 0x72, 0x8f, 0x38, 0xa0, 0xaa, 0xae,
|
||||
0xea, 0x0f, 0x27, 0xde, 0xb4, 0xd9, 0x3d, 0x70, 0x4a, 0xd7, 0xfb, 0xae, 0xf7, 0x5e, 0xbd, 0x0f,
|
||||
0x07, 0xf6, 0x4f, 0xef, 0xb0, 0x96, 0x1b, 0xb4, 0x4f, 0x87, 0x47, 0x84, 0xfa, 0x84, 0x13, 0xd6,
|
||||
0x1e, 0x11, 0xdf, 0x09, 0x68, 0x5b, 0x21, 0xac, 0x81, 0xdb, 0xb7, 0xec, 0x13, 0xd7, 0x27, 0x74,
|
||||
0xdc, 0x1e, 0x9c, 0xf6, 0x04, 0x80, 0xb5, 0xfb, 0x84, 0x5b, 0xed, 0xd1, 0x46, 0xbb, 0x47, 0x7c,
|
||||
0x42, 0x2d, 0x4e, 0x9c, 0xd6, 0x80, 0x06, 0x3c, 0x40, 0xaf, 0x87, 0x5c, 0xad, 0x24, 0x57, 0x6b,
|
||||
0x70, 0xda, 0x13, 0x00, 0xd6, 0x12, 0x5c, 0xad, 0xd1, 0xc6, 0xda, 0x5b, 0x3d, 0x97, 0x9f, 0x0c,
|
||||
0x8f, 0x5a, 0x76, 0xd0, 0x6f, 0xf7, 0x82, 0x5e, 0xd0, 0x96, 0xcc, 0x47, 0xc3, 0x63, 0x79, 0x92,
|
||||
0x07, 0xf9, 0x15, 0x0a, 0x5d, 0x9b, 0x69, 0x0a, 0x1d, 0xfa, 0xdc, 0xed, 0x93, 0x69, 0x2b, 0xd6,
|
||||
0xde, 0xbe, 0x8e, 0x81, 0xd9, 0x27, 0xa4, 0x6f, 0x5d, 0xe2, 0xdb, 0xbc, 0xec, 0x0c, 0x75, 0xe3,
|
||||
0x36, 0x25, 0x2c, 0x18, 0x52, 0xfb, 0xb2, 0xae, 0x8d, 0xab, 0x79, 0x86, 0xdc, 0xf5, 0xda, 0xae,
|
||||
0xcf, 0x19, 0xa7, 0xd3, 0x2c, 0xe6, 0x5f, 0x0b, 0x50, 0xd9, 0x3a, 0xd8, 0xdb, 0xa5, 0xc1, 0x70,
|
||||
0x80, 0xd6, 0xa1, 0xe8, 0x5b, 0x7d, 0x52, 0x37, 0xd6, 0x8d, 0xdb, 0xd5, 0xce, 0xc2, 0x8b, 0x49,
|
||||
0x33, 0x77, 0x3e, 0x69, 0x16, 0x1f, 0x58, 0x7d, 0x82, 0x25, 0x06, 0x79, 0x50, 0x19, 0x11, 0xca,
|
||||
0xdc, 0xc0, 0x67, 0xf5, 0xfc, 0x7a, 0xe1, 0x76, 0x6d, 0xf3, 0x9d, 0x56, 0x16, 0x37, 0xb7, 0xa4,
|
||||
0x82, 0xc7, 0x21, 0xeb, 0xbd, 0x80, 0x76, 0x5d, 0x66, 0x07, 0x23, 0x42, 0xc7, 0x9d, 0x15, 0xa5,
|
||||
0xa5, 0xa2, 0x90, 0x0c, 0x47, 0x1a, 0xd0, 0x2f, 0x0d, 0x58, 0x19, 0x50, 0x72, 0x4c, 0x28, 0x25,
|
||||
0x8e, 0xc2, 0xd7, 0x0b, 0xeb, 0xc6, 0xe7, 0xa0, 0xb6, 0xae, 0xd4, 0xae, 0x1c, 0x4c, 0xc9, 0xc7,
|
||||
0x97, 0x34, 0xa2, 0x3f, 0x1a, 0xb0, 0xc6, 0x08, 0x1d, 0x11, 0xba, 0xe5, 0x38, 0x94, 0x30, 0xd6,
|
||||
0x19, 0x6f, 0x7b, 0x2e, 0xf1, 0xf9, 0xf6, 0x5e, 0x17, 0xb3, 0x7a, 0x51, 0xfa, 0xe1, 0x7b, 0xd9,
|
||||
0x0c, 0x3a, 0x9c, 0x25, 0xa7, 0x63, 0x2a, 0x8b, 0xd6, 0x66, 0x92, 0x30, 0xfc, 0x29, 0x66, 0x98,
|
||||
0xc7, 0xb0, 0xa0, 0x03, 0x79, 0xdf, 0x65, 0x1c, 0x3d, 0x86, 0x72, 0x4f, 0x1c, 0x58, 0xdd, 0x90,
|
||||
0x06, 0xb6, 0xb2, 0x19, 0xa8, 0x65, 0x74, 0x96, 0x94, 0x3d, 0x65, 0x79, 0x64, 0x58, 0x49, 0x33,
|
||||
0x3f, 0x31, 0xa0, 0xb6, 0x75, 0xb0, 0x87, 0x55, 0x12, 0x66, 0x48, 0x9a, 0x4d, 0x00, 0xf1, 0x97,
|
||||
0x0d, 0x2c, 0x9b, 0x38, 0xf5, 0xfc, 0xba, 0x71, 0xbb, 0xd2, 0x41, 0x8a, 0x0e, 0x1e, 0x44, 0x18,
|
||||
0x9c, 0xa0, 0x12, 0x52, 0x4f, 0x5d, 0xdf, 0x91, 0xd1, 0x4e, 0x48, 0x7d, 0xd7, 0xf5, 0x1d, 0x2c,
|
||||
0x31, 0xe8, 0x3e, 0x94, 0x46, 0x84, 0x1e, 0x09, 0xff, 0x8b, 0x84, 0xf8, 0x6a, 0xb6, 0xeb, 0x3d,
|
||||
0x16, 0x2c, 0x9d, 0xea, 0xf9, 0xa4, 0x59, 0x92, 0x9f, 0x38, 0x14, 0x62, 0xfe, 0xc5, 0x80, 0xe5,
|
||||
0xc4, 0xad, 0xa4, 0x07, 0xef, 0xc0, 0x42, 0x2f, 0x91, 0x3f, 0xea, 0x86, 0x37, 0x95, 0x2d, 0x0b,
|
||||
0xc9, 0xdc, 0xc2, 0x29, 0x4a, 0x44, 0xa0, 0xaa, 0x1f, 0xa9, 0x7e, 0x27, 0x1b, 0x99, 0xdd, 0xaf,
|
||||
0x6d, 0x88, 0x35, 0x25, 0x80, 0x0c, 0xc7, 0x92, 0xcd, 0x7f, 0x85, 0xa1, 0xd0, 0x2f, 0x07, 0xdd,
|
||||
0x4e, 0xbc, 0x4e, 0x11, 0xf4, 0x6a, 0x67, 0x61, 0xc6, 0xcb, 0xba, 0x26, 0xa5, 0xf3, 0xff, 0x17,
|
||||
0x29, 0x7d, 0xb7, 0xf2, 0xbb, 0x8f, 0x9a, 0xb9, 0x0f, 0xff, 0xbe, 0x9e, 0x33, 0xf7, 0xa0, 0xd2,
|
||||
0x1d, 0x52, 0x8b, 0x0b, 0xe7, 0x7e, 0x17, 0x2a, 0x8e, 0xfa, 0x96, 0x21, 0x29, 0x74, 0x5e, 0xd5,
|
||||
0x35, 0x44, 0xd3, 0x5c, 0x4c, 0x9a, 0x8b, 0xa2, 0xb8, 0xb6, 0x34, 0x00, 0x47, 0x2c, 0xe6, 0x13,
|
||||
0x58, 0xdc, 0x39, 0x1b, 0x04, 0x94, 0x3f, 0x1c, 0x70, 0xe9, 0x8b, 0x2f, 0x43, 0x99, 0x48, 0x80,
|
||||
0x94, 0x56, 0x89, 0x13, 0x3f, 0x24, 0xc3, 0x0a, 0x8b, 0x5e, 0x83, 0x12, 0x39, 0xb3, 0x6c, 0xae,
|
||||
0x32, 0x78, 0x51, 0x91, 0x95, 0x76, 0x04, 0x10, 0x87, 0x38, 0xf3, 0x21, 0xc0, 0x2e, 0x89, 0x44,
|
||||
0x6f, 0xc1, 0xb2, 0x8e, 0x56, 0x3a, 0x89, 0xbe, 0xa8, 0x98, 0x97, 0x71, 0x1a, 0x8d, 0xa7, 0xe9,
|
||||
0xcd, 0x27, 0x50, 0x95, 0x89, 0x26, 0x32, 0x5f, 0x98, 0x20, 0xf3, 0x4c, 0x49, 0x89, 0x4c, 0x90,
|
||||
0x14, 0x38, 0xc4, 0x45, 0x4f, 0x27, 0x3f, 0xeb, 0xe9, 0x24, 0xfc, 0xea, 0xc1, 0x62, 0xc8, 0xab,
|
||||
0x5f, 0x73, 0x26, 0x0d, 0x6f, 0x42, 0x45, 0x9b, 0xa9, 0xb4, 0x44, 0x55, 0x5c, 0x0b, 0xc2, 0x11,
|
||||
0x45, 0x42, 0xdb, 0x09, 0xa4, 0x1e, 0x4d, 0x36, 0x65, 0x6f, 0xc0, 0x0d, 0x95, 0xb6, 0x4a, 0xd7,
|
||||
0xb2, 0x22, 0xbb, 0xa1, 0x7d, 0xa6, 0xf1, 0x09, 0x4d, 0x3f, 0x87, 0xfa, 0xac, 0xd2, 0xff, 0x19,
|
||||
0x9e, 0x75, 0x76, 0x53, 0xcc, 0xdf, 0x1a, 0xb0, 0x92, 0x94, 0x94, 0x3d, 0x7c, 0xd9, 0x95, 0x5c,
|
||||
0x5f, 0x24, 0x13, 0x1e, 0xf9, 0x83, 0x01, 0x37, 0x53, 0x57, 0x9b, 0x2b, 0xe2, 0x73, 0x18, 0x95,
|
||||
0x4c, 0x8e, 0xc2, 0x1c, 0xc9, 0xf1, 0x49, 0x1e, 0x16, 0xef, 0x5b, 0x47, 0xc4, 0x3b, 0x24, 0x1e,
|
||||
0xb1, 0x79, 0x40, 0xd1, 0x07, 0x50, 0xeb, 0x5b, 0xdc, 0x3e, 0x91, 0x50, 0xdd, 0xc6, 0xba, 0xd9,
|
||||
0x8a, 0x52, 0x4a, 0x52, 0x6b, 0x3f, 0x16, 0xb3, 0xe3, 0x73, 0x3a, 0xee, 0x7c, 0x41, 0x99, 0x54,
|
||||
0x4b, 0x60, 0x70, 0x52, 0x9b, 0x9c, 0x3d, 0xe4, 0x79, 0xe7, 0x6c, 0x20, 0x2a, 0xd3, 0xfc, 0x23,
|
||||
0x4f, 0xca, 0x04, 0x4c, 0x7e, 0x3a, 0x74, 0x29, 0xe9, 0x13, 0x9f, 0xc7, 0xb3, 0xc7, 0xfe, 0x94,
|
||||
0x7c, 0x7c, 0x49, 0xe3, 0xda, 0x3b, 0xb0, 0x32, 0x6d, 0x3c, 0x5a, 0x81, 0xc2, 0x29, 0x19, 0x87,
|
||||
0xf1, 0xc2, 0xe2, 0x13, 0xdd, 0x84, 0xd2, 0xc8, 0xf2, 0x86, 0xea, 0x35, 0xe2, 0xf0, 0x70, 0x37,
|
||||
0x7f, 0xc7, 0x30, 0xff, 0x64, 0x40, 0x7d, 0x96, 0x21, 0xe8, 0x4b, 0x09, 0x41, 0x9d, 0x9a, 0xb2,
|
||||
0xaa, 0xf0, 0x2e, 0x19, 0x87, 0x52, 0x77, 0xa0, 0x12, 0x0c, 0xc4, 0xb4, 0x18, 0x50, 0x15, 0xf5,
|
||||
0x37, 0x74, 0x24, 0x1f, 0x2a, 0xf8, 0xc5, 0xa4, 0x79, 0x2b, 0x25, 0x5e, 0x23, 0x70, 0xc4, 0x8a,
|
||||
0x4c, 0x28, 0x4b, 0x7b, 0x58, 0xbd, 0x20, 0x7b, 0x12, 0x88, 0xda, 0xfa, 0x58, 0x42, 0xb0, 0xc2,
|
||||
0x98, 0x1f, 0x40, 0x45, 0xb4, 0xdc, 0x7d, 0xc2, 0x2d, 0x91, 0x40, 0x8c, 0x78, 0xc7, 0xf7, 0x5d,
|
||||
0xff, 0x54, 0x99, 0x16, 0x25, 0xd0, 0xa1, 0x82, 0xe3, 0x88, 0xe2, 0xaa, 0x12, 0x9b, 0x9f, 0xb3,
|
||||
0xc4, 0xfe, 0x39, 0x0f, 0x35, 0xa1, 0x5d, 0x57, 0xed, 0x6f, 0xc3, 0xa2, 0x97, 0xbc, 0x93, 0xb2,
|
||||
0xe2, 0x96, 0x12, 0x98, 0xce, 0x52, 0x9c, 0xa6, 0x15, 0xcc, 0xc7, 0x2e, 0xf1, 0x9c, 0x88, 0x39,
|
||||
0x9f, 0x66, 0xbe, 0x97, 0x44, 0xe2, 0x34, 0xad, 0x78, 0x8b, 0x4f, 0x45, 0xb4, 0xe5, 0xc3, 0x49,
|
||||
0xb4, 0x98, 0xef, 0x0b, 0x20, 0x0e, 0x71, 0x57, 0xdd, 0xb8, 0x38, 0xdf, 0x8d, 0xd1, 0x5d, 0x58,
|
||||
0x12, 0xed, 0x31, 0x18, 0xf2, 0x43, 0x62, 0x07, 0xbe, 0xc3, 0xea, 0x25, 0xd9, 0x48, 0xd1, 0xf9,
|
||||
0xa4, 0xb9, 0xf4, 0x5e, 0x0a, 0x83, 0xa7, 0x28, 0xcd, 0x5f, 0x00, 0xc0, 0xc3, 0xa3, 0x9f, 0x10,
|
||||
0x3b, 0x8c, 0xd6, 0xf5, 0xe3, 0x9f, 0xa8, 0xb7, 0x6a, 0xeb, 0x10, 0x50, 0xe5, 0x90, 0xb8, 0xde,
|
||||
0x26, 0x70, 0x38, 0x45, 0x89, 0xda, 0x50, 0x8d, 0x46, 0x42, 0x55, 0x4b, 0x56, 0x15, 0x5b, 0x35,
|
||||
0x9a, 0x1b, 0x71, 0x4c, 0x93, 0x4a, 0x9d, 0xe2, 0xb5, 0xa9, 0xd3, 0x81, 0xc2, 0xd0, 0x75, 0xe4,
|
||||
0xd5, 0xab, 0x9d, 0xaf, 0xe9, 0xf4, 0x7f, 0xb4, 0xd7, 0xbd, 0x98, 0x34, 0x5f, 0x9d, 0xb5, 0xb6,
|
||||
0xf1, 0xf1, 0x80, 0xb0, 0xd6, 0xa3, 0xbd, 0x2e, 0x16, 0xcc, 0x57, 0x05, 0xa3, 0x3c, 0x67, 0x30,
|
||||
0x36, 0x01, 0xd4, 0xad, 0x05, 0xf7, 0x8d, 0x30, 0x10, 0x7a, 0x3c, 0xde, 0x8d, 0x30, 0x38, 0x41,
|
||||
0x85, 0x18, 0xac, 0xda, 0x94, 0xc8, 0x6f, 0x11, 0x2e, 0xc6, 0xad, 0xfe, 0xa0, 0x5e, 0x91, 0x83,
|
||||
0xf0, 0x57, 0xb2, 0x55, 0x27, 0xc1, 0xd6, 0x79, 0x45, 0xa9, 0x59, 0xdd, 0x9e, 0x16, 0x86, 0x2f,
|
||||
0xcb, 0x47, 0x01, 0xac, 0x3a, 0xc4, 0x23, 0x69, 0xa5, 0xd5, 0xb9, 0x95, 0xde, 0x12, 0x0a, 0xbb,
|
||||
0xd3, 0x82, 0xf0, 0x65, 0xd9, 0xe8, 0x47, 0xb0, 0xa6, 0x81, 0xbb, 0xd4, 0xb2, 0xc9, 0x01, 0xa1,
|
||||
0x6e, 0xe0, 0xe8, 0x94, 0x05, 0xe9, 0xa9, 0x86, 0x98, 0x2f, 0xbb, 0x33, 0xa9, 0xf0, 0xa7, 0x48,
|
||||
0x40, 0x0e, 0x94, 0xbd, 0xb0, 0xb7, 0xd4, 0x64, 0x61, 0xff, 0x4e, 0xb6, 0x5b, 0xc4, 0xd9, 0xdf,
|
||||
0x4a, 0xf6, 0x94, 0x68, 0x6e, 0x54, 0xed, 0x44, 0xc9, 0x46, 0x67, 0x50, 0xb3, 0x7c, 0x3f, 0xe0,
|
||||
0xd2, 0x9b, 0xac, 0xbe, 0x20, 0x55, 0x6d, 0xcd, 0xad, 0x6a, 0x2b, 0x96, 0x31, 0xd5, 0xc3, 0x12,
|
||||
0x18, 0x9c, 0x54, 0x85, 0x9e, 0xc2, 0x72, 0xf0, 0xd4, 0x27, 0x14, 0x8b, 0x85, 0x96, 0xf8, 0x62,
|
||||
0x19, 0x59, 0x94, 0xda, 0xbf, 0x91, 0x51, 0x7b, 0x8a, 0x39, 0x4e, 0xe9, 0x34, 0x9c, 0xe1, 0x69,
|
||||
0x2d, 0xa8, 0x05, 0x70, 0xec, 0xfa, 0x96, 0xe7, 0xfe, 0x8c, 0x50, 0x56, 0x5f, 0x92, 0x65, 0x7f,
|
||||
0x49, 0xa4, 0xf3, 0xbd, 0x08, 0x8a, 0x13, 0x14, 0xe8, 0x9b, 0x50, 0xb3, 0xbd, 0x21, 0xe3, 0x84,
|
||||
0xca, 0x0a, 0xb1, 0x2c, 0x5f, 0x50, 0x74, 0xbf, 0xed, 0x18, 0x85, 0x93, 0x74, 0x6b, 0xdf, 0x82,
|
||||
0xda, 0xff, 0xd8, 0x17, 0x45, 0x5f, 0x9d, 0x76, 0xe8, 0x5c, 0x7d, 0xf5, 0x3f, 0x06, 0x2c, 0xa5,
|
||||
0xdd, 0x10, 0x4d, 0x63, 0xc6, 0xcc, 0x95, 0x55, 0xd7, 0xca, 0xc2, 0xcc, 0x5a, 0xa9, 0x4a, 0x52,
|
||||
0xf1, 0xb3, 0x94, 0xa4, 0x4d, 0x00, 0x6b, 0xe0, 0xea, 0x6a, 0x14, 0x56, 0xb7, 0xa8, 0x9e, 0xc4,
|
||||
0xeb, 0x22, 0x4e, 0x50, 0x89, 0x80, 0xd9, 0x81, 0xcf, 0x69, 0xe0, 0x79, 0x84, 0xca, 0x0a, 0x56,
|
||||
0x09, 0x03, 0xb6, 0x1d, 0x41, 0x71, 0x82, 0xc2, 0x7c, 0x13, 0xaa, 0x38, 0x08, 0xf8, 0x81, 0xc5,
|
||||
0x4f, 0x18, 0x6a, 0x42, 0x69, 0x20, 0x3e, 0xd4, 0xce, 0x29, 0x97, 0x6b, 0x89, 0xc1, 0x21, 0xdc,
|
||||
0xfc, 0x8d, 0x01, 0xaf, 0xcc, 0x5c, 0x01, 0x85, 0xbd, 0x76, 0x74, 0x52, 0xde, 0x8b, 0xec, 0x8d,
|
||||
0xe9, 0x70, 0x82, 0x4a, 0x74, 0xd9, 0xd4, 0xde, 0x38, 0xdd, 0x65, 0x53, 0xda, 0x70, 0x9a, 0xd6,
|
||||
0xfc, 0x77, 0x1e, 0xca, 0x87, 0xdc, 0xe2, 0x43, 0x86, 0x9e, 0x40, 0x45, 0x24, 0xbb, 0x63, 0x71,
|
||||
0x4b, 0x6a, 0xce, 0xfc, 0x33, 0x89, 0x9e, 0x56, 0xe2, 0x06, 0xa3, 0x21, 0x38, 0x92, 0x28, 0x36,
|
||||
0x4b, 0x26, 0xf5, 0x28, 0xf3, 0xa2, 0x0a, 0x11, 0x6a, 0xc7, 0x0a, 0x2b, 0xa6, 0xeb, 0x3e, 0x61,
|
||||
0xcc, 0xea, 0xe9, 0xd4, 0x88, 0xa6, 0xeb, 0xfd, 0x10, 0x8c, 0x35, 0x1e, 0xbd, 0x0d, 0x65, 0x4a,
|
||||
0x2c, 0x16, 0xf5, 0xfc, 0x86, 0x16, 0x89, 0x25, 0xf4, 0x62, 0xd2, 0x5c, 0x50, 0xc2, 0xe5, 0x19,
|
||||
0x2b, 0x6a, 0xf4, 0x3e, 0xdc, 0x70, 0x08, 0xb7, 0x5c, 0x2f, 0x6c, 0xf5, 0xb5, 0xcd, 0xaf, 0x67,
|
||||
0x5c, 0xee, 0xa5, 0xb0, 0x6e, 0xc8, 0xda, 0xa9, 0x09, 0x9b, 0xd4, 0x01, 0x6b, 0x81, 0x22, 0xad,
|
||||
0xed, 0xc0, 0x21, 0x32, 0x6d, 0x4a, 0x71, 0x5a, 0x6f, 0x07, 0x0e, 0xc1, 0x12, 0x63, 0x3e, 0x33,
|
||||
0xa0, 0x16, 0x4a, 0xda, 0xb6, 0x86, 0x8c, 0xa0, 0x8d, 0xe8, 0x16, 0x61, 0xb8, 0x75, 0x1f, 0x2a,
|
||||
0xbe, 0x37, 0x1e, 0x90, 0x8b, 0x49, 0xb3, 0x2a, 0xc9, 0xc4, 0x21, 0xba, 0x40, 0xc2, 0x47, 0xf9,
|
||||
0x6b, 0x7c, 0xf4, 0x1a, 0x94, 0xe4, 0x58, 0xa5, 0x9c, 0x19, 0x4d, 0x51, 0x72, 0xf4, 0xc2, 0x21,
|
||||
0xce, 0xfc, 0x7d, 0x1e, 0x16, 0x53, 0x97, 0xcb, 0x30, 0xc9, 0x44, 0xab, 0x52, 0x3e, 0xc3, 0xfa,
|
||||
0x3d, 0xfb, 0x97, 0xab, 0x1f, 0x40, 0xd9, 0x16, 0xf7, 0xd3, 0x3f, 0x1d, 0x6e, 0xcc, 0x13, 0x0a,
|
||||
0xe9, 0x99, 0x38, 0x93, 0xe4, 0x91, 0x61, 0x25, 0x10, 0xed, 0xc2, 0x2a, 0x25, 0x9c, 0x8e, 0xb7,
|
||||
0x8e, 0x39, 0xa1, 0xc9, 0xd9, 0xae, 0x14, 0xf7, 0x7a, 0x3c, 0x4d, 0x80, 0x2f, 0xf3, 0x98, 0x1e,
|
||||
0x14, 0x45, 0x1f, 0x16, 0x6e, 0x67, 0x4a, 0x4c, 0xf8, 0x5b, 0x4b, 0xe4, 0x76, 0xcd, 0xac, 0xf1,
|
||||
0xc2, 0x3b, 0xbe, 0xe5, 0x07, 0x61, 0xb2, 0x97, 0x62, 0xef, 0x3c, 0x10, 0x40, 0x1c, 0xe2, 0xee,
|
||||
0xde, 0x14, 0xfb, 0xde, 0xaf, 0x9f, 0x37, 0x73, 0xcf, 0x9e, 0x37, 0x73, 0x1f, 0x3d, 0x57, 0xbb,
|
||||
0xdf, 0x0f, 0xa1, 0x1a, 0x77, 0xfd, 0xcf, 0x59, 0xa5, 0xf9, 0x63, 0xa8, 0x88, 0x4c, 0xd2, 0xd3,
|
||||
0xea, 0x35, 0x35, 0x3a, 0x5d, 0x3d, 0xf3, 0x59, 0xaa, 0xa7, 0xb9, 0x09, 0xe1, 0x8f, 0x89, 0xa2,
|
||||
0x12, 0xba, 0x9c, 0xf4, 0x53, 0x95, 0x70, 0x4f, 0x00, 0x70, 0x08, 0x4f, 0xac, 0xbb, 0xbf, 0x32,
|
||||
0x00, 0xe4, 0x58, 0xbf, 0x33, 0x12, 0xab, 0xd8, 0x3a, 0x14, 0x45, 0x19, 0x9f, 0x36, 0x4c, 0x3e,
|
||||
0x01, 0x89, 0x41, 0x8f, 0xa0, 0x1c, 0xc8, 0x69, 0x40, 0x1a, 0x55, 0xdb, 0x7c, 0x6b, 0x66, 0xd6,
|
||||
0xa8, 0xff, 0x2c, 0xb4, 0xb0, 0xf5, 0x74, 0xe7, 0x8c, 0x13, 0x5f, 0xd8, 0x18, 0x67, 0x4c, 0x38,
|
||||
0x52, 0x60, 0x25, 0xac, 0xf3, 0xfa, 0x8b, 0x97, 0x8d, 0xdc, 0xc7, 0x2f, 0x1b, 0xb9, 0xbf, 0xbd,
|
||||
0x6c, 0xe4, 0x3e, 0x3c, 0x6f, 0x18, 0x2f, 0xce, 0x1b, 0xc6, 0xc7, 0xe7, 0x0d, 0xe3, 0x1f, 0xe7,
|
||||
0x0d, 0xe3, 0xd9, 0x3f, 0x1b, 0xb9, 0xf7, 0xf3, 0xa3, 0x8d, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff,
|
||||
0x01, 0xac, 0x25, 0xfa, 0x9b, 0x19, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -246,6 +246,37 @@ message ListMeta {
|
|||
optional string resourceVersion = 2;
|
||||
}
|
||||
|
||||
// ListOptions is the query options to a standard REST list call.
|
||||
message ListOptions {
|
||||
// A selector to restrict the list of returned objects by their labels.
|
||||
// Defaults to everything.
|
||||
// +optional
|
||||
optional string labelSelector = 1;
|
||||
|
||||
// A selector to restrict the list of returned objects by their fields.
|
||||
// Defaults to everything.
|
||||
// +optional
|
||||
optional string fieldSelector = 2;
|
||||
|
||||
// Watch for changes to the described resources and return them as a stream of
|
||||
// add, update, and remove notifications. Specify resourceVersion.
|
||||
// +optional
|
||||
optional bool watch = 3;
|
||||
|
||||
// When specified with a watch call, shows changes that occur after that particular version of a resource.
|
||||
// Defaults to changes from the beginning of history.
|
||||
// When specified for list:
|
||||
// - if unset, then the result is returned from remote storage based on quorum-read flag;
|
||||
// - if it's 0, then we simply return what we currently have in cache, no guarantee;
|
||||
// - if set to non zero, then the result is at least as fresh as given rv.
|
||||
// +optional
|
||||
optional string resourceVersion = 4;
|
||||
|
||||
// Timeout for the list/watch call.
|
||||
// +optional
|
||||
optional int64 timeoutSeconds = 5;
|
||||
}
|
||||
|
||||
// ObjectMeta is metadata that all persisted resources must have, which includes all objects
|
||||
// users must create.
|
||||
message ObjectMeta {
|
||||
|
|
|
@ -19,6 +19,7 @@ package v1
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"k8s.io/apimachinery/pkg/fields"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/selection"
|
||||
)
|
||||
|
@ -195,3 +196,11 @@ func SetMetaDataAnnotation(obj *ObjectMeta, ann string, value string) {
|
|||
}
|
||||
obj.Annotations[ann] = value
|
||||
}
|
||||
|
||||
// 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,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
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 v1
|
||||
|
||||
// Clones the given selector and returns a new selector with the given key and value added.
|
||||
// Returns the given selector, if labelKey is empty.
|
||||
func CloneSelectorAndAddLabel(selector *LabelSelector, labelKey, labelValue string) *LabelSelector {
|
||||
if labelKey == "" {
|
||||
// Don't need to add a label.
|
||||
return selector
|
||||
}
|
||||
|
||||
// Clone.
|
||||
newSelector := new(LabelSelector)
|
||||
|
||||
// TODO(madhusudancs): Check if you can use deepCopy_extensions_LabelSelector here.
|
||||
newSelector.MatchLabels = make(map[string]string)
|
||||
if selector.MatchLabels != nil {
|
||||
for key, val := range selector.MatchLabels {
|
||||
newSelector.MatchLabels[key] = val
|
||||
}
|
||||
}
|
||||
newSelector.MatchLabels[labelKey] = labelValue
|
||||
|
||||
if selector.MatchExpressions != nil {
|
||||
newMExps := make([]LabelSelectorRequirement, len(selector.MatchExpressions))
|
||||
for i, me := range selector.MatchExpressions {
|
||||
newMExps[i].Key = me.Key
|
||||
newMExps[i].Operator = me.Operator
|
||||
if me.Values != nil {
|
||||
newMExps[i].Values = make([]string, len(me.Values))
|
||||
copy(newMExps[i].Values, me.Values)
|
||||
} else {
|
||||
newMExps[i].Values = nil
|
||||
}
|
||||
}
|
||||
newSelector.MatchExpressions = newMExps
|
||||
} else {
|
||||
newSelector.MatchExpressions = nil
|
||||
}
|
||||
|
||||
return newSelector
|
||||
}
|
||||
|
||||
// AddLabelToSelector returns a selector with the given key and value added to the given selector's MatchLabels.
|
||||
func AddLabelToSelector(selector *LabelSelector, labelKey, labelValue string) *LabelSelector {
|
||||
if labelKey == "" {
|
||||
// Don't need to add a label.
|
||||
return selector
|
||||
}
|
||||
if selector.MatchLabels == nil {
|
||||
selector.MatchLabels = make(map[string]string)
|
||||
}
|
||||
selector.MatchLabels[labelKey] = labelValue
|
||||
return selector
|
||||
}
|
||||
|
||||
// SelectorHasLabel checks if the given selector contains the given label key in its MatchLabels
|
||||
func SelectorHasLabel(selector *LabelSelector, labelKey string) bool {
|
||||
return len(selector.MatchLabels[labelKey]) > 0
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
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 v1
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCloneSelectorAndAddLabel(t *testing.T) {
|
||||
labels := map[string]string{
|
||||
"foo1": "bar1",
|
||||
"foo2": "bar2",
|
||||
"foo3": "bar3",
|
||||
}
|
||||
|
||||
cases := []struct {
|
||||
labels map[string]string
|
||||
labelKey string
|
||||
labelValue string
|
||||
want map[string]string
|
||||
}{
|
||||
{
|
||||
labels: labels,
|
||||
want: labels,
|
||||
},
|
||||
{
|
||||
labels: labels,
|
||||
labelKey: "foo4",
|
||||
labelValue: "89",
|
||||
want: map[string]string{
|
||||
"foo1": "bar1",
|
||||
"foo2": "bar2",
|
||||
"foo3": "bar3",
|
||||
"foo4": "89",
|
||||
},
|
||||
},
|
||||
{
|
||||
labels: nil,
|
||||
labelKey: "foo4",
|
||||
labelValue: "12",
|
||||
want: map[string]string{
|
||||
"foo4": "12",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
ls_in := LabelSelector{MatchLabels: tc.labels}
|
||||
ls_out := LabelSelector{MatchLabels: tc.want}
|
||||
|
||||
got := CloneSelectorAndAddLabel(&ls_in, tc.labelKey, tc.labelValue)
|
||||
if !reflect.DeepEqual(got, &ls_out) {
|
||||
t.Errorf("got %v, want %v", got, tc.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddLabelToSelector(t *testing.T) {
|
||||
labels := map[string]string{
|
||||
"foo1": "bar1",
|
||||
"foo2": "bar2",
|
||||
"foo3": "bar3",
|
||||
}
|
||||
|
||||
cases := []struct {
|
||||
labels map[string]string
|
||||
labelKey string
|
||||
labelValue string
|
||||
want map[string]string
|
||||
}{
|
||||
{
|
||||
labels: labels,
|
||||
want: labels,
|
||||
},
|
||||
{
|
||||
labels: labels,
|
||||
labelKey: "foo4",
|
||||
labelValue: "89",
|
||||
want: map[string]string{
|
||||
"foo1": "bar1",
|
||||
"foo2": "bar2",
|
||||
"foo3": "bar3",
|
||||
"foo4": "89",
|
||||
},
|
||||
},
|
||||
{
|
||||
labels: nil,
|
||||
labelKey: "foo4",
|
||||
labelValue: "12",
|
||||
want: map[string]string{
|
||||
"foo4": "12",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
ls_in := LabelSelector{MatchLabels: tc.labels}
|
||||
ls_out := LabelSelector{MatchLabels: tc.want}
|
||||
|
||||
got := AddLabelToSelector(&ls_in, tc.labelKey, tc.labelValue)
|
||||
if !reflect.DeepEqual(got, &ls_out) {
|
||||
t.Errorf("got %v, want %v", got, tc.want)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -25,7 +25,7 @@ import (
|
|||
const GroupName = "meta.k8s.io"
|
||||
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: ""}
|
||||
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
|
||||
|
||||
// WatchEventKind is name reserved for serializing watch events.
|
||||
const WatchEventKind = "WatchEvent"
|
||||
|
@ -42,6 +42,7 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion)
|
|||
schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind),
|
||||
&InternalEvent{},
|
||||
)
|
||||
scheme.AddKnownTypes(groupVersion, &ListOptions{})
|
||||
scheme.AddConversionFuncs(
|
||||
Convert_versioned_Event_to_watch_Event,
|
||||
Convert_versioned_InternalEvent_to_versioned_Event,
|
||||
|
@ -49,3 +50,15 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion)
|
|||
Convert_versioned_Event_to_versioned_InternalEvent,
|
||||
)
|
||||
}
|
||||
|
||||
// scheme is the registry for the common types that adhere to the meta v1 API spec.
|
||||
var scheme = runtime.NewScheme()
|
||||
|
||||
// ParameterCodec knows about query parameters used with the meta v1 API spec.
|
||||
var ParameterCodec = runtime.NewParameterCodec(scheme)
|
||||
|
||||
func init() {
|
||||
scheme.AddUnversionedTypes(SchemeGroupVersion,
|
||||
&ListOptions{},
|
||||
)
|
||||
}
|
||||
|
|
|
@ -219,6 +219,17 @@ type ObjectMeta struct {
|
|||
ClusterName string `json:"clusterName,omitempty" protobuf:"bytes,15,opt,name=clusterName"`
|
||||
}
|
||||
|
||||
const (
|
||||
// NamespaceDefault means the object is in the default namespace which is applied when not specified by clients
|
||||
NamespaceDefault string = "default"
|
||||
// NamespaceAll is the default argument to specify on a context when you want to list or filter resources across all namespaces
|
||||
NamespaceAll string = ""
|
||||
// NamespaceNone is the argument for a context when there is no namespace.
|
||||
NamespaceNone string = ""
|
||||
// NamespaceSystem is the system namespace where we place system components.
|
||||
NamespaceSystem string = "kube-system"
|
||||
)
|
||||
|
||||
// OwnerReference contains enough information to let you identify an owning
|
||||
// object. Currently, an owning object must be in the same namespace, so there
|
||||
// is no namespace field.
|
||||
|
@ -239,6 +250,35 @@ type OwnerReference struct {
|
|||
Controller *bool `json:"controller,omitempty" protobuf:"varint,6,opt,name=controller"`
|
||||
}
|
||||
|
||||
// ListOptions is the query options to a standard REST list call.
|
||||
type ListOptions struct {
|
||||
TypeMeta `json:",inline"`
|
||||
|
||||
// A selector to restrict the list of returned objects by their labels.
|
||||
// Defaults to everything.
|
||||
// +optional
|
||||
LabelSelector string `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"`
|
||||
// A selector to restrict the list of returned objects by their fields.
|
||||
// Defaults to everything.
|
||||
// +optional
|
||||
FieldSelector string `json:"fieldSelector,omitempty" protobuf:"bytes,2,opt,name=fieldSelector"`
|
||||
// Watch for changes to the described resources and return them as a stream of
|
||||
// add, update, and remove notifications. Specify resourceVersion.
|
||||
// +optional
|
||||
Watch bool `json:"watch,omitempty" protobuf:"varint,3,opt,name=watch"`
|
||||
// When specified with a watch call, shows changes that occur after that particular version of a resource.
|
||||
// Defaults to changes from the beginning of history.
|
||||
// When specified for list:
|
||||
// - if unset, then the result is returned from remote storage based on quorum-read flag;
|
||||
// - if it's 0, then we simply return what we currently have in cache, no guarantee;
|
||||
// - if set to non zero, then the result is at least as fresh as given rv.
|
||||
// +optional
|
||||
ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,4,opt,name=resourceVersion"`
|
||||
// Timeout for the list/watch call.
|
||||
// +optional
|
||||
TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" protobuf:"varint,5,opt,name=timeoutSeconds"`
|
||||
}
|
||||
|
||||
// ExportOptions is the query options to the standard REST get call.
|
||||
type ExportOptions struct {
|
||||
TypeMeta `json:",inline"`
|
||||
|
|
Loading…
Reference in New Issue