diff --git a/cmd/kube-aggregator/pkg/apiserver/BUILD b/cmd/kube-aggregator/pkg/apiserver/BUILD index ee945be58c0..90cacefa916 100644 --- a/cmd/kube-aggregator/pkg/apiserver/BUILD +++ b/cmd/kube-aggregator/pkg/apiserver/BUILD @@ -21,7 +21,6 @@ go_test( "//cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/listers/core/v1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -29,6 +28,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/endpoints/request", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -51,7 +51,6 @@ go_library( "//cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion:go_default_library", "//cmd/kube-aggregator/pkg/registry/apiservice/etcd:go_default_library", "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated:go_default_library", "//pkg/client/listers/core/v1:go_default_library", @@ -75,6 +74,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/transport", ], ) diff --git a/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go b/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go index 02b21cbe4d3..a836b5120d0 100644 --- a/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go +++ b/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go @@ -25,7 +25,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/client/cache" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/util/workqueue" diff --git a/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go b/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go index a1cd3d79ed9..2bf18eed602 100644 --- a/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go +++ b/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go @@ -26,9 +26,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" corev1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" v1listers "k8s.io/kubernetes/pkg/client/listers/core/v1" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" diff --git a/cmd/kube-aggregator/pkg/client/informers/BUILD b/cmd/kube-aggregator/pkg/client/informers/BUILD index 35715a92d43..60e7b083793 100644 --- a/cmd/kube-aggregator/pkg/client/informers/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/BUILD @@ -21,9 +21,9 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset:go_default_library", "//cmd/kube-aggregator/pkg/client/informers/apiregistration:go_default_library", "//cmd/kube-aggregator/pkg/client/informers/internalinterfaces:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD index 726f0c8b6d8..e18f43ae191 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD @@ -19,10 +19,10 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset:go_default_library", "//cmd/kube-aggregator/pkg/client/informers/internalinterfaces:go_default_library", "//cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go index e25c690cf55..4f33d81a49f 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go @@ -22,11 +22,11 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" internalclientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces" internalversion "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion" - cache "k8s.io/kubernetes/pkg/client/cache" time "time" ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD index 7cbf4dbb29b..4ad6634037c 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD @@ -19,10 +19,10 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/clientset:go_default_library", "//cmd/kube-aggregator/pkg/client/informers/internalinterfaces:go_default_library", "//cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go index 3e2fb20bf1c..1d305da8cae 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go @@ -22,11 +22,11 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" apiregistration_v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" time "time" ) diff --git a/cmd/kube-aggregator/pkg/client/informers/factory.go b/cmd/kube-aggregator/pkg/client/informers/factory.go index 14618dd4b5c..ac7fd1aebf1 100644 --- a/cmd/kube-aggregator/pkg/client/informers/factory.go +++ b/cmd/kube-aggregator/pkg/client/informers/factory.go @@ -21,11 +21,11 @@ package informers import ( runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration" internalinterfaces "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces" - cache "k8s.io/kubernetes/pkg/client/cache" reflect "reflect" sync "sync" time "time" diff --git a/cmd/kube-aggregator/pkg/client/informers/generic.go b/cmd/kube-aggregator/pkg/client/informers/generic.go index a18750a3d8f..029bbac888c 100644 --- a/cmd/kube-aggregator/pkg/client/informers/generic.go +++ b/cmd/kube-aggregator/pkg/client/informers/generic.go @@ -21,9 +21,9 @@ package informers import ( "fmt" schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other diff --git a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD index 054cfab4e19..9c86ea77b30 100644 --- a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD @@ -14,8 +14,8 @@ go_library( deps = [ "//cmd/kube-aggregator/pkg/client/clientset_generated/clientset:go_default_library", "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go index c62b9922277..0db99bcf604 100644 --- a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go +++ b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go @@ -20,9 +20,9 @@ package internalinterfaces import ( runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" - cache "k8s.io/kubernetes/pkg/client/cache" time "time" ) diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD index 93d3d345182..09812b2582a 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go index 30446f28eb6..971569c9433 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" - "k8s.io/kubernetes/pkg/client/cache" ) // APIServiceLister helps list APIServices. diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD index 8aa6ee95080..c566ca2bc34 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD @@ -17,10 +17,10 @@ go_library( deps = [ "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", "//cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go index c339b8ef374..aec85175114 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // APIServiceLister helps list APIServices. diff --git a/cmd/kubelet/app/BUILD b/cmd/kubelet/app/BUILD index de96c816cd4..44288076d72 100644 --- a/cmd/kubelet/app/BUILD +++ b/cmd/kubelet/app/BUILD @@ -17,9 +17,9 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ + "//pkg/apis/componentconfig:go_default_library", "//pkg/kubelet:go_default_library", "//vendor:k8s.io/apimachinery/pkg/util/diff", - "//vendor:k8s.io/apiserver/pkg/util/flag", "//vendor:k8s.io/client-go/rest", ], ) diff --git a/cmd/kubelet/app/server_test.go b/cmd/kubelet/app/server_test.go index 6b948e80d6f..2da0e104913 100644 --- a/cmd/kubelet/app/server_test.go +++ b/cmd/kubelet/app/server_test.go @@ -19,7 +19,7 @@ package app import ( "testing" - utilflag "k8s.io/apiserver/pkg/util/flag" + "k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/kubelet" ) @@ -51,8 +51,8 @@ func TestValueOfAllocatableResources(t *testing.T) { } for _, test := range testCases { - kubeReservedCM := make(utilflag.ConfigurationMap) - systemReservedCM := make(utilflag.ConfigurationMap) + kubeReservedCM := make(componentconfig.ConfigurationMap) + systemReservedCM := make(componentconfig.ConfigurationMap) kubeReservedCM.Set(test.kubeReserved) systemReservedCM.Set(test.systemReserved) diff --git a/cmd/libs/go2idl/informer-gen/generators/types.go b/cmd/libs/go2idl/informer-gen/generators/types.go index 3a15b819969..5a58dc5138f 100644 --- a/cmd/libs/go2idl/informer-gen/generators/types.go +++ b/cmd/libs/go2idl/informer-gen/generators/types.go @@ -20,14 +20,14 @@ import "k8s.io/gengo/types" var ( apiScheme = types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "Scheme"} - cacheGenericLister = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "GenericLister"} - cacheIndexers = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "Indexers"} - cacheListWatch = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "ListWatch"} - cacheMetaNamespaceIndexFunc = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "MetaNamespaceIndexFunc"} - cacheNamespaceIndex = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "NamespaceIndex"} - cacheNewGenericLister = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "NewGenericLister"} - cacheNewSharedIndexInformer = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "NewSharedIndexInformer"} - cacheSharedIndexInformer = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "SharedIndexInformer"} + cacheGenericLister = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "GenericLister"} + cacheIndexers = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "Indexers"} + cacheListWatch = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "ListWatch"} + cacheMetaNamespaceIndexFunc = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "MetaNamespaceIndexFunc"} + cacheNamespaceIndex = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "NamespaceIndex"} + cacheNewGenericLister = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "NewGenericLister"} + cacheNewSharedIndexInformer = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "NewSharedIndexInformer"} + cacheSharedIndexInformer = types.Name{Package: "k8s.io/client-go/tools/cache", Name: "SharedIndexInformer"} listOptions = types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "ListOptions"} reflectType = types.Name{Package: "reflect", Name: "Type"} runtimeObject = types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Object"} diff --git a/cmd/libs/go2idl/lister-gen/generators/lister.go b/cmd/libs/go2idl/lister-gen/generators/lister.go index ecbbdcedb65..4000f61fc5b 100644 --- a/cmd/libs/go2idl/lister-gen/generators/lister.go +++ b/cmd/libs/go2idl/lister-gen/generators/lister.go @@ -219,7 +219,7 @@ func (g *listerGenerator) Imports(c *generator.Context) (imports []string) { imports = append(imports, "k8s.io/apimachinery/pkg/api/errors") imports = append(imports, "k8s.io/apimachinery/pkg/labels") // for Indexer - imports = append(imports, "k8s.io/kubernetes/pkg/client/cache") + imports = append(imports, "k8s.io/client-go/tools/cache") return } diff --git a/federation/client/cache/BUILD b/federation/client/cache/BUILD index 6a5d0f77124..3364ac65dc5 100644 --- a/federation/client/cache/BUILD +++ b/federation/client/cache/BUILD @@ -13,8 +13,8 @@ go_library( tags = ["automanaged"], deps = [ "//federation/apis/federation/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/federation/client/cache/cluster_cache.go b/federation/client/cache/cluster_cache.go index fc8928bfbc7..796959d3548 100644 --- a/federation/client/cache/cluster_cache.go +++ b/federation/client/cache/cluster_cache.go @@ -18,8 +18,8 @@ package cache import ( "github.com/golang/glog" + kubecache "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/federation/apis/federation/v1beta1" - kubecache "k8s.io/kubernetes/pkg/client/cache" ) // StoreToClusterLister makes a Store have the List method of the metav1.ClusterInterface diff --git a/federation/pkg/federation-controller/cluster/BUILD b/federation/pkg/federation-controller/cluster/BUILD index 00d568f40d6..f50cabc68fb 100644 --- a/federation/pkg/federation-controller/cluster/BUILD +++ b/federation/pkg/federation-controller/cluster/BUILD @@ -23,7 +23,6 @@ go_library( "//federation/pkg/federation-controller/util:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/controller:go_default_library", @@ -35,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/federation/pkg/federation-controller/cluster/clustercontroller.go b/federation/pkg/federation-controller/cluster/clustercontroller.go index d41ad536277..157b111ccce 100644 --- a/federation/pkg/federation-controller/cluster/clustercontroller.go +++ b/federation/pkg/federation-controller/cluster/clustercontroller.go @@ -27,10 +27,10 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" federationv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" clustercache "k8s.io/kubernetes/federation/client/cache" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller" ) diff --git a/federation/pkg/federation-controller/configmap/BUILD b/federation/pkg/federation-controller/configmap/BUILD index 3266cfcabb6..f765833a0f8 100644 --- a/federation/pkg/federation-controller/configmap/BUILD +++ b/federation/pkg/federation-controller/configmap/BUILD @@ -19,7 +19,6 @@ go_library( "//federation/pkg/federation-controller/util/eventsink:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -28,6 +27,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/federation/pkg/federation-controller/configmap/configmap_controller.go b/federation/pkg/federation-controller/configmap/configmap_controller.go index 4445a2a71e8..3d5dd7f44b4 100644 --- a/federation/pkg/federation-controller/configmap/configmap_controller.go +++ b/federation/pkg/federation-controller/configmap/configmap_controller.go @@ -23,6 +23,7 @@ import ( pkgruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -30,7 +31,6 @@ import ( "k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink" "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/daemonset/BUILD b/federation/pkg/federation-controller/daemonset/BUILD index cc903d20bef..48fbb172fb1 100644 --- a/federation/pkg/federation-controller/daemonset/BUILD +++ b/federation/pkg/federation-controller/daemonset/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -31,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/federation/pkg/federation-controller/daemonset/daemonset_controller.go b/federation/pkg/federation-controller/daemonset/daemonset_controller.go index 55116246f1f..24da3e8bf5a 100644 --- a/federation/pkg/federation-controller/daemonset/daemonset_controller.go +++ b/federation/pkg/federation-controller/daemonset/daemonset_controller.go @@ -26,6 +26,7 @@ import ( pkgruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -35,7 +36,6 @@ import ( "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/deployment/BUILD b/federation/pkg/federation-controller/deployment/BUILD index 89b59d93fc0..acf72a0032a 100644 --- a/federation/pkg/federation-controller/deployment/BUILD +++ b/federation/pkg/federation-controller/deployment/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -35,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/federation/pkg/federation-controller/deployment/deploymentcontroller.go b/federation/pkg/federation-controller/deployment/deploymentcontroller.go index 02ea46303fc..79ea906deff 100644 --- a/federation/pkg/federation-controller/deployment/deploymentcontroller.go +++ b/federation/pkg/federation-controller/deployment/deploymentcontroller.go @@ -30,6 +30,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" fed "k8s.io/kubernetes/federation/apis/federation" fedv1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" @@ -42,7 +43,6 @@ import ( "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/ingress/BUILD b/federation/pkg/federation-controller/ingress/BUILD index 62077c9d1b8..8a777c053d3 100644 --- a/federation/pkg/federation-controller/ingress/BUILD +++ b/federation/pkg/federation-controller/ingress/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -32,6 +31,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) @@ -49,7 +49,6 @@ go_test( "//federation/pkg/federation-controller/util/test:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//vendor:github.com/golang/glog", @@ -59,6 +58,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/federation/pkg/federation-controller/ingress/ingress_controller.go b/federation/pkg/federation-controller/ingress/ingress_controller.go index 21c7c276eab..26b9100c7b4 100644 --- a/federation/pkg/federation-controller/ingress/ingress_controller.go +++ b/federation/pkg/federation-controller/ingress/ingress_controller.go @@ -27,6 +27,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -36,7 +37,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/ingress/ingress_controller_test.go b/federation/pkg/federation-controller/ingress/ingress_controller_test.go index 2b52ee4c7b6..57da7088b2a 100644 --- a/federation/pkg/federation-controller/ingress/ingress_controller_test.go +++ b/federation/pkg/federation-controller/ingress/ingress_controller_test.go @@ -27,6 +27,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -34,7 +35,6 @@ import ( . "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" diff --git a/federation/pkg/federation-controller/namespace/BUILD b/federation/pkg/federation-controller/namespace/BUILD index b75e6bce73b..7641cf0619c 100644 --- a/federation/pkg/federation-controller/namespace/BUILD +++ b/federation/pkg/federation-controller/namespace/BUILD @@ -20,7 +20,6 @@ go_library( "//federation/pkg/federation-controller/util/eventsink:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -29,6 +28,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/federation/pkg/federation-controller/namespace/namespace_controller.go b/federation/pkg/federation-controller/namespace/namespace_controller.go index 8bb06cd0060..e540ac69226 100644 --- a/federation/pkg/federation-controller/namespace/namespace_controller.go +++ b/federation/pkg/federation-controller/namespace/namespace_controller.go @@ -24,6 +24,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -32,7 +33,6 @@ import ( "k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink" "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/replicaset/BUILD b/federation/pkg/federation-controller/replicaset/BUILD index 0ffa93b69a4..e26cc63fc6c 100644 --- a/federation/pkg/federation-controller/replicaset/BUILD +++ b/federation/pkg/federation-controller/replicaset/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/client/record:go_default_library", @@ -36,6 +35,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/federation/pkg/federation-controller/replicaset/replicasetcontroller.go b/federation/pkg/federation-controller/replicaset/replicasetcontroller.go index 98a395147f8..72a8f2a1f9a 100644 --- a/federation/pkg/federation-controller/replicaset/replicasetcontroller.go +++ b/federation/pkg/federation-controller/replicaset/replicasetcontroller.go @@ -30,6 +30,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" fed "k8s.io/kubernetes/federation/apis/federation" fedv1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" @@ -42,7 +43,6 @@ import ( "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/client/record" diff --git a/federation/pkg/federation-controller/secret/BUILD b/federation/pkg/federation-controller/secret/BUILD index ff2eeab236d..fefecdd2764 100644 --- a/federation/pkg/federation-controller/secret/BUILD +++ b/federation/pkg/federation-controller/secret/BUILD @@ -20,7 +20,6 @@ go_library( "//federation/pkg/federation-controller/util/eventsink:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -30,6 +29,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/federation/pkg/federation-controller/secret/secret_controller.go b/federation/pkg/federation-controller/secret/secret_controller.go index 14879c27707..a3737228f44 100644 --- a/federation/pkg/federation-controller/secret/secret_controller.go +++ b/federation/pkg/federation-controller/secret/secret_controller.go @@ -25,6 +25,7 @@ import ( pkgruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -33,7 +34,6 @@ import ( "k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink" "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/service/BUILD b/federation/pkg/federation-controller/service/BUILD index 5d95a557aa7..4c3b9ad574c 100644 --- a/federation/pkg/federation-controller/service/BUILD +++ b/federation/pkg/federation-controller/service/BUILD @@ -29,7 +29,6 @@ go_library( "//federation/pkg/federation-controller/util/deletionhelper:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/client/record:go_default_library", @@ -45,6 +44,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/federation/pkg/federation-controller/service/cluster_helper.go b/federation/pkg/federation-controller/service/cluster_helper.go index 3e4f437581f..0d94a5a712e 100644 --- a/federation/pkg/federation-controller/service/cluster_helper.go +++ b/federation/pkg/federation-controller/service/cluster_helper.go @@ -24,9 +24,9 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + cache "k8s.io/client-go/tools/cache" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/util/workqueue" diff --git a/federation/pkg/federation-controller/service/endpoint_helper.go b/federation/pkg/federation-controller/service/endpoint_helper.go index 8483a60138d..17bfe0b0c04 100644 --- a/federation/pkg/federation-controller/service/endpoint_helper.go +++ b/federation/pkg/federation-controller/service/endpoint_helper.go @@ -20,9 +20,9 @@ import ( "fmt" "time" + cache "k8s.io/client-go/tools/cache" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller" "github.com/golang/glog" diff --git a/federation/pkg/federation-controller/service/service_helper.go b/federation/pkg/federation-controller/service/service_helper.go index eef93301df0..f775946ae7c 100644 --- a/federation/pkg/federation-controller/service/service_helper.go +++ b/federation/pkg/federation-controller/service/service_helper.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + cache "k8s.io/client-go/tools/cache" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller" "reflect" diff --git a/federation/pkg/federation-controller/service/servicecontroller.go b/federation/pkg/federation-controller/service/servicecontroller.go index 6cc67095157..31a78091408 100644 --- a/federation/pkg/federation-controller/service/servicecontroller.go +++ b/federation/pkg/federation-controller/service/servicecontroller.go @@ -32,6 +32,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationcache "k8s.io/kubernetes/federation/client/cache" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -41,7 +42,6 @@ import ( "k8s.io/kubernetes/federation/pkg/federation-controller/util/deletionhelper" "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/client/record" diff --git a/federation/pkg/federation-controller/util/BUILD b/federation/pkg/federation-controller/util/BUILD index e47b57b50ae..d920ad3a990 100644 --- a/federation/pkg/federation-controller/util/BUILD +++ b/federation/pkg/federation-controller/util/BUILD @@ -29,7 +29,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/deployment/util:go_default_library", @@ -40,6 +39,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/tools/clientcmd", "//vendor:k8s.io/client-go/tools/clientcmd/api", "//vendor:k8s.io/client-go/util/flowcontrol", @@ -63,7 +63,6 @@ go_test( "//federation/client/clientset_generated/federation_clientset/fake:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -72,6 +71,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/federation/pkg/federation-controller/util/federated_informer.go b/federation/pkg/federation-controller/util/federated_informer.go index 5e1e465378e..6d74647ac2a 100644 --- a/federation/pkg/federation-controller/util/federated_informer.go +++ b/federation/pkg/federation-controller/util/federated_informer.go @@ -26,10 +26,10 @@ import ( pkgruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/golang/glog" diff --git a/federation/pkg/federation-controller/util/federated_informer_test.go b/federation/pkg/federation-controller/util/federated_informer_test.go index 2898b348da4..a4ce066bf92 100644 --- a/federation/pkg/federation-controller/util/federated_informer_test.go +++ b/federation/pkg/federation-controller/util/federated_informer_test.go @@ -23,10 +23,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefederationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" diff --git a/federation/pkg/federation-controller/util/handlers.go b/federation/pkg/federation-controller/util/handlers.go index db47af02664..b568faf2b92 100644 --- a/federation/pkg/federation-controller/util/handlers.go +++ b/federation/pkg/federation-controller/util/handlers.go @@ -22,7 +22,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkgruntime "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/client/cache" + "k8s.io/client-go/tools/cache" ) // Returns cache.ResourceEventHandlerFuncs that trigger the given function diff --git a/federation/pkg/kubefed/BUILD b/federation/pkg/kubefed/BUILD index fb5cb6b9185..d00ed087b42 100644 --- a/federation/pkg/kubefed/BUILD +++ b/federation/pkg/kubefed/BUILD @@ -53,13 +53,13 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/client-go/rest/fake", "//vendor:k8s.io/client-go/tools/clientcmd", "//vendor:k8s.io/client-go/tools/clientcmd/api", ], diff --git a/federation/pkg/kubefed/init/BUILD b/federation/pkg/kubefed/init/BUILD index d036f43190c..81145e6e495 100644 --- a/federation/pkg/kubefed/init/BUILD +++ b/federation/pkg/kubefed/init/BUILD @@ -46,7 +46,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", @@ -54,6 +53,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/client-go/rest/fake", "//vendor:k8s.io/client-go/tools/clientcmd", ], ) diff --git a/federation/pkg/kubefed/init/init_test.go b/federation/pkg/kubefed/init/init_test.go index 660bf1011eb..94485394ee0 100644 --- a/federation/pkg/kubefed/init/init_test.go +++ b/federation/pkg/kubefed/init/init_test.go @@ -33,6 +33,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/client-go/rest/fake" "k8s.io/client-go/tools/clientcmd" kubefedtesting "k8s.io/kubernetes/federation/pkg/kubefed/testing" "k8s.io/kubernetes/federation/pkg/kubefed/util" @@ -41,7 +42,6 @@ import ( "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" @@ -751,6 +751,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, ns := dynamic.ContentConfig().NegotiatedSerializer tf.ClientConfig = kubefedtesting.DefaultClientConfig() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/federation/pkg/kubefed/join_test.go b/federation/pkg/kubefed/join_test.go index 0bd75448ab0..889abc57d69 100644 --- a/federation/pkg/kubefed/join_test.go +++ b/federation/pkg/kubefed/join_test.go @@ -25,6 +25,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/client-go/rest/fake" "k8s.io/client-go/tools/clientcmd" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" @@ -33,7 +34,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" @@ -175,6 +175,7 @@ func testJoinFederationFactory(clusterName, secretName, server string) cmdutil.F codec := testapi.Federation.Codec() ns := dynamic.ContentConfig().NegotiatedSerializer tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -250,6 +251,7 @@ func fakeJoinHostFactory(clusterName, clusterCtx, secretName, server, token stri ns := dynamic.ContentConfig().NegotiatedSerializer tf.ClientConfig = kubefedtesting.DefaultClientConfig() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/federation/pkg/kubefed/unjoin_test.go b/federation/pkg/kubefed/unjoin_test.go index d3d0aa5c07c..513a65e9aae 100644 --- a/federation/pkg/kubefed/unjoin_test.go +++ b/federation/pkg/kubefed/unjoin_test.go @@ -25,11 +25,11 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/rest/fake" federationapi "k8s.io/kubernetes/federation/apis/federation" kubefedtesting "k8s.io/kubernetes/federation/pkg/kubefed/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" @@ -169,6 +169,7 @@ func testUnjoinFederationFactory(name, server, secret string) cmdutil.Factory { tf.ClientConfig = kubefedtesting.DefaultClientConfig() ns := testapi.Federation.NegotiatedSerializer() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, GroupName: "federation", Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { @@ -205,6 +206,7 @@ func fakeUnjoinHostFactory(name string) cmdutil.Factory { ns := dynamic.ContentConfig().NegotiatedSerializer tf.ClientConfig = kubefedtesting.DefaultClientConfig() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/hack/.linted_packages b/hack/.linted_packages index 858b6926fda..74ca271f01d 100644 --- a/hack/.linted_packages +++ b/hack/.linted_packages @@ -86,7 +86,6 @@ pkg/apis/rbac/install pkg/apis/rbac/v1alpha1 pkg/apis/storage/install pkg/apis/storage/validation -pkg/client/cache pkg/client/conditions pkg/client/informers/informers_generated/apps pkg/client/informers/informers_generated/apps/internalversion @@ -297,6 +296,7 @@ staging/src/k8s.io/client-go/plugin/pkg/client/auth staging/src/k8s.io/client-go/plugin/pkg/client/auth/gcp staging/src/k8s.io/client-go/rest/watch staging/src/k8s.io/client-go/tools/auth +staging/src/k8s.io/client-go/tools/cache staging/src/k8s.io/client-go/tools/metrics staging/src/k8s.io/client-go/util/cert staging/src/k8s.io/client-go/util/homedir diff --git a/pkg/BUILD b/pkg/BUILD index 4fa51a30d92..be4f9145d4f 100644 --- a/pkg/BUILD +++ b/pkg/BUILD @@ -32,7 +32,6 @@ filegroup( "//pkg/auth/authorizer/abac:all-srcs", "//pkg/auth/user:all-srcs", "//pkg/capabilities:all-srcs", - "//pkg/client/cache:all-srcs", "//pkg/client/chaosclient:all-srcs", "//pkg/client/clientset_generated/clientset:all-srcs", "//pkg/client/clientset_generated/internalclientset:all-srcs", @@ -69,11 +68,11 @@ filegroup( "//pkg/client/listers/storage/v1beta1:all-srcs", "//pkg/client/metrics:all-srcs", "//pkg/client/record:all-srcs", - "//pkg/client/restclient/fake:all-srcs", "//pkg/client/retry:all-srcs", "//pkg/client/testdata:all-srcs", "//pkg/client/testing/cache:all-srcs", "//pkg/client/testing/core:all-srcs", + "//pkg/client/tests:all-srcs", "//pkg/client/typed/discovery:all-srcs", "//pkg/client/typed/dynamic:all-srcs", "//pkg/client/unversioned:all-srcs", diff --git a/pkg/apis/componentconfig/BUILD b/pkg/apis/componentconfig/BUILD index cb9ac3e162a..3b4edc0e774 100644 --- a/pkg/apis/componentconfig/BUILD +++ b/pkg/apis/componentconfig/BUILD @@ -25,7 +25,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/net", - "//vendor:k8s.io/apiserver/pkg/util/flag", ], ) diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index d76a82b43ba..4858cd2f5f1 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -17,9 +17,12 @@ limitations under the License. package componentconfig import ( + "fmt" + "sort" + "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" - utilflag "k8s.io/apiserver/pkg/util/flag" "k8s.io/kubernetes/pkg/api" ) @@ -445,12 +448,12 @@ type KubeletConfiguration struct { // that describe resources reserved for non-kubernetes components. // Currently only cpu and memory are supported. [default=none] // See http://kubernetes.io/docs/user-guide/compute-resources for more detail. - SystemReserved utilflag.ConfigurationMap + SystemReserved ConfigurationMap // A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs // that describe resources reserved for kubernetes system components. // Currently only cpu and memory are supported. [default=none] // See http://kubernetes.io/docs/user-guide/compute-resources for more detail. - KubeReserved utilflag.ConfigurationMap + KubeReserved ConfigurationMap // Default behaviour for kernel tuning ProtectKernelDefaults bool // If true, Kubelet ensures a set of iptables rules are present on host. @@ -863,3 +866,33 @@ type AdmissionPluginConfiguration struct { // +optional Configuration runtime.Object } + +type ConfigurationMap map[string]string + +func (m *ConfigurationMap) String() string { + pairs := []string{} + for k, v := range *m { + pairs = append(pairs, fmt.Sprintf("%s=%s", k, v)) + } + sort.Strings(pairs) + return strings.Join(pairs, ",") +} + +func (m *ConfigurationMap) Set(value string) error { + for _, s := range strings.Split(value, ",") { + if len(s) == 0 { + continue + } + arr := strings.SplitN(s, "=", 2) + if len(arr) == 2 { + (*m)[strings.TrimSpace(arr[0])] = strings.TrimSpace(arr[1]) + } else { + (*m)[strings.TrimSpace(arr[0])] = "" + } + } + return nil +} + +func (*ConfigurationMap) Type() string { + return "mapStringString" +} diff --git a/pkg/apis/componentconfig/v1alpha1/BUILD b/pkg/apis/componentconfig/v1alpha1/BUILD index d73db72a7c0..ba7e1832126 100644 --- a/pkg/apis/componentconfig/v1alpha1/BUILD +++ b/pkg/apis/componentconfig/v1alpha1/BUILD @@ -30,7 +30,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/apiserver/pkg/util/flag", ], ) diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go b/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go index a12773af65a..9cfd1349009 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go @@ -23,7 +23,6 @@ package v1alpha1 import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - flag "k8s.io/apiserver/pkg/util/flag" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" componentconfig "k8s.io/kubernetes/pkg/apis/componentconfig" @@ -464,8 +463,8 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu if err := api.Convert_Pointer_bool_To_bool(&in.EnableControllerAttachDetach, &out.EnableControllerAttachDetach, s); err != nil { return err } - out.SystemReserved = *(*flag.ConfigurationMap)(unsafe.Pointer(&in.SystemReserved)) - out.KubeReserved = *(*flag.ConfigurationMap)(unsafe.Pointer(&in.KubeReserved)) + out.SystemReserved = *(*componentconfig.ConfigurationMap)(unsafe.Pointer(&in.SystemReserved)) + out.KubeReserved = *(*componentconfig.ConfigurationMap)(unsafe.Pointer(&in.KubeReserved)) out.ProtectKernelDefaults = in.ProtectKernelDefaults if err := api.Convert_Pointer_bool_To_bool(&in.MakeIPTablesUtilChains, &out.MakeIPTablesUtilChains, s); err != nil { return err diff --git a/pkg/apis/componentconfig/zz_generated.deepcopy.go b/pkg/apis/componentconfig/zz_generated.deepcopy.go index 3c656bfe62a..deddd2abaf8 100644 --- a/pkg/apis/componentconfig/zz_generated.deepcopy.go +++ b/pkg/apis/componentconfig/zz_generated.deepcopy.go @@ -23,7 +23,6 @@ package componentconfig import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - flag "k8s.io/apiserver/pkg/util/flag" api "k8s.io/kubernetes/pkg/api" reflect "reflect" ) @@ -208,14 +207,14 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface } if in.SystemReserved != nil { in, out := &in.SystemReserved, &out.SystemReserved - *out = make(flag.ConfigurationMap) + *out = make(ConfigurationMap) for key, val := range *in { (*out)[key] = val } } if in.KubeReserved != nil { in, out := &in.KubeReserved, &out.KubeReserved - *out = make(flag.ConfigurationMap) + *out = make(ConfigurationMap) for key, val := range *in { (*out)[key] = val } diff --git a/pkg/client/cache/BUILD b/pkg/client/cache/BUILD deleted file mode 100644 index 68c1c52ddab..00000000000 --- a/pkg/client/cache/BUILD +++ /dev/null @@ -1,112 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) - -go_library( - name = "go_default_library", - srcs = [ - "controller.go", - "delta_fifo.go", - "doc.go", - "expiration_cache.go", - "expiration_cache_fakes.go", - "fake_custom_store.go", - "fifo.go", - "index.go", - "listers.go", - "listwatch.go", - "mutation_detector.go", - "reflector.go", - "shared_informer.go", - "store.go", - "thread_safe_store.go", - "undelta_store.go", - ], - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//vendor:github.com/golang/glog", - "//vendor:k8s.io/apimachinery/pkg/api/errors", - "//vendor:k8s.io/apimachinery/pkg/api/meta", - "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", - "//vendor:k8s.io/apimachinery/pkg/fields", - "//vendor:k8s.io/apimachinery/pkg/labels", - "//vendor:k8s.io/apimachinery/pkg/runtime", - "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/apimachinery/pkg/util/diff", - "//vendor:k8s.io/apimachinery/pkg/util/runtime", - "//vendor:k8s.io/apimachinery/pkg/util/sets", - "//vendor:k8s.io/apimachinery/pkg/util/wait", - "//vendor:k8s.io/apimachinery/pkg/watch", - "//vendor:k8s.io/client-go/rest", - "//vendor:k8s.io/client-go/util/clock", - ], -) - -go_test( - name = "go_default_test", - srcs = [ - "controller_test.go", - "delta_fifo_test.go", - "expiration_cache_test.go", - "fifo_test.go", - "index_test.go", - "mutation_detector_test.go", - "processor_listener_test.go", - "reflector_test.go", - "store_test.go", - "undelta_store_test.go", - ], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/v1:go_default_library", - "//pkg/client/testing/cache:go_default_library", - "//vendor:github.com/google/gofuzz", - "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", - "//vendor:k8s.io/apimachinery/pkg/runtime", - "//vendor:k8s.io/apimachinery/pkg/util/sets", - "//vendor:k8s.io/apimachinery/pkg/util/wait", - "//vendor:k8s.io/apimachinery/pkg/watch", - "//vendor:k8s.io/client-go/util/clock", - ], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) - -go_test( - name = "go_default_xtest", - srcs = ["listwatch_test.go"], - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/testapi:go_default_library", - "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", - "//pkg/client/clientset_generated/internalclientset:go_default_library", - "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", - "//vendor:k8s.io/apimachinery/pkg/fields", - "//vendor:k8s.io/apimachinery/pkg/runtime", - "//vendor:k8s.io/apimachinery/pkg/watch", - "//vendor:k8s.io/client-go/rest", - "//vendor:k8s.io/client-go/util/testing", - ], -) diff --git a/pkg/client/cache/OWNERS b/pkg/client/cache/OWNERS deleted file mode 100755 index e923c77092f..00000000000 --- a/pkg/client/cache/OWNERS +++ /dev/null @@ -1,41 +0,0 @@ -reviewers: -- thockin -- lavalamp -- smarterclayton -- wojtek-t -- deads2k -- brendandburns -- derekwaynecarr -- caesarxuchao -- mikedanese -- liggitt -- nikhiljindal -- bprashanth -- erictune -- davidopp -- pmorie -- kargakis -- janetkuo -- justinsb -- eparis -- soltysh -- jsafrane -- dims -- madhusudancs -- hongchaodeng -- krousey -- markturansky -- fgrzadkowski -- xiang90 -- mml -- ingvagabund -- resouer -- jessfraz -- david-mcmahon -- mfojtik -- '249043822' -- lixiaobing10051267 -- ddysher -- mqliang -- feihujiang -- sdminonne diff --git a/pkg/client/cache/controller.go b/pkg/client/cache/controller.go deleted file mode 100644 index fc756eb8f32..00000000000 --- a/pkg/client/cache/controller.go +++ /dev/null @@ -1,327 +0,0 @@ -/* -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 cache - -import ( - "sync" - "time" - - "k8s.io/apimachinery/pkg/runtime" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/apimachinery/pkg/util/wait" -) - -// Config contains all the settings for a Controller. -type Config struct { - // The queue for your objects; either a FIFO or - // a DeltaFIFO. Your Process() function should accept - // the output of this Queue's Pop() method. - Queue - - // Something that can list and watch your objects. - ListerWatcher - - // Something that can process your objects. - Process ProcessFunc - - // The type of your objects. - ObjectType runtime.Object - - // Reprocess everything at least this often. - // Note that if it takes longer for you to clear the queue than this - // period, you will end up processing items in the order determined - // by FIFO.Replace(). Currently, this is random. If this is a - // problem, we can change that replacement policy to append new - // things to the end of the queue instead of replacing the entire - // queue. - FullResyncPeriod time.Duration - - // If true, when Process() returns an error, re-enqueue the object. - // TODO: add interface to let you inject a delay/backoff or drop - // the object completely if desired. Pass the object in - // question to this interface as a parameter. - RetryOnError bool -} - -// ProcessFunc processes a single object. -type ProcessFunc func(obj interface{}) error - -// Controller is a generic controller framework. -type controller struct { - config Config - reflector *Reflector - reflectorMutex sync.RWMutex -} - -type Controller interface { - Run(stopCh <-chan struct{}) - HasSynced() bool - LastSyncResourceVersion() string -} - -// New makes a new Controller from the given Config. -func New(c *Config) Controller { - ctlr := &controller{ - config: *c, - } - return ctlr -} - -// Run begins processing items, and will continue until a value is sent down stopCh. -// It's an error to call Run more than once. -// Run blocks; call via go. -func (c *controller) Run(stopCh <-chan struct{}) { - defer utilruntime.HandleCrash() - r := NewReflector( - c.config.ListerWatcher, - c.config.ObjectType, - c.config.Queue, - c.config.FullResyncPeriod, - ) - - c.reflectorMutex.Lock() - c.reflector = r - c.reflectorMutex.Unlock() - - r.RunUntil(stopCh) - - wait.Until(c.processLoop, time.Second, stopCh) -} - -// Returns true once this controller has completed an initial resource listing -func (c *controller) HasSynced() bool { - return c.config.Queue.HasSynced() -} - -func (c *controller) LastSyncResourceVersion() string { - if c.reflector == nil { - return "" - } - return c.reflector.LastSyncResourceVersion() -} - -// processLoop drains the work queue. -// TODO: Consider doing the processing in parallel. This will require a little thought -// to make sure that we don't end up processing the same object multiple times -// concurrently. -// -// TODO: Plumb through the stopCh here (and down to the queue) so that this can -// actually exit when the controller is stopped. Or just give up on this stuff -// ever being stoppable. Converting this whole package to use Context would -// also be helpful. -func (c *controller) processLoop() { - for { - obj, err := c.config.Queue.Pop(PopProcessFunc(c.config.Process)) - if err != nil { - if c.config.RetryOnError { - // This is the safe way to re-enqueue. - c.config.Queue.AddIfNotPresent(obj) - } - } - } -} - -// ResourceEventHandler can handle notifications for events that happen to a -// resource. The events are informational only, so you can't return an -// error. -// * OnAdd is called when an object is added. -// * OnUpdate is called when an object is modified. Note that oldObj is the -// last known state of the object-- it is possible that several changes -// were combined together, so you can't use this to see every single -// change. OnUpdate is also called when a re-list happens, and it will -// get called even if nothing changed. This is useful for periodically -// evaluating or syncing something. -// * OnDelete will get the final state of the item if it is known, otherwise -// it will get an object of type DeletedFinalStateUnknown. This can -// happen if the watch is closed and misses the delete event and we don't -// notice the deletion until the subsequent re-list. -type ResourceEventHandler interface { - OnAdd(obj interface{}) - OnUpdate(oldObj, newObj interface{}) - OnDelete(obj interface{}) -} - -// ResourceEventHandlerFuncs is an adaptor to let you easily specify as many or -// as few of the notification functions as you want while still implementing -// ResourceEventHandler. -type ResourceEventHandlerFuncs struct { - AddFunc func(obj interface{}) - UpdateFunc func(oldObj, newObj interface{}) - DeleteFunc func(obj interface{}) -} - -// OnAdd calls AddFunc if it's not nil. -func (r ResourceEventHandlerFuncs) OnAdd(obj interface{}) { - if r.AddFunc != nil { - r.AddFunc(obj) - } -} - -// OnUpdate calls UpdateFunc if it's not nil. -func (r ResourceEventHandlerFuncs) OnUpdate(oldObj, newObj interface{}) { - if r.UpdateFunc != nil { - r.UpdateFunc(oldObj, newObj) - } -} - -// OnDelete calls DeleteFunc if it's not nil. -func (r ResourceEventHandlerFuncs) OnDelete(obj interface{}) { - if r.DeleteFunc != nil { - r.DeleteFunc(obj) - } -} - -// DeletionHandlingMetaNamespaceKeyFunc checks for -// DeletedFinalStateUnknown objects before calling -// MetaNamespaceKeyFunc. -func DeletionHandlingMetaNamespaceKeyFunc(obj interface{}) (string, error) { - if d, ok := obj.(DeletedFinalStateUnknown); ok { - return d.Key, nil - } - return MetaNamespaceKeyFunc(obj) -} - -// NewInformer returns a Store and a controller for populating the store -// while also providing event notifications. You should only used the returned -// Store for Get/List operations; Add/Modify/Deletes will cause the event -// notifications to be faulty. -// -// Parameters: -// * lw is list and watch functions for the source of the resource you want to -// be informed of. -// * objType is an object of the type that you expect to receive. -// * resyncPeriod: if non-zero, will re-list this often (you will get OnUpdate -// calls, even if nothing changed). Otherwise, re-list will be delayed as -// long as possible (until the upstream source closes the watch or times out, -// or you stop the controller). -// * h is the object you want notifications sent to. -// -func NewInformer( - lw ListerWatcher, - objType runtime.Object, - resyncPeriod time.Duration, - h ResourceEventHandler, -) (Store, Controller) { - // This will hold the client state, as we know it. - clientState := NewStore(DeletionHandlingMetaNamespaceKeyFunc) - - // This will hold incoming changes. Note how we pass clientState in as a - // KeyLister, that way resync operations will result in the correct set - // of update/delete deltas. - fifo := NewDeltaFIFO(MetaNamespaceKeyFunc, nil, clientState) - - cfg := &Config{ - Queue: fifo, - ListerWatcher: lw, - ObjectType: objType, - FullResyncPeriod: resyncPeriod, - RetryOnError: false, - - Process: func(obj interface{}) error { - // from oldest to newest - for _, d := range obj.(Deltas) { - switch d.Type { - case Sync, Added, Updated: - if old, exists, err := clientState.Get(d.Object); err == nil && exists { - if err := clientState.Update(d.Object); err != nil { - return err - } - h.OnUpdate(old, d.Object) - } else { - if err := clientState.Add(d.Object); err != nil { - return err - } - h.OnAdd(d.Object) - } - case Deleted: - if err := clientState.Delete(d.Object); err != nil { - return err - } - h.OnDelete(d.Object) - } - } - return nil - }, - } - return clientState, New(cfg) -} - -// NewIndexerInformer returns a Indexer and a controller for populating the index -// while also providing event notifications. You should only used the returned -// Index for Get/List operations; Add/Modify/Deletes will cause the event -// notifications to be faulty. -// -// Parameters: -// * lw is list and watch functions for the source of the resource you want to -// be informed of. -// * objType is an object of the type that you expect to receive. -// * resyncPeriod: if non-zero, will re-list this often (you will get OnUpdate -// calls, even if nothing changed). Otherwise, re-list will be delayed as -// long as possible (until the upstream source closes the watch or times out, -// or you stop the controller). -// * h is the object you want notifications sent to. -// -func NewIndexerInformer( - lw ListerWatcher, - objType runtime.Object, - resyncPeriod time.Duration, - h ResourceEventHandler, - indexers Indexers, -) (Indexer, Controller) { - // This will hold the client state, as we know it. - clientState := NewIndexer(DeletionHandlingMetaNamespaceKeyFunc, indexers) - - // This will hold incoming changes. Note how we pass clientState in as a - // KeyLister, that way resync operations will result in the correct set - // of update/delete deltas. - fifo := NewDeltaFIFO(MetaNamespaceKeyFunc, nil, clientState) - - cfg := &Config{ - Queue: fifo, - ListerWatcher: lw, - ObjectType: objType, - FullResyncPeriod: resyncPeriod, - RetryOnError: false, - - Process: func(obj interface{}) error { - // from oldest to newest - for _, d := range obj.(Deltas) { - switch d.Type { - case Sync, Added, Updated: - if old, exists, err := clientState.Get(d.Object); err == nil && exists { - if err := clientState.Update(d.Object); err != nil { - return err - } - h.OnUpdate(old, d.Object) - } else { - if err := clientState.Add(d.Object); err != nil { - return err - } - h.OnAdd(d.Object) - } - case Deleted: - if err := clientState.Delete(d.Object); err != nil { - return err - } - h.OnDelete(d.Object) - } - } - return nil - }, - } - return clientState, New(cfg) -} diff --git a/pkg/client/cache/controller_test.go b/pkg/client/cache/controller_test.go deleted file mode 100644 index 542e37db7b3..00000000000 --- a/pkg/client/cache/controller_test.go +++ /dev/null @@ -1,405 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "math/rand" - "sync" - "testing" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/kubernetes/pkg/api/v1" - fcache "k8s.io/kubernetes/pkg/client/testing/cache" - - "github.com/google/gofuzz" -) - -func Example() { - // source simulates an apiserver object endpoint. - source := fcache.NewFakeControllerSource() - - // This will hold the downstream state, as we know it. - downstream := NewStore(DeletionHandlingMetaNamespaceKeyFunc) - - // This will hold incoming changes. Note how we pass downstream in as a - // KeyLister, that way resync operations will result in the correct set - // of update/delete deltas. - fifo := NewDeltaFIFO(MetaNamespaceKeyFunc, nil, downstream) - - // Let's do threadsafe output to get predictable test results. - deletionCounter := make(chan string, 1000) - - cfg := &Config{ - Queue: fifo, - ListerWatcher: source, - ObjectType: &v1.Pod{}, - FullResyncPeriod: time.Millisecond * 100, - RetryOnError: false, - - // Let's implement a simple controller that just deletes - // everything that comes in. - Process: func(obj interface{}) error { - // Obj is from the Pop method of the Queue we make above. - newest := obj.(Deltas).Newest() - - if newest.Type != Deleted { - // Update our downstream store. - err := downstream.Add(newest.Object) - if err != nil { - return err - } - - // Delete this object. - source.Delete(newest.Object.(runtime.Object)) - } else { - // Update our downstream store. - err := downstream.Delete(newest.Object) - if err != nil { - return err - } - - // fifo's KeyOf is easiest, because it handles - // DeletedFinalStateUnknown markers. - key, err := fifo.KeyOf(newest.Object) - if err != nil { - return err - } - - // Report this deletion. - deletionCounter <- key - } - return nil - }, - } - - // Create the controller and run it until we close stop. - stop := make(chan struct{}) - defer close(stop) - go New(cfg).Run(stop) - - // Let's add a few objects to the source. - testIDs := []string{"a-hello", "b-controller", "c-framework"} - for _, name := range testIDs { - // Note that these pods are not valid-- the fake source doesn't - // call validation or anything. - source.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: name}}) - } - - // Let's wait for the controller to process the things we just added. - outputSet := sets.String{} - for i := 0; i < len(testIDs); i++ { - outputSet.Insert(<-deletionCounter) - } - - for _, key := range outputSet.List() { - fmt.Println(key) - } - // Output: - // a-hello - // b-controller - // c-framework -} - -func ExampleNewInformer() { - // source simulates an apiserver object endpoint. - source := fcache.NewFakeControllerSource() - - // Let's do threadsafe output to get predictable test results. - deletionCounter := make(chan string, 1000) - - // Make a controller that immediately deletes anything added to it, and - // logs anything deleted. - _, controller := NewInformer( - source, - &v1.Pod{}, - time.Millisecond*100, - ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { - source.Delete(obj.(runtime.Object)) - }, - DeleteFunc: func(obj interface{}) { - key, err := DeletionHandlingMetaNamespaceKeyFunc(obj) - if err != nil { - key = "oops something went wrong with the key" - } - - // Report this deletion. - deletionCounter <- key - }, - }, - ) - - // Run the controller and run it until we close stop. - stop := make(chan struct{}) - defer close(stop) - go controller.Run(stop) - - // Let's add a few objects to the source. - testIDs := []string{"a-hello", "b-controller", "c-framework"} - for _, name := range testIDs { - // Note that these pods are not valid-- the fake source doesn't - // call validation or anything. - source.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: name}}) - } - - // Let's wait for the controller to process the things we just added. - outputSet := sets.String{} - for i := 0; i < len(testIDs); i++ { - outputSet.Insert(<-deletionCounter) - } - - for _, key := range outputSet.List() { - fmt.Println(key) - } - // Output: - // a-hello - // b-controller - // c-framework -} - -func TestHammerController(t *testing.T) { - // This test executes a bunch of requests through the fake source and - // controller framework to make sure there's no locking/threading - // errors. If an error happens, it should hang forever or trigger the - // race detector. - - // source simulates an apiserver object endpoint. - source := fcache.NewFakeControllerSource() - - // Let's do threadsafe output to get predictable test results. - outputSetLock := sync.Mutex{} - // map of key to operations done on the key - outputSet := map[string][]string{} - - recordFunc := func(eventType string, obj interface{}) { - key, err := DeletionHandlingMetaNamespaceKeyFunc(obj) - if err != nil { - t.Errorf("something wrong with key: %v", err) - key = "oops something went wrong with the key" - } - - // Record some output when items are deleted. - outputSetLock.Lock() - defer outputSetLock.Unlock() - outputSet[key] = append(outputSet[key], eventType) - } - - // Make a controller which just logs all the changes it gets. - _, controller := NewInformer( - source, - &v1.Pod{}, - time.Millisecond*100, - ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { recordFunc("add", obj) }, - UpdateFunc: func(oldObj, newObj interface{}) { recordFunc("update", newObj) }, - DeleteFunc: func(obj interface{}) { recordFunc("delete", obj) }, - }, - ) - - if controller.HasSynced() { - t.Errorf("Expected HasSynced() to return false before we started the controller") - } - - // Run the controller and run it until we close stop. - stop := make(chan struct{}) - go controller.Run(stop) - - // Let's wait for the controller to do its initial sync - wait.Poll(100*time.Millisecond, wait.ForeverTestTimeout, func() (bool, error) { - return controller.HasSynced(), nil - }) - if !controller.HasSynced() { - t.Errorf("Expected HasSynced() to return true after the initial sync") - } - - wg := sync.WaitGroup{} - const threads = 3 - wg.Add(threads) - for i := 0; i < threads; i++ { - go func() { - defer wg.Done() - // Let's add a few objects to the source. - currentNames := sets.String{} - rs := rand.NewSource(rand.Int63()) - f := fuzz.New().NilChance(.5).NumElements(0, 2).RandSource(rs) - r := rand.New(rs) // Mustn't use r and f concurrently! - for i := 0; i < 100; i++ { - var name string - var isNew bool - if currentNames.Len() == 0 || r.Intn(3) == 1 { - f.Fuzz(&name) - isNew = true - } else { - l := currentNames.List() - name = l[r.Intn(len(l))] - } - - pod := &v1.Pod{} - f.Fuzz(pod) - pod.ObjectMeta.Name = name - pod.ObjectMeta.Namespace = "default" - // Add, update, or delete randomly. - // Note that these pods are not valid-- the fake source doesn't - // call validation or perform any other checking. - if isNew { - currentNames.Insert(name) - source.Add(pod) - continue - } - switch r.Intn(2) { - case 0: - currentNames.Insert(name) - source.Modify(pod) - case 1: - currentNames.Delete(name) - source.Delete(pod) - } - } - }() - } - wg.Wait() - - // Let's wait for the controller to finish processing the things we just added. - // TODO: look in the queue to see how many items need to be processed. - time.Sleep(100 * time.Millisecond) - close(stop) - - // TODO: Verify that no goroutines were leaked here and that everything shut - // down cleanly. - - outputSetLock.Lock() - t.Logf("got: %#v", outputSet) -} - -func TestUpdate(t *testing.T) { - // This test is going to exercise the various paths that result in a - // call to update. - - // source simulates an apiserver object endpoint. - source := fcache.NewFakeControllerSource() - - const ( - FROM = "from" - TO = "to" - ) - - // These are the transitions we expect to see; because this is - // asynchronous, there are a lot of valid possibilities. - type pair struct{ from, to string } - allowedTransitions := map[pair]bool{ - pair{FROM, TO}: true, - - // Because a resync can happen when we've already observed one - // of the above but before the item is deleted. - pair{TO, TO}: true, - // Because a resync could happen before we observe an update. - pair{FROM, FROM}: true, - } - - pod := func(name, check string, final bool) *v1.Pod { - p := &v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Labels: map[string]string{"check": check}, - }, - } - if final { - p.Labels["final"] = "true" - } - return p - } - deletePod := func(p *v1.Pod) bool { - return p.Labels["final"] == "true" - } - - tests := []func(string){ - func(name string) { - name = "a-" + name - source.Add(pod(name, FROM, false)) - source.Modify(pod(name, TO, true)) - }, - } - - const threads = 3 - - var testDoneWG sync.WaitGroup - testDoneWG.Add(threads * len(tests)) - - // Make a controller that deletes things once it observes an update. - // It calls Done() on the wait group on deletions so we can tell when - // everything we've added has been deleted. - watchCh := make(chan struct{}) - _, controller := NewInformer( - &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - watch, err := source.Watch(options) - close(watchCh) - return watch, err - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return source.List(options) - }, - }, - &v1.Pod{}, - 0, - ResourceEventHandlerFuncs{ - UpdateFunc: func(oldObj, newObj interface{}) { - 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) - } - if deletePod(n) { - source.Delete(n) - } - }, - DeleteFunc: func(obj interface{}) { - testDoneWG.Done() - }, - }, - ) - - // Run the controller and run it until we close stop. - // Once Run() is called, calls to testDoneWG.Done() might start, so - // all testDoneWG.Add() calls must happen before this point - stop := make(chan struct{}) - go controller.Run(stop) - <-watchCh - - // run every test a few times, in parallel - var wg sync.WaitGroup - wg.Add(threads * len(tests)) - for i := 0; i < threads; i++ { - for j, f := range tests { - go func(name string, f func(string)) { - defer wg.Done() - f(name) - }(fmt.Sprintf("%v-%v", i, j), f) - } - } - wg.Wait() - - // Let's wait for the controller to process the things we just added. - testDoneWG.Wait() - close(stop) -} diff --git a/pkg/client/cache/delta_fifo.go b/pkg/client/cache/delta_fifo.go deleted file mode 100644 index b972f7ccc49..00000000000 --- a/pkg/client/cache/delta_fifo.go +++ /dev/null @@ -1,647 +0,0 @@ -/* -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 cache - -import ( - "errors" - "fmt" - "sync" - - "k8s.io/apimachinery/pkg/util/sets" - - "github.com/golang/glog" -) - -// NewDeltaFIFO returns a Store which can be used process changes to items. -// -// keyFunc is used to figure out what key an object should have. (It's -// exposed in the returned DeltaFIFO's KeyOf() method, with bonus features.) -// -// 'compressor' may compress as many or as few items as it wants -// (including returning an empty slice), but it should do what it -// does quickly since it is called while the queue is locked. -// 'compressor' may be nil if you don't want any delta compression. -// -// 'keyLister' is expected to return a list of keys that the consumer of -// this queue "knows about". It is used to decide which items are missing -// when Replace() is called; 'Deleted' deltas are produced for these items. -// It may be nil if you don't need to detect all deletions. -// TODO: consider merging keyLister with this object, tracking a list of -// "known" keys when Pop() is called. Have to think about how that -// affects error retrying. -// TODO(lavalamp): I believe there is a possible race only when using an -// external known object source that the above TODO would -// fix. -// -// Also see the comment on DeltaFIFO. -func NewDeltaFIFO(keyFunc KeyFunc, compressor DeltaCompressor, knownObjects KeyListerGetter) *DeltaFIFO { - f := &DeltaFIFO{ - items: map[string]Deltas{}, - queue: []string{}, - keyFunc: keyFunc, - deltaCompressor: compressor, - knownObjects: knownObjects, - } - f.cond.L = &f.lock - return f -} - -// DeltaFIFO is like FIFO, but allows you to process deletes. -// -// DeltaFIFO is a producer-consumer queue, where a Reflector is -// intended to be the producer, and the consumer is whatever calls -// the Pop() method. -// -// DeltaFIFO solves this use case: -// * You want to process every object change (delta) at most once. -// * When you process an object, you want to see everything -// that's happened to it since you last processed it. -// * You want to process the deletion of objects. -// * You might want to periodically reprocess objects. -// -// DeltaFIFO's Pop(), Get(), and GetByKey() methods return -// interface{} to satisfy the Store/Queue interfaces, but it -// will always return an object of type Deltas. -// -// A note on threading: If you call Pop() in parallel from multiple -// threads, you could end up with multiple threads processing slightly -// different versions of the same object. -// -// A note on the KeyLister used by the DeltaFIFO: It's main purpose is -// to list keys that are "known", for the purpose of figuring out which -// items have been deleted when Replace() or Delete() are called. The deleted -// object will be included in the DeleteFinalStateUnknown markers. These objects -// could be stale. -// -// You may provide a function to compress deltas (e.g., represent a -// series of Updates as a single Update). -type DeltaFIFO struct { - // lock/cond protects access to 'items' and 'queue'. - lock sync.RWMutex - cond sync.Cond - - // We depend on the property that items in the set are in - // the queue and vice versa, and that all Deltas in this - // map have at least one Delta. - items map[string]Deltas - queue []string - - // populated is true if the first batch of items inserted by Replace() has been populated - // or Delete/Add/Update was called first. - populated bool - // initialPopulationCount is the number of items inserted by the first call of Replace() - initialPopulationCount int - - // keyFunc is used to make the key used for queued item - // insertion and retrieval, and should be deterministic. - keyFunc KeyFunc - - // deltaCompressor tells us how to combine two or more - // deltas. It may be nil. - deltaCompressor DeltaCompressor - - // knownObjects list keys that are "known", for the - // purpose of figuring out which items have been deleted - // when Replace() or Delete() is called. - knownObjects KeyListerGetter -} - -var ( - _ = Queue(&DeltaFIFO{}) // DeltaFIFO is a Queue -) - -var ( - // ErrZeroLengthDeltasObject is returned in a KeyError if a Deltas - // object with zero length is encountered (should be impossible, - // even if such an object is accidentally produced by a DeltaCompressor-- - // but included for completeness). - ErrZeroLengthDeltasObject = errors.New("0 length Deltas object; can't get key") -) - -// KeyOf exposes f's keyFunc, but also detects the key of a Deltas object or -// DeletedFinalStateUnknown objects. -func (f *DeltaFIFO) KeyOf(obj interface{}) (string, error) { - if d, ok := obj.(Deltas); ok { - if len(d) == 0 { - return "", KeyError{obj, ErrZeroLengthDeltasObject} - } - obj = d.Newest().Object - } - if d, ok := obj.(DeletedFinalStateUnknown); ok { - return d.Key, nil - } - return f.keyFunc(obj) -} - -// Return true if an Add/Update/Delete/AddIfNotPresent are called first, -// or an Update called first but the first batch of items inserted by Replace() has been popped -func (f *DeltaFIFO) HasSynced() bool { - f.lock.Lock() - defer f.lock.Unlock() - return f.populated && f.initialPopulationCount == 0 -} - -// Add inserts an item, and puts it in the queue. The item is only enqueued -// if it doesn't already exist in the set. -func (f *DeltaFIFO) Add(obj interface{}) error { - f.lock.Lock() - defer f.lock.Unlock() - f.populated = true - return f.queueActionLocked(Added, obj) -} - -// Update is just like Add, but makes an Updated Delta. -func (f *DeltaFIFO) Update(obj interface{}) error { - f.lock.Lock() - defer f.lock.Unlock() - f.populated = true - return f.queueActionLocked(Updated, obj) -} - -// Delete is just like Add, but makes an Deleted Delta. If the item does not -// already exist, it will be ignored. (It may have already been deleted by a -// Replace (re-list), for example. -func (f *DeltaFIFO) Delete(obj interface{}) error { - id, err := f.KeyOf(obj) - if err != nil { - return KeyError{obj, err} - } - f.lock.Lock() - defer f.lock.Unlock() - f.populated = true - if f.knownObjects == nil { - if _, exists := f.items[id]; !exists { - // Presumably, this was deleted when a relist happened. - // Don't provide a second report of the same deletion. - return nil - } - } else { - // We only want to skip the "deletion" action if the object doesn't - // exist in knownObjects and it doesn't have corresponding item in items. - // Note that even if there is a "deletion" action in items, we can ignore it, - // because it will be deduped automatically in "queueActionLocked" - _, exists, err := f.knownObjects.GetByKey(id) - _, itemsExist := f.items[id] - if err == nil && !exists && !itemsExist { - // Presumably, this was deleted when a relist happened. - // Don't provide a second report of the same deletion. - // TODO(lavalamp): This may be racy-- we aren't properly locked - // with knownObjects. - return nil - } - } - - return f.queueActionLocked(Deleted, obj) -} - -// AddIfNotPresent inserts an item, and puts it in the queue. If the item is already -// present in the set, it is neither enqueued nor added to the set. -// -// This is useful in a single producer/consumer scenario so that the consumer can -// safely retry items without contending with the producer and potentially enqueueing -// stale items. -// -// Important: obj must be a Deltas (the output of the Pop() function). Yes, this is -// different from the Add/Update/Delete functions. -func (f *DeltaFIFO) AddIfNotPresent(obj interface{}) error { - deltas, ok := obj.(Deltas) - if !ok { - return fmt.Errorf("object must be of type deltas, but got: %#v", obj) - } - id, err := f.KeyOf(deltas.Newest().Object) - if err != nil { - return KeyError{obj, err} - } - f.lock.Lock() - defer f.lock.Unlock() - f.addIfNotPresent(id, deltas) - return nil -} - -// addIfNotPresent inserts deltas under id if it does not exist, and assumes the caller -// already holds the fifo lock. -func (f *DeltaFIFO) addIfNotPresent(id string, deltas Deltas) { - f.populated = true - if _, exists := f.items[id]; exists { - return - } - - f.queue = append(f.queue, id) - f.items[id] = deltas - f.cond.Broadcast() -} - -// re-listing and watching can deliver the same update multiple times in any -// order. This will combine the most recent two deltas if they are the same. -func dedupDeltas(deltas Deltas) Deltas { - n := len(deltas) - if n < 2 { - return deltas - } - a := &deltas[n-1] - b := &deltas[n-2] - if out := isDup(a, b); out != nil { - d := append(Deltas{}, deltas[:n-2]...) - return append(d, *out) - } - return deltas -} - -// If a & b represent the same event, returns the delta that ought to be kept. -// Otherwise, returns nil. -// TODO: is there anything other than deletions that need deduping? -func isDup(a, b *Delta) *Delta { - if out := isDeletionDup(a, b); out != nil { - return out - } - // TODO: Detect other duplicate situations? Are there any? - return nil -} - -// keep the one with the most information if both are deletions. -func isDeletionDup(a, b *Delta) *Delta { - if b.Type != Deleted || a.Type != Deleted { - return nil - } - // Do more sophisticated checks, or is this sufficient? - if _, ok := b.Object.(DeletedFinalStateUnknown); ok { - return a - } - return b -} - -// willObjectBeDeletedLocked returns true only if the last delta for the -// given object is Delete. Caller must lock first. -func (f *DeltaFIFO) willObjectBeDeletedLocked(id string) bool { - deltas := f.items[id] - return len(deltas) > 0 && deltas[len(deltas)-1].Type == Deleted -} - -// queueActionLocked appends to the delta list for the object, calling -// f.deltaCompressor if needed. Caller must lock first. -func (f *DeltaFIFO) queueActionLocked(actionType DeltaType, obj interface{}) error { - id, err := f.KeyOf(obj) - if err != nil { - return KeyError{obj, err} - } - - // If object is supposed to be deleted (last event is Deleted), - // then we should ignore Sync events, because it would result in - // recreation of this object. - if actionType == Sync && f.willObjectBeDeletedLocked(id) { - return nil - } - - newDeltas := append(f.items[id], Delta{actionType, obj}) - newDeltas = dedupDeltas(newDeltas) - if f.deltaCompressor != nil { - newDeltas = f.deltaCompressor.Compress(newDeltas) - } - - _, exists := f.items[id] - if len(newDeltas) > 0 { - if !exists { - f.queue = append(f.queue, id) - } - f.items[id] = newDeltas - f.cond.Broadcast() - } else if exists { - // The compression step removed all deltas, so - // we need to remove this from our map (extra items - // in the queue are ignored if they are not in the - // map). - delete(f.items, id) - } - return nil -} - -// List returns a list of all the items; it returns the object -// from the most recent Delta. -// You should treat the items returned inside the deltas as immutable. -func (f *DeltaFIFO) List() []interface{} { - f.lock.RLock() - defer f.lock.RUnlock() - return f.listLocked() -} - -func (f *DeltaFIFO) listLocked() []interface{} { - list := make([]interface{}, 0, len(f.items)) - for _, item := range f.items { - // Copy item's slice so operations on this slice (delta - // compression) won't interfere with the object we return. - item = copyDeltas(item) - list = append(list, item.Newest().Object) - } - return list -} - -// ListKeys returns a list of all the keys of the objects currently -// in the FIFO. -func (f *DeltaFIFO) ListKeys() []string { - f.lock.RLock() - defer f.lock.RUnlock() - list := make([]string, 0, len(f.items)) - for key := range f.items { - list = append(list, key) - } - return list -} - -// Get returns the complete list of deltas for the requested item, -// or sets exists=false. -// You should treat the items returned inside the deltas as immutable. -func (f *DeltaFIFO) Get(obj interface{}) (item interface{}, exists bool, err error) { - key, err := f.KeyOf(obj) - if err != nil { - return nil, false, KeyError{obj, err} - } - return f.GetByKey(key) -} - -// GetByKey returns the complete list of deltas for the requested item, -// setting exists=false if that list is empty. -// You should treat the items returned inside the deltas as immutable. -func (f *DeltaFIFO) GetByKey(key string) (item interface{}, exists bool, err error) { - f.lock.RLock() - defer f.lock.RUnlock() - d, exists := f.items[key] - if exists { - // Copy item's slice so operations on this slice (delta - // compression) won't interfere with the object we return. - d = copyDeltas(d) - } - return d, exists, nil -} - -// Pop blocks until an item is added to the queue, and then returns it. If -// multiple items are ready, they are returned in the order in which they were -// added/updated. The item is removed from the queue (and the store) before it -// is returned, so if you don't successfully process it, you need to add it back -// with AddIfNotPresent(). -// process function is called under lock, so it is safe update data structures -// in it that need to be in sync with the queue (e.g. knownKeys). The PopProcessFunc -// may return an instance of ErrRequeue with a nested error to indicate the current -// item should be requeued (equivalent to calling AddIfNotPresent under the lock). -// -// Pop returns a 'Deltas', which has a complete list of all the things -// that happened to the object (deltas) while it was sitting in the queue. -func (f *DeltaFIFO) Pop(process PopProcessFunc) (interface{}, error) { - f.lock.Lock() - defer f.lock.Unlock() - for { - for len(f.queue) == 0 { - f.cond.Wait() - } - id := f.queue[0] - f.queue = f.queue[1:] - item, ok := f.items[id] - if f.initialPopulationCount > 0 { - f.initialPopulationCount-- - } - if !ok { - // Item may have been deleted subsequently. - continue - } - delete(f.items, id) - err := process(item) - if e, ok := err.(ErrRequeue); ok { - f.addIfNotPresent(id, item) - err = e.Err - } - // Don't need to copyDeltas here, because we're transferring - // ownership to the caller. - return item, err - } -} - -// Replace will delete the contents of 'f', using instead the given map. -// 'f' takes ownership of the map, you should not reference the map again -// after calling this function. f's queue is reset, too; upon return, it -// will contain the items in the map, in no particular order. -func (f *DeltaFIFO) Replace(list []interface{}, resourceVersion string) error { - f.lock.Lock() - defer f.lock.Unlock() - keys := make(sets.String, len(list)) - - for _, item := range list { - key, err := f.KeyOf(item) - if err != nil { - return KeyError{item, err} - } - keys.Insert(key) - if err := f.queueActionLocked(Sync, item); err != nil { - return fmt.Errorf("couldn't enqueue object: %v", err) - } - } - - if f.knownObjects == nil { - // Do deletion detection against our own list. - for k, oldItem := range f.items { - if keys.Has(k) { - continue - } - var deletedObj interface{} - if n := oldItem.Newest(); n != nil { - deletedObj = n.Object - } - if err := f.queueActionLocked(Deleted, DeletedFinalStateUnknown{k, deletedObj}); err != nil { - return err - } - } - - if !f.populated { - f.populated = true - f.initialPopulationCount = len(list) - } - - return nil - } - - // Detect deletions not already in the queue. - // TODO(lavalamp): This may be racy-- we aren't properly locked - // with knownObjects. Unproven. - knownKeys := f.knownObjects.ListKeys() - queuedDeletions := 0 - for _, k := range knownKeys { - if keys.Has(k) { - continue - } - - deletedObj, exists, err := f.knownObjects.GetByKey(k) - if err != nil { - deletedObj = nil - glog.Errorf("Unexpected error %v during lookup of key %v, placing DeleteFinalStateUnknown marker without object", err, k) - } else if !exists { - deletedObj = nil - glog.Infof("Key %v does not exist in known objects store, placing DeleteFinalStateUnknown marker without object", k) - } - queuedDeletions++ - if err := f.queueActionLocked(Deleted, DeletedFinalStateUnknown{k, deletedObj}); err != nil { - return err - } - } - - if !f.populated { - f.populated = true - f.initialPopulationCount = len(list) + queuedDeletions - } - - return nil -} - -// Resync will send a sync event for each item -func (f *DeltaFIFO) Resync() error { - var keys []string - func() { - f.lock.RLock() - defer f.lock.RUnlock() - keys = f.knownObjects.ListKeys() - }() - for _, k := range keys { - if err := f.syncKey(k); err != nil { - return err - } - } - return nil -} - -func (f *DeltaFIFO) syncKey(key string) error { - f.lock.Lock() - defer f.lock.Unlock() - obj, exists, err := f.knownObjects.GetByKey(key) - if err != nil { - glog.Errorf("Unexpected error %v during lookup of key %v, unable to queue object for sync", err, key) - return nil - } else if !exists { - glog.Infof("Key %v does not exist in known objects store, unable to queue object for sync", key) - return nil - } - - // If we are doing Resync() and there is already an event queued for that object, - // we ignore the Resync for it. This is to avoid the race, in which the resync - // comes with the previous value of object (since queueing an event for the object - // doesn't trigger changing the underlying store . - id, err := f.KeyOf(obj) - if err != nil { - return KeyError{obj, err} - } - if len(f.items[id]) > 0 { - return nil - } - - if err := f.queueActionLocked(Sync, obj); err != nil { - return fmt.Errorf("couldn't queue object: %v", err) - } - return nil -} - -// A KeyListerGetter is anything that knows how to list its keys and look up by key. -type KeyListerGetter interface { - KeyLister - KeyGetter -} - -// A KeyLister is anything that knows how to list its keys. -type KeyLister interface { - ListKeys() []string -} - -// A KeyGetter is anything that knows how to get the value stored under a given key. -type KeyGetter interface { - GetByKey(key string) (interface{}, bool, error) -} - -// DeltaCompressor is an algorithm that removes redundant changes. -type DeltaCompressor interface { - Compress(Deltas) Deltas -} - -// DeltaCompressorFunc should remove redundant changes; but changes that -// are redundant depend on one's desired semantics, so this is an -// injectable function. -// -// DeltaCompressorFunc adapts a raw function to be a DeltaCompressor. -type DeltaCompressorFunc func(Deltas) Deltas - -// Compress just calls dc. -func (dc DeltaCompressorFunc) Compress(d Deltas) Deltas { - return dc(d) -} - -// DeltaType is the type of a change (addition, deletion, etc) -type DeltaType string - -const ( - Added DeltaType = "Added" - Updated DeltaType = "Updated" - Deleted DeltaType = "Deleted" - // The other types are obvious. You'll get Sync deltas when: - // * A watch expires/errors out and a new list/watch cycle is started. - // * You've turned on periodic syncs. - // (Anything that trigger's DeltaFIFO's Replace() method.) - Sync DeltaType = "Sync" -) - -// Delta is the type stored by a DeltaFIFO. It tells you what change -// happened, and the object's state after* that change. -// -// [*] Unless the change is a deletion, and then you'll get the final -// state of the object before it was deleted. -type Delta struct { - Type DeltaType - Object interface{} -} - -// Deltas is a list of one or more 'Delta's to an individual object. -// The oldest delta is at index 0, the newest delta is the last one. -type Deltas []Delta - -// Oldest is a convenience function that returns the oldest delta, or -// nil if there are no deltas. -func (d Deltas) Oldest() *Delta { - if len(d) > 0 { - return &d[0] - } - return nil -} - -// Newest is a convenience function that returns the newest delta, or -// nil if there are no deltas. -func (d Deltas) Newest() *Delta { - if n := len(d); n > 0 { - return &d[n-1] - } - return nil -} - -// copyDeltas returns a shallow copy of d; that is, it copies the slice but not -// the objects in the slice. This allows Get/List to return an object that we -// know won't be clobbered by a subsequent call to a delta compressor. -func copyDeltas(d Deltas) Deltas { - d2 := make(Deltas, len(d)) - copy(d2, d) - return d2 -} - -// DeletedFinalStateUnknown is placed into a DeltaFIFO in the case where -// an object was deleted but the watch deletion event was missed. In this -// case we don't know the final "resting" state of the object, so there's -// a chance the included `Obj` is stale. -type DeletedFinalStateUnknown struct { - Key string - Obj interface{} -} diff --git a/pkg/client/cache/delta_fifo_test.go b/pkg/client/cache/delta_fifo_test.go deleted file mode 100644 index 87bbdaeab89..00000000000 --- a/pkg/client/cache/delta_fifo_test.go +++ /dev/null @@ -1,533 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "reflect" - "testing" - "time" -) - -// helper function to reduce stuttering -func testPop(f *DeltaFIFO) testFifoObject { - return Pop(f).(Deltas).Newest().Object.(testFifoObject) -} - -// keyLookupFunc adapts a raw function to be a KeyLookup. -type keyLookupFunc func() []testFifoObject - -// ListKeys just calls kl. -func (kl keyLookupFunc) ListKeys() []string { - result := []string{} - for _, fifoObj := range kl() { - result = append(result, fifoObj.name) - } - return result -} - -// GetByKey returns the key if it exists in the list returned by kl. -func (kl keyLookupFunc) GetByKey(key string) (interface{}, bool, error) { - for _, v := range kl() { - if v.name == key { - return v, true, nil - } - } - return nil, false, nil -} - -func TestDeltaFIFO_basic(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - const amount = 500 - go func() { - for i := 0; i < amount; i++ { - f.Add(mkFifoObj(string([]rune{'a', rune(i)}), i+1)) - } - }() - go func() { - for u := uint64(0); u < amount; u++ { - f.Add(mkFifoObj(string([]rune{'b', rune(u)}), u+1)) - } - }() - - lastInt := int(0) - lastUint := uint64(0) - for i := 0; i < amount*2; i++ { - switch obj := testPop(f).val.(type) { - case int: - if obj <= lastInt { - t.Errorf("got %v (int) out of order, last was %v", obj, lastInt) - } - lastInt = obj - case uint64: - if obj <= lastUint { - t.Errorf("got %v (uint) out of order, last was %v", obj, lastUint) - } else { - lastUint = obj - } - default: - t.Fatalf("unexpected type %#v", obj) - } - } -} - -func TestDeltaFIFO_requeueOnPop(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - - f.Add(mkFifoObj("foo", 10)) - _, err := f.Pop(func(obj interface{}) error { - if obj.(Deltas)[0].Object.(testFifoObject).name != "foo" { - t.Fatalf("unexpected object: %#v", obj) - } - return ErrRequeue{Err: nil} - }) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if _, ok, err := f.GetByKey("foo"); !ok || err != nil { - t.Fatalf("object should have been requeued: %t %v", ok, err) - } - - _, err = f.Pop(func(obj interface{}) error { - if obj.(Deltas)[0].Object.(testFifoObject).name != "foo" { - t.Fatalf("unexpected object: %#v", obj) - } - return ErrRequeue{Err: fmt.Errorf("test error")} - }) - if err == nil || err.Error() != "test error" { - t.Fatalf("unexpected error: %v", err) - } - if _, ok, err := f.GetByKey("foo"); !ok || err != nil { - t.Fatalf("object should have been requeued: %t %v", ok, err) - } - - _, err = f.Pop(func(obj interface{}) error { - if obj.(Deltas)[0].Object.(testFifoObject).name != "foo" { - t.Fatalf("unexpected object: %#v", obj) - } - return nil - }) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if _, ok, err := f.GetByKey("foo"); ok || err != nil { - t.Fatalf("object should have been removed: %t %v", ok, err) - } -} - -func TestDeltaFIFO_compressorWorks(t *testing.T) { - oldestTypes := []DeltaType{} - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - // This function just keeps the most recent delta - // and puts deleted ones in the list. - DeltaCompressorFunc(func(d Deltas) Deltas { - if n := len(d); n > 1 { - oldestTypes = append(oldestTypes, d[0].Type) - d = d[1:] - } - return d - }), - nil, - ) - if f.HasSynced() { - t.Errorf("Expected HasSynced to be false before completion of initial population") - } - f.Add(mkFifoObj("foo", 10)) - f.Update(mkFifoObj("foo", 12)) - f.Replace([]interface{}{mkFifoObj("foo", 20)}, "0") - f.Delete(mkFifoObj("foo", 22)) - f.Add(mkFifoObj("foo", 25)) // flush the last one out - expect := []DeltaType{Added, Updated, Sync, Deleted} - if e, a := expect, oldestTypes; !reflect.DeepEqual(e, a) { - t.Errorf("Expected %#v, got %#v", e, a) - } - if e, a := (Deltas{{Added, mkFifoObj("foo", 25)}}), Pop(f).(Deltas); !reflect.DeepEqual(e, a) { - t.Fatalf("Expected %#v, got %#v", e, a) - } - if !f.HasSynced() { - t.Errorf("Expected HasSynced to be true after completion of initial population") - } -} - -func TestDeltaFIFO_addUpdate(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - f.Add(mkFifoObj("foo", 10)) - f.Update(mkFifoObj("foo", 12)) - f.Delete(mkFifoObj("foo", 15)) - - if e, a := []interface{}{mkFifoObj("foo", 15)}, f.List(); !reflect.DeepEqual(e, a) { - t.Errorf("Expected %+v, got %+v", e, a) - } - if e, a := []string{"foo"}, f.ListKeys(); !reflect.DeepEqual(e, a) { - t.Errorf("Expected %+v, got %+v", e, a) - } - - got := make(chan testFifoObject, 2) - go func() { - for { - obj := testPop(f) - t.Logf("got a thing %#v", obj) - t.Logf("D len: %v", len(f.queue)) - got <- obj - } - }() - - first := <-got - if e, a := 15, first.val; e != a { - t.Errorf("Didn't get updated value (%v), got %v", e, a) - } - select { - case unexpected := <-got: - t.Errorf("Got second value %v", unexpected.val) - case <-time.After(50 * time.Millisecond): - } - _, exists, _ := f.Get(mkFifoObj("foo", "")) - if exists { - t.Errorf("item did not get removed") - } -} - -func TestDeltaFIFO_enqueueingNoLister(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - f.Add(mkFifoObj("foo", 10)) - f.Update(mkFifoObj("bar", 15)) - f.Add(mkFifoObj("qux", 17)) - f.Delete(mkFifoObj("qux", 18)) - - // This delete does not enqueue anything because baz doesn't exist. - f.Delete(mkFifoObj("baz", 20)) - - expectList := []int{10, 15, 18} - for _, expect := range expectList { - if e, a := expect, testPop(f).val; e != a { - t.Errorf("Didn't get updated value (%v), got %v", e, a) - } - } - if e, a := 0, len(f.items); e != a { - t.Errorf("queue unexpectedly not empty: %v != %v\n%#v", e, a, f.items) - } -} - -func TestDeltaFIFO_enqueueingWithLister(t *testing.T) { - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - nil, - keyLookupFunc(func() []testFifoObject { - return []testFifoObject{mkFifoObj("foo", 5), mkFifoObj("bar", 6), mkFifoObj("baz", 7)} - }), - ) - f.Add(mkFifoObj("foo", 10)) - f.Update(mkFifoObj("bar", 15)) - - // This delete does enqueue the deletion, because "baz" is in the key lister. - f.Delete(mkFifoObj("baz", 20)) - - expectList := []int{10, 15, 20} - for _, expect := range expectList { - if e, a := expect, testPop(f).val; e != a { - t.Errorf("Didn't get updated value (%v), got %v", e, a) - } - } - if e, a := 0, len(f.items); e != a { - t.Errorf("queue unexpectedly not empty: %v != %v", e, a) - } -} - -func TestDeltaFIFO_addReplace(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - f.Add(mkFifoObj("foo", 10)) - f.Replace([]interface{}{mkFifoObj("foo", 15)}, "0") - got := make(chan testFifoObject, 2) - go func() { - for { - got <- testPop(f) - } - }() - - first := <-got - if e, a := 15, first.val; e != a { - t.Errorf("Didn't get updated value (%v), got %v", e, a) - } - select { - case unexpected := <-got: - t.Errorf("Got second value %v", unexpected.val) - case <-time.After(50 * time.Millisecond): - } - _, exists, _ := f.Get(mkFifoObj("foo", "")) - if exists { - t.Errorf("item did not get removed") - } -} - -func TestDeltaFIFO_ResyncNonExisting(t *testing.T) { - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - nil, - keyLookupFunc(func() []testFifoObject { - return []testFifoObject{mkFifoObj("foo", 5)} - }), - ) - f.Delete(mkFifoObj("foo", 10)) - f.Resync() - - deltas := f.items["foo"] - if len(deltas) != 1 { - t.Fatalf("unexpected deltas length: %v", deltas) - } - if deltas[0].Type != Deleted { - t.Errorf("unexpected delta: %v", deltas[0]) - } -} - -func TestDeltaFIFO_DeleteExistingNonPropagated(t *testing.T) { - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - nil, - keyLookupFunc(func() []testFifoObject { - return []testFifoObject{} - }), - ) - f.Add(mkFifoObj("foo", 5)) - f.Delete(mkFifoObj("foo", 6)) - - deltas := f.items["foo"] - if len(deltas) != 2 { - t.Fatalf("unexpected deltas length: %v", deltas) - } - if deltas[len(deltas)-1].Type != Deleted { - t.Errorf("unexpected delta: %v", deltas[len(deltas)-1]) - } -} - -func TestDeltaFIFO_ReplaceMakesDeletions(t *testing.T) { - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - nil, - keyLookupFunc(func() []testFifoObject { - return []testFifoObject{mkFifoObj("foo", 5), mkFifoObj("bar", 6), mkFifoObj("baz", 7)} - }), - ) - f.Delete(mkFifoObj("baz", 10)) - f.Replace([]interface{}{mkFifoObj("foo", 5)}, "0") - - expectedList := []Deltas{ - {{Deleted, mkFifoObj("baz", 10)}}, - {{Sync, mkFifoObj("foo", 5)}}, - // Since "bar" didn't have a delete event and wasn't in the Replace list - // it should get a tombstone key with the right Obj. - {{Deleted, DeletedFinalStateUnknown{Key: "bar", Obj: mkFifoObj("bar", 6)}}}, - } - - for _, expected := range expectedList { - cur := Pop(f).(Deltas) - if e, a := expected, cur; !reflect.DeepEqual(e, a) { - t.Errorf("Expected %#v, got %#v", e, a) - } - } -} - -func TestDeltaFIFO_UpdateResyncRace(t *testing.T) { - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - nil, - keyLookupFunc(func() []testFifoObject { - return []testFifoObject{mkFifoObj("foo", 5)} - }), - ) - f.Update(mkFifoObj("foo", 6)) - f.Resync() - - expectedList := []Deltas{ - {{Updated, mkFifoObj("foo", 6)}}, - } - - for _, expected := range expectedList { - cur := Pop(f).(Deltas) - if e, a := expected, cur; !reflect.DeepEqual(e, a) { - t.Errorf("Expected %#v, got %#v", e, a) - } - } -} - -func TestDeltaFIFO_HasSyncedCorrectOnDeletion(t *testing.T) { - f := NewDeltaFIFO( - testFifoObjectKeyFunc, - nil, - keyLookupFunc(func() []testFifoObject { - return []testFifoObject{mkFifoObj("foo", 5), mkFifoObj("bar", 6), mkFifoObj("baz", 7)} - }), - ) - f.Replace([]interface{}{mkFifoObj("foo", 5)}, "0") - - expectedList := []Deltas{ - {{Sync, mkFifoObj("foo", 5)}}, - // Since "bar" didn't have a delete event and wasn't in the Replace list - // it should get a tombstone key with the right Obj. - {{Deleted, DeletedFinalStateUnknown{Key: "bar", Obj: mkFifoObj("bar", 6)}}}, - } - - for _, expected := range expectedList { - if f.HasSynced() { - t.Errorf("Expected HasSynced to be false") - } - cur := Pop(f).(Deltas) - if e, a := expected, cur; !reflect.DeepEqual(e, a) { - t.Errorf("Expected %#v, got %#v", e, a) - } - } - if f.HasSynced() { - t.Errorf("Expected HasSynced to be true") - } -} - -func TestDeltaFIFO_detectLineJumpers(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - - f.Add(mkFifoObj("foo", 10)) - f.Add(mkFifoObj("bar", 1)) - f.Add(mkFifoObj("foo", 11)) - f.Add(mkFifoObj("foo", 13)) - f.Add(mkFifoObj("zab", 30)) - - if e, a := 13, testPop(f).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } - - f.Add(mkFifoObj("foo", 14)) // ensure foo doesn't jump back in line - - if e, a := 1, testPop(f).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } - - if e, a := 30, testPop(f).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } - - if e, a := 14, testPop(f).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } -} - -func TestDeltaFIFO_addIfNotPresent(t *testing.T) { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - - f.Add(mkFifoObj("b", 3)) - b3 := Pop(f) - f.Add(mkFifoObj("c", 4)) - c4 := Pop(f) - if e, a := 0, len(f.items); e != a { - t.Fatalf("Expected %v, got %v items in queue", e, a) - } - - f.Add(mkFifoObj("a", 1)) - f.Add(mkFifoObj("b", 2)) - f.AddIfNotPresent(b3) - f.AddIfNotPresent(c4) - - if e, a := 3, len(f.items); a != e { - t.Fatalf("expected queue length %d, got %d", e, a) - } - - expectedValues := []int{1, 2, 4} - for _, expected := range expectedValues { - if actual := testPop(f).val; actual != expected { - t.Fatalf("expected value %d, got %d", expected, actual) - } - } -} - -func TestDeltaFIFO_KeyOf(t *testing.T) { - f := DeltaFIFO{keyFunc: testFifoObjectKeyFunc} - - table := []struct { - obj interface{} - key string - }{ - {obj: testFifoObject{name: "A"}, key: "A"}, - {obj: DeletedFinalStateUnknown{Key: "B", Obj: nil}, key: "B"}, - {obj: Deltas{{Object: testFifoObject{name: "C"}}}, key: "C"}, - {obj: Deltas{{Object: DeletedFinalStateUnknown{Key: "D", Obj: nil}}}, key: "D"}, - } - - for _, item := range table { - got, err := f.KeyOf(item.obj) - if err != nil { - t.Errorf("Unexpected error for %q: %v", item.obj, err) - continue - } - if e, a := item.key, got; e != a { - t.Errorf("Expected %v, got %v", e, a) - } - } -} - -func TestDeltaFIFO_HasSynced(t *testing.T) { - tests := []struct { - actions []func(f *DeltaFIFO) - expectedSynced bool - }{ - { - actions: []func(f *DeltaFIFO){}, - expectedSynced: false, - }, - { - actions: []func(f *DeltaFIFO){ - func(f *DeltaFIFO) { f.Add(mkFifoObj("a", 1)) }, - }, - expectedSynced: true, - }, - { - actions: []func(f *DeltaFIFO){ - func(f *DeltaFIFO) { f.Replace([]interface{}{}, "0") }, - }, - expectedSynced: true, - }, - { - actions: []func(f *DeltaFIFO){ - func(f *DeltaFIFO) { f.Replace([]interface{}{mkFifoObj("a", 1), mkFifoObj("b", 2)}, "0") }, - }, - expectedSynced: false, - }, - { - actions: []func(f *DeltaFIFO){ - func(f *DeltaFIFO) { f.Replace([]interface{}{mkFifoObj("a", 1), mkFifoObj("b", 2)}, "0") }, - func(f *DeltaFIFO) { Pop(f) }, - }, - expectedSynced: false, - }, - { - actions: []func(f *DeltaFIFO){ - func(f *DeltaFIFO) { f.Replace([]interface{}{mkFifoObj("a", 1), mkFifoObj("b", 2)}, "0") }, - func(f *DeltaFIFO) { Pop(f) }, - func(f *DeltaFIFO) { Pop(f) }, - }, - expectedSynced: true, - }, - } - - for i, test := range tests { - f := NewDeltaFIFO(testFifoObjectKeyFunc, nil, nil) - - for _, action := range test.actions { - action(f) - } - if e, a := test.expectedSynced, f.HasSynced(); a != e { - t.Errorf("test case %v failed, expected: %v , got %v", i, e, a) - } - } -} diff --git a/pkg/client/cache/doc.go b/pkg/client/cache/doc.go deleted file mode 100644 index 67dd3dd4598..00000000000 --- a/pkg/client/cache/doc.go +++ /dev/null @@ -1,24 +0,0 @@ -/* -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 cache is a client-side caching mechanism. It is useful for -// reducing the number of server calls you'd otherwise need to make. -// Reflector watches a server and updates a Store. Two stores are provided; -// one that simply caches objects (for example, to allow a scheduler to -// list currently available nodes), and one that additionally acts as -// a FIFO queue (for example, to allow a scheduler to process incoming -// pods). -package cache // import "k8s.io/kubernetes/pkg/client/cache" diff --git a/pkg/client/cache/expiration_cache.go b/pkg/client/cache/expiration_cache.go deleted file mode 100644 index befac1c758d..00000000000 --- a/pkg/client/cache/expiration_cache.go +++ /dev/null @@ -1,208 +0,0 @@ -/* -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 cache - -import ( - "sync" - "time" - - "github.com/golang/glog" - "k8s.io/client-go/util/clock" -) - -// ExpirationCache implements the store interface -// 1. All entries are automatically time stamped on insert -// a. The key is computed based off the original item/keyFunc -// b. The value inserted under that key is the timestamped item -// 2. Expiration happens lazily on read based on the expiration policy -// a. No item can be inserted into the store while we're expiring -// *any* item in the cache. -// 3. Time-stamps are stripped off unexpired entries before return -// Note that the ExpirationCache is inherently slower than a normal -// threadSafeStore because it takes a write lock every time it checks if -// an item has expired. -type ExpirationCache struct { - cacheStorage ThreadSafeStore - keyFunc KeyFunc - clock clock.Clock - expirationPolicy ExpirationPolicy - // expirationLock is a write lock used to guarantee that we don't clobber - // newly inserted objects because of a stale expiration timestamp comparison - expirationLock sync.Mutex -} - -// ExpirationPolicy dictates when an object expires. Currently only abstracted out -// so unittests don't rely on the system clock. -type ExpirationPolicy interface { - IsExpired(obj *timestampedEntry) bool -} - -// TTLPolicy implements a ttl based ExpirationPolicy. -type TTLPolicy struct { - // >0: Expire entries with an age > ttl - // <=0: Don't expire any entry - Ttl time.Duration - - // Clock used to calculate ttl expiration - Clock clock.Clock -} - -// IsExpired returns true if the given object is older than the ttl, or it can't -// determine its age. -func (p *TTLPolicy) IsExpired(obj *timestampedEntry) bool { - return p.Ttl > 0 && p.Clock.Since(obj.timestamp) > p.Ttl -} - -// timestampedEntry is the only type allowed in a ExpirationCache. -type timestampedEntry struct { - obj interface{} - timestamp time.Time -} - -// getTimestampedEntry returns the timestampedEntry stored under the given key. -func (c *ExpirationCache) getTimestampedEntry(key string) (*timestampedEntry, bool) { - item, _ := c.cacheStorage.Get(key) - if tsEntry, ok := item.(*timestampedEntry); ok { - return tsEntry, true - } - return nil, false -} - -// getOrExpire retrieves the object from the timestampedEntry if and only if it hasn't -// already expired. It holds a write lock across deletion. -func (c *ExpirationCache) getOrExpire(key string) (interface{}, bool) { - // Prevent all inserts from the time we deem an item as "expired" to when we - // delete it, so an un-expired item doesn't sneak in under the same key, just - // before the Delete. - c.expirationLock.Lock() - defer c.expirationLock.Unlock() - timestampedItem, exists := c.getTimestampedEntry(key) - if !exists { - return nil, false - } - if c.expirationPolicy.IsExpired(timestampedItem) { - glog.V(4).Infof("Entry %v: %+v has expired", key, timestampedItem.obj) - c.cacheStorage.Delete(key) - return nil, false - } - return timestampedItem.obj, true -} - -// GetByKey returns the item stored under the key, or sets exists=false. -func (c *ExpirationCache) GetByKey(key string) (interface{}, bool, error) { - obj, exists := c.getOrExpire(key) - return obj, exists, nil -} - -// Get returns unexpired items. It purges the cache of expired items in the -// process. -func (c *ExpirationCache) Get(obj interface{}) (interface{}, bool, error) { - key, err := c.keyFunc(obj) - if err != nil { - return nil, false, KeyError{obj, err} - } - obj, exists := c.getOrExpire(key) - return obj, exists, nil -} - -// List retrieves a list of unexpired items. It purges the cache of expired -// items in the process. -func (c *ExpirationCache) List() []interface{} { - items := c.cacheStorage.List() - - list := make([]interface{}, 0, len(items)) - for _, item := range items { - obj := item.(*timestampedEntry).obj - if key, err := c.keyFunc(obj); err != nil { - list = append(list, obj) - } else if obj, exists := c.getOrExpire(key); exists { - list = append(list, obj) - } - } - return list -} - -// ListKeys returns a list of all keys in the expiration cache. -func (c *ExpirationCache) ListKeys() []string { - return c.cacheStorage.ListKeys() -} - -// Add timestamps an item and inserts it into the cache, overwriting entries -// that might exist under the same key. -func (c *ExpirationCache) Add(obj interface{}) error { - c.expirationLock.Lock() - defer c.expirationLock.Unlock() - - key, err := c.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - c.cacheStorage.Add(key, ×tampedEntry{obj, c.clock.Now()}) - return nil -} - -// Update has not been implemented yet for lack of a use case, so this method -// simply calls `Add`. This effectively refreshes the timestamp. -func (c *ExpirationCache) Update(obj interface{}) error { - return c.Add(obj) -} - -// Delete removes an item from the cache. -func (c *ExpirationCache) Delete(obj interface{}) error { - c.expirationLock.Lock() - defer c.expirationLock.Unlock() - key, err := c.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - c.cacheStorage.Delete(key) - return nil -} - -// Replace will convert all items in the given list to TimestampedEntries -// before attempting the replace operation. The replace operation will -// delete the contents of the ExpirationCache `c`. -func (c *ExpirationCache) Replace(list []interface{}, resourceVersion string) error { - c.expirationLock.Lock() - defer c.expirationLock.Unlock() - items := map[string]interface{}{} - ts := c.clock.Now() - for _, item := range list { - key, err := c.keyFunc(item) - if err != nil { - return KeyError{item, err} - } - items[key] = ×tampedEntry{item, ts} - } - c.cacheStorage.Replace(items, resourceVersion) - return nil -} - -// Resync will touch all objects to put them into the processing queue -func (c *ExpirationCache) Resync() error { - return c.cacheStorage.Resync() -} - -// NewTTLStore creates and returns a ExpirationCache with a TTLPolicy -func NewTTLStore(keyFunc KeyFunc, ttl time.Duration) Store { - return &ExpirationCache{ - cacheStorage: NewThreadSafeStore(Indexers{}, Indices{}), - keyFunc: keyFunc, - clock: clock.RealClock{}, - expirationPolicy: &TTLPolicy{ttl, clock.RealClock{}}, - } -} diff --git a/pkg/client/cache/expiration_cache_fakes.go b/pkg/client/cache/expiration_cache_fakes.go deleted file mode 100644 index ab2f57687ef..00000000000 --- a/pkg/client/cache/expiration_cache_fakes.go +++ /dev/null @@ -1,54 +0,0 @@ -/* -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 cache - -import ( - "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/client-go/util/clock" -) - -type fakeThreadSafeMap struct { - ThreadSafeStore - deletedKeys chan<- string -} - -func (c *fakeThreadSafeMap) Delete(key string) { - if c.deletedKeys != nil { - c.ThreadSafeStore.Delete(key) - c.deletedKeys <- key - } -} - -type FakeExpirationPolicy struct { - NeverExpire sets.String - RetrieveKeyFunc KeyFunc -} - -func (p *FakeExpirationPolicy) IsExpired(obj *timestampedEntry) bool { - key, _ := p.RetrieveKeyFunc(obj) - return !p.NeverExpire.Has(key) -} - -func NewFakeExpirationStore(keyFunc KeyFunc, deletedKeys chan<- string, expirationPolicy ExpirationPolicy, cacheClock clock.Clock) Store { - cacheStorage := NewThreadSafeStore(Indexers{}, Indices{}) - return &ExpirationCache{ - cacheStorage: &fakeThreadSafeMap{cacheStorage, deletedKeys}, - keyFunc: keyFunc, - clock: cacheClock, - expirationPolicy: expirationPolicy, - } -} diff --git a/pkg/client/cache/expiration_cache_test.go b/pkg/client/cache/expiration_cache_test.go deleted file mode 100644 index 17139d5940c..00000000000 --- a/pkg/client/cache/expiration_cache_test.go +++ /dev/null @@ -1,189 +0,0 @@ -/* -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 cache - -import ( - "reflect" - "testing" - "time" - - "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/client-go/util/clock" -) - -func TestTTLExpirationBasic(t *testing.T) { - testObj := testStoreObject{id: "foo", val: "bar"} - deleteChan := make(chan string, 1) - ttlStore := NewFakeExpirationStore( - testStoreKeyFunc, deleteChan, - &FakeExpirationPolicy{ - NeverExpire: sets.NewString(), - RetrieveKeyFunc: func(obj interface{}) (string, error) { - return obj.(*timestampedEntry).obj.(testStoreObject).id, nil - }, - }, - clock.RealClock{}, - ) - err := ttlStore.Add(testObj) - if err != nil { - t.Errorf("Unable to add obj %#v", testObj) - } - item, exists, err := ttlStore.Get(testObj) - if err != nil { - t.Errorf("Failed to get from store, %v", err) - } - if exists || item != nil { - t.Errorf("Got unexpected item %#v", item) - } - key, _ := testStoreKeyFunc(testObj) - select { - case delKey := <-deleteChan: - if delKey != key { - t.Errorf("Unexpected delete for key %s", key) - } - case <-time.After(wait.ForeverTestTimeout): - t.Errorf("Unexpected timeout waiting on delete") - } - close(deleteChan) -} - -func TestReAddExpiredItem(t *testing.T) { - deleteChan := make(chan string, 1) - exp := &FakeExpirationPolicy{ - NeverExpire: sets.NewString(), - RetrieveKeyFunc: func(obj interface{}) (string, error) { - return obj.(*timestampedEntry).obj.(testStoreObject).id, nil - }, - } - ttlStore := NewFakeExpirationStore( - testStoreKeyFunc, deleteChan, exp, clock.RealClock{}) - testKey := "foo" - testObj := testStoreObject{id: testKey, val: "bar"} - err := ttlStore.Add(testObj) - if err != nil { - t.Errorf("Unable to add obj %#v", testObj) - } - - // This get will expire the item. - item, exists, err := ttlStore.Get(testObj) - if err != nil { - t.Errorf("Failed to get from store, %v", err) - } - if exists || item != nil { - t.Errorf("Got unexpected item %#v", item) - } - - key, _ := testStoreKeyFunc(testObj) - differentValue := "different_bar" - err = ttlStore.Add( - testStoreObject{id: testKey, val: differentValue}) - if err != nil { - t.Errorf("Failed to add second value") - } - - select { - case delKey := <-deleteChan: - if delKey != key { - t.Errorf("Unexpected delete for key %s", key) - } - case <-time.After(wait.ForeverTestTimeout): - t.Errorf("Unexpected timeout waiting on delete") - } - exp.NeverExpire = sets.NewString(testKey) - item, exists, err = ttlStore.GetByKey(testKey) - if err != nil { - t.Errorf("Failed to get from store, %v", err) - } - if !exists || item == nil || item.(testStoreObject).val != differentValue { - t.Errorf("Got unexpected item %#v", item) - } - close(deleteChan) -} - -func TestTTLList(t *testing.T) { - testObjs := []testStoreObject{ - {id: "foo", val: "bar"}, - {id: "foo1", val: "bar1"}, - {id: "foo2", val: "bar2"}, - } - expireKeys := sets.NewString(testObjs[0].id, testObjs[2].id) - deleteChan := make(chan string, len(testObjs)) - defer close(deleteChan) - - ttlStore := NewFakeExpirationStore( - testStoreKeyFunc, deleteChan, - &FakeExpirationPolicy{ - NeverExpire: sets.NewString(testObjs[1].id), - RetrieveKeyFunc: func(obj interface{}) (string, error) { - return obj.(*timestampedEntry).obj.(testStoreObject).id, nil - }, - }, - clock.RealClock{}, - ) - for _, obj := range testObjs { - err := ttlStore.Add(obj) - if err != nil { - t.Errorf("Unable to add obj %#v", obj) - } - } - listObjs := ttlStore.List() - if len(listObjs) != 1 || !reflect.DeepEqual(listObjs[0], testObjs[1]) { - t.Errorf("List returned unexpected results %#v", listObjs) - } - - // Make sure all our deletes come through in an acceptable rate (1/100ms) - for expireKeys.Len() != 0 { - select { - case delKey := <-deleteChan: - if !expireKeys.Has(delKey) { - t.Errorf("Unexpected delete for key %s", delKey) - } - expireKeys.Delete(delKey) - case <-time.After(wait.ForeverTestTimeout): - t.Errorf("Unexpected timeout waiting on delete") - return - } - } -} - -func TestTTLPolicy(t *testing.T) { - fakeTime := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC) - ttl := 30 * time.Second - exactlyOnTTL := fakeTime.Add(-ttl) - expiredTime := fakeTime.Add(-(ttl + 1)) - - policy := TTLPolicy{ttl, clock.NewFakeClock(fakeTime)} - fakeTimestampedEntry := ×tampedEntry{obj: struct{}{}, timestamp: exactlyOnTTL} - if policy.IsExpired(fakeTimestampedEntry) { - t.Errorf("TTL cache should not expire entries exactly on ttl") - } - fakeTimestampedEntry.timestamp = fakeTime - if policy.IsExpired(fakeTimestampedEntry) { - t.Errorf("TTL Cache should not expire entries before ttl") - } - fakeTimestampedEntry.timestamp = expiredTime - if !policy.IsExpired(fakeTimestampedEntry) { - t.Errorf("TTL Cache should expire entries older than ttl") - } - for _, ttl = range []time.Duration{0, -1} { - policy.Ttl = ttl - if policy.IsExpired(fakeTimestampedEntry) { - t.Errorf("TTL policy should only expire entries when initialized with a ttl > 0") - } - } -} diff --git a/pkg/client/cache/fake_custom_store.go b/pkg/client/cache/fake_custom_store.go deleted file mode 100644 index 8d71c247497..00000000000 --- a/pkg/client/cache/fake_custom_store.go +++ /dev/null @@ -1,102 +0,0 @@ -/* -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 cache - -// FakeStore lets you define custom functions for store operations -type FakeCustomStore struct { - AddFunc func(obj interface{}) error - UpdateFunc func(obj interface{}) error - DeleteFunc func(obj interface{}) error - ListFunc func() []interface{} - ListKeysFunc func() []string - GetFunc func(obj interface{}) (item interface{}, exists bool, err error) - GetByKeyFunc func(key string) (item interface{}, exists bool, err error) - ReplaceFunc func(list []interface{}, resourceVerion string) error - ResyncFunc func() error -} - -// Add calls the custom Add function if defined -func (f *FakeCustomStore) Add(obj interface{}) error { - if f.AddFunc != nil { - return f.AddFunc(obj) - } - return nil -} - -// Update calls the custom Update function if defined -func (f *FakeCustomStore) Update(obj interface{}) error { - if f.UpdateFunc != nil { - return f.Update(obj) - } - return nil -} - -// Delete calls the custom Delete function if defined -func (f *FakeCustomStore) Delete(obj interface{}) error { - if f.DeleteFunc != nil { - return f.DeleteFunc(obj) - } - return nil -} - -// List calls the custom List function if defined -func (f *FakeCustomStore) List() []interface{} { - if f.ListFunc != nil { - return f.ListFunc() - } - return nil -} - -// ListKeys calls the custom ListKeys function if defined -func (f *FakeCustomStore) ListKeys() []string { - if f.ListKeysFunc != nil { - return f.ListKeysFunc() - } - return nil -} - -// Get calls the custom Get function if defined -func (f *FakeCustomStore) Get(obj interface{}) (item interface{}, exists bool, err error) { - if f.GetFunc != nil { - return f.GetFunc(obj) - } - return nil, false, nil -} - -// GetByKey calls the custom GetByKey function if defined -func (f *FakeCustomStore) GetByKey(key string) (item interface{}, exists bool, err error) { - if f.GetByKeyFunc != nil { - return f.GetByKeyFunc(key) - } - return nil, false, nil -} - -// Replace calls the custom Replace function if defined -func (f *FakeCustomStore) Replace(list []interface{}, resourceVersion string) error { - if f.ReplaceFunc != nil { - return f.ReplaceFunc(list, resourceVersion) - } - return nil -} - -// Resync calls the custom Resync function if defined -func (f *FakeCustomStore) Resync() error { - if f.ResyncFunc != nil { - return f.ResyncFunc() - } - return nil -} diff --git a/pkg/client/cache/fifo.go b/pkg/client/cache/fifo.go deleted file mode 100644 index 672facbc43b..00000000000 --- a/pkg/client/cache/fifo.go +++ /dev/null @@ -1,321 +0,0 @@ -/* -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 cache - -import ( - "sync" - - "k8s.io/apimachinery/pkg/util/sets" -) - -// PopProcessFunc is passed to Pop() method of Queue interface. -// It is supposed to process the element popped from the queue. -type PopProcessFunc func(interface{}) error - -// ErrRequeue may be returned by a PopProcessFunc to safely requeue -// the current item. The value of Err will be returned from Pop. -type ErrRequeue struct { - // Err is returned by the Pop function - Err error -} - -func (e ErrRequeue) Error() string { - if e.Err == nil { - return "the popped item should be requeued without returning an error" - } - return e.Err.Error() -} - -// Queue is exactly like a Store, but has a Pop() method too. -type Queue interface { - Store - - // Pop blocks until it has something to process. - // It returns the object that was process and the result of processing. - // The PopProcessFunc may return an ErrRequeue{...} to indicate the item - // should be requeued before releasing the lock on the queue. - Pop(PopProcessFunc) (interface{}, error) - - // AddIfNotPresent adds a value previously - // returned by Pop back into the queue as long - // as nothing else (presumably more recent) - // has since been added. - AddIfNotPresent(interface{}) error - - // Return true if the first batch of items has been popped - HasSynced() bool -} - -// Helper function for popping from Queue. -// WARNING: Do NOT use this function in non-test code to avoid races -// unless you really really really really know what you are doing. -func Pop(queue Queue) interface{} { - var result interface{} - queue.Pop(func(obj interface{}) error { - result = obj - return nil - }) - return result -} - -// FIFO receives adds and updates from a Reflector, and puts them in a queue for -// FIFO order processing. If multiple adds/updates of a single item happen while -// an item is in the queue before it has been processed, it will only be -// processed once, and when it is processed, the most recent version will be -// processed. This can't be done with a channel. -// -// FIFO solves this use case: -// * You want to process every object (exactly) once. -// * You want to process the most recent version of the object when you process it. -// * You do not want to process deleted objects, they should be removed from the queue. -// * You do not want to periodically reprocess objects. -// Compare with DeltaFIFO for other use cases. -type FIFO struct { - lock sync.RWMutex - cond sync.Cond - // We depend on the property that items in the set are in the queue and vice versa. - items map[string]interface{} - queue []string - - // populated is true if the first batch of items inserted by Replace() has been populated - // or Delete/Add/Update was called first. - populated bool - // initialPopulationCount is the number of items inserted by the first call of Replace() - initialPopulationCount int - - // keyFunc is used to make the key used for queued item insertion and retrieval, and - // should be deterministic. - keyFunc KeyFunc -} - -var ( - _ = Queue(&FIFO{}) // FIFO is a Queue -) - -// Return true if an Add/Update/Delete/AddIfNotPresent are called first, -// or an Update called first but the first batch of items inserted by Replace() has been popped -func (f *FIFO) HasSynced() bool { - f.lock.Lock() - defer f.lock.Unlock() - return f.populated && f.initialPopulationCount == 0 -} - -// Add inserts an item, and puts it in the queue. The item is only enqueued -// if it doesn't already exist in the set. -func (f *FIFO) Add(obj interface{}) error { - id, err := f.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - f.lock.Lock() - defer f.lock.Unlock() - f.populated = true - if _, exists := f.items[id]; !exists { - f.queue = append(f.queue, id) - } - f.items[id] = obj - f.cond.Broadcast() - return nil -} - -// AddIfNotPresent inserts an item, and puts it in the queue. If the item is already -// present in the set, it is neither enqueued nor added to the set. -// -// This is useful in a single producer/consumer scenario so that the consumer can -// safely retry items without contending with the producer and potentially enqueueing -// stale items. -func (f *FIFO) AddIfNotPresent(obj interface{}) error { - id, err := f.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - f.lock.Lock() - defer f.lock.Unlock() - f.addIfNotPresent(id, obj) - return nil -} - -// addIfNotPresent assumes the fifo lock is already held and adds the the provided -// item to the queue under id if it does not already exist. -func (f *FIFO) addIfNotPresent(id string, obj interface{}) { - f.populated = true - if _, exists := f.items[id]; exists { - return - } - - f.queue = append(f.queue, id) - f.items[id] = obj - f.cond.Broadcast() -} - -// Update is the same as Add in this implementation. -func (f *FIFO) Update(obj interface{}) error { - return f.Add(obj) -} - -// Delete removes an item. It doesn't add it to the queue, because -// this implementation assumes the consumer only cares about the objects, -// not the order in which they were created/added. -func (f *FIFO) Delete(obj interface{}) error { - id, err := f.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - f.lock.Lock() - defer f.lock.Unlock() - f.populated = true - delete(f.items, id) - return err -} - -// List returns a list of all the items. -func (f *FIFO) List() []interface{} { - f.lock.RLock() - defer f.lock.RUnlock() - list := make([]interface{}, 0, len(f.items)) - for _, item := range f.items { - list = append(list, item) - } - return list -} - -// ListKeys returns a list of all the keys of the objects currently -// in the FIFO. -func (f *FIFO) ListKeys() []string { - f.lock.RLock() - defer f.lock.RUnlock() - list := make([]string, 0, len(f.items)) - for key := range f.items { - list = append(list, key) - } - return list -} - -// Get returns the requested item, or sets exists=false. -func (f *FIFO) Get(obj interface{}) (item interface{}, exists bool, err error) { - key, err := f.keyFunc(obj) - if err != nil { - return nil, false, KeyError{obj, err} - } - return f.GetByKey(key) -} - -// GetByKey returns the requested item, or sets exists=false. -func (f *FIFO) GetByKey(key string) (item interface{}, exists bool, err error) { - f.lock.RLock() - defer f.lock.RUnlock() - item, exists = f.items[key] - return item, exists, nil -} - -// Pop waits until an item is ready and processes it. If multiple items are -// ready, they are returned in the order in which they were added/updated. -// The item is removed from the queue (and the store) before it is processed, -// so if you don't successfully process it, it should be added back with -// AddIfNotPresent(). process function is called under lock, so it is safe -// update data structures in it that need to be in sync with the queue. -func (f *FIFO) Pop(process PopProcessFunc) (interface{}, error) { - f.lock.Lock() - defer f.lock.Unlock() - for { - for len(f.queue) == 0 { - f.cond.Wait() - } - id := f.queue[0] - f.queue = f.queue[1:] - if f.initialPopulationCount > 0 { - f.initialPopulationCount-- - } - item, ok := f.items[id] - if !ok { - // Item may have been deleted subsequently. - continue - } - delete(f.items, id) - err := process(item) - if e, ok := err.(ErrRequeue); ok { - f.addIfNotPresent(id, item) - err = e.Err - } - return item, err - } -} - -// Replace will delete the contents of 'f', using instead the given map. -// 'f' takes ownership of the map, you should not reference the map again -// after calling this function. f's queue is reset, too; upon return, it -// will contain the items in the map, in no particular order. -func (f *FIFO) Replace(list []interface{}, resourceVersion string) error { - items := map[string]interface{}{} - for _, item := range list { - key, err := f.keyFunc(item) - if err != nil { - return KeyError{item, err} - } - items[key] = item - } - - f.lock.Lock() - defer f.lock.Unlock() - - if !f.populated { - f.populated = true - f.initialPopulationCount = len(items) - } - - f.items = items - f.queue = f.queue[:0] - for id := range items { - f.queue = append(f.queue, id) - } - if len(f.queue) > 0 { - f.cond.Broadcast() - } - return nil -} - -// Resync will touch all objects to put them into the processing queue -func (f *FIFO) Resync() error { - f.lock.Lock() - defer f.lock.Unlock() - - inQueue := sets.NewString() - for _, id := range f.queue { - inQueue.Insert(id) - } - for id := range f.items { - if !inQueue.Has(id) { - f.queue = append(f.queue, id) - } - } - if len(f.queue) > 0 { - f.cond.Broadcast() - } - return nil -} - -// NewFIFO returns a Store which can be used to queue up items to -// process. -func NewFIFO(keyFunc KeyFunc) *FIFO { - f := &FIFO{ - items: map[string]interface{}{}, - queue: []string{}, - keyFunc: keyFunc, - } - f.cond.L = &f.lock - return f -} diff --git a/pkg/client/cache/fifo_test.go b/pkg/client/cache/fifo_test.go deleted file mode 100644 index afd311d7880..00000000000 --- a/pkg/client/cache/fifo_test.go +++ /dev/null @@ -1,280 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "reflect" - "testing" - "time" -) - -func testFifoObjectKeyFunc(obj interface{}) (string, error) { - return obj.(testFifoObject).name, nil -} - -type testFifoObject struct { - name string - val interface{} -} - -func mkFifoObj(name string, val interface{}) testFifoObject { - return testFifoObject{name: name, val: val} -} - -func TestFIFO_basic(t *testing.T) { - f := NewFIFO(testFifoObjectKeyFunc) - const amount = 500 - go func() { - for i := 0; i < amount; i++ { - f.Add(mkFifoObj(string([]rune{'a', rune(i)}), i+1)) - } - }() - go func() { - for u := uint64(0); u < amount; u++ { - f.Add(mkFifoObj(string([]rune{'b', rune(u)}), u+1)) - } - }() - - lastInt := int(0) - lastUint := uint64(0) - for i := 0; i < amount*2; i++ { - switch obj := Pop(f).(testFifoObject).val.(type) { - case int: - if obj <= lastInt { - t.Errorf("got %v (int) out of order, last was %v", obj, lastInt) - } - lastInt = obj - case uint64: - if obj <= lastUint { - t.Errorf("got %v (uint) out of order, last was %v", obj, lastUint) - } else { - lastUint = obj - } - default: - t.Fatalf("unexpected type %#v", obj) - } - } -} - -func TestFIFO_requeueOnPop(t *testing.T) { - f := NewFIFO(testFifoObjectKeyFunc) - - f.Add(mkFifoObj("foo", 10)) - _, err := f.Pop(func(obj interface{}) error { - if obj.(testFifoObject).name != "foo" { - t.Fatalf("unexpected object: %#v", obj) - } - return ErrRequeue{Err: nil} - }) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if _, ok, err := f.GetByKey("foo"); !ok || err != nil { - t.Fatalf("object should have been requeued: %t %v", ok, err) - } - - _, err = f.Pop(func(obj interface{}) error { - if obj.(testFifoObject).name != "foo" { - t.Fatalf("unexpected object: %#v", obj) - } - return ErrRequeue{Err: fmt.Errorf("test error")} - }) - if err == nil || err.Error() != "test error" { - t.Fatalf("unexpected error: %v", err) - } - if _, ok, err := f.GetByKey("foo"); !ok || err != nil { - t.Fatalf("object should have been requeued: %t %v", ok, err) - } - - _, err = f.Pop(func(obj interface{}) error { - if obj.(testFifoObject).name != "foo" { - t.Fatalf("unexpected object: %#v", obj) - } - return nil - }) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if _, ok, err := f.GetByKey("foo"); ok || err != nil { - t.Fatalf("object should have been removed: %t %v", ok, err) - } -} - -func TestFIFO_addUpdate(t *testing.T) { - f := NewFIFO(testFifoObjectKeyFunc) - f.Add(mkFifoObj("foo", 10)) - f.Update(mkFifoObj("foo", 15)) - - if e, a := []interface{}{mkFifoObj("foo", 15)}, f.List(); !reflect.DeepEqual(e, a) { - t.Errorf("Expected %+v, got %+v", e, a) - } - if e, a := []string{"foo"}, f.ListKeys(); !reflect.DeepEqual(e, a) { - t.Errorf("Expected %+v, got %+v", e, a) - } - - got := make(chan testFifoObject, 2) - go func() { - for { - got <- Pop(f).(testFifoObject) - } - }() - - first := <-got - if e, a := 15, first.val; e != a { - t.Errorf("Didn't get updated value (%v), got %v", e, a) - } - select { - case unexpected := <-got: - t.Errorf("Got second value %v", unexpected.val) - case <-time.After(50 * time.Millisecond): - } - _, exists, _ := f.Get(mkFifoObj("foo", "")) - if exists { - t.Errorf("item did not get removed") - } -} - -func TestFIFO_addReplace(t *testing.T) { - f := NewFIFO(testFifoObjectKeyFunc) - f.Add(mkFifoObj("foo", 10)) - f.Replace([]interface{}{mkFifoObj("foo", 15)}, "15") - got := make(chan testFifoObject, 2) - go func() { - for { - got <- Pop(f).(testFifoObject) - } - }() - - first := <-got - if e, a := 15, first.val; e != a { - t.Errorf("Didn't get updated value (%v), got %v", e, a) - } - select { - case unexpected := <-got: - t.Errorf("Got second value %v", unexpected.val) - case <-time.After(50 * time.Millisecond): - } - _, exists, _ := f.Get(mkFifoObj("foo", "")) - if exists { - t.Errorf("item did not get removed") - } -} - -func TestFIFO_detectLineJumpers(t *testing.T) { - f := NewFIFO(testFifoObjectKeyFunc) - - f.Add(mkFifoObj("foo", 10)) - f.Add(mkFifoObj("bar", 1)) - f.Add(mkFifoObj("foo", 11)) - f.Add(mkFifoObj("foo", 13)) - f.Add(mkFifoObj("zab", 30)) - - if e, a := 13, Pop(f).(testFifoObject).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } - - f.Add(mkFifoObj("foo", 14)) // ensure foo doesn't jump back in line - - if e, a := 1, Pop(f).(testFifoObject).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } - - if e, a := 30, Pop(f).(testFifoObject).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } - - if e, a := 14, Pop(f).(testFifoObject).val; a != e { - t.Fatalf("expected %d, got %d", e, a) - } -} - -func TestFIFO_addIfNotPresent(t *testing.T) { - f := NewFIFO(testFifoObjectKeyFunc) - - f.Add(mkFifoObj("a", 1)) - f.Add(mkFifoObj("b", 2)) - f.AddIfNotPresent(mkFifoObj("b", 3)) - f.AddIfNotPresent(mkFifoObj("c", 4)) - - if e, a := 3, len(f.items); a != e { - t.Fatalf("expected queue length %d, got %d", e, a) - } - - expectedValues := []int{1, 2, 4} - for _, expected := range expectedValues { - if actual := Pop(f).(testFifoObject).val; actual != expected { - t.Fatalf("expected value %d, got %d", expected, actual) - } - } -} - -func TestFIFO_HasSynced(t *testing.T) { - tests := []struct { - actions []func(f *FIFO) - expectedSynced bool - }{ - { - actions: []func(f *FIFO){}, - expectedSynced: false, - }, - { - actions: []func(f *FIFO){ - func(f *FIFO) { f.Add(mkFifoObj("a", 1)) }, - }, - expectedSynced: true, - }, - { - actions: []func(f *FIFO){ - func(f *FIFO) { f.Replace([]interface{}{}, "0") }, - }, - expectedSynced: true, - }, - { - actions: []func(f *FIFO){ - func(f *FIFO) { f.Replace([]interface{}{mkFifoObj("a", 1), mkFifoObj("b", 2)}, "0") }, - }, - expectedSynced: false, - }, - { - actions: []func(f *FIFO){ - func(f *FIFO) { f.Replace([]interface{}{mkFifoObj("a", 1), mkFifoObj("b", 2)}, "0") }, - func(f *FIFO) { Pop(f) }, - }, - expectedSynced: false, - }, - { - actions: []func(f *FIFO){ - func(f *FIFO) { f.Replace([]interface{}{mkFifoObj("a", 1), mkFifoObj("b", 2)}, "0") }, - func(f *FIFO) { Pop(f) }, - func(f *FIFO) { Pop(f) }, - }, - expectedSynced: true, - }, - } - - for i, test := range tests { - f := NewFIFO(testFifoObjectKeyFunc) - - for _, action := range test.actions { - action(f) - } - if e, a := test.expectedSynced, f.HasSynced(); a != e { - t.Errorf("test case %v failed, expected: %v , got %v", i, e, a) - } - } -} diff --git a/pkg/client/cache/index.go b/pkg/client/cache/index.go deleted file mode 100644 index 42fc6c7a22d..00000000000 --- a/pkg/client/cache/index.go +++ /dev/null @@ -1,85 +0,0 @@ -/* -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 cache - -import ( - "fmt" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/util/sets" -) - -// Indexer is a storage interface that lets you list objects using multiple indexing functions -type Indexer interface { - Store - // Retrieve list of objects that match on the named indexing function - Index(indexName string, obj interface{}) ([]interface{}, error) - // ListIndexFuncValues returns the list of generated values of an Index func - ListIndexFuncValues(indexName string) []string - // ByIndex lists object that match on the named indexing function with the exact key - ByIndex(indexName, indexKey string) ([]interface{}, error) - // GetIndexer return the indexers - GetIndexers() Indexers - - // AddIndexers adds more indexers to this store. If you call this after you already have data - // in the store, the results are undefined. - AddIndexers(newIndexers Indexers) error -} - -// IndexFunc knows how to provide an indexed value for an object. -type IndexFunc func(obj interface{}) ([]string, error) - -// IndexFuncToKeyFuncAdapter adapts an indexFunc to a keyFunc. This is only useful if your index function returns -// unique values for every object. This is conversion can create errors when more than one key is found. You -// should prefer to make proper key and index functions. -func IndexFuncToKeyFuncAdapter(indexFunc IndexFunc) KeyFunc { - return func(obj interface{}) (string, error) { - indexKeys, err := indexFunc(obj) - if err != nil { - return "", err - } - if len(indexKeys) > 1 { - return "", fmt.Errorf("too many keys: %v", indexKeys) - } - if len(indexKeys) == 0 { - return "", fmt.Errorf("unexpected empty indexKeys") - } - return indexKeys[0], nil - } -} - -const ( - NamespaceIndex string = "namespace" -) - -// MetaNamespaceIndexFunc is a default index function that indexes based on an object's namespace -func MetaNamespaceIndexFunc(obj interface{}) ([]string, error) { - meta, err := meta.Accessor(obj) - if err != nil { - return []string{""}, fmt.Errorf("object has no meta: %v", err) - } - return []string{meta.GetNamespace()}, nil -} - -// Index maps the indexed value to a set of keys in the store that match on that value -type Index map[string]sets.String - -// Indexers maps a name to a IndexFunc -type Indexers map[string]IndexFunc - -// Indices maps a name to an Index -type Indices map[string]Index diff --git a/pkg/client/cache/index_test.go b/pkg/client/cache/index_test.go deleted file mode 100644 index 3d78b9b714e..00000000000 --- a/pkg/client/cache/index_test.go +++ /dev/null @@ -1,137 +0,0 @@ -/* -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 cache - -import ( - "strings" - "testing" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/v1" -) - -func testIndexFunc(obj interface{}) ([]string, error) { - pod := obj.(*v1.Pod) - return []string{pod.Labels["foo"]}, nil -} - -func TestGetIndexFuncValues(t *testing.T) { - index := NewIndexer(MetaNamespaceKeyFunc, Indexers{"testmodes": testIndexFunc}) - - pod1 := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "one", Labels: map[string]string{"foo": "bar"}}} - pod2 := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "two", Labels: map[string]string{"foo": "bar"}}} - pod3 := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "tre", Labels: map[string]string{"foo": "biz"}}} - - index.Add(pod1) - index.Add(pod2) - index.Add(pod3) - - keys := index.ListIndexFuncValues("testmodes") - if len(keys) != 2 { - t.Errorf("Expected 2 keys but got %v", len(keys)) - } - - for _, key := range keys { - if key != "bar" && key != "biz" { - t.Errorf("Expected only 'bar' or 'biz' but got %s", key) - } - } -} - -func testUsersIndexFunc(obj interface{}) ([]string, error) { - pod := obj.(*v1.Pod) - usersString := pod.Annotations["users"] - - return strings.Split(usersString, ","), nil -} - -func TestMultiIndexKeys(t *testing.T) { - index := NewIndexer(MetaNamespaceKeyFunc, Indexers{"byUser": testUsersIndexFunc}) - - pod1 := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "one", Annotations: map[string]string{"users": "ernie,bert"}}} - pod2 := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "two", Annotations: map[string]string{"users": "bert,oscar"}}} - pod3 := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "tre", Annotations: map[string]string{"users": "ernie,elmo"}}} - - index.Add(pod1) - index.Add(pod2) - index.Add(pod3) - - erniePods, err := index.ByIndex("byUser", "ernie") - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(erniePods) != 2 { - t.Errorf("Expected 2 pods but got %v", len(erniePods)) - } - - bertPods, err := index.ByIndex("byUser", "bert") - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(bertPods) != 2 { - t.Errorf("Expected 2 pods but got %v", len(bertPods)) - } - - oscarPods, err := index.ByIndex("byUser", "oscar") - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(oscarPods) != 1 { - t.Errorf("Expected 1 pods but got %v", len(erniePods)) - } - - ernieAndBertKeys, err := index.Index("byUser", pod1) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(ernieAndBertKeys) != 3 { - t.Errorf("Expected 3 pods but got %v", len(ernieAndBertKeys)) - } - - index.Delete(pod3) - erniePods, err = index.ByIndex("byUser", "ernie") - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(erniePods) != 1 { - t.Errorf("Expected 1 pods but got %v", len(erniePods)) - } - elmoPods, err := index.ByIndex("byUser", "elmo") - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(elmoPods) != 0 { - t.Errorf("Expected 0 pods but got %v", len(elmoPods)) - } - - obj, err := api.Scheme.DeepCopy(pod2) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - copyOfPod2 := obj.(*v1.Pod) - copyOfPod2.Annotations["users"] = "oscar" - index.Update(copyOfPod2) - bertPods, err = index.ByIndex("byUser", "bert") - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if len(bertPods) != 1 { - t.Errorf("Expected 1 pods but got %v", len(bertPods)) - } - -} diff --git a/pkg/client/cache/listers.go b/pkg/client/cache/listers.go deleted file mode 100644 index 27d51a6b387..00000000000 --- a/pkg/client/cache/listers.go +++ /dev/null @@ -1,160 +0,0 @@ -/* -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 cache - -import ( - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/api/meta" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -// AppendFunc is used to add a matching item to whatever list the caller is using -type AppendFunc func(interface{}) - -func ListAll(store Store, selector labels.Selector, appendFn AppendFunc) error { - for _, m := range store.List() { - metadata, err := meta.Accessor(m) - if err != nil { - return err - } - if selector.Matches(labels.Set(metadata.GetLabels())) { - appendFn(m) - } - } - return nil -} - -func ListAllByNamespace(indexer Indexer, namespace string, selector labels.Selector, appendFn AppendFunc) error { - if namespace == metav1.NamespaceAll { - for _, m := range indexer.List() { - metadata, err := meta.Accessor(m) - if err != nil { - return err - } - if selector.Matches(labels.Set(metadata.GetLabels())) { - appendFn(m) - } - } - return nil - } - - items, err := indexer.Index(NamespaceIndex, &metav1.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) - for _, m := range indexer.List() { - metadata, err := meta.Accessor(m) - if err != nil { - return err - } - if metadata.GetNamespace() == namespace && selector.Matches(labels.Set(metadata.GetLabels())) { - appendFn(m) - } - - } - return nil - } - for _, m := range items { - metadata, err := meta.Accessor(m) - if err != nil { - return err - } - if selector.Matches(labels.Set(metadata.GetLabels())) { - appendFn(m) - } - } - - return nil -} - -// GenericLister is a lister skin on a generic Indexer -type GenericLister interface { - // List will return all objects across namespaces - List(selector labels.Selector) (ret []runtime.Object, err error) - // Get will attempt to retrieve assuming that name==key - Get(name string) (runtime.Object, error) - // ByNamespace will give you a GenericNamespaceLister for one namespace - ByNamespace(namespace string) GenericNamespaceLister -} - -// GenericNamespaceLister is a lister skin on a generic Indexer -type GenericNamespaceLister interface { - // List will return all objects in this namespace - List(selector labels.Selector) (ret []runtime.Object, err error) - // Get will attempt to retrieve by namespace and name - Get(name string) (runtime.Object, error) -} - -func NewGenericLister(indexer Indexer, resource schema.GroupResource) GenericLister { - return &genericLister{indexer: indexer, resource: resource} -} - -type genericLister struct { - indexer Indexer - resource schema.GroupResource -} - -func (s *genericLister) List(selector labels.Selector) (ret []runtime.Object, err error) { - err = ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(runtime.Object)) - }) - return ret, err -} - -func (s *genericLister) ByNamespace(namespace string) GenericNamespaceLister { - return &genericNamespaceLister{indexer: s.indexer, namespace: namespace, resource: s.resource} -} - -func (s *genericLister) Get(name string) (runtime.Object, error) { - obj, exists, err := s.indexer.GetByKey(name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(s.resource, name) - } - return obj.(runtime.Object), nil -} - -type genericNamespaceLister struct { - indexer Indexer - namespace string - resource schema.GroupResource -} - -func (s *genericNamespaceLister) List(selector labels.Selector) (ret []runtime.Object, err error) { - err = ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(runtime.Object)) - }) - return ret, err -} - -func (s *genericNamespaceLister) Get(name string) (runtime.Object, error) { - obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(s.resource, name) - } - return obj.(runtime.Object), nil -} diff --git a/pkg/client/cache/listwatch.go b/pkg/client/cache/listwatch.go deleted file mode 100644 index 1261e758169..00000000000 --- a/pkg/client/cache/listwatch.go +++ /dev/null @@ -1,162 +0,0 @@ -/* -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 cache - -import ( - "time" - - "k8s.io/apimachinery/pkg/api/meta" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/watch" - restclient "k8s.io/client-go/rest" -) - -// ListerWatcher is any object that knows how to perform an initial list and start a watch on a resource. -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 metav1.ListOptions) (runtime.Object, error) - // Watch should begin a watch at the specified version. - Watch(options metav1.ListOptions) (watch.Interface, error) -} - -// ListFunc knows how to list resources -type ListFunc func(options metav1.ListOptions) (runtime.Object, error) - -// WatchFunc knows how to watch resources -type WatchFunc func(options metav1.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. -// ListFunc and WatchFunc must not be nil -type ListWatch struct { - ListFunc ListFunc - WatchFunc WatchFunc -} - -// Getter interface knows how to access Get method from RESTClient. -type Getter interface { - Get() *restclient.Request -} - -// 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 metav1.ListOptions) (runtime.Object, error) { - return c.Get(). - Namespace(namespace). - Resource(resource). - VersionedParams(&options, metav1.ParameterCodec). - FieldsSelectorParam(fieldSelector). - Do(). - Get() - } - watchFunc := func(options metav1.ListOptions) (watch.Interface, error) { - return c.Get(). - Prefix("watch"). - Namespace(namespace). - Resource(resource). - VersionedParams(&options, metav1.ParameterCodec). - FieldsSelectorParam(fieldSelector). - Watch() - } - return &ListWatch{ListFunc: listFunc, WatchFunc: watchFunc} -} - -func timeoutFromListOptions(options metav1.ListOptions) time.Duration { - if options.TimeoutSeconds != nil { - return time.Duration(*options.TimeoutSeconds) * time.Second - } - return 0 -} - -// List a set of apiserver resources -func (lw *ListWatch) List(options metav1.ListOptions) (runtime.Object, error) { - return lw.ListFunc(options) -} - -// Watch a set of apiserver resources -func (lw *ListWatch) Watch(options metav1.ListOptions) (watch.Interface, error) { - return lw.WatchFunc(options) -} - -// TODO: check for watch expired error and retry watch from latest point? Same issue exists for Until. -func ListWatchUntil(timeout time.Duration, lw ListerWatcher, conditions ...watch.ConditionFunc) (*watch.Event, error) { - if len(conditions) == 0 { - return nil, nil - } - - list, err := lw.List(metav1.ListOptions{}) - if err != nil { - return nil, err - } - initialItems, err := meta.ExtractList(list) - if err != nil { - return nil, err - } - - // use the initial items as simulated "adds" - var lastEvent *watch.Event - currIndex := 0 - passedConditions := 0 - for _, condition := range conditions { - // check the next condition against the previous event and short circuit waiting for the next watch - if lastEvent != nil { - done, err := condition(*lastEvent) - if err != nil { - return lastEvent, err - } - if done { - passedConditions = passedConditions + 1 - continue - } - } - - ConditionSucceeded: - for currIndex < len(initialItems) { - lastEvent = &watch.Event{Type: watch.Added, Object: initialItems[currIndex]} - currIndex++ - - done, err := condition(*lastEvent) - if err != nil { - return lastEvent, err - } - if done { - passedConditions = passedConditions + 1 - break ConditionSucceeded - } - } - } - if passedConditions == len(conditions) { - return lastEvent, nil - } - remainingConditions := conditions[passedConditions:] - - metaObj, err := meta.ListAccessor(list) - if err != nil { - return nil, err - } - currResourceVersion := metaObj.GetResourceVersion() - - watchInterface, err := lw.Watch(metav1.ListOptions{ResourceVersion: currResourceVersion}) - if err != nil { - return nil, err - } - - return watch.Until(timeout, watchInterface, remainingConditions...) -} diff --git a/pkg/client/cache/mutation_detector.go b/pkg/client/cache/mutation_detector.go deleted file mode 100644 index 6a60479a94d..00000000000 --- a/pkg/client/cache/mutation_detector.go +++ /dev/null @@ -1,135 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "os" - "reflect" - "strconv" - "sync" - "time" - - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/diff" - "k8s.io/kubernetes/pkg/api" -) - -var mutationDetectionEnabled = false - -func init() { - mutationDetectionEnabled, _ = strconv.ParseBool(os.Getenv("KUBE_CACHE_MUTATION_DETECTOR")) -} - -type CacheMutationDetector interface { - AddObject(obj interface{}) - Run(stopCh <-chan struct{}) -} - -func NewCacheMutationDetector(name string) CacheMutationDetector { - if !mutationDetectionEnabled { - return dummyMutationDetector{} - } - return &defaultCacheMutationDetector{name: name, period: 1 * time.Second} -} - -type dummyMutationDetector struct{} - -func (dummyMutationDetector) Run(stopCh <-chan struct{}) { -} -func (dummyMutationDetector) AddObject(obj interface{}) { -} - -// defaultCacheMutationDetector gives a way to detect if a cached object has been mutated -// It has a list of cached objects and their copies. I haven't thought of a way -// to see WHO is mutating it, just that it's getting mutated. -type defaultCacheMutationDetector struct { - name string - period time.Duration - - lock sync.Mutex - cachedObjs []cacheObj - - // failureFunc is injectable for unit testing. If you don't have it, the process will panic. - // This panic is intentional, since turning on this detection indicates you want a strong - // failure signal. This failure is effectively a p0 bug and you can't trust process results - // after a mutation anyway. - failureFunc func(message string) -} - -// cacheObj holds the actual object and a copy -type cacheObj struct { - cached interface{} - copied interface{} -} - -func (d *defaultCacheMutationDetector) Run(stopCh <-chan struct{}) { - // we DON'T want protection from panics. If we're running this code, we want to die - go func() { - for { - d.CompareObjects() - - select { - case <-stopCh: - return - case <-time.After(d.period): - } - } - }() -} - -// AddObject makes a deep copy of the object for later comparison. It only works on runtime.Object -// but that covers the vast majority of our cached objects -func (d *defaultCacheMutationDetector) AddObject(obj interface{}) { - if _, ok := obj.(DeletedFinalStateUnknown); ok { - return - } - if _, ok := obj.(runtime.Object); !ok { - return - } - - copiedObj, err := api.Scheme.Copy(obj.(runtime.Object)) - if err != nil { - return - } - - d.lock.Lock() - defer d.lock.Unlock() - d.cachedObjs = append(d.cachedObjs, cacheObj{cached: obj, copied: copiedObj}) -} - -func (d *defaultCacheMutationDetector) CompareObjects() { - d.lock.Lock() - defer d.lock.Unlock() - - altered := false - for i, obj := range d.cachedObjs { - if !reflect.DeepEqual(obj.cached, obj.copied) { - fmt.Printf("CACHE %s[%d] ALTERED!\n%v\n", d.name, i, diff.ObjectDiff(obj.cached, obj.copied)) - altered = true - } - } - - if altered { - msg := fmt.Sprintf("cache %s modified", d.name) - if d.failureFunc != nil { - d.failureFunc(msg) - return - } - panic(msg) - } -} diff --git a/pkg/client/cache/mutation_detector_test.go b/pkg/client/cache/mutation_detector_test.go deleted file mode 100644 index 66cf36f92ae..00000000000 --- a/pkg/client/cache/mutation_detector_test.go +++ /dev/null @@ -1,81 +0,0 @@ -// +build !race - -/* -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 cache - -import ( - "testing" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/kubernetes/pkg/api/v1" -) - -func TestMutationDetector(t *testing.T) { - fakeWatch := watch.NewFake() - lw := &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - return fakeWatch, nil - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return &v1.PodList{}, nil - }, - } - pod := &v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Name: "anything", - Labels: map[string]string{"check": "foo"}, - }, - } - stopCh := make(chan struct{}) - defer close(stopCh) - addReceived := make(chan bool) - mutationFound := make(chan bool) - - informer := NewSharedInformer(lw, &v1.Pod{}, 1*time.Second).(*sharedIndexInformer) - informer.cacheMutationDetector = &defaultCacheMutationDetector{ - name: "name", - period: 1 * time.Second, - failureFunc: func(message string) { - mutationFound <- true - }, - } - informer.AddEventHandler( - ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { - addReceived <- true - }, - }, - ) - go informer.Run(stopCh) - - fakeWatch.Add(pod) - - select { - case <-addReceived: - } - - pod.Labels["change"] = "true" - - select { - case <-mutationFound: - } - -} diff --git a/pkg/client/cache/processor_listener_test.go b/pkg/client/cache/processor_listener_test.go deleted file mode 100644 index c26ab023e1f..00000000000 --- a/pkg/client/cache/processor_listener_test.go +++ /dev/null @@ -1,48 +0,0 @@ -/* -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 cache - -import ( - "testing" - "time" - - "k8s.io/apimachinery/pkg/util/wait" -) - -// TestPopReleaseLock tests that when processor listener blocks on chan, -// it should release the lock for pendingNotifications. -func TestPopReleaseLock(t *testing.T) { - pl := newProcessListener(nil) - stopCh := make(chan struct{}) - defer close(stopCh) - // make pop() block on nextCh: waiting for receiver to get notification. - pl.add(1) - go pl.pop(stopCh) - - resultCh := make(chan struct{}) - go func() { - pl.lock.Lock() - close(resultCh) - }() - - select { - case <-resultCh: - case <-time.After(wait.ForeverTestTimeout): - t.Errorf("Timeout after %v", wait.ForeverTestTimeout) - } - pl.lock.Unlock() -} diff --git a/pkg/client/cache/reflector.go b/pkg/client/cache/reflector.go deleted file mode 100644 index d3144e1a9ce..00000000000 --- a/pkg/client/cache/reflector.go +++ /dev/null @@ -1,417 +0,0 @@ -/* -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 cache - -import ( - "errors" - "fmt" - "io" - "math/rand" - "net" - "net/url" - "reflect" - "regexp" - goruntime "runtime" - "runtime/debug" - "strconv" - "strings" - "sync" - "syscall" - "time" - - "github.com/golang/glog" - apierrs "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/api/meta" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/apimachinery/pkg/watch" -) - -// Reflector watches a specified resource and causes all changes to be reflected in the given store. -type Reflector struct { - // name identifies this reflector. By default it will be a file:line if possible. - name string - - // The type of object we expect to place in the store. - expectedType reflect.Type - // The destination to sync up with the watch source - store Store - // listerWatcher is used to perform lists and watches. - listerWatcher ListerWatcher - // period controls timing between one watch ending and - // the beginning of the next one. - period time.Duration - resyncPeriod time.Duration - // now() returns current time - exposed for testing purposes - now func() time.Time - // lastSyncResourceVersion is the resource version token last - // observed when doing a sync with the underlying store - // it is thread safe, but not synchronized with the underlying store - lastSyncResourceVersion string - // lastSyncResourceVersionMutex guards read/write access to lastSyncResourceVersion - lastSyncResourceVersionMutex sync.RWMutex -} - -var ( - // We try to spread the load on apiserver by setting timeouts for - // watch requests - it is random in [minWatchTimeout, 2*minWatchTimeout]. - // However, it can be modified to avoid periodic resync to break the - // TCP connection. - minWatchTimeout = 5 * time.Minute -) - -// NewNamespaceKeyedIndexerAndReflector creates an Indexer and a Reflector -// The indexer is configured to key on namespace -func NewNamespaceKeyedIndexerAndReflector(lw ListerWatcher, expectedType interface{}, resyncPeriod time.Duration) (indexer Indexer, reflector *Reflector) { - indexer = NewIndexer(MetaNamespaceKeyFunc, Indexers{"namespace": MetaNamespaceIndexFunc}) - reflector = NewReflector(lw, expectedType, indexer, resyncPeriod) - return indexer, reflector -} - -// NewReflector creates a new Reflector object which will keep the given store up to -// date with the server's contents for the given resource. Reflector promises to -// only put things in the store that have the type of expectedType, unless expectedType -// is nil. If resyncPeriod is non-zero, then lists will be executed after every -// resyncPeriod, so that you can use reflectors to periodically process everything as -// well as incrementally processing the things that change. -func NewReflector(lw ListerWatcher, expectedType interface{}, store Store, resyncPeriod time.Duration) *Reflector { - return NewNamedReflector(getDefaultReflectorName(internalPackages...), lw, expectedType, store, resyncPeriod) -} - -// NewNamedReflector same as NewReflector, but with a specified name for logging -func NewNamedReflector(name string, lw ListerWatcher, expectedType interface{}, store Store, resyncPeriod time.Duration) *Reflector { - r := &Reflector{ - name: name, - listerWatcher: lw, - store: store, - expectedType: reflect.TypeOf(expectedType), - period: time.Second, - resyncPeriod: resyncPeriod, - now: time.Now, - } - return r -} - -// internalPackages are packages that ignored when creating a default reflector name. These packages are in the common -// call chains to NewReflector, so they'd be low entropy names for reflectors -var internalPackages = []string{"kubernetes/pkg/client/cache/", "/runtime/asm_"} - -// getDefaultReflectorName walks back through the call stack until we find a caller from outside of the ignoredPackages -// it returns back a shortpath/filename:line to aid in identification of this reflector when it starts logging -func getDefaultReflectorName(ignoredPackages ...string) string { - name := "????" - const maxStack = 10 - for i := 1; i < maxStack; i++ { - _, file, line, ok := goruntime.Caller(i) - if !ok { - file, line, ok = extractStackCreator() - if !ok { - break - } - i += maxStack - } - if hasPackage(file, ignoredPackages) { - continue - } - - file = trimPackagePrefix(file) - name = fmt.Sprintf("%s:%d", file, line) - break - } - return name -} - -// hasPackage returns true if the file is in one of the ignored packages. -func hasPackage(file string, ignoredPackages []string) bool { - for _, ignoredPackage := range ignoredPackages { - if strings.Contains(file, ignoredPackage) { - return true - } - } - return false -} - -// trimPackagePrefix reduces duplicate values off the front of a package name. -func trimPackagePrefix(file string) string { - if l := strings.LastIndex(file, "k8s.io/kubernetes/pkg/"); l >= 0 { - return file[l+len("k8s.io/kubernetes/"):] - } - if l := strings.LastIndex(file, "/src/"); l >= 0 { - return file[l+5:] - } - if l := strings.LastIndex(file, "/pkg/"); l >= 0 { - return file[l+1:] - } - return file -} - -var stackCreator = regexp.MustCompile(`(?m)^created by (.*)\n\s+(.*):(\d+) \+0x[[:xdigit:]]+$`) - -// extractStackCreator retrieves the goroutine file and line that launched this stack. Returns false -// if the creator cannot be located. -// TODO: Go does not expose this via runtime https://github.com/golang/go/issues/11440 -func extractStackCreator() (string, int, bool) { - stack := debug.Stack() - matches := stackCreator.FindStringSubmatch(string(stack)) - if matches == nil || len(matches) != 4 { - return "", 0, false - } - line, err := strconv.Atoi(matches[3]) - if err != nil { - return "", 0, false - } - return matches[2], line, true -} - -// Run starts a watch and handles watch events. Will restart the watch if it is closed. -// Run starts a goroutine and returns immediately. -func (r *Reflector) Run() { - glog.V(3).Infof("Starting reflector %v (%s) from %s", r.expectedType, r.resyncPeriod, r.name) - go wait.Until(func() { - if err := r.ListAndWatch(wait.NeverStop); err != nil { - utilruntime.HandleError(err) - } - }, r.period, wait.NeverStop) -} - -// RunUntil starts a watch and handles watch events. Will restart the watch if it is closed. -// RunUntil starts a goroutine and returns immediately. It will exit when stopCh is closed. -func (r *Reflector) RunUntil(stopCh <-chan struct{}) { - glog.V(3).Infof("Starting reflector %v (%s) from %s", r.expectedType, r.resyncPeriod, r.name) - go wait.Until(func() { - if err := r.ListAndWatch(stopCh); err != nil { - utilruntime.HandleError(err) - } - }, r.period, stopCh) -} - -var ( - // nothing will ever be sent down this channel - neverExitWatch <-chan time.Time = make(chan time.Time) - - // Used to indicate that watching stopped so that a resync could happen. - errorResyncRequested = errors.New("resync channel fired") - - // Used to indicate that watching stopped because of a signal from the stop - // channel passed in from a client of the reflector. - errorStopRequested = errors.New("Stop requested") -) - -// resyncChan returns a channel which will receive something when a resync is -// required, and a cleanup function. -func (r *Reflector) resyncChan() (<-chan time.Time, func() bool) { - if r.resyncPeriod == 0 { - return neverExitWatch, func() bool { return false } - } - // The cleanup function is required: imagine the scenario where watches - // always fail so we end up listing frequently. Then, if we don't - // manually stop the timer, we could end up with many timers active - // concurrently. - t := time.NewTimer(r.resyncPeriod) - return t.C, t.Stop -} - -// ListAndWatch first lists all items and get the resource version at the moment of call, -// and then use the resource version to watch. -// It returns error if ListAndWatch didn't even try to initialize watch. -func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error { - glog.V(3).Infof("Listing and watching %v from %s", r.expectedType, r.name) - var resourceVersion string - resyncCh, cleanup := r.resyncChan() - defer cleanup() - - // 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 := metav1.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) - } - listMetaInterface, err := meta.ListAccessor(list) - if err != nil { - return fmt.Errorf("%s: Unable to understand list result %#v: %v", r.name, list, err) - } - resourceVersion = listMetaInterface.GetResourceVersion() - items, err := meta.ExtractList(list) - if err != nil { - return fmt.Errorf("%s: Unable to understand list result %#v (%v)", r.name, list, err) - } - if err := r.syncWith(items, resourceVersion); err != nil { - return fmt.Errorf("%s: Unable to sync list result: %v", r.name, err) - } - r.setLastSyncResourceVersion(resourceVersion) - - resyncerrc := make(chan error, 1) - cancelCh := make(chan struct{}) - defer close(cancelCh) - go func() { - for { - select { - case <-resyncCh: - case <-stopCh: - return - case <-cancelCh: - return - } - glog.V(4).Infof("%s: forcing resync", r.name) - if err := r.store.Resync(); err != nil { - resyncerrc <- err - return - } - cleanup() - resyncCh, cleanup = r.resyncChan() - } - }() - - for { - timemoutseconds := int64(minWatchTimeout.Seconds() * (rand.Float64() + 1.0)) - options = metav1.ListOptions{ - ResourceVersion: resourceVersion, - // We want to avoid situations of hanging watchers. Stop any wachers that do not - // receive any events within the timeout window. - TimeoutSeconds: &timemoutseconds, - } - - w, err := r.listerWatcher.Watch(options) - if err != nil { - switch err { - case io.EOF: - // watch closed normally - case io.ErrUnexpectedEOF: - glog.V(1).Infof("%s: Watch for %v closed with unexpected EOF: %v", r.name, r.expectedType, err) - default: - utilruntime.HandleError(fmt.Errorf("%s: Failed to watch %v: %v", r.name, r.expectedType, err)) - } - // If this is "connection refused" error, it means that most likely apiserver is not responsive. - // It doesn't make sense to re-list all objects because most likely we will be able to restart - // watch where we ended. - // If that's the case wait and resend watch request. - if urlError, ok := err.(*url.Error); ok { - if opError, ok := urlError.Err.(*net.OpError); ok { - if errno, ok := opError.Err.(syscall.Errno); ok && errno == syscall.ECONNREFUSED { - time.Sleep(time.Second) - continue - } - } - } - return nil - } - - if err := r.watchHandler(w, &resourceVersion, resyncerrc, stopCh); err != nil { - if err != errorStopRequested { - glog.Warningf("%s: watch of %v ended with: %v", r.name, r.expectedType, err) - } - return nil - } - } -} - -// syncWith replaces the store's items with the given list. -func (r *Reflector) syncWith(items []runtime.Object, resourceVersion string) error { - found := make([]interface{}, 0, len(items)) - for _, item := range items { - found = append(found, item) - } - return r.store.Replace(found, resourceVersion) -} - -// watchHandler watches w and keeps *resourceVersion up to date. -func (r *Reflector) watchHandler(w watch.Interface, resourceVersion *string, errc chan error, stopCh <-chan struct{}) error { - start := time.Now() - eventCount := 0 - - // Stopping the watcher should be idempotent and if we return from this function there's no way - // we're coming back in with the same watch interface. - defer w.Stop() - -loop: - for { - select { - case <-stopCh: - return errorStopRequested - case err := <-errc: - return err - case event, ok := <-w.ResultChan(): - if !ok { - break loop - } - if event.Type == watch.Error { - return apierrs.FromObject(event.Object) - } - if e, a := r.expectedType, reflect.TypeOf(event.Object); e != nil && e != a { - utilruntime.HandleError(fmt.Errorf("%s: expected type %v, but watch event object had type %v", r.name, e, a)) - continue - } - meta, err := meta.Accessor(event.Object) - if err != nil { - utilruntime.HandleError(fmt.Errorf("%s: unable to understand watch event %#v", r.name, event)) - continue - } - newResourceVersion := meta.GetResourceVersion() - switch event.Type { - case watch.Added: - err := r.store.Add(event.Object) - if err != nil { - utilruntime.HandleError(fmt.Errorf("%s: unable to add watch event object (%#v) to store: %v", r.name, event.Object, err)) - } - case watch.Modified: - err := r.store.Update(event.Object) - if err != nil { - utilruntime.HandleError(fmt.Errorf("%s: unable to update watch event object (%#v) to store: %v", r.name, event.Object, err)) - } - case watch.Deleted: - // TODO: Will any consumers need access to the "last known - // state", which is passed in event.Object? If so, may need - // to change this. - err := r.store.Delete(event.Object) - if err != nil { - utilruntime.HandleError(fmt.Errorf("%s: unable to delete watch event object (%#v) from store: %v", r.name, event.Object, err)) - } - default: - utilruntime.HandleError(fmt.Errorf("%s: unable to understand watch event %#v", r.name, event)) - } - *resourceVersion = newResourceVersion - r.setLastSyncResourceVersion(newResourceVersion) - eventCount++ - } - } - - watchDuration := time.Now().Sub(start) - if watchDuration < 1*time.Second && eventCount == 0 { - glog.V(4).Infof("%s: Unexpected watch close - watch lasted less than a second and no items received", r.name) - return errors.New("very short watch") - } - glog.V(4).Infof("%s: Watch close - %v total %v items received", r.name, r.expectedType, eventCount) - return nil -} - -// LastSyncResourceVersion is the resource version observed when last sync with the underlying store -// The value returned is not synchronized with access to the underlying store and is not thread-safe -func (r *Reflector) LastSyncResourceVersion() string { - r.lastSyncResourceVersionMutex.RLock() - defer r.lastSyncResourceVersionMutex.RUnlock() - return r.lastSyncResourceVersion -} - -func (r *Reflector) setLastSyncResourceVersion(v string) { - r.lastSyncResourceVersionMutex.Lock() - defer r.lastSyncResourceVersionMutex.Unlock() - r.lastSyncResourceVersion = v -} diff --git a/pkg/client/cache/reflector_test.go b/pkg/client/cache/reflector_test.go deleted file mode 100644 index 70ce055e00e..00000000000 --- a/pkg/client/cache/reflector_test.go +++ /dev/null @@ -1,389 +0,0 @@ -/* -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 cache - -import ( - "errors" - "fmt" - "math/rand" - "strconv" - "testing" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/kubernetes/pkg/api/v1" -) - -var nevererrc chan error - -type testLW struct { - ListFunc func(options metav1.ListOptions) (runtime.Object, error) - WatchFunc func(options metav1.ListOptions) (watch.Interface, error) -} - -func (t *testLW) List(options metav1.ListOptions) (runtime.Object, error) { - return t.ListFunc(options) -} -func (t *testLW) Watch(options metav1.ListOptions) (watch.Interface, error) { - return t.WatchFunc(options) -} - -func TestCloseWatchChannelOnError(t *testing.T) { - r := NewReflector(&testLW{}, &v1.Pod{}, NewStore(MetaNamespaceKeyFunc), 0) - pod := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "bar"}} - fw := watch.NewFake() - r.listerWatcher = &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - return fw, nil - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return &v1.PodList{ListMeta: metav1.ListMeta{ResourceVersion: "1"}}, nil - }, - } - go r.ListAndWatch(wait.NeverStop) - fw.Error(pod) - select { - case _, ok := <-fw.ResultChan(): - if ok { - t.Errorf("Watch channel left open after cancellation") - } - case <-time.After(wait.ForeverTestTimeout): - t.Errorf("the cancellation is at least %s late", wait.ForeverTestTimeout.String()) - break - } -} - -func TestRunUntil(t *testing.T) { - stopCh := make(chan struct{}) - store := NewStore(MetaNamespaceKeyFunc) - r := NewReflector(&testLW{}, &v1.Pod{}, store, 0) - fw := watch.NewFake() - r.listerWatcher = &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - return fw, nil - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return &v1.PodList{ListMeta: metav1.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(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "bar"}}) - close(stopCh) - select { - case _, ok := <-fw.ResultChan(): - if ok { - t.Errorf("Watch channel left open after stopping the watch") - } - case <-time.After(wait.ForeverTestTimeout): - t.Errorf("the cancellation is at least %s late", wait.ForeverTestTimeout.String()) - break - } -} - -func TestReflectorResyncChan(t *testing.T) { - s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &v1.Pod{}, s, time.Millisecond) - a, _ := g.resyncChan() - b := time.After(wait.ForeverTestTimeout) - select { - case <-a: - t.Logf("got timeout as expected") - case <-b: - t.Errorf("resyncChan() is at least 99 milliseconds late??") - } -} - -func BenchmarkReflectorResyncChanMany(b *testing.B) { - s := NewStore(MetaNamespaceKeyFunc) - 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++ { - g.resyncPeriod = time.Duration(rand.Float64() * float64(time.Millisecond) * 25) - _, stop := g.resyncChan() - stop() - } -} - -func TestReflectorWatchHandlerError(t *testing.T) { - s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &v1.Pod{}, s, 0) - fw := watch.NewFake() - go func() { - fw.Stop() - }() - var resumeRV string - err := g.watchHandler(fw, &resumeRV, nevererrc, wait.NeverStop) - if err == nil { - t.Errorf("unexpected non-error") - } -} - -func TestReflectorWatchHandler(t *testing.T) { - s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &v1.Pod{}, s, 0) - fw := watch.NewFake() - s.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}}) - s.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "bar"}}) - go func() { - fw.Add(&v1.Service{ObjectMeta: metav1.ObjectMeta{Name: "rejected"}}) - fw.Delete(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}}) - fw.Modify(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "bar", ResourceVersion: "55"}}) - fw.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "baz", ResourceVersion: "32"}}) - fw.Stop() - }() - var resumeRV string - err := g.watchHandler(fw, &resumeRV, nevererrc, wait.NeverStop) - if err != nil { - t.Errorf("unexpected error %v", err) - } - - mkPod := func(id string, rv string) *v1.Pod { - return &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: id, ResourceVersion: rv}} - } - - table := []struct { - Pod *v1.Pod - exists bool - }{ - {mkPod("foo", ""), false}, - {mkPod("rejected", ""), false}, - {mkPod("bar", "55"), true}, - {mkPod("baz", "32"), true}, - } - for _, item := range table { - obj, exists, _ := s.Get(item.Pod) - if e, a := item.exists, exists; e != a { - t.Errorf("%v: expected %v, got %v", item.Pod, e, a) - } - if !exists { - continue - } - if e, a := item.Pod.ResourceVersion, obj.(*v1.Pod).ResourceVersion; e != a { - t.Errorf("%v: expected %v, got %v", item.Pod, e, a) - } - } - - // RV should send the last version we see. - if e, a := "32", resumeRV; e != a { - t.Errorf("expected %v, got %v", e, a) - } - - // last sync resource version should be the last version synced with store - if e, a := "32", g.LastSyncResourceVersion(); e != a { - t.Errorf("expected %v, got %v", e, a) - } -} - -func TestReflectorStopWatch(t *testing.T) { - s := NewStore(MetaNamespaceKeyFunc) - g := NewReflector(&testLW{}, &v1.Pod{}, s, 0) - fw := watch.NewFake() - var resumeRV string - stopWatch := make(chan struct{}, 1) - stopWatch <- struct{}{} - err := g.watchHandler(fw, &resumeRV, nevererrc, stopWatch) - if err != errorStopRequested { - t.Errorf("expected stop error, got %q", err) - } -} - -func TestReflectorListAndWatch(t *testing.T) { - createdFakes := make(chan *watch.FakeWatcher) - - // The ListFunc says that it's at revision 1. Therefore, we expect our WatchFunc - // to get called at the beginning of the watch with 1, and again with 3 when we - // inject an error. - expectedRVs := []string{"1", "3"} - lw := &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - rv := options.ResourceVersion - fw := watch.NewFake() - if e, a := expectedRVs[0], rv; e != a { - t.Errorf("Expected rv %v, but got %v", e, a) - } - expectedRVs = expectedRVs[1:] - // channel is not buffered because the for loop below needs to block. But - // we don't want to block here, so report the new fake via a go routine. - go func() { createdFakes <- fw }() - return fw, nil - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return &v1.PodList{ListMeta: metav1.ListMeta{ResourceVersion: "1"}}, nil - }, - } - s := NewFIFO(MetaNamespaceKeyFunc) - r := NewReflector(lw, &v1.Pod{}, s, 0) - go r.ListAndWatch(wait.NeverStop) - - ids := []string{"foo", "bar", "baz", "qux", "zoo"} - var fw *watch.FakeWatcher - for i, id := range ids { - if fw == nil { - fw = <-createdFakes - } - sendingRV := strconv.FormatUint(uint64(i+2), 10) - fw.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: id, ResourceVersion: sendingRV}}) - if sendingRV == "3" { - // Inject a failure. - fw.Stop() - fw = nil - } - } - - // Verify we received the right ids with the right resource versions. - for i, id := range ids { - pod := Pop(s).(*v1.Pod) - if e, a := id, pod.Name; e != a { - t.Errorf("%v: Expected %v, got %v", i, e, a) - } - if e, a := strconv.FormatUint(uint64(i+2), 10), pod.ResourceVersion; e != a { - t.Errorf("%v: Expected %v, got %v", i, e, a) - } - } - - if len(expectedRVs) != 0 { - t.Error("called watchStarter an unexpected number of times") - } -} - -func TestReflectorListAndWatchWithErrors(t *testing.T) { - mkPod := func(id string, rv string) *v1.Pod { - return &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: id, ResourceVersion: rv}} - } - mkList := func(rv string, pods ...*v1.Pod) *v1.PodList { - list := &v1.PodList{ListMeta: metav1.ListMeta{ResourceVersion: rv}} - for _, pod := range pods { - list.Items = append(list.Items, *pod) - } - return list - } - table := []struct { - list *v1.PodList - listErr error - events []watch.Event - watchErr error - }{ - { - list: mkList("1"), - events: []watch.Event{ - {Type: watch.Added, Object: mkPod("foo", "2")}, - {Type: watch.Added, Object: mkPod("bar", "3")}, - }, - }, { - list: mkList("3", mkPod("foo", "2"), mkPod("bar", "3")), - events: []watch.Event{ - {Type: watch.Deleted, Object: mkPod("foo", "4")}, - {Type: watch.Added, Object: mkPod("qux", "5")}, - }, - }, { - listErr: fmt.Errorf("a list error"), - }, { - list: mkList("5", mkPod("bar", "3"), mkPod("qux", "5")), - watchErr: fmt.Errorf("a watch error"), - }, { - list: mkList("5", mkPod("bar", "3"), mkPod("qux", "5")), - events: []watch.Event{ - {Type: watch.Added, Object: mkPod("baz", "6")}, - }, - }, { - list: mkList("6", mkPod("bar", "3"), mkPod("qux", "5"), mkPod("baz", "6")), - }, - } - - s := NewFIFO(MetaNamespaceKeyFunc) - for line, item := range table { - if item.list != nil { - // Test that the list is what currently exists in the store. - current := s.List() - checkMap := map[string]string{} - for _, item := range current { - pod := item.(*v1.Pod) - checkMap[pod.Name] = pod.ResourceVersion - } - for _, pod := range item.list.Items { - if e, a := pod.ResourceVersion, checkMap[pod.Name]; e != a { - t.Errorf("%v: expected %v, got %v for pod %v", line, e, a, pod.Name) - } - } - if e, a := len(item.list.Items), len(checkMap); e != a { - t.Errorf("%v: expected %v, got %v", line, e, a) - } - } - watchRet, watchErr := item.events, item.watchErr - lw := &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - if watchErr != nil { - return nil, watchErr - } - watchErr = fmt.Errorf("second watch") - fw := watch.NewFake() - go func() { - for _, e := range watchRet { - fw.Action(e.Type, e.Object) - } - fw.Stop() - }() - return fw, nil - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return item.list, item.listErr - }, - } - r := NewReflector(lw, &v1.Pod{}, s, 0) - r.ListAndWatch(wait.NeverStop) - } -} - -func TestReflectorResync(t *testing.T) { - iteration := 0 - stopCh := make(chan struct{}) - rerr := errors.New("expected resync reached") - s := &FakeCustomStore{ - ResyncFunc: func() error { - iteration++ - if iteration == 2 { - return rerr - } - return nil - }, - } - - lw := &testLW{ - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { - fw := watch.NewFake() - return fw, nil - }, - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { - return &v1.PodList{ListMeta: metav1.ListMeta{ResourceVersion: "0"}}, nil - }, - } - resyncPeriod := 1 * time.Millisecond - 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) - } - if iteration != 2 { - t.Errorf("exactly 2 iterations were expected, got: %v", iteration) - } -} diff --git a/pkg/client/cache/shared_informer.go b/pkg/client/cache/shared_informer.go deleted file mode 100644 index 840211effae..00000000000 --- a/pkg/client/cache/shared_informer.go +++ /dev/null @@ -1,421 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "sync" - "time" - - "k8s.io/apimachinery/pkg/runtime" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/apimachinery/pkg/util/wait" - - "github.com/golang/glog" -) - -// if you use this, there is one behavior change compared to a standard Informer. -// When you receive a notification, the cache will be AT LEAST as fresh as the -// notification, but it MAY be more fresh. You should NOT depend on the contents -// of the cache exactly matching the notification you've received in handler -// functions. If there was a create, followed by a delete, the cache may NOT -// have your item. This has advantages over the broadcaster since it allows us -// to share a common cache across many controllers. Extending the broadcaster -// would have required us keep duplicate caches for each watch. -type SharedInformer interface { - // events to a single handler are delivered sequentially, but there is no coordination between different handlers - // You may NOT add a handler *after* the SharedInformer is running. That will result in an error being returned. - // TODO we should try to remove this restriction eventually. - AddEventHandler(handler ResourceEventHandler) error - GetStore() Store - // GetController gives back a synthetic interface that "votes" to start the informer - GetController() Controller - Run(stopCh <-chan struct{}) - HasSynced() bool - LastSyncResourceVersion() string -} - -type SharedIndexInformer interface { - SharedInformer - // AddIndexers add indexers to the informer before it starts. - AddIndexers(indexers Indexers) error - GetIndexer() Indexer -} - -// NewSharedInformer creates a new instance for the listwatcher. -// TODO: create a cache/factory of these at a higher level for the list all, watch all of a given resource that can -// be shared amongst all consumers. -func NewSharedInformer(lw ListerWatcher, objType runtime.Object, resyncPeriod time.Duration) SharedInformer { - return NewSharedIndexInformer(lw, objType, resyncPeriod, Indexers{}) -} - -// NewSharedIndexInformer creates a new instance for the listwatcher. -// TODO: create a cache/factory of these at a higher level for the list all, watch all of a given resource that can -// be shared amongst all consumers. -func NewSharedIndexInformer(lw ListerWatcher, objType runtime.Object, resyncPeriod time.Duration, indexers Indexers) SharedIndexInformer { - sharedIndexInformer := &sharedIndexInformer{ - processor: &sharedProcessor{}, - indexer: NewIndexer(DeletionHandlingMetaNamespaceKeyFunc, indexers), - listerWatcher: lw, - objectType: objType, - fullResyncPeriod: resyncPeriod, - cacheMutationDetector: NewCacheMutationDetector(fmt.Sprintf("%T", objType)), - } - return sharedIndexInformer -} - -// InformerSynced is a function that can be used to determine if an informer has synced. This is useful for determining if caches have synced. -type InformerSynced func() bool - -// syncedPollPeriod controls how often you look at the status of your sync funcs -const syncedPollPeriod = 100 * time.Millisecond - -// WaitForCacheSync waits for caches to populate. It returns true if it was successful, false -// if the contoller should shutdown -func WaitForCacheSync(stopCh <-chan struct{}, cacheSyncs ...InformerSynced) bool { - err := wait.PollUntil(syncedPollPeriod, - func() (bool, error) { - for _, syncFunc := range cacheSyncs { - if !syncFunc() { - return false, nil - } - } - return true, nil - }, - stopCh) - if err != nil { - glog.V(2).Infof("stop requested") - return false - } - - glog.V(4).Infof("caches populated") - return true -} - -type sharedIndexInformer struct { - indexer Indexer - controller Controller - - processor *sharedProcessor - cacheMutationDetector CacheMutationDetector - - // This block is tracked to handle late initialization of the controller - listerWatcher ListerWatcher - objectType runtime.Object - fullResyncPeriod time.Duration - - started bool - startedLock sync.Mutex - - // blockDeltas gives a way to stop all event distribution so that a late event handler - // can safely join the shared informer. - blockDeltas sync.Mutex - // stopCh is the channel used to stop the main Run process. We have to track it so that - // late joiners can have a proper stop - stopCh <-chan struct{} -} - -// dummyController hides the fact that a SharedInformer is different from a dedicated one -// where a caller can `Run`. The run method is disonnected in this case, because higher -// level logic will decide when to start the SharedInformer and related controller. -// Because returning information back is always asynchronous, the legacy callers shouldn't -// notice any change in behavior. -type dummyController struct { - informer *sharedIndexInformer -} - -func (v *dummyController) Run(stopCh <-chan struct{}) { -} - -func (v *dummyController) HasSynced() bool { - return v.informer.HasSynced() -} - -func (c *dummyController) LastSyncResourceVersion() string { - return "" -} - -type updateNotification struct { - oldObj interface{} - newObj interface{} -} - -type addNotification struct { - newObj interface{} -} - -type deleteNotification struct { - oldObj interface{} -} - -func (s *sharedIndexInformer) Run(stopCh <-chan struct{}) { - defer utilruntime.HandleCrash() - - fifo := NewDeltaFIFO(MetaNamespaceKeyFunc, nil, s.indexer) - - cfg := &Config{ - Queue: fifo, - ListerWatcher: s.listerWatcher, - ObjectType: s.objectType, - FullResyncPeriod: s.fullResyncPeriod, - RetryOnError: false, - - Process: s.HandleDeltas, - } - - func() { - s.startedLock.Lock() - defer s.startedLock.Unlock() - - s.controller = New(cfg) - s.started = true - }() - - s.stopCh = stopCh - s.cacheMutationDetector.Run(stopCh) - s.processor.run(stopCh) - s.controller.Run(stopCh) -} - -func (s *sharedIndexInformer) isStarted() bool { - s.startedLock.Lock() - defer s.startedLock.Unlock() - return s.started -} - -func (s *sharedIndexInformer) HasSynced() bool { - s.startedLock.Lock() - defer s.startedLock.Unlock() - - if s.controller == nil { - return false - } - return s.controller.HasSynced() -} - -func (s *sharedIndexInformer) LastSyncResourceVersion() string { - s.startedLock.Lock() - defer s.startedLock.Unlock() - - if s.controller == nil { - return "" - } - return s.controller.LastSyncResourceVersion() -} - -func (s *sharedIndexInformer) GetStore() Store { - return s.indexer -} - -func (s *sharedIndexInformer) GetIndexer() Indexer { - return s.indexer -} - -func (s *sharedIndexInformer) AddIndexers(indexers Indexers) error { - s.startedLock.Lock() - defer s.startedLock.Unlock() - - if s.started { - return fmt.Errorf("informer has already started") - } - - return s.indexer.AddIndexers(indexers) -} - -func (s *sharedIndexInformer) GetController() Controller { - return &dummyController{informer: s} -} - -func (s *sharedIndexInformer) AddEventHandler(handler ResourceEventHandler) error { - s.startedLock.Lock() - defer s.startedLock.Unlock() - - if !s.started { - listener := newProcessListener(handler) - s.processor.listeners = append(s.processor.listeners, listener) - return nil - } - - // in order to safely join, we have to - // 1. stop sending add/update/delete notifications - // 2. do a list against the store - // 3. send synthetic "Add" events to the new handler - // 4. unblock - s.blockDeltas.Lock() - defer s.blockDeltas.Unlock() - - listener := newProcessListener(handler) - s.processor.listeners = append(s.processor.listeners, listener) - - go listener.run(s.stopCh) - go listener.pop(s.stopCh) - - items := s.indexer.List() - for i := range items { - listener.add(addNotification{newObj: items[i]}) - } - - return nil -} - -func (s *sharedIndexInformer) HandleDeltas(obj interface{}) error { - s.blockDeltas.Lock() - defer s.blockDeltas.Unlock() - - // from oldest to newest - for _, d := range obj.(Deltas) { - switch d.Type { - case Sync, Added, Updated: - s.cacheMutationDetector.AddObject(d.Object) - if old, exists, err := s.indexer.Get(d.Object); err == nil && exists { - if err := s.indexer.Update(d.Object); err != nil { - return err - } - s.processor.distribute(updateNotification{oldObj: old, newObj: d.Object}) - } else { - if err := s.indexer.Add(d.Object); err != nil { - return err - } - s.processor.distribute(addNotification{newObj: d.Object}) - } - case Deleted: - if err := s.indexer.Delete(d.Object); err != nil { - return err - } - s.processor.distribute(deleteNotification{oldObj: d.Object}) - } - } - return nil -} - -type sharedProcessor struct { - listeners []*processorListener -} - -func (p *sharedProcessor) distribute(obj interface{}) { - for _, listener := range p.listeners { - listener.add(obj) - } -} - -func (p *sharedProcessor) run(stopCh <-chan struct{}) { - for _, listener := range p.listeners { - go listener.run(stopCh) - go listener.pop(stopCh) - } -} - -type processorListener struct { - // lock/cond protects access to 'pendingNotifications'. - lock sync.RWMutex - cond sync.Cond - - // pendingNotifications is an unbounded slice that holds all notifications not yet distributed - // there is one per listener, but a failing/stalled listener will have infinite pendingNotifications - // added until we OOM. - // TODO This is no worse that before, since reflectors were backed by unbounded DeltaFIFOs, but - // we should try to do something better - pendingNotifications []interface{} - - nextCh chan interface{} - - handler ResourceEventHandler -} - -func newProcessListener(handler ResourceEventHandler) *processorListener { - ret := &processorListener{ - pendingNotifications: []interface{}{}, - nextCh: make(chan interface{}), - handler: handler, - } - - ret.cond.L = &ret.lock - return ret -} - -func (p *processorListener) add(notification interface{}) { - p.lock.Lock() - defer p.lock.Unlock() - - p.pendingNotifications = append(p.pendingNotifications, notification) - p.cond.Broadcast() -} - -func (p *processorListener) pop(stopCh <-chan struct{}) { - defer utilruntime.HandleCrash() - - for { - blockingGet := func() (interface{}, bool) { - p.lock.Lock() - defer p.lock.Unlock() - - for len(p.pendingNotifications) == 0 { - // check if we're shutdown - select { - case <-stopCh: - return nil, true - default: - } - p.cond.Wait() - } - - nt := p.pendingNotifications[0] - p.pendingNotifications = p.pendingNotifications[1:] - return nt, false - } - - notification, stopped := blockingGet() - if stopped { - return - } - - select { - case <-stopCh: - return - case p.nextCh <- notification: - } - } -} - -func (p *processorListener) run(stopCh <-chan struct{}) { - defer utilruntime.HandleCrash() - - for { - var next interface{} - select { - case <-stopCh: - func() { - p.lock.Lock() - defer p.lock.Unlock() - p.cond.Broadcast() - }() - return - case next = <-p.nextCh: - } - - switch notification := next.(type) { - case updateNotification: - p.handler.OnUpdate(notification.oldObj, notification.newObj) - case addNotification: - p.handler.OnAdd(notification.newObj) - case deleteNotification: - p.handler.OnDelete(notification.oldObj) - default: - utilruntime.HandleError(fmt.Errorf("unrecognized notification: %#v", next)) - } - } -} diff --git a/pkg/client/cache/store.go b/pkg/client/cache/store.go deleted file mode 100755 index ee6b3bd4679..00000000000 --- a/pkg/client/cache/store.go +++ /dev/null @@ -1,240 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "strings" - - "k8s.io/apimachinery/pkg/api/meta" -) - -// Store is a generic object storage interface. Reflector knows how to watch a server -// and update a store. A generic store is provided, which allows Reflector to be used -// as a local caching system, and an LRU store, which allows Reflector to work like a -// queue of items yet to be processed. -// -// Store makes no assumptions about stored object identity; it is the responsibility -// of a Store implementation to provide a mechanism to correctly key objects and to -// define the contract for obtaining objects by some arbitrary key type. -type Store interface { - Add(obj interface{}) error - Update(obj interface{}) error - Delete(obj interface{}) error - List() []interface{} - ListKeys() []string - Get(obj interface{}) (item interface{}, exists bool, err error) - GetByKey(key string) (item interface{}, exists bool, err error) - - // Replace will delete the contents of the store, using instead the - // given list. Store takes ownership of the list, you should not reference - // it after calling this function. - Replace([]interface{}, string) error - Resync() error -} - -// KeyFunc knows how to make a key from an object. Implementations should be deterministic. -type KeyFunc func(obj interface{}) (string, error) - -// KeyError will be returned any time a KeyFunc gives an error; it includes the object -// at fault. -type KeyError struct { - Obj interface{} - Err error -} - -// Error gives a human-readable description of the error. -func (k KeyError) Error() string { - return fmt.Sprintf("couldn't create key for object %+v: %v", k.Obj, k.Err) -} - -// ExplicitKey can be passed to MetaNamespaceKeyFunc if you have the key for -// the object but not the object itself. -type ExplicitKey string - -// MetaNamespaceKeyFunc is a convenient default KeyFunc which knows how to make -// keys for API objects which implement meta.Interface. -// The key uses the format / unless is empty, then -// it's just . -// -// TODO: replace key-as-string with a key-as-struct so that this -// packing/unpacking won't be necessary. -func MetaNamespaceKeyFunc(obj interface{}) (string, error) { - if key, ok := obj.(ExplicitKey); ok { - return string(key), nil - } - meta, err := meta.Accessor(obj) - if err != nil { - return "", fmt.Errorf("object has no meta: %v", err) - } - if len(meta.GetNamespace()) > 0 { - return meta.GetNamespace() + "/" + meta.GetName(), nil - } - return meta.GetName(), nil -} - -// SplitMetaNamespaceKey returns the namespace and name that -// MetaNamespaceKeyFunc encoded into key. -// -// TODO: replace key-as-string with a key-as-struct so that this -// packing/unpacking won't be necessary. -func SplitMetaNamespaceKey(key string) (namespace, name string, err error) { - parts := strings.Split(key, "/") - switch len(parts) { - case 1: - // name only, no namespace - return "", parts[0], nil - case 2: - // namespace and name - return parts[0], parts[1], nil - } - - return "", "", fmt.Errorf("unexpected key format: %q", key) -} - -// cache responsibilities are limited to: -// 1. Computing keys for objects via keyFunc -// 2. Invoking methods of a ThreadSafeStorage interface -type cache struct { - // cacheStorage bears the burden of thread safety for the cache - cacheStorage ThreadSafeStore - // keyFunc is used to make the key for objects stored in and retrieved from items, and - // should be deterministic. - keyFunc KeyFunc -} - -var _ Store = &cache{} - -// Add inserts an item into the cache. -func (c *cache) Add(obj interface{}) error { - key, err := c.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - c.cacheStorage.Add(key, obj) - return nil -} - -// Update sets an item in the cache to its updated state. -func (c *cache) Update(obj interface{}) error { - key, err := c.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - c.cacheStorage.Update(key, obj) - return nil -} - -// Delete removes an item from the cache. -func (c *cache) Delete(obj interface{}) error { - key, err := c.keyFunc(obj) - if err != nil { - return KeyError{obj, err} - } - c.cacheStorage.Delete(key) - return nil -} - -// List returns a list of all the items. -// List is completely threadsafe as long as you treat all items as immutable. -func (c *cache) List() []interface{} { - return c.cacheStorage.List() -} - -// ListKeys returns a list of all the keys of the objects currently -// in the cache. -func (c *cache) ListKeys() []string { - return c.cacheStorage.ListKeys() -} - -// GetIndexers returns the indexers of cache -func (c *cache) GetIndexers() Indexers { - return c.cacheStorage.GetIndexers() -} - -// Index returns a list of items that match on the index function -// Index is thread-safe so long as you treat all items as immutable -func (c *cache) Index(indexName string, obj interface{}) ([]interface{}, error) { - return c.cacheStorage.Index(indexName, obj) -} - -// ListIndexFuncValues returns the list of generated values of an Index func -func (c *cache) ListIndexFuncValues(indexName string) []string { - return c.cacheStorage.ListIndexFuncValues(indexName) -} - -func (c *cache) ByIndex(indexName, indexKey string) ([]interface{}, error) { - return c.cacheStorage.ByIndex(indexName, indexKey) -} - -func (c *cache) AddIndexers(newIndexers Indexers) error { - return c.cacheStorage.AddIndexers(newIndexers) -} - -// Get returns the requested item, or sets exists=false. -// Get is completely threadsafe as long as you treat all items as immutable. -func (c *cache) Get(obj interface{}) (item interface{}, exists bool, err error) { - key, err := c.keyFunc(obj) - if err != nil { - return nil, false, KeyError{obj, err} - } - return c.GetByKey(key) -} - -// GetByKey returns the request item, or exists=false. -// GetByKey is completely threadsafe as long as you treat all items as immutable. -func (c *cache) GetByKey(key string) (item interface{}, exists bool, err error) { - item, exists = c.cacheStorage.Get(key) - return item, exists, nil -} - -// Replace will delete the contents of 'c', using instead the given list. -// 'c' takes ownership of the list, you should not reference the list again -// after calling this function. -func (c *cache) Replace(list []interface{}, resourceVersion string) error { - items := map[string]interface{}{} - for _, item := range list { - key, err := c.keyFunc(item) - if err != nil { - return KeyError{item, err} - } - items[key] = item - } - c.cacheStorage.Replace(items, resourceVersion) - return nil -} - -// Resync touches all items in the store to force processing -func (c *cache) Resync() error { - return c.cacheStorage.Resync() -} - -// NewStore returns a Store implemented simply with a map and a lock. -func NewStore(keyFunc KeyFunc) Store { - return &cache{ - cacheStorage: NewThreadSafeStore(Indexers{}, Indices{}), - keyFunc: keyFunc, - } -} - -// NewIndexer returns an Indexer implemented simply with a map and a lock. -func NewIndexer(keyFunc KeyFunc, indexers Indexers) Indexer { - return &cache{ - cacheStorage: NewThreadSafeStore(indexers, Indices{}), - keyFunc: keyFunc, - } -} diff --git a/pkg/client/cache/store_test.go b/pkg/client/cache/store_test.go deleted file mode 100644 index 52c9585a9bf..00000000000 --- a/pkg/client/cache/store_test.go +++ /dev/null @@ -1,156 +0,0 @@ -/* -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 cache - -import ( - "testing" - - "k8s.io/apimachinery/pkg/util/sets" -) - -// Test public interface -func doTestStore(t *testing.T, store Store) { - mkObj := func(id string, val string) testStoreObject { - return testStoreObject{id: id, val: val} - } - - store.Add(mkObj("foo", "bar")) - if item, ok, _ := store.Get(mkObj("foo", "")); !ok { - t.Errorf("didn't find inserted item") - } else { - if e, a := "bar", item.(testStoreObject).val; e != a { - t.Errorf("expected %v, got %v", e, a) - } - } - store.Update(mkObj("foo", "baz")) - if item, ok, _ := store.Get(mkObj("foo", "")); !ok { - t.Errorf("didn't find inserted item") - } else { - if e, a := "baz", item.(testStoreObject).val; e != a { - t.Errorf("expected %v, got %v", e, a) - } - } - store.Delete(mkObj("foo", "")) - if _, ok, _ := store.Get(mkObj("foo", "")); ok { - t.Errorf("found deleted item??") - } - - // Test List. - store.Add(mkObj("a", "b")) - store.Add(mkObj("c", "d")) - store.Add(mkObj("e", "e")) - { - found := sets.String{} - for _, item := range store.List() { - found.Insert(item.(testStoreObject).val) - } - if !found.HasAll("b", "d", "e") { - t.Errorf("missing items, found: %v", found) - } - if len(found) != 3 { - t.Errorf("extra items") - } - } - - // Test Replace. - store.Replace([]interface{}{ - mkObj("foo", "foo"), - mkObj("bar", "bar"), - }, "0") - - { - found := sets.String{} - for _, item := range store.List() { - found.Insert(item.(testStoreObject).val) - } - if !found.HasAll("foo", "bar") { - t.Errorf("missing items") - } - if len(found) != 2 { - t.Errorf("extra items") - } - } -} - -// Test public interface -func doTestIndex(t *testing.T, indexer Indexer) { - mkObj := func(id string, val string) testStoreObject { - return testStoreObject{id: id, val: val} - } - - // Test Index - expected := map[string]sets.String{} - expected["b"] = sets.NewString("a", "c") - expected["f"] = sets.NewString("e") - expected["h"] = sets.NewString("g") - indexer.Add(mkObj("a", "b")) - indexer.Add(mkObj("c", "b")) - indexer.Add(mkObj("e", "f")) - indexer.Add(mkObj("g", "h")) - { - for k, v := range expected { - found := sets.String{} - indexResults, err := indexer.Index("by_val", mkObj("", k)) - if err != nil { - t.Errorf("Unexpected error %v", err) - } - for _, item := range indexResults { - found.Insert(item.(testStoreObject).id) - } - items := v.List() - if !found.HasAll(items...) { - t.Errorf("missing items, index %s, expected %v but found %v", k, items, found.List()) - } - } - } -} - -func testStoreKeyFunc(obj interface{}) (string, error) { - return obj.(testStoreObject).id, nil -} - -func testStoreIndexFunc(obj interface{}) ([]string, error) { - return []string{obj.(testStoreObject).val}, nil -} - -func testStoreIndexers() Indexers { - indexers := Indexers{} - indexers["by_val"] = testStoreIndexFunc - return indexers -} - -type testStoreObject struct { - id string - val string -} - -func TestCache(t *testing.T) { - doTestStore(t, NewStore(testStoreKeyFunc)) -} - -func TestFIFOCache(t *testing.T) { - doTestStore(t, NewFIFO(testStoreKeyFunc)) -} - -func TestUndeltaStore(t *testing.T) { - nop := func([]interface{}) {} - doTestStore(t, NewUndeltaStore(nop, testStoreKeyFunc)) -} - -func TestIndex(t *testing.T) { - doTestIndex(t, NewIndexer(testStoreKeyFunc, testStoreIndexers())) -} diff --git a/pkg/client/cache/thread_safe_store.go b/pkg/client/cache/thread_safe_store.go deleted file mode 100644 index 4d6a012976f..00000000000 --- a/pkg/client/cache/thread_safe_store.go +++ /dev/null @@ -1,288 +0,0 @@ -/* -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 cache - -import ( - "fmt" - "sync" - - "k8s.io/apimachinery/pkg/util/sets" -) - -// ThreadSafeStore is an interface that allows concurrent access to a storage backend. -// TL;DR caveats: you must not modify anything returned by Get or List as it will break -// the indexing feature in addition to not being thread safe. -// -// The guarantees of thread safety provided by List/Get are only valid if the caller -// treats returned items as read-only. For example, a pointer inserted in the store -// through `Add` will be returned as is by `Get`. Multiple clients might invoke `Get` -// on the same key and modify the pointer in a non-thread-safe way. Also note that -// modifying objects stored by the indexers (if any) will *not* automatically lead -// to a re-index. So it's not a good idea to directly modify the objects returned by -// Get/List, in general. -type ThreadSafeStore interface { - Add(key string, obj interface{}) - Update(key string, obj interface{}) - Delete(key string) - Get(key string) (item interface{}, exists bool) - List() []interface{} - ListKeys() []string - Replace(map[string]interface{}, string) - Index(indexName string, obj interface{}) ([]interface{}, error) - ListIndexFuncValues(name string) []string - ByIndex(indexName, indexKey string) ([]interface{}, error) - GetIndexers() Indexers - - // AddIndexers adds more indexers to this store. If you call this after you already have data - // in the store, the results are undefined. - AddIndexers(newIndexers Indexers) error - Resync() error -} - -// threadSafeMap implements ThreadSafeStore -type threadSafeMap struct { - lock sync.RWMutex - items map[string]interface{} - - // indexers maps a name to an IndexFunc - indexers Indexers - // indices maps a name to an Index - indices Indices -} - -func (c *threadSafeMap) Add(key string, obj interface{}) { - c.lock.Lock() - defer c.lock.Unlock() - oldObject := c.items[key] - c.items[key] = obj - c.updateIndices(oldObject, obj, key) -} - -func (c *threadSafeMap) Update(key string, obj interface{}) { - c.lock.Lock() - defer c.lock.Unlock() - oldObject := c.items[key] - c.items[key] = obj - c.updateIndices(oldObject, obj, key) -} - -func (c *threadSafeMap) Delete(key string) { - c.lock.Lock() - defer c.lock.Unlock() - if obj, exists := c.items[key]; exists { - c.deleteFromIndices(obj, key) - delete(c.items, key) - } -} - -func (c *threadSafeMap) Get(key string) (item interface{}, exists bool) { - c.lock.RLock() - defer c.lock.RUnlock() - item, exists = c.items[key] - return item, exists -} - -func (c *threadSafeMap) List() []interface{} { - c.lock.RLock() - defer c.lock.RUnlock() - list := make([]interface{}, 0, len(c.items)) - for _, item := range c.items { - list = append(list, item) - } - return list -} - -// ListKeys returns a list of all the keys of the objects currently -// in the threadSafeMap. -func (c *threadSafeMap) ListKeys() []string { - c.lock.RLock() - defer c.lock.RUnlock() - list := make([]string, 0, len(c.items)) - for key := range c.items { - list = append(list, key) - } - return list -} - -func (c *threadSafeMap) Replace(items map[string]interface{}, resourceVersion string) { - c.lock.Lock() - defer c.lock.Unlock() - c.items = items - - // rebuild any index - c.indices = Indices{} - for key, item := range c.items { - c.updateIndices(nil, item, key) - } -} - -// Index returns a list of items that match on the index function -// Index is thread-safe so long as you treat all items as immutable -func (c *threadSafeMap) Index(indexName string, obj interface{}) ([]interface{}, error) { - c.lock.RLock() - defer c.lock.RUnlock() - - indexFunc := c.indexers[indexName] - if indexFunc == nil { - return nil, fmt.Errorf("Index with name %s does not exist", indexName) - } - - indexKeys, err := indexFunc(obj) - if err != nil { - return nil, err - } - index := c.indices[indexName] - - // need to de-dupe the return list. Since multiple keys are allowed, this can happen. - returnKeySet := sets.String{} - for _, indexKey := range indexKeys { - set := index[indexKey] - for _, key := range set.UnsortedList() { - returnKeySet.Insert(key) - } - } - - list := make([]interface{}, 0, returnKeySet.Len()) - for absoluteKey := range returnKeySet { - list = append(list, c.items[absoluteKey]) - } - return list, nil -} - -// ByIndex returns a list of items that match an exact value on the index function -func (c *threadSafeMap) ByIndex(indexName, indexKey string) ([]interface{}, error) { - c.lock.RLock() - defer c.lock.RUnlock() - - indexFunc := c.indexers[indexName] - if indexFunc == nil { - return nil, fmt.Errorf("Index with name %s does not exist", indexName) - } - - index := c.indices[indexName] - - set := index[indexKey] - list := make([]interface{}, 0, set.Len()) - for _, key := range set.List() { - list = append(list, c.items[key]) - } - - return list, nil -} - -func (c *threadSafeMap) ListIndexFuncValues(indexName string) []string { - c.lock.RLock() - defer c.lock.RUnlock() - - index := c.indices[indexName] - names := make([]string, 0, len(index)) - for key := range index { - names = append(names, key) - } - return names -} - -func (c *threadSafeMap) GetIndexers() Indexers { - return c.indexers -} - -func (c *threadSafeMap) AddIndexers(newIndexers Indexers) error { - c.lock.Lock() - defer c.lock.Unlock() - - if len(c.items) > 0 { - return fmt.Errorf("cannot add indexers to running index") - } - - oldKeys := sets.StringKeySet(c.indexers) - newKeys := sets.StringKeySet(newIndexers) - - if oldKeys.HasAny(newKeys.List()...) { - return fmt.Errorf("indexer conflict: %v", oldKeys.Intersection(newKeys)) - } - - for k, v := range newIndexers { - c.indexers[k] = v - } - return nil -} - -// updateIndices modifies the objects location in the managed indexes, if this is an update, you must provide an oldObj -// updateIndices must be called from a function that already has a lock on the cache -func (c *threadSafeMap) updateIndices(oldObj interface{}, newObj interface{}, key string) error { - // if we got an old object, we need to remove it before we add it again - if oldObj != nil { - c.deleteFromIndices(oldObj, key) - } - for name, indexFunc := range c.indexers { - indexValues, err := indexFunc(newObj) - if err != nil { - return err - } - index := c.indices[name] - if index == nil { - index = Index{} - c.indices[name] = index - } - - for _, indexValue := range indexValues { - set := index[indexValue] - if set == nil { - set = sets.String{} - index[indexValue] = set - } - set.Insert(key) - } - } - return nil -} - -// deleteFromIndices removes the object from each of the managed indexes -// it is intended to be called from a function that already has a lock on the cache -func (c *threadSafeMap) deleteFromIndices(obj interface{}, key string) error { - for name, indexFunc := range c.indexers { - indexValues, err := indexFunc(obj) - if err != nil { - return err - } - - index := c.indices[name] - if index == nil { - continue - } - for _, indexValue := range indexValues { - set := index[indexValue] - if set != nil { - set.Delete(key) - } - } - } - return nil -} - -func (c *threadSafeMap) Resync() error { - // Nothing to do - return nil -} - -func NewThreadSafeStore(indexers Indexers, indices Indices) ThreadSafeStore { - return &threadSafeMap{ - items: map[string]interface{}{}, - indexers: indexers, - indices: indices, - } -} diff --git a/pkg/client/cache/undelta_store.go b/pkg/client/cache/undelta_store.go deleted file mode 100644 index 117df46c48d..00000000000 --- a/pkg/client/cache/undelta_store.go +++ /dev/null @@ -1,83 +0,0 @@ -/* -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 cache - -// UndeltaStore listens to incremental updates and sends complete state on every change. -// It implements the Store interface so that it can receive a stream of mirrored objects -// from Reflector. Whenever it receives any complete (Store.Replace) or incremental change -// (Store.Add, Store.Update, Store.Delete), it sends the complete state by calling PushFunc. -// It is thread-safe. It guarantees that every change (Add, Update, Replace, Delete) results -// in one call to PushFunc, but sometimes PushFunc may be called twice with the same values. -// PushFunc should be thread safe. -type UndeltaStore struct { - Store - PushFunc func([]interface{}) -} - -// Assert that it implements the Store interface. -var _ Store = &UndeltaStore{} - -// Note about thread safety. The Store implementation (cache.cache) uses a lock for all methods. -// In the functions below, the lock gets released and reacquired betweend the {Add,Delete,etc} -// and the List. So, the following can happen, resulting in two identical calls to PushFunc. -// time thread 1 thread 2 -// 0 UndeltaStore.Add(a) -// 1 UndeltaStore.Add(b) -// 2 Store.Add(a) -// 3 Store.Add(b) -// 4 Store.List() -> [a,b] -// 5 Store.List() -> [a,b] - -func (u *UndeltaStore) Add(obj interface{}) error { - if err := u.Store.Add(obj); err != nil { - return err - } - u.PushFunc(u.Store.List()) - return nil -} - -func (u *UndeltaStore) Update(obj interface{}) error { - if err := u.Store.Update(obj); err != nil { - return err - } - u.PushFunc(u.Store.List()) - return nil -} - -func (u *UndeltaStore) Delete(obj interface{}) error { - if err := u.Store.Delete(obj); err != nil { - return err - } - u.PushFunc(u.Store.List()) - return nil -} - -func (u *UndeltaStore) Replace(list []interface{}, resourceVersion string) error { - if err := u.Store.Replace(list, resourceVersion); err != nil { - return err - } - u.PushFunc(u.Store.List()) - return nil -} - -// NewUndeltaStore returns an UndeltaStore implemented with a Store. -func NewUndeltaStore(pushFunc func([]interface{}), keyFunc KeyFunc) *UndeltaStore { - return &UndeltaStore{ - Store: NewStore(keyFunc), - PushFunc: pushFunc, - } -} diff --git a/pkg/client/cache/undelta_store_test.go b/pkg/client/cache/undelta_store_test.go deleted file mode 100644 index 6316442e680..00000000000 --- a/pkg/client/cache/undelta_store_test.go +++ /dev/null @@ -1,131 +0,0 @@ -/* -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 cache - -import ( - "reflect" - "testing" -) - -// store_test.go checks that UndeltaStore conforms to the Store interface -// behavior. This test just tests that it calls the push func in addition. - -type testUndeltaObject struct { - name string - val interface{} -} - -func testUndeltaKeyFunc(obj interface{}) (string, error) { - return obj.(testUndeltaObject).name, nil -} - -/* -var ( - o1 interface{} = t{1} - o2 interface{} = t{2} - l1 []interface{} = []interface{}{t{1}} -) -*/ - -func TestUpdateCallsPush(t *testing.T) { - mkObj := func(name string, val interface{}) testUndeltaObject { - return testUndeltaObject{name: name, val: val} - } - - var got []interface{} - var callcount int = 0 - push := func(m []interface{}) { - callcount++ - got = m - } - - u := NewUndeltaStore(push, testUndeltaKeyFunc) - - u.Add(mkObj("a", 2)) - u.Update(mkObj("a", 1)) - if callcount != 2 { - t.Errorf("Expected 2 calls, got %d", callcount) - } - - l := []interface{}{mkObj("a", 1)} - if !reflect.DeepEqual(l, got) { - t.Errorf("Expected %#v, Got %#v", l, got) - } -} - -func TestDeleteCallsPush(t *testing.T) { - mkObj := func(name string, val interface{}) testUndeltaObject { - return testUndeltaObject{name: name, val: val} - } - - var got []interface{} - var callcount int = 0 - push := func(m []interface{}) { - callcount++ - got = m - } - - u := NewUndeltaStore(push, testUndeltaKeyFunc) - - u.Add(mkObj("a", 2)) - u.Delete(mkObj("a", "")) - if callcount != 2 { - t.Errorf("Expected 2 calls, got %d", callcount) - } - expected := []interface{}{} - if !reflect.DeepEqual(expected, got) { - t.Errorf("Expected %#v, Got %#v", expected, got) - } -} - -func TestReadsDoNotCallPush(t *testing.T) { - push := func(m []interface{}) { - t.Errorf("Unexpected call to push!") - } - - u := NewUndeltaStore(push, testUndeltaKeyFunc) - - // These should not call push. - _ = u.List() - _, _, _ = u.Get(testUndeltaObject{"a", ""}) -} - -func TestReplaceCallsPush(t *testing.T) { - mkObj := func(name string, val interface{}) testUndeltaObject { - return testUndeltaObject{name: name, val: val} - } - - var got []interface{} - var callcount int = 0 - push := func(m []interface{}) { - callcount++ - got = m - } - - u := NewUndeltaStore(push, testUndeltaKeyFunc) - - m := []interface{}{mkObj("a", 1)} - - u.Replace(m, "0") - if callcount != 1 { - t.Errorf("Expected 1 calls, got %d", callcount) - } - expected := []interface{}{mkObj("a", 1)} - if !reflect.DeepEqual(expected, got) { - t.Errorf("Expected %#v, Got %#v", expected, got) - } -} diff --git a/pkg/client/informers/informers_generated/BUILD b/pkg/client/informers/informers_generated/BUILD index ec85a1b1b00..1baefc3e7fb 100644 --- a/pkg/client/informers/informers_generated/BUILD +++ b/pkg/client/informers/informers_generated/BUILD @@ -35,7 +35,6 @@ go_library( "//pkg/apis/rbac/v1beta1:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/apps:go_default_library", @@ -50,6 +49,7 @@ go_library( "//pkg/client/informers/informers_generated/storage:go_default_library", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/apps/internalversion/BUILD b/pkg/client/informers/informers_generated/apps/internalversion/BUILD index a950d4c5d51..e3ae1017c37 100644 --- a/pkg/client/informers/informers_generated/apps/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/apps/internalversion/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/apps:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/apps/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go b/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go index 3487f1488d1..ee3d768924f 100644 --- a/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go +++ b/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" apps "k8s.io/kubernetes/pkg/apis/apps" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/apps/internalversion" diff --git a/pkg/client/informers/informers_generated/apps/v1beta1/BUILD b/pkg/client/informers/informers_generated/apps/v1beta1/BUILD index 569168a372b..2612d352c12 100644 --- a/pkg/client/informers/informers_generated/apps/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/apps/v1beta1/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/apps/v1beta1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go b/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go index d410363f66c..afa3f99112b 100644 --- a/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go +++ b/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" apps_v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/apps/v1beta1" diff --git a/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD b/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD index 4acb02c524e..3faf89dc054 100644 --- a/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/autoscaling:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/autoscaling/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go b/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go index 94e0371f78d..a5a294d7b08 100644 --- a/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go +++ b/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/autoscaling/internalversion" diff --git a/pkg/client/informers/informers_generated/autoscaling/v1/BUILD b/pkg/client/informers/informers_generated/autoscaling/v1/BUILD index eaf6ba04a88..db966254bad 100644 --- a/pkg/client/informers/informers_generated/autoscaling/v1/BUILD +++ b/pkg/client/informers/informers_generated/autoscaling/v1/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/autoscaling/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/autoscaling/v1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go b/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go index 98766c0fed6..d02d3e201e2 100644 --- a/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go +++ b/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" autoscaling_v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/autoscaling/v1" diff --git a/pkg/client/informers/informers_generated/batch/internalversion/BUILD b/pkg/client/informers/informers_generated/batch/internalversion/BUILD index bea13d51fa4..24b340cbad4 100644 --- a/pkg/client/informers/informers_generated/batch/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/batch/internalversion/BUILD @@ -17,13 +17,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/batch:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/batch/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go b/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go index d753e0d1cb3..4c26f76a8cc 100644 --- a/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go +++ b/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/batch/internalversion" diff --git a/pkg/client/informers/informers_generated/batch/internalversion/job.go b/pkg/client/informers/informers_generated/batch/internalversion/job.go index 09175014f9d..cb876452d67 100644 --- a/pkg/client/informers/informers_generated/batch/internalversion/job.go +++ b/pkg/client/informers/informers_generated/batch/internalversion/job.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/batch/internalversion" diff --git a/pkg/client/informers/informers_generated/batch/v1/BUILD b/pkg/client/informers/informers_generated/batch/v1/BUILD index 11a99151f72..8283a1b1132 100644 --- a/pkg/client/informers/informers_generated/batch/v1/BUILD +++ b/pkg/client/informers/informers_generated/batch/v1/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/batch/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/batch/v1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/batch/v1/job.go b/pkg/client/informers/informers_generated/batch/v1/job.go index 4aa25bfdb25..a5d10c1c7d4 100644 --- a/pkg/client/informers/informers_generated/batch/v1/job.go +++ b/pkg/client/informers/informers_generated/batch/v1/job.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" batch_v1 "k8s.io/kubernetes/pkg/apis/batch/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/batch/v1" diff --git a/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD b/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD index 8bc18a4707e..5a745c03c6b 100644 --- a/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD +++ b/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD @@ -17,13 +17,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/batch/v2alpha1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go b/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go index 06b02a68ce3..63dfb8ed953 100644 --- a/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go +++ b/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" batch_v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v2alpha1 "k8s.io/kubernetes/pkg/client/listers/batch/v2alpha1" diff --git a/pkg/client/informers/informers_generated/batch/v2alpha1/job.go b/pkg/client/informers/informers_generated/batch/v2alpha1/job.go index 3ba7ce9d6bb..c85264c156b 100644 --- a/pkg/client/informers/informers_generated/batch/v2alpha1/job.go +++ b/pkg/client/informers/informers_generated/batch/v2alpha1/job.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" batch_v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v2alpha1 "k8s.io/kubernetes/pkg/client/listers/batch/v2alpha1" diff --git a/pkg/client/informers/informers_generated/certificates/internalversion/BUILD b/pkg/client/informers/informers_generated/certificates/internalversion/BUILD index 7427f692666..0923a5fa203 100644 --- a/pkg/client/informers/informers_generated/certificates/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/certificates/internalversion/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/certificates:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/certificates/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go b/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go index 8de7bcb393a..a752ce0b43e 100644 --- a/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go +++ b/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" certificates "k8s.io/kubernetes/pkg/apis/certificates" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/certificates/internalversion" diff --git a/pkg/client/informers/informers_generated/certificates/v1beta1/BUILD b/pkg/client/informers/informers_generated/certificates/v1beta1/BUILD index 98a27680c3e..8c7e17238d9 100644 --- a/pkg/client/informers/informers_generated/certificates/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/certificates/v1beta1/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/certificates/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/certificates/v1beta1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/certificates/v1beta1/certificatesigningrequest.go b/pkg/client/informers/informers_generated/certificates/v1beta1/certificatesigningrequest.go index 1e0ca83fc17..04716ae2afa 100644 --- a/pkg/client/informers/informers_generated/certificates/v1beta1/certificatesigningrequest.go +++ b/pkg/client/informers/informers_generated/certificates/v1beta1/certificatesigningrequest.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" certificates_v1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/certificates/v1beta1" diff --git a/pkg/client/informers/informers_generated/core/internalversion/BUILD b/pkg/client/informers/informers_generated/core/internalversion/BUILD index f46fd0b27d8..49850cef0bc 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/core/internalversion/BUILD @@ -31,13 +31,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/core/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go b/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go index 1d6c045b100..a496cbbc147 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go +++ b/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/configmap.go b/pkg/client/informers/informers_generated/core/internalversion/configmap.go index a23f6121cb8..52dfc70feb5 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/configmap.go +++ b/pkg/client/informers/informers_generated/core/internalversion/configmap.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/endpoints.go b/pkg/client/informers/informers_generated/core/internalversion/endpoints.go index ce95bea0245..b3351374fc1 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/endpoints.go +++ b/pkg/client/informers/informers_generated/core/internalversion/endpoints.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/event.go b/pkg/client/informers/informers_generated/core/internalversion/event.go index 3d520562d05..9e15e51dd14 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/event.go +++ b/pkg/client/informers/informers_generated/core/internalversion/event.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/limitrange.go b/pkg/client/informers/informers_generated/core/internalversion/limitrange.go index c7840d2bfd4..4dc60996faa 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/limitrange.go +++ b/pkg/client/informers/informers_generated/core/internalversion/limitrange.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/namespace.go b/pkg/client/informers/informers_generated/core/internalversion/namespace.go index 4c0e9690f6b..f56f386c56c 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/namespace.go +++ b/pkg/client/informers/informers_generated/core/internalversion/namespace.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/node.go b/pkg/client/informers/informers_generated/core/internalversion/node.go index 53c346ddedd..acc3baf0ae1 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/node.go +++ b/pkg/client/informers/informers_generated/core/internalversion/node.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go b/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go index 2d0379e0f97..6d2f9869609 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go +++ b/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go b/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go index d0110e4a7a4..4c217ae0d33 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go +++ b/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/pod.go b/pkg/client/informers/informers_generated/core/internalversion/pod.go index 347cae76e1c..2bee2c6ea20 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/pod.go +++ b/pkg/client/informers/informers_generated/core/internalversion/pod.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go b/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go index 46078c54bc3..f7745322340 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go +++ b/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go b/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go index 2a6df29d36b..1a773dbd829 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go +++ b/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go b/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go index 55d186de3b7..357f62e5d52 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go +++ b/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/secret.go b/pkg/client/informers/informers_generated/core/internalversion/secret.go index db7a6f9365b..48cffb6f793 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/secret.go +++ b/pkg/client/informers/informers_generated/core/internalversion/secret.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/service.go b/pkg/client/informers/informers_generated/core/internalversion/service.go index 9c42cbd0bcd..3f3186a2297 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/service.go +++ b/pkg/client/informers/informers_generated/core/internalversion/service.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go b/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go index 66667a729ec..11413612d79 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go +++ b/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" diff --git a/pkg/client/informers/informers_generated/core/v1/BUILD b/pkg/client/informers/informers_generated/core/v1/BUILD index 38a79587381..0ba272055dc 100644 --- a/pkg/client/informers/informers_generated/core/v1/BUILD +++ b/pkg/client/informers/informers_generated/core/v1/BUILD @@ -31,13 +31,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/core/v1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/core/v1/componentstatus.go b/pkg/client/informers/informers_generated/core/v1/componentstatus.go index f8910089660..ad731676dc7 100644 --- a/pkg/client/informers/informers_generated/core/v1/componentstatus.go +++ b/pkg/client/informers/informers_generated/core/v1/componentstatus.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/configmap.go b/pkg/client/informers/informers_generated/core/v1/configmap.go index 52bc2d0ee54..3710fa4a60c 100644 --- a/pkg/client/informers/informers_generated/core/v1/configmap.go +++ b/pkg/client/informers/informers_generated/core/v1/configmap.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/endpoints.go b/pkg/client/informers/informers_generated/core/v1/endpoints.go index 9d9ee27a4d9..0f683243ed3 100644 --- a/pkg/client/informers/informers_generated/core/v1/endpoints.go +++ b/pkg/client/informers/informers_generated/core/v1/endpoints.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/event.go b/pkg/client/informers/informers_generated/core/v1/event.go index 818fe1961b2..831895bc64a 100644 --- a/pkg/client/informers/informers_generated/core/v1/event.go +++ b/pkg/client/informers/informers_generated/core/v1/event.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/limitrange.go b/pkg/client/informers/informers_generated/core/v1/limitrange.go index 2ac63b30eed..c18f5024c48 100644 --- a/pkg/client/informers/informers_generated/core/v1/limitrange.go +++ b/pkg/client/informers/informers_generated/core/v1/limitrange.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/namespace.go b/pkg/client/informers/informers_generated/core/v1/namespace.go index 328c3556095..ae1a6a0de0f 100644 --- a/pkg/client/informers/informers_generated/core/v1/namespace.go +++ b/pkg/client/informers/informers_generated/core/v1/namespace.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/node.go b/pkg/client/informers/informers_generated/core/v1/node.go index b42fda3b595..2fcca797358 100644 --- a/pkg/client/informers/informers_generated/core/v1/node.go +++ b/pkg/client/informers/informers_generated/core/v1/node.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/persistentvolume.go b/pkg/client/informers/informers_generated/core/v1/persistentvolume.go index c5daaa77246..e4a62c782d7 100644 --- a/pkg/client/informers/informers_generated/core/v1/persistentvolume.go +++ b/pkg/client/informers/informers_generated/core/v1/persistentvolume.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go b/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go index e973b35043c..b67d0c038f6 100644 --- a/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go +++ b/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/pod.go b/pkg/client/informers/informers_generated/core/v1/pod.go index 5526ef149d6..28722f19873 100644 --- a/pkg/client/informers/informers_generated/core/v1/pod.go +++ b/pkg/client/informers/informers_generated/core/v1/pod.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/podtemplate.go b/pkg/client/informers/informers_generated/core/v1/podtemplate.go index cb3b28cd809..e8eeef2ddc9 100644 --- a/pkg/client/informers/informers_generated/core/v1/podtemplate.go +++ b/pkg/client/informers/informers_generated/core/v1/podtemplate.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go b/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go index 8b604ae01c5..2c13959f0a3 100644 --- a/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go +++ b/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/resourcequota.go b/pkg/client/informers/informers_generated/core/v1/resourcequota.go index 75b61de4820..5e7408ef1b1 100644 --- a/pkg/client/informers/informers_generated/core/v1/resourcequota.go +++ b/pkg/client/informers/informers_generated/core/v1/resourcequota.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/secret.go b/pkg/client/informers/informers_generated/core/v1/secret.go index eb08980907d..d26996cf2f7 100644 --- a/pkg/client/informers/informers_generated/core/v1/secret.go +++ b/pkg/client/informers/informers_generated/core/v1/secret.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/service.go b/pkg/client/informers/informers_generated/core/v1/service.go index f0c0315e0c1..ae5da1a9559 100644 --- a/pkg/client/informers/informers_generated/core/v1/service.go +++ b/pkg/client/informers/informers_generated/core/v1/service.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/core/v1/serviceaccount.go b/pkg/client/informers/informers_generated/core/v1/serviceaccount.go index fe787b56231..22ac2e13d75 100644 --- a/pkg/client/informers/informers_generated/core/v1/serviceaccount.go +++ b/pkg/client/informers/informers_generated/core/v1/serviceaccount.go @@ -22,8 +22,8 @@ import ( meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" api_v1 "k8s.io/kubernetes/pkg/api/v1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/BUILD b/pkg/client/informers/informers_generated/extensions/internalversion/BUILD index 26ebb4d5b0f..3c4e417778e 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/extensions/internalversion/BUILD @@ -22,13 +22,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/extensions:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/extensions/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go b/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go index 8bbc5a317f8..c65425c1659 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go b/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go index 341d9e02e5a..728e9d36000 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go b/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go index 393abc8c285..19165ea93c5 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go b/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go index 3f98d839b9a..96aa70aaeef 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go b/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go index 7f02fa7b715..8d909d02082 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go b/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go index 2a2a4aae5de..9fef954a045 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go b/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go index b5f9ed666ec..0d119079457 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD b/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD index f318f6e4e2f..165c1c638ad 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD @@ -21,13 +21,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/extensions/v1beta1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go b/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go index ace8706a108..7698d9f4c56 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go b/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go index 7258772c040..b597e451a12 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go b/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go index d6f4541f569..63f7f8ce961 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go b/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go index 47567bed983..7be623c4e50 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go b/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go index 6c4ce972cb1..7b7b34b49a8 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go b/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go index 4313a5db559..1bdb587e0d6 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" diff --git a/pkg/client/informers/informers_generated/factory.go b/pkg/client/informers/informers_generated/factory.go index ff5e651e414..58f20c200d1 100644 --- a/pkg/client/informers/informers_generated/factory.go +++ b/pkg/client/informers/informers_generated/factory.go @@ -21,7 +21,7 @@ package informers_generated import ( runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" - cache "k8s.io/kubernetes/pkg/client/cache" + cache "k8s.io/client-go/tools/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" apps "k8s.io/kubernetes/pkg/client/informers/informers_generated/apps" diff --git a/pkg/client/informers/informers_generated/generic.go b/pkg/client/informers/informers_generated/generic.go index e74b985fa21..679514e864b 100644 --- a/pkg/client/informers/informers_generated/generic.go +++ b/pkg/client/informers/informers_generated/generic.go @@ -21,6 +21,7 @@ package informers_generated import ( "fmt" schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps" @@ -41,7 +42,6 @@ import ( rbac_v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" storage "k8s.io/kubernetes/pkg/apis/storage" storage_v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other diff --git a/pkg/client/informers/informers_generated/internalinterfaces/BUILD b/pkg/client/informers/informers_generated/internalinterfaces/BUILD index c1ee8ee3f30..f3aeaee8b78 100644 --- a/pkg/client/informers/informers_generated/internalinterfaces/BUILD +++ b/pkg/client/informers/informers_generated/internalinterfaces/BUILD @@ -12,10 +12,10 @@ go_library( srcs = ["internal_interfaces.go"], tags = ["automanaged"], deps = [ - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go b/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go index 84f3a472120..1f689c53a8c 100644 --- a/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go +++ b/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go @@ -20,7 +20,7 @@ package internalinterfaces import ( runtime "k8s.io/apimachinery/pkg/runtime" - cache "k8s.io/kubernetes/pkg/client/cache" + cache "k8s.io/client-go/tools/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" time "time" diff --git a/pkg/client/informers/informers_generated/policy/internalversion/BUILD b/pkg/client/informers/informers_generated/policy/internalversion/BUILD index de6fdce541c..af5cfe1d4bc 100644 --- a/pkg/client/informers/informers_generated/policy/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/policy/internalversion/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/policy:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/policy/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go b/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go index 22770bdfc74..70d09519642 100644 --- a/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go +++ b/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" policy "k8s.io/kubernetes/pkg/apis/policy" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/policy/internalversion" diff --git a/pkg/client/informers/informers_generated/policy/v1beta1/BUILD b/pkg/client/informers/informers_generated/policy/v1beta1/BUILD index f20b9d9f6e2..b348634c4a5 100644 --- a/pkg/client/informers/informers_generated/policy/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/policy/v1beta1/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/policy/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/policy/v1beta1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go b/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go index a97b9137eee..0bc86351119 100644 --- a/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go +++ b/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" policy_v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/policy/v1beta1" diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/BUILD b/pkg/client/informers/informers_generated/rbac/internalversion/BUILD index 9c7613dca5e..75f1713673b 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/rbac/internalversion/BUILD @@ -19,13 +19,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/rbac:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/rbac/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go index 7df4cae9cf2..3c9bde8a037 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go index dd8804b3973..4ba2477295a 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/role.go b/pkg/client/informers/informers_generated/rbac/internalversion/role.go index e324ffaba1f..2d3f36ec803 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/role.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/role.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go b/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go index 1db49ae6892..da5ae1aa175 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD b/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD index ff5c67d42d2..2c3e984564a 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD @@ -19,13 +19,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/rbac/v1alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/rbac/v1alpha1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go index 86cb9087ec8..4c7a0e76258 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go index 70872dbb501..e8312cab991 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go index 360ccdc2913..5064c1b4d1e 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go index 84de661128f..1100d08680e 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" diff --git a/pkg/client/informers/informers_generated/rbac/v1beta1/BUILD b/pkg/client/informers/informers_generated/rbac/v1beta1/BUILD index 0a055d90b2b..a60aba668cf 100644 --- a/pkg/client/informers/informers_generated/rbac/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/rbac/v1beta1/BUILD @@ -19,13 +19,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/rbac/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/rbac/v1beta1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrole.go b/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrole.go index d5b240c66dc..b0496c24e78 100644 --- a/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrole.go +++ b/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrole.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1beta1" diff --git a/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrolebinding.go b/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrolebinding.go index 16d3eb9461d..13a3811a3b6 100644 --- a/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrolebinding.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1beta1" diff --git a/pkg/client/informers/informers_generated/rbac/v1beta1/role.go b/pkg/client/informers/informers_generated/rbac/v1beta1/role.go index 7f777812816..5d4174817c2 100644 --- a/pkg/client/informers/informers_generated/rbac/v1beta1/role.go +++ b/pkg/client/informers/informers_generated/rbac/v1beta1/role.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1beta1" diff --git a/pkg/client/informers/informers_generated/rbac/v1beta1/rolebinding.go b/pkg/client/informers/informers_generated/rbac/v1beta1/rolebinding.go index cbca10a6306..ae878d76e52 100644 --- a/pkg/client/informers/informers_generated/rbac/v1beta1/rolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/v1beta1/rolebinding.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" rbac_v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1beta1" diff --git a/pkg/client/informers/informers_generated/storage/internalversion/BUILD b/pkg/client/informers/informers_generated/storage/internalversion/BUILD index 3c1f3ba754d..40a957eae39 100644 --- a/pkg/client/informers/informers_generated/storage/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/storage/internalversion/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/storage:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/storage/internalversion:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go b/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go index cfb63387d2f..8e028e65b7b 100644 --- a/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go +++ b/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" storage "k8s.io/kubernetes/pkg/apis/storage" - cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/storage/internalversion" diff --git a/pkg/client/informers/informers_generated/storage/v1beta1/BUILD b/pkg/client/informers/informers_generated/storage/v1beta1/BUILD index 1142cd5e895..786d0773010 100644 --- a/pkg/client/informers/informers_generated/storage/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/storage/v1beta1/BUILD @@ -16,13 +16,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/storage/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/storage/v1beta1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go b/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go index d7e6ca12f39..beeb0261137 100644 --- a/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go +++ b/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go @@ -22,8 +22,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" storage_v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/storage/v1beta1" diff --git a/pkg/client/legacylisters/BUILD b/pkg/client/legacylisters/BUILD index a51ec3c34af..032d8c07745 100644 --- a/pkg/client/legacylisters/BUILD +++ b/pkg/client/legacylisters/BUILD @@ -16,11 +16,11 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -44,11 +44,11 @@ go_library( "//pkg/apis/rbac:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/legacylisters/listers.go b/pkg/client/legacylisters/listers.go index 0055489467e..da5506a3857 100644 --- a/pkg/client/legacylisters/listers.go +++ b/pkg/client/legacylisters/listers.go @@ -23,6 +23,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" @@ -30,7 +31,6 @@ import ( policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" storageinternal "k8s.io/kubernetes/pkg/apis/storage" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/legacylisters/listers_core.go b/pkg/client/legacylisters/listers_core.go index 64b85bacf07..c8c3985365d 100644 --- a/pkg/client/legacylisters/listers_core.go +++ b/pkg/client/legacylisters/listers_core.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/legacylisters/listers_extensions.go b/pkg/client/legacylisters/listers_extensions.go index 302f7a0b2cd..12a6c47d4e1 100644 --- a/pkg/client/legacylisters/listers_extensions.go +++ b/pkg/client/legacylisters/listers_extensions.go @@ -22,10 +22,10 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/legacylisters/listers_rbac.go b/pkg/client/legacylisters/listers_rbac.go index f710bfece56..93982de326f 100644 --- a/pkg/client/legacylisters/listers_rbac.go +++ b/pkg/client/legacylisters/listers_rbac.go @@ -19,8 +19,8 @@ package listers import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/client/cache" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/legacylisters/listers_test.go b/pkg/client/legacylisters/listers_test.go index e795ae4fbe6..854227613bf 100644 --- a/pkg/client/legacylisters/listers_test.go +++ b/pkg/client/legacylisters/listers_test.go @@ -23,9 +23,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) func TestStoreToNodeLister(t *testing.T) { diff --git a/pkg/client/listers/apps/internalversion/BUILD b/pkg/client/listers/apps/internalversion/BUILD index 055e081477f..12fd3b3a21c 100644 --- a/pkg/client/listers/apps/internalversion/BUILD +++ b/pkg/client/listers/apps/internalversion/BUILD @@ -18,10 +18,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/apps/internalversion/statefulset.go b/pkg/client/listers/apps/internalversion/statefulset.go index 6deb7efb1e0..327539a6c7e 100644 --- a/pkg/client/listers/apps/internalversion/statefulset.go +++ b/pkg/client/listers/apps/internalversion/statefulset.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" apps "k8s.io/kubernetes/pkg/apis/apps" - "k8s.io/kubernetes/pkg/client/cache" ) // StatefulSetLister helps list StatefulSets. diff --git a/pkg/client/listers/apps/v1beta1/BUILD b/pkg/client/listers/apps/v1beta1/BUILD index 47ce22e40c1..1b3dfe2d6a5 100644 --- a/pkg/client/listers/apps/v1beta1/BUILD +++ b/pkg/client/listers/apps/v1beta1/BUILD @@ -19,10 +19,10 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/apps/v1beta1/statefulset.go b/pkg/client/listers/apps/v1beta1/statefulset.go index 2ca8e6d3ef8..c29b857c450 100644 --- a/pkg/client/listers/apps/v1beta1/statefulset.go +++ b/pkg/client/listers/apps/v1beta1/statefulset.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" apps "k8s.io/kubernetes/pkg/apis/apps" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // StatefulSetLister helps list StatefulSets. diff --git a/pkg/client/listers/authentication/internalversion/BUILD b/pkg/client/listers/authentication/internalversion/BUILD index 0b9d8f645fe..59462407162 100644 --- a/pkg/client/listers/authentication/internalversion/BUILD +++ b/pkg/client/listers/authentication/internalversion/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/authentication:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/authentication/internalversion/tokenreview.go b/pkg/client/listers/authentication/internalversion/tokenreview.go index 34d1abf3039..6730747e984 100644 --- a/pkg/client/listers/authentication/internalversion/tokenreview.go +++ b/pkg/client/listers/authentication/internalversion/tokenreview.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authentication "k8s.io/kubernetes/pkg/apis/authentication" - "k8s.io/kubernetes/pkg/client/cache" ) // TokenReviewLister helps list TokenReviews. diff --git a/pkg/client/listers/authentication/v1beta1/BUILD b/pkg/client/listers/authentication/v1beta1/BUILD index 1f354802d09..ef41b837abc 100644 --- a/pkg/client/listers/authentication/v1beta1/BUILD +++ b/pkg/client/listers/authentication/v1beta1/BUILD @@ -17,10 +17,10 @@ go_library( deps = [ "//pkg/apis/authentication:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/authentication/v1beta1/tokenreview.go b/pkg/client/listers/authentication/v1beta1/tokenreview.go index 65d86b506f5..cceedc65eff 100644 --- a/pkg/client/listers/authentication/v1beta1/tokenreview.go +++ b/pkg/client/listers/authentication/v1beta1/tokenreview.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authentication "k8s.io/kubernetes/pkg/apis/authentication" v1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // TokenReviewLister helps list TokenReviews. diff --git a/pkg/client/listers/authorization/internalversion/BUILD b/pkg/client/listers/authorization/internalversion/BUILD index 938b60780ef..0bbeb3ac153 100644 --- a/pkg/client/listers/authorization/internalversion/BUILD +++ b/pkg/client/listers/authorization/internalversion/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/authorization:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go b/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go index 8ef9158d005..f44df510914 100644 --- a/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go +++ b/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authorization "k8s.io/kubernetes/pkg/apis/authorization" - "k8s.io/kubernetes/pkg/client/cache" ) // LocalSubjectAccessReviewLister helps list LocalSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go b/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go index 1a7ebbe3d8d..87cb85275f8 100644 --- a/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go +++ b/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authorization "k8s.io/kubernetes/pkg/apis/authorization" - "k8s.io/kubernetes/pkg/client/cache" ) // SelfSubjectAccessReviewLister helps list SelfSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/internalversion/subjectaccessreview.go b/pkg/client/listers/authorization/internalversion/subjectaccessreview.go index 5aee57949ab..35ed6bd1bd7 100644 --- a/pkg/client/listers/authorization/internalversion/subjectaccessreview.go +++ b/pkg/client/listers/authorization/internalversion/subjectaccessreview.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authorization "k8s.io/kubernetes/pkg/apis/authorization" - "k8s.io/kubernetes/pkg/client/cache" ) // SubjectAccessReviewLister helps list SubjectAccessReviews. diff --git a/pkg/client/listers/authorization/v1beta1/BUILD b/pkg/client/listers/authorization/v1beta1/BUILD index 8bfaee5f94f..fec6645bece 100644 --- a/pkg/client/listers/authorization/v1beta1/BUILD +++ b/pkg/client/listers/authorization/v1beta1/BUILD @@ -19,10 +19,10 @@ go_library( deps = [ "//pkg/apis/authorization:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go b/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go index a39ad2850e1..e37b4cbd2c5 100644 --- a/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go +++ b/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authorization "k8s.io/kubernetes/pkg/apis/authorization" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // LocalSubjectAccessReviewLister helps list LocalSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go b/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go index 1c8d9df11ee..efb641d4b69 100644 --- a/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go +++ b/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authorization "k8s.io/kubernetes/pkg/apis/authorization" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // SelfSubjectAccessReviewLister helps list SelfSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go b/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go index 4595b4e2fca..f33b97916c4 100644 --- a/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go +++ b/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" authorization "k8s.io/kubernetes/pkg/apis/authorization" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // SubjectAccessReviewLister helps list SubjectAccessReviews. diff --git a/pkg/client/listers/autoscaling/internalversion/BUILD b/pkg/client/listers/autoscaling/internalversion/BUILD index e7f8e332851..7b2ca0ab351 100644 --- a/pkg/client/listers/autoscaling/internalversion/BUILD +++ b/pkg/client/listers/autoscaling/internalversion/BUILD @@ -16,9 +16,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/autoscaling:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go b/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go index 8d39d0ad6c4..941eb7bc58a 100644 --- a/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go +++ b/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" - "k8s.io/kubernetes/pkg/client/cache" ) // HorizontalPodAutoscalerLister helps list HorizontalPodAutoscalers. diff --git a/pkg/client/listers/autoscaling/v1/BUILD b/pkg/client/listers/autoscaling/v1/BUILD index 684cc5f525a..ba4b8f5a37d 100644 --- a/pkg/client/listers/autoscaling/v1/BUILD +++ b/pkg/client/listers/autoscaling/v1/BUILD @@ -17,9 +17,9 @@ go_library( deps = [ "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go b/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go index 146d314d54c..aa394ba9cdc 100644 --- a/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go +++ b/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // HorizontalPodAutoscalerLister helps list HorizontalPodAutoscalers. diff --git a/pkg/client/listers/batch/internalversion/BUILD b/pkg/client/listers/batch/internalversion/BUILD index 128c24cc82c..49a18d22c5b 100644 --- a/pkg/client/listers/batch/internalversion/BUILD +++ b/pkg/client/listers/batch/internalversion/BUILD @@ -20,10 +20,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -35,10 +35,10 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/batch/internalversion/cronjob.go b/pkg/client/listers/batch/internalversion/cronjob.go index 10c989a8586..f0e4cd7bc83 100644 --- a/pkg/client/listers/batch/internalversion/cronjob.go +++ b/pkg/client/listers/batch/internalversion/cronjob.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" - "k8s.io/kubernetes/pkg/client/cache" ) // CronJobLister helps list CronJobs. diff --git a/pkg/client/listers/batch/internalversion/job.go b/pkg/client/listers/batch/internalversion/job.go index 0ce474da970..579495491a4 100644 --- a/pkg/client/listers/batch/internalversion/job.go +++ b/pkg/client/listers/batch/internalversion/job.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" - "k8s.io/kubernetes/pkg/client/cache" ) // JobLister helps list Jobs. diff --git a/pkg/client/listers/batch/internalversion/job_test.go b/pkg/client/listers/batch/internalversion/job_test.go index 8fef7438afc..c4785934524 100644 --- a/pkg/client/listers/batch/internalversion/job_test.go +++ b/pkg/client/listers/batch/internalversion/job_test.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" - "k8s.io/kubernetes/pkg/client/cache" ) func TestJobLister(t *testing.T) { diff --git a/pkg/client/listers/batch/v1/BUILD b/pkg/client/listers/batch/v1/BUILD index 991eda61c9f..2bbcb512a96 100644 --- a/pkg/client/listers/batch/v1/BUILD +++ b/pkg/client/listers/batch/v1/BUILD @@ -19,10 +19,10 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/batch/v1/job.go b/pkg/client/listers/batch/v1/job.go index 48fe059f517..48ddf515cf2 100644 --- a/pkg/client/listers/batch/v1/job.go +++ b/pkg/client/listers/batch/v1/job.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // JobLister helps list Jobs. diff --git a/pkg/client/listers/batch/v2alpha1/BUILD b/pkg/client/listers/batch/v2alpha1/BUILD index ff15b468ef8..f69792e6107 100644 --- a/pkg/client/listers/batch/v2alpha1/BUILD +++ b/pkg/client/listers/batch/v2alpha1/BUILD @@ -18,9 +18,9 @@ go_library( deps = [ "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/batch/v2alpha1/cronjob.go b/pkg/client/listers/batch/v2alpha1/cronjob.go index 24efa21b022..4cf30fbc680 100644 --- a/pkg/client/listers/batch/v2alpha1/cronjob.go +++ b/pkg/client/listers/batch/v2alpha1/cronjob.go @@ -21,9 +21,9 @@ package v2alpha1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // CronJobLister helps list CronJobs. diff --git a/pkg/client/listers/batch/v2alpha1/job.go b/pkg/client/listers/batch/v2alpha1/job.go index a90a6fd9dbe..ce802c18d56 100644 --- a/pkg/client/listers/batch/v2alpha1/job.go +++ b/pkg/client/listers/batch/v2alpha1/job.go @@ -21,9 +21,9 @@ package v2alpha1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // JobLister helps list Jobs. diff --git a/pkg/client/listers/certificates/internalversion/BUILD b/pkg/client/listers/certificates/internalversion/BUILD index d407af8cd8a..6ba11105a96 100644 --- a/pkg/client/listers/certificates/internalversion/BUILD +++ b/pkg/client/listers/certificates/internalversion/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/certificates:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go b/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go index 4ea01760dda..0deeeff38b1 100644 --- a/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go +++ b/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" certificates "k8s.io/kubernetes/pkg/apis/certificates" - "k8s.io/kubernetes/pkg/client/cache" ) // CertificateSigningRequestLister helps list CertificateSigningRequests. diff --git a/pkg/client/listers/certificates/v1beta1/BUILD b/pkg/client/listers/certificates/v1beta1/BUILD index dcde148718f..8caa771005a 100644 --- a/pkg/client/listers/certificates/v1beta1/BUILD +++ b/pkg/client/listers/certificates/v1beta1/BUILD @@ -17,10 +17,10 @@ go_library( deps = [ "//pkg/apis/certificates:go_default_library", "//pkg/apis/certificates/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/certificates/v1beta1/certificatesigningrequest.go b/pkg/client/listers/certificates/v1beta1/certificatesigningrequest.go index 67fb70e2433..27dc23b1070 100644 --- a/pkg/client/listers/certificates/v1beta1/certificatesigningrequest.go +++ b/pkg/client/listers/certificates/v1beta1/certificatesigningrequest.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" certificates "k8s.io/kubernetes/pkg/apis/certificates" v1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // CertificateSigningRequestLister helps list CertificateSigningRequests. diff --git a/pkg/client/listers/core/internalversion/BUILD b/pkg/client/listers/core/internalversion/BUILD index a48ad46689f..ad9aa87e526 100644 --- a/pkg/client/listers/core/internalversion/BUILD +++ b/pkg/client/listers/core/internalversion/BUILD @@ -34,10 +34,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/core/internalversion/componentstatus.go b/pkg/client/listers/core/internalversion/componentstatus.go index 73e3c088823..35512c527a1 100644 --- a/pkg/client/listers/core/internalversion/componentstatus.go +++ b/pkg/client/listers/core/internalversion/componentstatus.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // ComponentStatusLister helps list ComponentStatuses. diff --git a/pkg/client/listers/core/internalversion/configmap.go b/pkg/client/listers/core/internalversion/configmap.go index 6437871b560..d9deea427a7 100644 --- a/pkg/client/listers/core/internalversion/configmap.go +++ b/pkg/client/listers/core/internalversion/configmap.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // ConfigMapLister helps list ConfigMaps. diff --git a/pkg/client/listers/core/internalversion/endpoints.go b/pkg/client/listers/core/internalversion/endpoints.go index 3e86cbf27e4..a2100b68595 100644 --- a/pkg/client/listers/core/internalversion/endpoints.go +++ b/pkg/client/listers/core/internalversion/endpoints.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // EndpointsLister helps list Endpoints. diff --git a/pkg/client/listers/core/internalversion/event.go b/pkg/client/listers/core/internalversion/event.go index 182a5938b20..82b230aae36 100644 --- a/pkg/client/listers/core/internalversion/event.go +++ b/pkg/client/listers/core/internalversion/event.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // EventLister helps list Events. diff --git a/pkg/client/listers/core/internalversion/limitrange.go b/pkg/client/listers/core/internalversion/limitrange.go index acf0a860983..ccada9aa5e5 100644 --- a/pkg/client/listers/core/internalversion/limitrange.go +++ b/pkg/client/listers/core/internalversion/limitrange.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // LimitRangeLister helps list LimitRanges. diff --git a/pkg/client/listers/core/internalversion/namespace.go b/pkg/client/listers/core/internalversion/namespace.go index ba1955827b9..b578317b70f 100644 --- a/pkg/client/listers/core/internalversion/namespace.go +++ b/pkg/client/listers/core/internalversion/namespace.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // NamespaceLister helps list Namespaces. diff --git a/pkg/client/listers/core/internalversion/node.go b/pkg/client/listers/core/internalversion/node.go index 274bcf4f1b2..ee79118ba79 100644 --- a/pkg/client/listers/core/internalversion/node.go +++ b/pkg/client/listers/core/internalversion/node.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // NodeLister helps list Nodes. diff --git a/pkg/client/listers/core/internalversion/persistentvolume.go b/pkg/client/listers/core/internalversion/persistentvolume.go index 99b6e3d46b2..50dd66f19a2 100644 --- a/pkg/client/listers/core/internalversion/persistentvolume.go +++ b/pkg/client/listers/core/internalversion/persistentvolume.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // PersistentVolumeLister helps list PersistentVolumes. diff --git a/pkg/client/listers/core/internalversion/persistentvolumeclaim.go b/pkg/client/listers/core/internalversion/persistentvolumeclaim.go index 8832b16faa0..22ac964d72b 100644 --- a/pkg/client/listers/core/internalversion/persistentvolumeclaim.go +++ b/pkg/client/listers/core/internalversion/persistentvolumeclaim.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // PersistentVolumeClaimLister helps list PersistentVolumeClaims. diff --git a/pkg/client/listers/core/internalversion/pod.go b/pkg/client/listers/core/internalversion/pod.go index 47529938748..0af60546246 100644 --- a/pkg/client/listers/core/internalversion/pod.go +++ b/pkg/client/listers/core/internalversion/pod.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // PodLister helps list Pods. diff --git a/pkg/client/listers/core/internalversion/podtemplate.go b/pkg/client/listers/core/internalversion/podtemplate.go index d9b1a1779db..d674792b41c 100644 --- a/pkg/client/listers/core/internalversion/podtemplate.go +++ b/pkg/client/listers/core/internalversion/podtemplate.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // PodTemplateLister helps list PodTemplates. diff --git a/pkg/client/listers/core/internalversion/replicationcontroller.go b/pkg/client/listers/core/internalversion/replicationcontroller.go index 30a663715c7..d536d2b8473 100644 --- a/pkg/client/listers/core/internalversion/replicationcontroller.go +++ b/pkg/client/listers/core/internalversion/replicationcontroller.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // ReplicationControllerLister helps list ReplicationControllers. diff --git a/pkg/client/listers/core/internalversion/resourcequota.go b/pkg/client/listers/core/internalversion/resourcequota.go index baf5e3e5c5e..d7f7a010b46 100644 --- a/pkg/client/listers/core/internalversion/resourcequota.go +++ b/pkg/client/listers/core/internalversion/resourcequota.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // ResourceQuotaLister helps list ResourceQuotas. diff --git a/pkg/client/listers/core/internalversion/secret.go b/pkg/client/listers/core/internalversion/secret.go index bc4240b41bf..49f090ac1f6 100644 --- a/pkg/client/listers/core/internalversion/secret.go +++ b/pkg/client/listers/core/internalversion/secret.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // SecretLister helps list Secrets. diff --git a/pkg/client/listers/core/internalversion/service.go b/pkg/client/listers/core/internalversion/service.go index 391c4149845..ea2efb5b0a3 100644 --- a/pkg/client/listers/core/internalversion/service.go +++ b/pkg/client/listers/core/internalversion/service.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // ServiceLister helps list Services. diff --git a/pkg/client/listers/core/internalversion/serviceaccount.go b/pkg/client/listers/core/internalversion/serviceaccount.go index 2e17785d152..38a2402bf6b 100644 --- a/pkg/client/listers/core/internalversion/serviceaccount.go +++ b/pkg/client/listers/core/internalversion/serviceaccount.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // ServiceAccountLister helps list ServiceAccounts. diff --git a/pkg/client/listers/core/v1/BUILD b/pkg/client/listers/core/v1/BUILD index ca069605d25..1b077a6dafe 100644 --- a/pkg/client/listers/core/v1/BUILD +++ b/pkg/client/listers/core/v1/BUILD @@ -35,10 +35,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/core/v1/componentstatus.go b/pkg/client/listers/core/v1/componentstatus.go index 84ba9c22c1c..5decd24fe35 100644 --- a/pkg/client/listers/core/v1/componentstatus.go +++ b/pkg/client/listers/core/v1/componentstatus.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // ComponentStatusLister helps list ComponentStatuses. diff --git a/pkg/client/listers/core/v1/configmap.go b/pkg/client/listers/core/v1/configmap.go index 1adf9391cc1..d1e7ffa32b9 100644 --- a/pkg/client/listers/core/v1/configmap.go +++ b/pkg/client/listers/core/v1/configmap.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // ConfigMapLister helps list ConfigMaps. diff --git a/pkg/client/listers/core/v1/endpoints.go b/pkg/client/listers/core/v1/endpoints.go index 4f72ccb02ed..f061266685d 100644 --- a/pkg/client/listers/core/v1/endpoints.go +++ b/pkg/client/listers/core/v1/endpoints.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // EndpointsLister helps list Endpoints. diff --git a/pkg/client/listers/core/v1/event.go b/pkg/client/listers/core/v1/event.go index bb242375cce..c8102decab6 100644 --- a/pkg/client/listers/core/v1/event.go +++ b/pkg/client/listers/core/v1/event.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // EventLister helps list Events. diff --git a/pkg/client/listers/core/v1/limitrange.go b/pkg/client/listers/core/v1/limitrange.go index 7815fd8f71c..c6598222af7 100644 --- a/pkg/client/listers/core/v1/limitrange.go +++ b/pkg/client/listers/core/v1/limitrange.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // LimitRangeLister helps list LimitRanges. diff --git a/pkg/client/listers/core/v1/namespace.go b/pkg/client/listers/core/v1/namespace.go index 9aa43882e8f..c6a7dd8b19a 100644 --- a/pkg/client/listers/core/v1/namespace.go +++ b/pkg/client/listers/core/v1/namespace.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // NamespaceLister helps list Namespaces. diff --git a/pkg/client/listers/core/v1/node.go b/pkg/client/listers/core/v1/node.go index bfda357a288..957c82dde46 100644 --- a/pkg/client/listers/core/v1/node.go +++ b/pkg/client/listers/core/v1/node.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // NodeLister helps list Nodes. diff --git a/pkg/client/listers/core/v1/persistentvolume.go b/pkg/client/listers/core/v1/persistentvolume.go index 086b2828853..8f49d60dcdf 100644 --- a/pkg/client/listers/core/v1/persistentvolume.go +++ b/pkg/client/listers/core/v1/persistentvolume.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // PersistentVolumeLister helps list PersistentVolumes. diff --git a/pkg/client/listers/core/v1/persistentvolumeclaim.go b/pkg/client/listers/core/v1/persistentvolumeclaim.go index 8fa586b3e4a..8c87df294f1 100644 --- a/pkg/client/listers/core/v1/persistentvolumeclaim.go +++ b/pkg/client/listers/core/v1/persistentvolumeclaim.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // PersistentVolumeClaimLister helps list PersistentVolumeClaims. diff --git a/pkg/client/listers/core/v1/pod.go b/pkg/client/listers/core/v1/pod.go index 2c7f25b0e7e..cd7e741c27e 100644 --- a/pkg/client/listers/core/v1/pod.go +++ b/pkg/client/listers/core/v1/pod.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // PodLister helps list Pods. diff --git a/pkg/client/listers/core/v1/podtemplate.go b/pkg/client/listers/core/v1/podtemplate.go index 3d9ab7a649a..be1d25f5ff8 100644 --- a/pkg/client/listers/core/v1/podtemplate.go +++ b/pkg/client/listers/core/v1/podtemplate.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // PodTemplateLister helps list PodTemplates. diff --git a/pkg/client/listers/core/v1/replicationcontroller.go b/pkg/client/listers/core/v1/replicationcontroller.go index 8bc8899a53d..37cb27c1f85 100644 --- a/pkg/client/listers/core/v1/replicationcontroller.go +++ b/pkg/client/listers/core/v1/replicationcontroller.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // ReplicationControllerLister helps list ReplicationControllers. diff --git a/pkg/client/listers/core/v1/resourcequota.go b/pkg/client/listers/core/v1/resourcequota.go index e29e080a2a1..f2a86229df7 100644 --- a/pkg/client/listers/core/v1/resourcequota.go +++ b/pkg/client/listers/core/v1/resourcequota.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // ResourceQuotaLister helps list ResourceQuotas. diff --git a/pkg/client/listers/core/v1/secret.go b/pkg/client/listers/core/v1/secret.go index a7761bb0d5a..152461933c4 100644 --- a/pkg/client/listers/core/v1/secret.go +++ b/pkg/client/listers/core/v1/secret.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // SecretLister helps list Secrets. diff --git a/pkg/client/listers/core/v1/service.go b/pkg/client/listers/core/v1/service.go index f4ca703ce37..87142db3edb 100644 --- a/pkg/client/listers/core/v1/service.go +++ b/pkg/client/listers/core/v1/service.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // ServiceLister helps list Services. diff --git a/pkg/client/listers/core/v1/serviceaccount.go b/pkg/client/listers/core/v1/serviceaccount.go index 8dfea813d9e..7c7211ca264 100644 --- a/pkg/client/listers/core/v1/serviceaccount.go +++ b/pkg/client/listers/core/v1/serviceaccount.go @@ -21,9 +21,9 @@ package v1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" ) // ServiceAccountLister helps list ServiceAccounts. diff --git a/pkg/client/listers/extensions/internalversion/BUILD b/pkg/client/listers/extensions/internalversion/BUILD index aa47da0053f..2fa0497bb51 100644 --- a/pkg/client/listers/extensions/internalversion/BUILD +++ b/pkg/client/listers/extensions/internalversion/BUILD @@ -28,10 +28,10 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -56,9 +56,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/extensions/internalversion/daemonset.go b/pkg/client/listers/extensions/internalversion/daemonset.go index ca29b87c9a1..251eaf0f6bf 100644 --- a/pkg/client/listers/extensions/internalversion/daemonset.go +++ b/pkg/client/listers/extensions/internalversion/daemonset.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // DaemonSetLister helps list DaemonSets. diff --git a/pkg/client/listers/extensions/internalversion/daemonset_expansion_test.go b/pkg/client/listers/extensions/internalversion/daemonset_expansion_test.go index dabe19bef99..b3a596c07e7 100644 --- a/pkg/client/listers/extensions/internalversion/daemonset_expansion_test.go +++ b/pkg/client/listers/extensions/internalversion/daemonset_expansion_test.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) func TestDaemonSetLister(t *testing.T) { diff --git a/pkg/client/listers/extensions/internalversion/deployment.go b/pkg/client/listers/extensions/internalversion/deployment.go index 4358ee102d4..8ad9e24296e 100644 --- a/pkg/client/listers/extensions/internalversion/deployment.go +++ b/pkg/client/listers/extensions/internalversion/deployment.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // DeploymentLister helps list Deployments. diff --git a/pkg/client/listers/extensions/internalversion/ingress.go b/pkg/client/listers/extensions/internalversion/ingress.go index 4987303935e..eab9cb2f77e 100644 --- a/pkg/client/listers/extensions/internalversion/ingress.go +++ b/pkg/client/listers/extensions/internalversion/ingress.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // IngressLister helps list Ingresses. diff --git a/pkg/client/listers/extensions/internalversion/networkpolicy.go b/pkg/client/listers/extensions/internalversion/networkpolicy.go index f295d3cd5a6..64b2bb142ff 100644 --- a/pkg/client/listers/extensions/internalversion/networkpolicy.go +++ b/pkg/client/listers/extensions/internalversion/networkpolicy.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // NetworkPolicyLister helps list NetworkPolicies. diff --git a/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go b/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go index 1f566d23438..d57e1b34697 100644 --- a/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go +++ b/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // PodSecurityPolicyLister helps list PodSecurityPolicies. diff --git a/pkg/client/listers/extensions/internalversion/replicaset.go b/pkg/client/listers/extensions/internalversion/replicaset.go index 75406b91fd5..972410495ea 100644 --- a/pkg/client/listers/extensions/internalversion/replicaset.go +++ b/pkg/client/listers/extensions/internalversion/replicaset.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // ReplicaSetLister helps list ReplicaSets. diff --git a/pkg/client/listers/extensions/internalversion/scale.go b/pkg/client/listers/extensions/internalversion/scale.go index dcb396a1c58..b42eb8831e9 100644 --- a/pkg/client/listers/extensions/internalversion/scale.go +++ b/pkg/client/listers/extensions/internalversion/scale.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // ScaleLister helps list Scales. diff --git a/pkg/client/listers/extensions/internalversion/thirdpartyresource.go b/pkg/client/listers/extensions/internalversion/thirdpartyresource.go index 78ba1beaadd..d642a219279 100644 --- a/pkg/client/listers/extensions/internalversion/thirdpartyresource.go +++ b/pkg/client/listers/extensions/internalversion/thirdpartyresource.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" ) // ThirdPartyResourceLister helps list ThirdPartyResources. diff --git a/pkg/client/listers/extensions/v1beta1/BUILD b/pkg/client/listers/extensions/v1beta1/BUILD index 7cb5734e526..3c7fbfd7686 100644 --- a/pkg/client/listers/extensions/v1beta1/BUILD +++ b/pkg/client/listers/extensions/v1beta1/BUILD @@ -28,10 +28,10 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -56,9 +56,9 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/extensions/v1beta1/daemonset.go b/pkg/client/listers/extensions/v1beta1/daemonset.go index 01500ad3de8..49f7f267bb2 100644 --- a/pkg/client/listers/extensions/v1beta1/daemonset.go +++ b/pkg/client/listers/extensions/v1beta1/daemonset.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // DaemonSetLister helps list DaemonSets. diff --git a/pkg/client/listers/extensions/v1beta1/daemonset_expansion_test.go b/pkg/client/listers/extensions/v1beta1/daemonset_expansion_test.go index c9c5f9ba6d8..3396bd99d1e 100644 --- a/pkg/client/listers/extensions/v1beta1/daemonset_expansion_test.go +++ b/pkg/client/listers/extensions/v1beta1/daemonset_expansion_test.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) func TestDaemonSetLister(t *testing.T) { diff --git a/pkg/client/listers/extensions/v1beta1/deployment.go b/pkg/client/listers/extensions/v1beta1/deployment.go index 8fc73ff62ee..1cb3cb3d074 100644 --- a/pkg/client/listers/extensions/v1beta1/deployment.go +++ b/pkg/client/listers/extensions/v1beta1/deployment.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // DeploymentLister helps list Deployments. diff --git a/pkg/client/listers/extensions/v1beta1/ingress.go b/pkg/client/listers/extensions/v1beta1/ingress.go index 4ad8fe42d0a..acf0ce720eb 100644 --- a/pkg/client/listers/extensions/v1beta1/ingress.go +++ b/pkg/client/listers/extensions/v1beta1/ingress.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // IngressLister helps list Ingresses. diff --git a/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go b/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go index 3423ccfbb7c..a1af14e1eeb 100644 --- a/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go +++ b/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // PodSecurityPolicyLister helps list PodSecurityPolicies. diff --git a/pkg/client/listers/extensions/v1beta1/replicaset.go b/pkg/client/listers/extensions/v1beta1/replicaset.go index af42f0422f8..1c9927c3178 100644 --- a/pkg/client/listers/extensions/v1beta1/replicaset.go +++ b/pkg/client/listers/extensions/v1beta1/replicaset.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // ReplicaSetLister helps list ReplicaSets. diff --git a/pkg/client/listers/extensions/v1beta1/scale.go b/pkg/client/listers/extensions/v1beta1/scale.go index 29ccfaac1a3..5dee71f07ea 100644 --- a/pkg/client/listers/extensions/v1beta1/scale.go +++ b/pkg/client/listers/extensions/v1beta1/scale.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // ScaleLister helps list Scales. diff --git a/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go b/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go index b6331082fcd..3238ac75564 100644 --- a/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go +++ b/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // ThirdPartyResourceLister helps list ThirdPartyResources. diff --git a/pkg/client/listers/imagepolicy/internalversion/BUILD b/pkg/client/listers/imagepolicy/internalversion/BUILD index 5d84b35a44f..22d413549dc 100644 --- a/pkg/client/listers/imagepolicy/internalversion/BUILD +++ b/pkg/client/listers/imagepolicy/internalversion/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/imagepolicy:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/imagepolicy/internalversion/imagereview.go b/pkg/client/listers/imagepolicy/internalversion/imagereview.go index d03d1c084bb..f2bd9caf20b 100644 --- a/pkg/client/listers/imagepolicy/internalversion/imagereview.go +++ b/pkg/client/listers/imagepolicy/internalversion/imagereview.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" imagepolicy "k8s.io/kubernetes/pkg/apis/imagepolicy" - "k8s.io/kubernetes/pkg/client/cache" ) // ImageReviewLister helps list ImageReviews. diff --git a/pkg/client/listers/imagepolicy/v1alpha1/BUILD b/pkg/client/listers/imagepolicy/v1alpha1/BUILD index 4853abadf36..32c4bd24df2 100644 --- a/pkg/client/listers/imagepolicy/v1alpha1/BUILD +++ b/pkg/client/listers/imagepolicy/v1alpha1/BUILD @@ -17,10 +17,10 @@ go_library( deps = [ "//pkg/apis/imagepolicy:go_default_library", "//pkg/apis/imagepolicy/v1alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go b/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go index d0af547299a..1f72aa47ca0 100644 --- a/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go +++ b/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" imagepolicy "k8s.io/kubernetes/pkg/apis/imagepolicy" v1alpha1 "k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // ImageReviewLister helps list ImageReviews. diff --git a/pkg/client/listers/policy/internalversion/BUILD b/pkg/client/listers/policy/internalversion/BUILD index 5c73fe94032..6b22e2b168e 100644 --- a/pkg/client/listers/policy/internalversion/BUILD +++ b/pkg/client/listers/policy/internalversion/BUILD @@ -19,11 +19,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/policy:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/policy/internalversion/eviction.go b/pkg/client/listers/policy/internalversion/eviction.go index b5a2370a3f3..c632bfc2f42 100644 --- a/pkg/client/listers/policy/internalversion/eviction.go +++ b/pkg/client/listers/policy/internalversion/eviction.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" policy "k8s.io/kubernetes/pkg/apis/policy" - "k8s.io/kubernetes/pkg/client/cache" ) // EvictionLister helps list Evictions. diff --git a/pkg/client/listers/policy/internalversion/poddisruptionbudget.go b/pkg/client/listers/policy/internalversion/poddisruptionbudget.go index 39d28e3f9ca..b06ecec259e 100644 --- a/pkg/client/listers/policy/internalversion/poddisruptionbudget.go +++ b/pkg/client/listers/policy/internalversion/poddisruptionbudget.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" policy "k8s.io/kubernetes/pkg/apis/policy" - "k8s.io/kubernetes/pkg/client/cache" ) // PodDisruptionBudgetLister helps list PodDisruptionBudgets. diff --git a/pkg/client/listers/policy/v1alpha1/BUILD b/pkg/client/listers/policy/v1alpha1/BUILD index 97d9e7e18f6..fbae1c4c42d 100644 --- a/pkg/client/listers/policy/v1alpha1/BUILD +++ b/pkg/client/listers/policy/v1alpha1/BUILD @@ -17,9 +17,9 @@ go_library( deps = [ "//pkg/apis/policy:go_default_library", "//pkg/apis/policy/v1alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go b/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go index 5d5b2cbc1ec..3959db10df7 100644 --- a/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go +++ b/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go @@ -21,9 +21,9 @@ package v1alpha1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" policy "k8s.io/kubernetes/pkg/apis/policy" v1alpha1 "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // PodDisruptionBudgetLister helps list PodDisruptionBudgets. diff --git a/pkg/client/listers/policy/v1beta1/BUILD b/pkg/client/listers/policy/v1beta1/BUILD index d89e2e55159..0ca98b1175c 100644 --- a/pkg/client/listers/policy/v1beta1/BUILD +++ b/pkg/client/listers/policy/v1beta1/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/policy/v1beta1/eviction.go b/pkg/client/listers/policy/v1beta1/eviction.go index 245550833a5..9e0139d1b85 100644 --- a/pkg/client/listers/policy/v1beta1/eviction.go +++ b/pkg/client/listers/policy/v1beta1/eviction.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" policy "k8s.io/kubernetes/pkg/apis/policy" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // EvictionLister helps list Evictions. diff --git a/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go b/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go index b93f4de8f93..df3403c99bb 100644 --- a/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go +++ b/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" policy "k8s.io/kubernetes/pkg/apis/policy" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // PodDisruptionBudgetLister helps list PodDisruptionBudgets. diff --git a/pkg/client/listers/rbac/internalversion/BUILD b/pkg/client/listers/rbac/internalversion/BUILD index 920805bd058..432caf1c1bb 100644 --- a/pkg/client/listers/rbac/internalversion/BUILD +++ b/pkg/client/listers/rbac/internalversion/BUILD @@ -19,10 +19,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/rbac:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/rbac/internalversion/clusterrole.go b/pkg/client/listers/rbac/internalversion/clusterrole.go index bb2c4107c15..a9cb44ce691 100644 --- a/pkg/client/listers/rbac/internalversion/clusterrole.go +++ b/pkg/client/listers/rbac/internalversion/clusterrole.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/client/cache" ) // ClusterRoleLister helps list ClusterRoles. diff --git a/pkg/client/listers/rbac/internalversion/clusterrolebinding.go b/pkg/client/listers/rbac/internalversion/clusterrolebinding.go index 2be0ccd06ce..18f5c5de2cc 100644 --- a/pkg/client/listers/rbac/internalversion/clusterrolebinding.go +++ b/pkg/client/listers/rbac/internalversion/clusterrolebinding.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/client/cache" ) // ClusterRoleBindingLister helps list ClusterRoleBindings. diff --git a/pkg/client/listers/rbac/internalversion/role.go b/pkg/client/listers/rbac/internalversion/role.go index 197a20df1af..689c4da8f45 100644 --- a/pkg/client/listers/rbac/internalversion/role.go +++ b/pkg/client/listers/rbac/internalversion/role.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/client/cache" ) // RoleLister helps list Roles. diff --git a/pkg/client/listers/rbac/internalversion/rolebinding.go b/pkg/client/listers/rbac/internalversion/rolebinding.go index ab9629fd774..968ff1d298d 100644 --- a/pkg/client/listers/rbac/internalversion/rolebinding.go +++ b/pkg/client/listers/rbac/internalversion/rolebinding.go @@ -21,8 +21,8 @@ package internalversion import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/client/cache" ) // RoleBindingLister helps list RoleBindings. diff --git a/pkg/client/listers/rbac/v1alpha1/BUILD b/pkg/client/listers/rbac/v1alpha1/BUILD index 6bad9e0ce1d..751d7cf59d4 100644 --- a/pkg/client/listers/rbac/v1alpha1/BUILD +++ b/pkg/client/listers/rbac/v1alpha1/BUILD @@ -20,10 +20,10 @@ go_library( deps = [ "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/rbac/v1alpha1/clusterrole.go b/pkg/client/listers/rbac/v1alpha1/clusterrole.go index 8c40353619b..ac13573b5e4 100644 --- a/pkg/client/listers/rbac/v1alpha1/clusterrole.go +++ b/pkg/client/listers/rbac/v1alpha1/clusterrole.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // ClusterRoleLister helps list ClusterRoles. diff --git a/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go b/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go index af2e6b60ae8..30bb3800c21 100644 --- a/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go +++ b/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // ClusterRoleBindingLister helps list ClusterRoleBindings. diff --git a/pkg/client/listers/rbac/v1alpha1/role.go b/pkg/client/listers/rbac/v1alpha1/role.go index 08edd1e6ad3..0a8a6ea7403 100644 --- a/pkg/client/listers/rbac/v1alpha1/role.go +++ b/pkg/client/listers/rbac/v1alpha1/role.go @@ -21,9 +21,9 @@ package v1alpha1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // RoleLister helps list Roles. diff --git a/pkg/client/listers/rbac/v1alpha1/rolebinding.go b/pkg/client/listers/rbac/v1alpha1/rolebinding.go index 85ca36a8dfd..8334343a0f6 100644 --- a/pkg/client/listers/rbac/v1alpha1/rolebinding.go +++ b/pkg/client/listers/rbac/v1alpha1/rolebinding.go @@ -21,9 +21,9 @@ package v1alpha1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" ) // RoleBindingLister helps list RoleBindings. diff --git a/pkg/client/listers/rbac/v1beta1/BUILD b/pkg/client/listers/rbac/v1beta1/BUILD index 864fc9604e4..943bb559ea8 100644 --- a/pkg/client/listers/rbac/v1beta1/BUILD +++ b/pkg/client/listers/rbac/v1beta1/BUILD @@ -20,10 +20,10 @@ go_library( deps = [ "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/rbac/v1beta1/clusterrole.go b/pkg/client/listers/rbac/v1beta1/clusterrole.go index 931f9a73c28..6788f2e90b9 100644 --- a/pkg/client/listers/rbac/v1beta1/clusterrole.go +++ b/pkg/client/listers/rbac/v1beta1/clusterrole.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // ClusterRoleLister helps list ClusterRoles. diff --git a/pkg/client/listers/rbac/v1beta1/clusterrolebinding.go b/pkg/client/listers/rbac/v1beta1/clusterrolebinding.go index e6a64d6803e..e82a673810b 100644 --- a/pkg/client/listers/rbac/v1beta1/clusterrolebinding.go +++ b/pkg/client/listers/rbac/v1beta1/clusterrolebinding.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // ClusterRoleBindingLister helps list ClusterRoleBindings. diff --git a/pkg/client/listers/rbac/v1beta1/role.go b/pkg/client/listers/rbac/v1beta1/role.go index d2f61edf5e5..449ded2e552 100644 --- a/pkg/client/listers/rbac/v1beta1/role.go +++ b/pkg/client/listers/rbac/v1beta1/role.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // RoleLister helps list Roles. diff --git a/pkg/client/listers/rbac/v1beta1/rolebinding.go b/pkg/client/listers/rbac/v1beta1/rolebinding.go index 46a48f90e5c..8ae5a3eabbe 100644 --- a/pkg/client/listers/rbac/v1beta1/rolebinding.go +++ b/pkg/client/listers/rbac/v1beta1/rolebinding.go @@ -21,9 +21,9 @@ package v1beta1 import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // RoleBindingLister helps list RoleBindings. diff --git a/pkg/client/listers/storage/internalversion/BUILD b/pkg/client/listers/storage/internalversion/BUILD index 719e1045039..22f7eb6365a 100644 --- a/pkg/client/listers/storage/internalversion/BUILD +++ b/pkg/client/listers/storage/internalversion/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/storage:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/storage/internalversion/storageclass.go b/pkg/client/listers/storage/internalversion/storageclass.go index a4a0307fc33..20d27ef2668 100644 --- a/pkg/client/listers/storage/internalversion/storageclass.go +++ b/pkg/client/listers/storage/internalversion/storageclass.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" storage "k8s.io/kubernetes/pkg/apis/storage" - "k8s.io/kubernetes/pkg/client/cache" ) // StorageClassLister helps list StorageClasses. diff --git a/pkg/client/listers/storage/v1beta1/BUILD b/pkg/client/listers/storage/v1beta1/BUILD index b376dfd5343..3d264239dcb 100644 --- a/pkg/client/listers/storage/v1beta1/BUILD +++ b/pkg/client/listers/storage/v1beta1/BUILD @@ -17,10 +17,10 @@ go_library( deps = [ "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/client/listers/storage/v1beta1/storageclass.go b/pkg/client/listers/storage/v1beta1/storageclass.go index 5d0904ac8b8..40ef528103a 100644 --- a/pkg/client/listers/storage/v1beta1/storageclass.go +++ b/pkg/client/listers/storage/v1beta1/storageclass.go @@ -22,9 +22,9 @@ import ( "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" storage "k8s.io/kubernetes/pkg/apis/storage" v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" ) // StorageClassLister helps list StorageClasses. diff --git a/pkg/client/restclient/fake/fake.go b/pkg/client/restclient/fake/fake.go deleted file mode 100644 index adc1721276d..00000000000 --- a/pkg/client/restclient/fake/fake.go +++ /dev/null @@ -1,127 +0,0 @@ -/* -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. -*/ - -// This is made a separate package and should only be imported by tests, because -// it imports testapi -package fake - -import ( - "net/http" - "net/url" - - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/types" - restclient "k8s.io/client-go/rest" - "k8s.io/client-go/util/flowcontrol" - "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/testapi" -) - -func CreateHTTPClient(roundTripper func(*http.Request) (*http.Response, error)) *http.Client { - return &http.Client{ - Transport: roundTripperFunc(roundTripper), - } -} - -type roundTripperFunc func(*http.Request) (*http.Response, error) - -func (f roundTripperFunc) RoundTrip(req *http.Request) (*http.Response, error) { - return f(req) -} - -// RESTClient provides a fake RESTClient interface. -type RESTClient struct { - Client *http.Client - NegotiatedSerializer runtime.NegotiatedSerializer - GroupName string - - Req *http.Request - Resp *http.Response - Err error -} - -func (c *RESTClient) Get() *restclient.Request { - return c.request("GET") -} - -func (c *RESTClient) Put() *restclient.Request { - return c.request("PUT") -} - -func (c *RESTClient) Patch(_ types.PatchType) *restclient.Request { - return c.request("PATCH") -} - -func (c *RESTClient) Post() *restclient.Request { - return c.request("POST") -} - -func (c *RESTClient) Delete() *restclient.Request { - return c.request("DELETE") -} - -func (c *RESTClient) Verb(verb string) *restclient.Request { - return c.request(verb) -} - -func (c *RESTClient) APIVersion() schema.GroupVersion { - return *(testapi.Default.GroupVersion()) -} - -func (c *RESTClient) GetRateLimiter() flowcontrol.RateLimiter { - return nil -} - -func (c *RESTClient) request(verb string) *restclient.Request { - config := restclient.ContentConfig{ - ContentType: runtime.ContentTypeJSON, - GroupVersion: &api.Registry.GroupOrDie(api.GroupName).GroupVersion, - NegotiatedSerializer: c.NegotiatedSerializer, - } - - groupName := api.GroupName - if c.GroupName != "" { - groupName = c.GroupName - } - ns := c.NegotiatedSerializer - info, _ := runtime.SerializerInfoForMediaType(ns.SupportedMediaTypes(), runtime.ContentTypeJSON) - internalVersion := schema.GroupVersion{ - Group: api.Registry.GroupOrDie(groupName).GroupVersion.Group, - Version: runtime.APIVersionInternal, - } - internalVersion.Version = runtime.APIVersionInternal - serializers := restclient.Serializers{ - Encoder: ns.EncoderForVersion(info.Serializer, api.Registry.GroupOrDie(api.GroupName).GroupVersion), - Decoder: ns.DecoderToVersion(info.Serializer, internalVersion), - } - if info.StreamSerializer != nil { - serializers.StreamingSerializer = info.StreamSerializer.Serializer - serializers.Framer = info.StreamSerializer.Framer - } - return restclient.NewRequest(c, verb, &url.URL{Host: "localhost"}, "", config, serializers, nil, nil) -} - -func (c *RESTClient) Do(req *http.Request) (*http.Response, error) { - if c.Err != nil { - return nil, c.Err - } - c.Req = req - if c.Client != nil { - return c.Client.Do(req) - } - return c.Resp, nil -} diff --git a/pkg/client/restclient/fake/BUILD b/pkg/client/tests/BUILD similarity index 53% rename from pkg/client/restclient/fake/BUILD rename to pkg/client/tests/BUILD index 6964e8b7971..e4abe43f5ea 100644 --- a/pkg/client/restclient/fake/BUILD +++ b/pkg/client/tests/BUILD @@ -5,23 +5,35 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", + "go_test", ) -go_library( - name = "go_default_library", - srcs = ["fake.go"], +go_test( + name = "go_default_test", + srcs = ["listwatch_test.go"], + library = ":go_default_library", tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", + "//pkg/api/v1:go_default_library", + "//pkg/client/clientset_generated/internalclientset:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/runtime", - "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", - "//vendor:k8s.io/client-go/util/flowcontrol", + "//vendor:k8s.io/client-go/tools/cache", + "//vendor:k8s.io/client-go/util/testing", ], ) +go_library( + name = "go_default_library", + srcs = ["doc.go"], + tags = ["automanaged"], +) + filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/staging/src/k8s.io/client-go/pkg/util/config/doc.go b/pkg/client/tests/doc.go similarity index 66% rename from staging/src/k8s.io/client-go/pkg/util/config/doc.go rename to pkg/client/tests/doc.go index 5dbb37d4487..46cb11fe851 100644 --- a/staging/src/k8s.io/client-go/pkg/util/config/doc.go +++ b/pkg/client/tests/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2014 The Kubernetes Authors. +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. @@ -14,7 +14,5 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Package config provides utility objects for decoupling sources of configuration and the -// actual configuration state. Consumers must implement the Merger interface to unify -// the sources of change into an object. -package config +// This package runs tests against the client which require an internal client +package tests diff --git a/pkg/client/tests/listwatch_test.go b/pkg/client/tests/listwatch_test.go new file mode 100644 index 00000000000..18ba412f866 --- /dev/null +++ b/pkg/client/tests/listwatch_test.go @@ -0,0 +1,228 @@ +/* +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 tests + +import ( + "net/http/httptest" + "net/url" + "testing" + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + restclient "k8s.io/client-go/rest" + . "k8s.io/client-go/tools/cache" + utiltesting "k8s.io/client-go/util/testing" + "k8s.io/kubernetes/pkg/api" + "k8s.io/kubernetes/pkg/api/testapi" + "k8s.io/kubernetes/pkg/api/v1" + clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" +) + +func parseSelectorOrDie(s string) fields.Selector { + selector, err := fields.ParseSelector(s) + if err != nil { + panic(err) + } + return selector +} + +// buildQueryValues is a convenience function for knowing if a namespace should be in a query param or not +func buildQueryValues(query url.Values) url.Values { + v := url.Values{} + if query != nil { + for key, values := range query { + for _, value := range values { + v.Add(key, value) + } + } + } + return v +} + +func buildLocation(resourcePath string, query url.Values) string { + return resourcePath + "?" + query.Encode() +} + +func TestListWatchesCanList(t *testing.T) { + fieldSelectorQueryParamName := metav1.FieldSelectorQueryParam(api.Registry.GroupOrDie(v1.GroupName).GroupVersion.String()) + table := []struct { + location string + resource string + namespace string + fieldSelector fields.Selector + }{ + // Node + { + location: testapi.Default.ResourcePath("nodes", metav1.NamespaceAll, ""), + resource: "nodes", + namespace: metav1.NamespaceAll, + fieldSelector: parseSelectorOrDie(""), + }, + // pod with "assigned" field selector. + { + location: buildLocation( + testapi.Default.ResourcePath("pods", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}})), + resource: "pods", + namespace: metav1.NamespaceAll, + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + // pod in namespace "foo" + { + location: buildLocation( + testapi.Default.ResourcePath("pods", "foo", ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}})), + resource: "pods", + namespace: "foo", + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + } + for _, item := range table { + handler := utiltesting.FakeHandler{ + StatusCode: 500, + ResponseBody: "", + T: t, + } + server := httptest.NewServer(&handler) + defer server.Close() + client := clientset.NewForConfigOrDie(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &api.Registry.GroupOrDie(v1.GroupName).GroupVersion}}) + lw := NewListWatchFromClient(client.Core().RESTClient(), item.resource, item.namespace, item.fieldSelector) + // This test merely tests that the correct request is made. + lw.List(metav1.ListOptions{}) + handler.ValidateRequest(t, item.location, "GET", nil) + } +} + +func TestListWatchesCanWatch(t *testing.T) { + fieldSelectorQueryParamName := metav1.FieldSelectorQueryParam(api.Registry.GroupOrDie(v1.GroupName).GroupVersion.String()) + table := []struct { + rv string + location string + resource string + namespace string + fieldSelector fields.Selector + }{ + // Node + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "nodes", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{})), + rv: "", + resource: "nodes", + namespace: metav1.NamespaceAll, + fieldSelector: parseSelectorOrDie(""), + }, + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "nodes", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{"resourceVersion": []string{"42"}})), + rv: "42", + resource: "nodes", + namespace: metav1.NamespaceAll, + fieldSelector: parseSelectorOrDie(""), + }, + // pod with "assigned" field selector. + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "pods", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}, "resourceVersion": []string{"0"}})), + rv: "0", + resource: "pods", + namespace: metav1.NamespaceAll, + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + // pod with namespace foo and assigned field selector + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "pods", "foo", ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}, "resourceVersion": []string{"0"}})), + rv: "0", + resource: "pods", + namespace: "foo", + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + } + + for _, item := range table { + handler := utiltesting.FakeHandler{ + StatusCode: 500, + ResponseBody: "", + T: t, + } + server := httptest.NewServer(&handler) + defer server.Close() + client := clientset.NewForConfigOrDie(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &api.Registry.GroupOrDie(v1.GroupName).GroupVersion}}) + lw := NewListWatchFromClient(client.Core().RESTClient(), item.resource, item.namespace, item.fieldSelector) + // This test merely tests that the correct request is made. + lw.Watch(metav1.ListOptions{ResourceVersion: item.rv}) + handler.ValidateRequest(t, item.location, "GET", nil) + } +} + +type lw struct { + list runtime.Object + watch watch.Interface +} + +func (w lw) List(options metav1.ListOptions) (runtime.Object, error) { + return w.list, nil +} + +func (w lw) Watch(options metav1.ListOptions) (watch.Interface, error) { + return w.watch, nil +} + +func TestListWatchUntil(t *testing.T) { + fw := watch.NewFake() + go func() { + var obj *v1.Pod + fw.Modify(obj) + }() + listwatch := lw{ + list: &v1.PodList{Items: []v1.Pod{{}}}, + watch: fw, + } + + conditions := []watch.ConditionFunc{ + func(event watch.Event) (bool, error) { + t.Logf("got %#v", event) + return event.Type == watch.Added, nil + }, + func(event watch.Event) (bool, error) { + t.Logf("got %#v", event) + return event.Type == watch.Modified, nil + }, + } + + timeout := 10 * time.Second + lastEvent, err := ListWatchUntil(timeout, listwatch, conditions...) + if err != nil { + t.Fatalf("expected nil error, got %#v", err) + } + if lastEvent == nil { + t.Fatal("expected an event") + } + if lastEvent.Type != watch.Modified { + t.Fatalf("expected MODIFIED event type, got %v", lastEvent.Type) + } + if got, isPod := lastEvent.Object.(*v1.Pod); !isPod { + t.Fatalf("expected a pod event, got %#v", got) + } +} diff --git a/pkg/client/typed/discovery/BUILD b/pkg/client/typed/discovery/BUILD index b0e57fec004..e8988a8f4de 100644 --- a/pkg/client/typed/discovery/BUILD +++ b/pkg/client/typed/discovery/BUILD @@ -48,7 +48,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/stretchr/testify/assert", @@ -59,6 +58,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/version", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/rest/fake", ], ) diff --git a/pkg/client/typed/discovery/helper_blackbox_test.go b/pkg/client/typed/discovery/helper_blackbox_test.go index 8be9a83f991..f2ff541bab1 100644 --- a/pkg/client/typed/discovery/helper_blackbox_test.go +++ b/pkg/client/typed/discovery/helper_blackbox_test.go @@ -32,9 +32,9 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" ) @@ -125,6 +125,7 @@ func TestNegotiateVersion(t *testing.T) { for _, test := range tests { fakeClient := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: &http.Response{ StatusCode: test.statusCode, diff --git a/pkg/client/typed/discovery/restmapper_test.go b/pkg/client/typed/discovery/restmapper_test.go index bf2633ae9c9..e58eabfb812 100644 --- a/pkg/client/typed/discovery/restmapper_test.go +++ b/pkg/client/typed/discovery/restmapper_test.go @@ -25,8 +25,8 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/version" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" . "k8s.io/kubernetes/pkg/client/typed/discovery" "github.com/emicklei/go-restful/swagger" diff --git a/pkg/controller/BUILD b/pkg/controller/BUILD index e4a86ea25eb..51fa8574afb 100644 --- a/pkg/controller/BUILD +++ b/pkg/controller/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", @@ -43,6 +42,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/authentication/serviceaccount", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", "//vendor:k8s.io/client-go/util/integer", ], @@ -57,7 +57,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/securitycontext:go_default_library", @@ -66,6 +65,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", "//vendor:k8s.io/client-go/util/testing", ], diff --git a/pkg/controller/certificates/BUILD b/pkg/controller/certificates/BUILD index 4dbf87c43c9..125579f1768 100644 --- a/pkg/controller/certificates/BUILD +++ b/pkg/controller/certificates/BUILD @@ -20,7 +20,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/certificates/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/certificates/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -38,6 +37,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/certificates/certificate_controller.go b/pkg/controller/certificates/certificate_controller.go index 55b2fe38c67..750728c9b17 100644 --- a/pkg/controller/certificates/certificate_controller.go +++ b/pkg/controller/certificates/certificate_controller.go @@ -25,8 +25,8 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/client_builder.go b/pkg/controller/client_builder.go index 8299db986a0..f68ae349f66 100644 --- a/pkg/controller/client_builder.go +++ b/pkg/controller/client_builder.go @@ -27,9 +27,9 @@ import ( "k8s.io/apimachinery/pkg/watch" apiserverserviceaccount "k8s.io/apiserver/pkg/authentication/serviceaccount" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/serviceaccount" diff --git a/pkg/controller/controller_utils.go b/pkg/controller/controller_utils.go index ca4aaac645a..cce223efbbc 100644 --- a/pkg/controller/controller_utils.go +++ b/pkg/controller/controller_utils.go @@ -30,13 +30,13 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" "k8s.io/client-go/util/integer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" ) diff --git a/pkg/controller/controller_utils_test.go b/pkg/controller/controller_utils_test.go index 60dcaa3563c..49281fd4121 100644 --- a/pkg/controller/controller_utils_test.go +++ b/pkg/controller/controller_utils_test.go @@ -31,12 +31,12 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/sets" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/securitycontext" diff --git a/pkg/controller/daemon/BUILD b/pkg/controller/daemon/BUILD index a0bd541624e..ababa04c3e4 100644 --- a/pkg/controller/daemon/BUILD +++ b/pkg/controller/daemon/BUILD @@ -19,7 +19,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", @@ -37,6 +36,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -51,7 +51,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", @@ -60,6 +59,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/storage/names", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/daemon/daemoncontroller.go b/pkg/controller/daemon/daemoncontroller.go index b183ac55c91..3bda180d06e 100644 --- a/pkg/controller/daemon/daemoncontroller.go +++ b/pkg/controller/daemon/daemoncontroller.go @@ -28,10 +28,10 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" unversionedextensions "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1" diff --git a/pkg/controller/daemon/daemoncontroller_test.go b/pkg/controller/daemon/daemoncontroller_test.go index 68e283cafdd..e30c59d5ea8 100644 --- a/pkg/controller/daemon/daemoncontroller_test.go +++ b/pkg/controller/daemon/daemoncontroller_test.go @@ -23,12 +23,12 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/storage/names" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/deployment/BUILD b/pkg/controller/deployment/BUILD index d0c36f4e631..1e1f39efe25 100644 --- a/pkg/controller/deployment/BUILD +++ b/pkg/controller/deployment/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -42,6 +41,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/integer", ], ) diff --git a/pkg/controller/deployment/deployment_controller.go b/pkg/controller/deployment/deployment_controller.go index 8fdb6615aa4..aadc8f0052e 100644 --- a/pkg/controller/deployment/deployment_controller.go +++ b/pkg/controller/deployment/deployment_controller.go @@ -34,10 +34,10 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/disruption/BUILD b/pkg/controller/disruption/BUILD index 7ffc184c22d..4957f7f52ec 100644 --- a/pkg/controller/disruption/BUILD +++ b/pkg/controller/disruption/BUILD @@ -18,7 +18,6 @@ go_library( "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/policy/v1beta1:go_default_library", @@ -34,6 +33,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -48,7 +48,6 @@ go_test( "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", @@ -56,6 +55,7 @@ go_test( "//pkg/util/uuid:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/disruption/disruption.go b/pkg/controller/disruption/disruption.go index c9c23983d87..e9c5a67e968 100644 --- a/pkg/controller/disruption/disruption.go +++ b/pkg/controller/disruption/disruption.go @@ -27,12 +27,12 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" policyclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/policy/v1beta1" diff --git a/pkg/controller/disruption/disruption_test.go b/pkg/controller/disruption/disruption_test.go index f88df2e03e8..dedb7391b12 100644 --- a/pkg/controller/disruption/disruption_test.go +++ b/pkg/controller/disruption/disruption_test.go @@ -24,12 +24,12 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/endpoint/BUILD b/pkg/controller/endpoint/BUILD index 5b72229d2d9..9ae14d2d471 100644 --- a/pkg/controller/endpoint/BUILD +++ b/pkg/controller/endpoint/BUILD @@ -19,7 +19,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/endpoints:go_default_library", "//pkg/api/v1/pod:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/controller:go_default_library", @@ -35,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -48,13 +48,13 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/endpoints:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/controller:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/pkg/controller/endpoint/endpoints_controller.go b/pkg/controller/endpoint/endpoints_controller.go index 4cf49d66d01..b96c2890856 100644 --- a/pkg/controller/endpoint/endpoints_controller.go +++ b/pkg/controller/endpoint/endpoints_controller.go @@ -30,11 +30,11 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/endpoints" podutil "k8s.io/kubernetes/pkg/api/v1/pod" utilpod "k8s.io/kubernetes/pkg/api/v1/pod" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/endpoint/endpoints_controller_test.go b/pkg/controller/endpoint/endpoints_controller_test.go index 103ed319b84..fa88e6f4543 100644 --- a/pkg/controller/endpoint/endpoints_controller_test.go +++ b/pkg/controller/endpoint/endpoints_controller_test.go @@ -25,12 +25,12 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" endptspkg "k8s.io/kubernetes/pkg/api/v1/endpoints" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/util/intstr" diff --git a/pkg/controller/garbagecollector/BUILD b/pkg/controller/garbagecollector/BUILD index 39df35871a5..e8de9661a4b 100644 --- a/pkg/controller/garbagecollector/BUILD +++ b/pkg/controller/garbagecollector/BUILD @@ -19,7 +19,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller/garbagecollector/metaonly:go_default_library", "//pkg/util/metrics:go_default_library", @@ -39,6 +38,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", ], ) diff --git a/pkg/controller/garbagecollector/garbagecollector.go b/pkg/controller/garbagecollector/garbagecollector.go index f222f202d7a..d8c31df65cb 100644 --- a/pkg/controller/garbagecollector/garbagecollector.go +++ b/pkg/controller/garbagecollector/garbagecollector.go @@ -35,9 +35,9 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller/garbagecollector/metaonly" "k8s.io/kubernetes/pkg/util/workqueue" diff --git a/pkg/controller/informers/BUILD b/pkg/controller/informers/BUILD index 46763d3e5c2..bab1b0109da 100644 --- a/pkg/controller/informers/BUILD +++ b/pkg/controller/informers/BUILD @@ -28,7 +28,6 @@ go_library( "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -39,6 +38,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/informers/batch.go b/pkg/controller/informers/batch.go index 354824714de..803852b9399 100644 --- a/pkg/controller/informers/batch.go +++ b/pkg/controller/informers/batch.go @@ -23,8 +23,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" batchv1listers "k8s.io/kubernetes/pkg/client/listers/batch/v1" ) diff --git a/pkg/controller/informers/core.go b/pkg/controller/informers/core.go index 8f3717cf912..aee50ee402e 100644 --- a/pkg/controller/informers/core.go +++ b/pkg/controller/informers/core.go @@ -23,9 +23,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/informers/extensions.go b/pkg/controller/informers/extensions.go index 60556ee4bd2..ec6b159b265 100644 --- a/pkg/controller/informers/extensions.go +++ b/pkg/controller/informers/extensions.go @@ -22,8 +22,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/legacylisters" ) diff --git a/pkg/controller/informers/factory.go b/pkg/controller/informers/factory.go index 2b5bc986acb..20e11caa44f 100644 --- a/pkg/controller/informers/factory.go +++ b/pkg/controller/informers/factory.go @@ -24,7 +24,7 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/client/cache" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" ) diff --git a/pkg/controller/informers/generic.go b/pkg/controller/informers/generic.go index 0d2f5c1c9c4..fcb73e7ab90 100644 --- a/pkg/controller/informers/generic.go +++ b/pkg/controller/informers/generic.go @@ -20,11 +20,11 @@ import ( "fmt" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "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" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other diff --git a/pkg/controller/informers/rbac.go b/pkg/controller/informers/rbac.go index 7031e621a00..0c09748897f 100644 --- a/pkg/controller/informers/rbac.go +++ b/pkg/controller/informers/rbac.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/legacylisters" ) diff --git a/pkg/controller/informers/storage.go b/pkg/controller/informers/storage.go index 10cf185acc1..db3898c05df 100644 --- a/pkg/controller/informers/storage.go +++ b/pkg/controller/informers/storage.go @@ -22,8 +22,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/legacylisters" ) diff --git a/pkg/controller/job/BUILD b/pkg/controller/job/BUILD index dd5153dd664..bcc7c322a84 100644 --- a/pkg/controller/job/BUILD +++ b/pkg/controller/job/BUILD @@ -19,7 +19,6 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -34,6 +33,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -49,7 +49,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -60,6 +59,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/job/jobcontroller.go b/pkg/controller/job/jobcontroller.go index c85429dc507..81218639a23 100644 --- a/pkg/controller/job/jobcontroller.go +++ b/pkg/controller/job/jobcontroller.go @@ -27,9 +27,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/job/jobcontroller_test.go b/pkg/controller/job/jobcontroller_test.go index c206bead8d8..1d5258a5fcd 100644 --- a/pkg/controller/job/jobcontroller_test.go +++ b/pkg/controller/job/jobcontroller_test.go @@ -26,10 +26,10 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" diff --git a/pkg/controller/namespace/BUILD b/pkg/controller/namespace/BUILD index b0eea8c73a2..6ff99c39963 100644 --- a/pkg/controller/namespace/BUILD +++ b/pkg/controller/namespace/BUILD @@ -18,7 +18,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/dynamic:go_default_library", @@ -35,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/namespace/namespace_controller.go b/pkg/controller/namespace/namespace_controller.go index e4687724f82..af0ec12f977 100644 --- a/pkg/controller/namespace/namespace_controller.go +++ b/pkg/controller/namespace/namespace_controller.go @@ -26,8 +26,8 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/node/BUILD b/pkg/controller/node/BUILD index 185ed22cc71..d8f10a157f4 100644 --- a/pkg/controller/node/BUILD +++ b/pkg/controller/node/BUILD @@ -23,7 +23,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -46,6 +45,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) @@ -65,7 +65,6 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -81,6 +80,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/flowcontrol", ], ) diff --git a/pkg/controller/node/controller_utils.go b/pkg/controller/node/controller_utils.go index 9632f092136..3cfcbc6cb00 100644 --- a/pkg/controller/node/controller_utils.go +++ b/pkg/controller/node/controller_utils.go @@ -26,9 +26,9 @@ import ( "k8s.io/apimachinery/pkg/types" utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/client/record" diff --git a/pkg/controller/node/nodecontroller.go b/pkg/controller/node/nodecontroller.go index f62773d1e8b..06567819dce 100644 --- a/pkg/controller/node/nodecontroller.go +++ b/pkg/controller/node/nodecontroller.go @@ -30,10 +30,10 @@ import ( "k8s.io/apimachinery/pkg/types" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/node/nodecontroller_test.go b/pkg/controller/node/nodecontroller_test.go index 09e64dbae0e..91560c98ae4 100644 --- a/pkg/controller/node/nodecontroller_test.go +++ b/pkg/controller/node/nodecontroller_test.go @@ -26,11 +26,11 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" diff --git a/pkg/controller/podautoscaler/BUILD b/pkg/controller/podautoscaler/BUILD index ebbd546e5a0..974a1be39c2 100644 --- a/pkg/controller/podautoscaler/BUILD +++ b/pkg/controller/podautoscaler/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset/typed/autoscaling/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", @@ -34,6 +33,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/podautoscaler/horizontal.go b/pkg/controller/podautoscaler/horizontal.go index 4fda6ed0ac7..99a1fb11918 100644 --- a/pkg/controller/podautoscaler/horizontal.go +++ b/pkg/controller/podautoscaler/horizontal.go @@ -27,11 +27,11 @@ import ( "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" unversionedautoscaling "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" unversionedextensions "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1" diff --git a/pkg/controller/podgc/BUILD b/pkg/controller/podgc/BUILD index d0da481a495..42a76fe84b8 100644 --- a/pkg/controller/podgc/BUILD +++ b/pkg/controller/podgc/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/controller:go_default_library", @@ -29,6 +28,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/podgc/gc_controller.go b/pkg/controller/podgc/gc_controller.go index 7702a508591..ec493f7fb1d 100644 --- a/pkg/controller/podgc/gc_controller.go +++ b/pkg/controller/podgc/gc_controller.go @@ -26,8 +26,8 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/replicaset/BUILD b/pkg/controller/replicaset/BUILD index 7db9f066954..7f7eb4589b9 100644 --- a/pkg/controller/replicaset/BUILD +++ b/pkg/controller/replicaset/BUILD @@ -20,7 +20,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", @@ -38,6 +37,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -51,7 +51,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -66,6 +65,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/pkg/controller/replicaset/replica_set.go b/pkg/controller/replicaset/replica_set.go index 7aa9c244d3f..8151fdbafa3 100644 --- a/pkg/controller/replicaset/replica_set.go +++ b/pkg/controller/replicaset/replica_set.go @@ -33,10 +33,10 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/replicaset/replica_set_test.go b/pkg/controller/replicaset/replica_set_test.go index c1616b8c4c8..6950d18bdd9 100644 --- a/pkg/controller/replicaset/replica_set_test.go +++ b/pkg/controller/replicaset/replica_set_test.go @@ -34,12 +34,12 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" fakeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" diff --git a/pkg/controller/replication/BUILD b/pkg/controller/replication/BUILD index 32f6923265c..49ee8725bb1 100644 --- a/pkg/controller/replication/BUILD +++ b/pkg/controller/replication/BUILD @@ -18,7 +18,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -36,6 +35,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -48,7 +48,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -62,6 +61,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/pkg/controller/replication/replication_controller.go b/pkg/controller/replication/replication_controller.go index 35e032dfe58..a83180e9a38 100644 --- a/pkg/controller/replication/replication_controller.go +++ b/pkg/controller/replication/replication_controller.go @@ -32,8 +32,8 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/replication/replication_controller_test.go b/pkg/controller/replication/replication_controller_test.go index b626b83d466..e19d1e9839c 100644 --- a/pkg/controller/replication/replication_controller_test.go +++ b/pkg/controller/replication/replication_controller_test.go @@ -33,11 +33,11 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" fakeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" diff --git a/pkg/controller/resourcequota/BUILD b/pkg/controller/resourcequota/BUILD index 150d22a400b..aebcac284c1 100644 --- a/pkg/controller/resourcequota/BUILD +++ b/pkg/controller/resourcequota/BUILD @@ -19,7 +19,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", @@ -35,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/resourcequota/replenishment_controller.go b/pkg/controller/resourcequota/replenishment_controller.go index fe818cce435..362e9439e3a 100644 --- a/pkg/controller/resourcequota/replenishment_controller.go +++ b/pkg/controller/resourcequota/replenishment_controller.go @@ -27,9 +27,9 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/pkg/controller/resourcequota/resource_quota_controller.go b/pkg/controller/resourcequota/resource_quota_controller.go index 8c2ab9d6870..68c2f174d68 100644 --- a/pkg/controller/resourcequota/resource_quota_controller.go +++ b/pkg/controller/resourcequota/resource_quota_controller.go @@ -27,9 +27,9 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/quota" diff --git a/pkg/controller/route/BUILD b/pkg/controller/route/BUILD index 047c830dd84..b815e14c6a0 100644 --- a/pkg/controller/route/BUILD +++ b/pkg/controller/route/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/cloudprovider:go_default_library", @@ -31,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/route/routecontroller.go b/pkg/controller/route/routecontroller.go index bf8e38d8e19..d4866f76830 100644 --- a/pkg/controller/route/routecontroller.go +++ b/pkg/controller/route/routecontroller.go @@ -29,8 +29,8 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/cloudprovider" diff --git a/pkg/controller/service/BUILD b/pkg/controller/service/BUILD index 05406c3f7b8..1eacaf01de5 100644 --- a/pkg/controller/service/BUILD +++ b/pkg/controller/service/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/legacylisters:go_default_library", @@ -34,6 +33,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/service/servicecontroller.go b/pkg/controller/service/servicecontroller.go index 2f3ccc56426..84d9061bc71 100644 --- a/pkg/controller/service/servicecontroller.go +++ b/pkg/controller/service/servicecontroller.go @@ -32,8 +32,8 @@ import ( "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" unversionedcore "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/serviceaccount/BUILD b/pkg/controller/serviceaccount/BUILD index c6e261994cb..6380bdea155 100644 --- a/pkg/controller/serviceaccount/BUILD +++ b/pkg/controller/serviceaccount/BUILD @@ -20,7 +20,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/client/retry:go_default_library", @@ -47,6 +46,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/endpoints/request", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -61,7 +61,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -75,6 +74,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/rand", "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/serviceaccount/serviceaccounts_controller.go b/pkg/controller/serviceaccount/serviceaccounts_controller.go index 58e7d375c40..01c987367b9 100644 --- a/pkg/controller/serviceaccount/serviceaccounts_controller.go +++ b/pkg/controller/serviceaccount/serviceaccounts_controller.go @@ -27,8 +27,8 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/pkg/controller/serviceaccount/serviceaccounts_controller_test.go b/pkg/controller/serviceaccount/serviceaccounts_controller_test.go index 557ca7a0c1c..530a9a715f1 100644 --- a/pkg/controller/serviceaccount/serviceaccounts_controller_test.go +++ b/pkg/controller/serviceaccount/serviceaccounts_controller_test.go @@ -22,8 +22,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/client/testing/core" diff --git a/pkg/controller/serviceaccount/tokens_controller.go b/pkg/controller/serviceaccount/tokens_controller.go index c42eeb862fc..67cb8898254 100644 --- a/pkg/controller/serviceaccount/tokens_controller.go +++ b/pkg/controller/serviceaccount/tokens_controller.go @@ -32,9 +32,9 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" clientretry "k8s.io/kubernetes/pkg/client/retry" "k8s.io/kubernetes/pkg/registry/core/secret" diff --git a/pkg/controller/statefulset/BUILD b/pkg/controller/statefulset/BUILD index 616dae912a1..4b38ffa36a3 100644 --- a/pkg/controller/statefulset/BUILD +++ b/pkg/controller/statefulset/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -43,6 +42,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -62,7 +62,6 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:go_default_library", @@ -75,6 +74,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/pkg/controller/statefulset/stateful_set.go b/pkg/controller/statefulset/stateful_set.go index 8081a74f51b..2c74606bd36 100644 --- a/pkg/controller/statefulset/stateful_set.go +++ b/pkg/controller/statefulset/stateful_set.go @@ -23,9 +23,9 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/legacylisters" diff --git a/pkg/controller/statefulset/stateful_set_test.go b/pkg/controller/statefulset/stateful_set_test.go index c159ef2b67a..f12ffc1bf6a 100644 --- a/pkg/controller/statefulset/stateful_set_test.go +++ b/pkg/controller/statefulset/stateful_set_test.go @@ -23,9 +23,9 @@ import ( "testing" "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" fakeinternal "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake" diff --git a/pkg/controller/statefulset/stateful_set_utils.go b/pkg/controller/statefulset/stateful_set_utils.go index 1f3c5714d37..64c7587b388 100644 --- a/pkg/controller/statefulset/stateful_set_utils.go +++ b/pkg/controller/statefulset/stateful_set_utils.go @@ -21,9 +21,9 @@ import ( "sync" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" appsclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/volume/attachdetach/BUILD b/pkg/controller/volume/attachdetach/BUILD index 6f6d531e7b0..10ff25e02b7 100644 --- a/pkg/controller/volume/attachdetach/BUILD +++ b/pkg/controller/volume/attachdetach/BUILD @@ -15,7 +15,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", @@ -32,6 +31,7 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller.go b/pkg/controller/volume/attachdetach/attach_detach_controller.go index af7d65a9957..982b494eec2 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller.go @@ -26,9 +26,9 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/runtime" + kcache "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - kcache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" diff --git a/pkg/controller/volume/attachdetach/populator/BUILD b/pkg/controller/volume/attachdetach/populator/BUILD index d985af08c5d..7655bf16a39 100644 --- a/pkg/controller/volume/attachdetach/populator/BUILD +++ b/pkg/controller/volume/attachdetach/populator/BUILD @@ -13,11 +13,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/controller/volume/attachdetach/cache:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go b/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go index 2765c44611f..183523bdb84 100644 --- a/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go +++ b/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go @@ -24,8 +24,8 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/util/wait" + kcache "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - kcache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" "k8s.io/kubernetes/pkg/volume/util/volumehelper" ) diff --git a/pkg/controller/volume/attachdetach/statusupdater/BUILD b/pkg/controller/volume/attachdetach/statusupdater/BUILD index 602880ec2cd..6cc5c620bee 100644 --- a/pkg/controller/volume/attachdetach/statusupdater/BUILD +++ b/pkg/controller/volume/attachdetach/statusupdater/BUILD @@ -17,11 +17,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/controller/volume/attachdetach/cache:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/volume/attachdetach/statusupdater/node_status_updater.go b/pkg/controller/volume/attachdetach/statusupdater/node_status_updater.go index 48de957ba8f..18e258b5e14 100644 --- a/pkg/controller/volume/attachdetach/statusupdater/node_status_updater.go +++ b/pkg/controller/volume/attachdetach/statusupdater/node_status_updater.go @@ -24,9 +24,9 @@ import ( "github.com/golang/glog" + kcache "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - kcache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" "k8s.io/kubernetes/pkg/util/strategicpatch" diff --git a/pkg/controller/volume/persistentvolume/BUILD b/pkg/controller/volume/persistentvolume/BUILD index c407858addc..a6866a3c75d 100644 --- a/pkg/controller/volume/persistentvolume/BUILD +++ b/pkg/controller/volume/persistentvolume/BUILD @@ -22,7 +22,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", @@ -42,6 +41,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -65,7 +65,6 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/record:go_default_library", @@ -78,6 +77,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/controller/volume/persistentvolume/framework_test.go b/pkg/controller/volume/persistentvolume/framework_test.go index 8a81b66289b..9369bc10833 100644 --- a/pkg/controller/volume/persistentvolume/framework_test.go +++ b/pkg/controller/volume/persistentvolume/framework_test.go @@ -34,13 +34,13 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" diff --git a/pkg/controller/volume/persistentvolume/index.go b/pkg/controller/volume/persistentvolume/index.go index 8a45dd29c4d..059e33d927c 100644 --- a/pkg/controller/volume/persistentvolume/index.go +++ b/pkg/controller/volume/persistentvolume/index.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" - "k8s.io/kubernetes/pkg/client/cache" ) // persistentVolumeOrderedIndex is a cache.Store that keeps persistent volumes diff --git a/pkg/controller/volume/persistentvolume/pv_controller.go b/pkg/controller/volume/persistentvolume/pv_controller.go index c5b529fd646..20c15160d2a 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller.go +++ b/pkg/controller/volume/persistentvolume/pv_controller.go @@ -23,11 +23,11 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/cloudprovider" diff --git a/pkg/controller/volume/persistentvolume/pv_controller_base.go b/pkg/controller/volume/persistentvolume/pv_controller_base.go index cb8f7fcd14f..47a004da2b5 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller_base.go +++ b/pkg/controller/volume/persistentvolume/pv_controller_base.go @@ -27,10 +27,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" unversionedcore "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" diff --git a/pkg/controller/volume/persistentvolume/pv_controller_test.go b/pkg/controller/volume/persistentvolume/pv_controller_test.go index ffc9aa00748..87fdd7f20a0 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller_test.go +++ b/pkg/controller/volume/persistentvolume/pv_controller_test.go @@ -21,8 +21,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" fcache "k8s.io/kubernetes/pkg/client/testing/cache" ) diff --git a/pkg/kubectl/BUILD b/pkg/kubectl/BUILD index da5728874ed..a92db92a537 100644 --- a/pkg/kubectl/BUILD +++ b/pkg/kubectl/BUILD @@ -165,7 +165,6 @@ go_test( "//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_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/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/deployment/util:go_default_library", "//pkg/kubectl/testing:go_default_library", @@ -182,6 +181,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/rest/fake", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index e41ad5ba725..39e37c2b5e1 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -182,7 +182,6 @@ go_test( "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/policy:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", @@ -205,6 +204,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/rest/fake", "//vendor:k8s.io/client-go/rest/watch", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], diff --git a/pkg/kubectl/cmd/annotate_test.go b/pkg/kubectl/cmd/annotate_test.go index ceef2c37036..470ae2abeb2 100644 --- a/pkg/kubectl/cmd/annotate_test.go +++ b/pkg/kubectl/cmd/annotate_test.go @@ -26,8 +26,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -427,6 +427,7 @@ func TestAnnotateObject(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.Method { @@ -477,6 +478,7 @@ func TestAnnotateObjectFromFile(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.Method { @@ -525,6 +527,7 @@ func TestAnnotateObjectFromFile(t *testing.T) { func TestAnnotateLocal(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { t.Fatalf("unexpected request: %s %#v\n%#v", req.Method, req.URL, req) @@ -557,6 +560,7 @@ func TestAnnotateMultipleObjects(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.Method { diff --git a/pkg/kubectl/cmd/apply_test.go b/pkg/kubectl/cmd/apply_test.go index 2923614f999..89a4d425f97 100644 --- a/pkg/kubectl/cmd/apply_test.go +++ b/pkg/kubectl/cmd/apply_test.go @@ -31,10 +31,10 @@ import ( "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/annotations" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" ) @@ -200,6 +200,7 @@ func TestApplyObjectWithoutAnnotation(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -244,6 +245,7 @@ func TestApplyObject(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -287,6 +289,7 @@ func TestApplyRetry(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -340,6 +343,7 @@ func TestApplyNonExistObject(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -390,6 +394,7 @@ func testApplyMultipleObjects(t *testing.T, asList bool) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/attach_test.go b/pkg/kubectl/cmd/attach_test.go index bdd2ac30565..a4bb7db5de2 100644 --- a/pkg/kubectl/cmd/attach_test.go +++ b/pkg/kubectl/cmd/attach_test.go @@ -30,8 +30,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" "k8s.io/kubernetes/pkg/util/term" ) @@ -99,6 +99,7 @@ func TestPodAndContainerAttach(t *testing.T) { for _, test := range tests { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { return nil, nil }), } @@ -165,6 +166,7 @@ func TestAttach(t *testing.T) { for _, test := range tests { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -245,6 +247,7 @@ func TestAttachWarnings(t *testing.T) { for _, test := range tests { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/cmd_test.go b/pkg/kubectl/cmd/cmd_test.go index 4f2c9ed8167..27ead0a2b0a 100644 --- a/pkg/kubectl/cmd/cmd_test.go +++ b/pkg/kubectl/cmd/cmd_test.go @@ -32,9 +32,9 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/kubectl" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" @@ -151,6 +151,7 @@ func Example_printReplicationControllerWithNamespace() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -201,6 +202,7 @@ func Example_printMultiContainersReplicationControllerWithWide() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -252,6 +254,7 @@ func Example_printReplicationController() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -304,6 +307,7 @@ func Example_printPodWithWideFormat() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -344,6 +348,7 @@ func Example_printPodWithShowLabels() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -478,6 +483,7 @@ func Example_printPodHideTerminated() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -511,6 +517,7 @@ func Example_printPodShowAll() { ColumnLabels: []string{}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } @@ -537,6 +544,7 @@ func Example_printServiceWithNamespacesAndLabels() { ColumnLabels: []string{"l1"}, }) tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: nil, } diff --git a/pkg/kubectl/cmd/create_configmap_test.go b/pkg/kubectl/cmd/create_configmap_test.go index c1e3b4265b9..b86548c40e9 100644 --- a/pkg/kubectl/cmd/create_configmap_test.go +++ b/pkg/kubectl/cmd/create_configmap_test.go @@ -21,8 +21,8 @@ import ( "net/http" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -32,6 +32,7 @@ func TestCreateConfigMap(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/create_namespace_test.go b/pkg/kubectl/cmd/create_namespace_test.go index 297b78902cf..548b90c8a8e 100644 --- a/pkg/kubectl/cmd/create_namespace_test.go +++ b/pkg/kubectl/cmd/create_namespace_test.go @@ -21,8 +21,8 @@ import ( "net/http" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -32,6 +32,7 @@ func TestCreateNamespace(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/create_quota_test.go b/pkg/kubectl/cmd/create_quota_test.go index 0c58855da1e..a4c0df1b79a 100644 --- a/pkg/kubectl/cmd/create_quota_test.go +++ b/pkg/kubectl/cmd/create_quota_test.go @@ -21,8 +21,8 @@ import ( "net/http" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -32,6 +32,7 @@ func TestCreateQuota(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/create_secret_test.go b/pkg/kubectl/cmd/create_secret_test.go index 9ada15ed906..9f9128db27f 100644 --- a/pkg/kubectl/cmd/create_secret_test.go +++ b/pkg/kubectl/cmd/create_secret_test.go @@ -21,8 +21,8 @@ import ( "net/http" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -37,6 +37,7 @@ func TestCreateSecretGeneric(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -67,6 +68,7 @@ func TestCreateSecretDockerRegistry(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/create_service_test.go b/pkg/kubectl/cmd/create_service_test.go index f8b92afc2fe..d7858d7f580 100644 --- a/pkg/kubectl/cmd/create_service_test.go +++ b/pkg/kubectl/cmd/create_service_test.go @@ -21,8 +21,8 @@ import ( "net/http" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -32,6 +32,7 @@ func TestCreateService(t *testing.T) { f, tf, codec, negSer := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: negSer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/create_serviceaccount_test.go b/pkg/kubectl/cmd/create_serviceaccount_test.go index 46c3fd98e14..63e71dc0016 100644 --- a/pkg/kubectl/cmd/create_serviceaccount_test.go +++ b/pkg/kubectl/cmd/create_serviceaccount_test.go @@ -21,8 +21,8 @@ import ( "net/http" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -32,6 +32,7 @@ func TestCreateServiceAccount(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/create_test.go b/pkg/kubectl/cmd/create_test.go index 6c0b8b5e3be..0982b88d46e 100644 --- a/pkg/kubectl/cmd/create_test.go +++ b/pkg/kubectl/cmd/create_test.go @@ -21,7 +21,8 @@ import ( "net/http" "testing" - "k8s.io/kubernetes/pkg/client/restclient/fake" + "k8s.io/client-go/rest/fake" + "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/typed/dynamic" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -47,6 +48,7 @@ func TestCreateObject(t *testing.T) { ns := dynamic.ContentConfig().NegotiatedSerializer tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -81,6 +83,7 @@ func TestCreateMultipleObject(t *testing.T) { ns := dynamic.ContentConfig().NegotiatedSerializer tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -119,6 +122,7 @@ func TestCreateDirectory(t *testing.T) { ns := dynamic.ContentConfig().NegotiatedSerializer tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/delete_test.go b/pkg/kubectl/cmd/delete_test.go index ce0077b2683..ac94696e8d2 100644 --- a/pkg/kubectl/cmd/delete_test.go +++ b/pkg/kubectl/cmd/delete_test.go @@ -27,8 +27,8 @@ import ( "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/kubectl" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" @@ -44,6 +44,7 @@ func TestDeleteObjectByTuple(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -76,6 +77,7 @@ func TestDeleteNamedObject(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -108,6 +110,7 @@ func TestDeleteObject(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -165,6 +168,7 @@ func TestDeleteObjectGraceZero(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { t.Logf("got request %s %s", req.Method, req.URL.Path) @@ -213,6 +217,7 @@ func TestDeleteObjectNotFound(t *testing.T) { f, tf, _, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -249,6 +254,7 @@ func TestDeleteObjectIgnoreNotFound(t *testing.T) { f, tf, _, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -285,6 +291,7 @@ func TestDeleteAllNotFound(t *testing.T) { tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -333,6 +340,7 @@ func TestDeleteAllIgnoreNotFound(t *testing.T) { tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -368,6 +376,7 @@ func TestDeleteMultipleObject(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -402,6 +411,7 @@ func TestDeleteMultipleObjectContinueOnMissing(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -445,6 +455,7 @@ func TestDeleteMultipleResourcesWithTheSameName(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -482,6 +493,7 @@ func TestDeleteDirectory(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -513,6 +525,7 @@ func TestDeleteMultipleSelector(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/describe_test.go b/pkg/kubectl/cmd/describe_test.go index c0432e0892b..e36673308d0 100644 --- a/pkg/kubectl/cmd/describe_test.go +++ b/pkg/kubectl/cmd/describe_test.go @@ -22,7 +22,8 @@ import ( "net/http" "testing" - "k8s.io/kubernetes/pkg/client/restclient/fake" + "k8s.io/client-go/rest/fake" + "k8s.io/kubernetes/pkg/api" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -32,6 +33,7 @@ func TestDescribeUnknownSchemaObject(t *testing.T) { f, tf, codec, ns := cmdtesting.NewTestFactory() tf.Describer = d tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, cmdtesting.NewInternalType("", "", "foo"))}, } @@ -56,6 +58,7 @@ func TestDescribeObject(t *testing.T) { d := &testDescriber{Output: "test output"} tf.Describer = d tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -89,6 +92,7 @@ func TestDescribeListObjects(t *testing.T) { d := &testDescriber{Output: "test output"} tf.Describer = d tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } @@ -109,6 +113,7 @@ func TestDescribeObjectShowEvents(t *testing.T) { d := &testDescriber{Output: "test output"} tf.Describer = d tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } @@ -130,6 +135,7 @@ func TestDescribeObjectSkipEvents(t *testing.T) { d := &testDescriber{Output: "test output"} tf.Describer = d tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } diff --git a/pkg/kubectl/cmd/drain_test.go b/pkg/kubectl/cmd/drain_test.go index e97ec4c87a6..976b2f34e5c 100644 --- a/pkg/kubectl/cmd/drain_test.go +++ b/pkg/kubectl/cmd/drain_test.go @@ -39,12 +39,12 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/policy" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" ) @@ -149,6 +149,7 @@ func TestCordon(t *testing.T) { new_node := &api.Node{} updated := false tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { m := &MyReq{req} @@ -484,6 +485,7 @@ func TestDrain(t *testing.T) { evicted := false f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { m := &MyReq{req} diff --git a/pkg/kubectl/cmd/exec_test.go b/pkg/kubectl/cmd/exec_test.go index e671052c858..72f4b9b9123 100644 --- a/pkg/kubectl/cmd/exec_test.go +++ b/pkg/kubectl/cmd/exec_test.go @@ -31,8 +31,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" "k8s.io/kubernetes/pkg/util/term" ) @@ -129,6 +129,7 @@ func TestPodAndContainer(t *testing.T) { for _, test := range tests { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { return nil, nil }), } @@ -183,6 +184,7 @@ func TestExec(t *testing.T) { for _, test := range tests { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/expose_test.go b/pkg/kubectl/cmd/expose_test.go index 987d21f6629..f077e2c0e6f 100644 --- a/pkg/kubectl/cmd/expose_test.go +++ b/pkg/kubectl/cmd/expose_test.go @@ -25,8 +25,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/kubectl" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" "k8s.io/kubernetes/pkg/util/intstr" @@ -462,6 +462,7 @@ func TestRunExposeService(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &kubectl.JSONPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go index a9f4ededdb3..72c5c3ccc69 100644 --- a/pkg/kubectl/cmd/get_test.go +++ b/pkg/kubectl/cmd/get_test.go @@ -34,11 +34,11 @@ import ( "k8s.io/apimachinery/pkg/runtime/serializer/streaming" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" restclientwatch "k8s.io/client-go/rest/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -121,6 +121,7 @@ func TestGetUnknownSchemaObject(t *testing.T) { _, _, codec, _ := cmdtesting.NewTestFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, cmdtesting.NewInternalType("", "", "foo"))}, } @@ -165,6 +166,7 @@ func TestGetSchemaObject(t *testing.T) { codec := testapi.Default.Codec() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &api.ReplicationController{ObjectMeta: metav1.ObjectMeta{Name: "foo"}})}, } @@ -187,6 +189,7 @@ func TestGetObjects(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &pods.Items[0])}, } @@ -230,6 +233,7 @@ func TestGetSortedObjects(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } @@ -288,6 +292,7 @@ func TestGetObjectsIdentifiedByFile(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &pods.Items[0])}, } @@ -314,6 +319,7 @@ func TestGetListObjects(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } @@ -356,6 +362,7 @@ func TestGetAllListObjects(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, } @@ -385,6 +392,7 @@ func TestGetListComponentStatus(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, statuses)}, } @@ -413,6 +421,7 @@ func TestGetMultipleTypeObjects(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { @@ -451,6 +460,7 @@ func TestGetMultipleTypeObjectsAsList(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { @@ -512,6 +522,7 @@ func TestGetMultipleTypeObjectsWithSelector(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { if req.URL.Query().Get(metav1.LabelSelectorQueryParam(api.Registry.GroupOrDie(api.GroupName).GroupVersion.String())) != "a=b" { @@ -563,6 +574,7 @@ func TestGetMultipleTypeObjectsWithDirectReference(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { @@ -599,6 +611,7 @@ func TestGetByNameForcesFlag(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &pods.Items[0])}, } @@ -698,6 +711,7 @@ func TestWatchSelector(t *testing.T) { }, } tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { if req.URL.Query().Get(metav1.LabelSelectorQueryParam(api.Registry.GroupOrDie(api.GroupName).GroupVersion.String())) != "a=b" { @@ -739,6 +753,7 @@ func TestWatchResource(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { @@ -776,6 +791,7 @@ func TestWatchResourceIdentifiedByFile(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { @@ -814,6 +830,7 @@ func TestWatchOnlyResource(t *testing.T) { f, tf, codec, _ := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { @@ -857,6 +874,7 @@ func TestWatchOnlyList(t *testing.T) { }, } tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: unstructuredSerializer, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.URL.Path { diff --git a/pkg/kubectl/cmd/label_test.go b/pkg/kubectl/cmd/label_test.go index 56d96198141..8d051f3add2 100644 --- a/pkg/kubectl/cmd/label_test.go +++ b/pkg/kubectl/cmd/label_test.go @@ -26,8 +26,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" "k8s.io/kubernetes/pkg/kubectl/resource" ) @@ -349,6 +349,7 @@ func TestLabelForResourceFromFile(t *testing.T) { pods, _, _ := testData() f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.Method { @@ -399,6 +400,7 @@ func TestLabelForResourceFromFile(t *testing.T) { func TestLabelLocal(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { t.Fatalf("unexpected request: %s %#v\n%#v", req.Method, req.URL, req) @@ -432,6 +434,7 @@ func TestLabelMultipleObjects(t *testing.T) { pods, _, _ := testData() f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch req.Method { diff --git a/pkg/kubectl/cmd/logs_test.go b/pkg/kubectl/cmd/logs_test.go index 776e0dee5ac..246edc9dda2 100644 --- a/pkg/kubectl/cmd/logs_test.go +++ b/pkg/kubectl/cmd/logs_test.go @@ -29,8 +29,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -51,6 +51,7 @@ func TestLog(t *testing.T) { logContent := "test log content" f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/patch_test.go b/pkg/kubectl/cmd/patch_test.go index 9bb8f98dbf3..c7fc8ef82c4 100644 --- a/pkg/kubectl/cmd/patch_test.go +++ b/pkg/kubectl/cmd/patch_test.go @@ -21,7 +21,8 @@ import ( "net/http" "testing" - "k8s.io/kubernetes/pkg/client/restclient/fake" + "k8s.io/client-go/rest/fake" + "k8s.io/kubernetes/pkg/api" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -31,6 +32,7 @@ func TestPatchObject(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -63,6 +65,7 @@ func TestPatchObjectFromFile(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/portforward_test.go b/pkg/kubectl/cmd/portforward_test.go index c0b05274846..c9b7349ec07 100644 --- a/pkg/kubectl/cmd/portforward_test.go +++ b/pkg/kubectl/cmd/portforward_test.go @@ -25,8 +25,8 @@ import ( "github.com/spf13/cobra" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -69,6 +69,7 @@ func testPortForward(t *testing.T, flags map[string]string, args []string) { var err error f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/replace_test.go b/pkg/kubectl/cmd/replace_test.go index 5f37c768cc9..eed8e1eda24 100644 --- a/pkg/kubectl/cmd/replace_test.go +++ b/pkg/kubectl/cmd/replace_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -36,6 +36,7 @@ func TestReplaceObject(t *testing.T) { tf.Printer = &testPrinter{} deleted := false tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -93,6 +94,7 @@ func TestReplaceMultipleObject(t *testing.T) { redisMasterDeleted := false frontendDeleted := false tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -162,6 +164,7 @@ func TestReplaceDirectory(t *testing.T) { tf.Printer = &testPrinter{} created := map[string]bool{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -218,6 +221,7 @@ func TestForceReplaceObjectNotFound(t *testing.T) { ns := dynamic.ContentConfig().NegotiatedSerializer tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/cmd/run_test.go b/pkg/kubectl/cmd/run_test.go index 146690fcabb..f5cec08dc9f 100644 --- a/pkg/kubectl/cmd/run_test.go +++ b/pkg/kubectl/cmd/run_test.go @@ -32,8 +32,8 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "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/util/intstr" @@ -155,6 +155,7 @@ func TestRunArgsFollowDashRules(t *testing.T) { for _, test := range tests { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { return &http.Response{StatusCode: 201, Header: defaultHeader(), Body: objBody(codec, &rc.Items[0])}, nil @@ -272,6 +273,7 @@ func TestGenerateService(t *testing.T) { tf.ClientConfig = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &api.Registry.GroupOrDie(api.GroupName).GroupVersion}} tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -407,6 +409,7 @@ func TestRunValidations(t *testing.T) { f, tf, codec, ns := cmdtesting.NewTestFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, cmdtesting.NewInternalType("", "", ""))}, } diff --git a/pkg/kubectl/cmd/set/BUILD b/pkg/kubectl/cmd/set/BUILD index a34bce1e2ed..c1ebc781bae 100644 --- a/pkg/kubectl/cmd/set/BUILD +++ b/pkg/kubectl/cmd/set/BUILD @@ -52,7 +52,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", @@ -61,6 +60,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/rest/fake", ], ) diff --git a/pkg/kubectl/cmd/set/set_image_test.go b/pkg/kubectl/cmd/set/set_image_test.go index 6b6e949a1d7..a83dc71627f 100644 --- a/pkg/kubectl/cmd/set/set_image_test.go +++ b/pkg/kubectl/cmd/set/set_image_test.go @@ -23,8 +23,8 @@ import ( "testing" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" - "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/kubectl/resource" @@ -33,6 +33,7 @@ import ( func TestImageLocal(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { t.Fatalf("unexpected request: %s %#v\n%#v", req.Method, req.URL, req) diff --git a/pkg/kubectl/cmd/taint_test.go b/pkg/kubectl/cmd/taint_test.go index 3271b575146..4c5f3f4b63c 100644 --- a/pkg/kubectl/cmd/taint_test.go +++ b/pkg/kubectl/cmd/taint_test.go @@ -27,9 +27,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "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/util/strategicpatch" @@ -259,6 +259,7 @@ func TestTaint(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { m := &MyReq{req} diff --git a/pkg/kubectl/cmd/testing/BUILD b/pkg/kubectl/cmd/testing/BUILD index 73431a58c06..ea845ead25c 100644 --- a/pkg/kubectl/cmd/testing/BUILD +++ b/pkg/kubectl/cmd/testing/BUILD @@ -17,7 +17,6 @@ go_library( "//pkg/api/testapi:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", @@ -31,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/rest/fake", ], ) diff --git a/pkg/kubectl/cmd/testing/fake.go b/pkg/kubectl/cmd/testing/fake.go index 895c2fefacb..cc5f3834f92 100644 --- a/pkg/kubectl/cmd/testing/fake.go +++ b/pkg/kubectl/cmd/testing/fake.go @@ -31,12 +31,12 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/rest/fake" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" - "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/kubectl" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" diff --git a/pkg/kubectl/cmd/top_node_test.go b/pkg/kubectl/cmd/top_node_test.go index d1b77502e60..7a50a2dbbf8 100644 --- a/pkg/kubectl/cmd/top_node_test.go +++ b/pkg/kubectl/cmd/top_node_test.go @@ -25,9 +25,9 @@ import ( "net/url" + "k8s.io/client-go/rest/fake" "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" ) @@ -45,6 +45,7 @@ func TestTopNodeAllMetrics(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -93,6 +94,7 @@ func TestTopNodeWithNameMetrics(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -152,6 +154,7 @@ func TestTopNodeWithLabelSelectorMetrics(t *testing.T) { f, tf, codec, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m, q := req.URL.Path, req.Method, req.URL.RawQuery; { diff --git a/pkg/kubectl/cmd/top_pod_test.go b/pkg/kubectl/cmd/top_pod_test.go index 7520fb8ad58..8058b33e709 100644 --- a/pkg/kubectl/cmd/top_pod_test.go +++ b/pkg/kubectl/cmd/top_pod_test.go @@ -25,11 +25,12 @@ import ( "net/url" + "k8s.io/client-go/rest/fake" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" + "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) @@ -117,6 +118,7 @@ func TestTopPod(t *testing.T) { f, tf, _, ns := cmdtesting.NewAPIFactory() tf.Printer = &testPrinter{} tf.Client = &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: ns, Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m, q := req.URL.Path, req.Method, req.URL.RawQuery; { diff --git a/pkg/kubectl/cmd/util/BUILD b/pkg/kubectl/cmd/util/BUILD index 9986941151c..74ad91077ce 100644 --- a/pkg/kubectl/cmd/util/BUILD +++ b/pkg/kubectl/cmd/util/BUILD @@ -88,7 +88,6 @@ go_test( "//pkg/api/validation:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/controller:go_default_library", @@ -108,6 +107,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/util/flag", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/rest/fake", "//vendor:k8s.io/client-go/tools/clientcmd", "//vendor:k8s.io/client-go/tools/clientcmd/api", ], diff --git a/pkg/kubectl/cmd/util/cached_discovery_test.go b/pkg/kubectl/cmd/util/cached_discovery_test.go index 089a81372dd..a2dbe14a647 100644 --- a/pkg/kubectl/cmd/util/cached_discovery_test.go +++ b/pkg/kubectl/cmd/util/cached_discovery_test.go @@ -30,7 +30,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/version" restclient "k8s.io/client-go/rest" - "k8s.io/kubernetes/pkg/client/restclient/fake" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" ) diff --git a/pkg/kubectl/cmd/util/factory_test.go b/pkg/kubectl/cmd/util/factory_test.go index e7c6fd84ed7..e5ac060bc38 100644 --- a/pkg/kubectl/cmd/util/factory_test.go +++ b/pkg/kubectl/cmd/util/factory_test.go @@ -38,6 +38,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/util/flag" + manualfake "k8s.io/client-go/rest/fake" "k8s.io/client-go/tools/clientcmd" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" "k8s.io/kubernetes/pkg/api" @@ -46,7 +47,6 @@ import ( "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" - manualfake "k8s.io/kubernetes/pkg/client/restclient/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/kubectl" @@ -268,6 +268,7 @@ func TestRefetchSchemaWhenValidationFails(t *testing.T) { requests := map[string]int{} c := &manualfake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Client: manualfake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -325,6 +326,7 @@ func TestValidateCachesSchema(t *testing.T) { requests := map[string]int{} c := &manualfake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Client: manualfake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { diff --git a/pkg/kubectl/resource/BUILD b/pkg/kubectl/resource/BUILD index d1f94936780..33e48204638 100644 --- a/pkg/kubectl/resource/BUILD +++ b/pkg/kubectl/resource/BUILD @@ -64,7 +64,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/restclient/fake:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/stretchr/testify/assert", "//vendor:k8s.io/apimachinery/pkg/api/meta", @@ -74,6 +73,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/rest/fake", "//vendor:k8s.io/client-go/rest/watch", "//vendor:k8s.io/client-go/util/testing", ], diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index aa46b4ae97a..9ddfd1bda4d 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -37,6 +37,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/serializer/streaming" utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/rest/fake" restclientwatch "k8s.io/client-go/rest/watch" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" @@ -44,7 +45,6 @@ import ( "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/restclient/fake" ) func stringBody(body string) io.ReadCloser { @@ -70,6 +70,7 @@ func fakeClient() ClientMapper { func fakeClientWith(testName string, t *testing.T, data map[string]string) ClientMapper { return ClientMapperFunc(func(*meta.RESTMapping) (RESTClient, error) { return &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { p := req.URL.Path diff --git a/pkg/kubectl/resource/helper_test.go b/pkg/kubectl/resource/helper_test.go index d6b954c0ebd..2829ffaeaf9 100644 --- a/pkg/kubectl/resource/helper_test.go +++ b/pkg/kubectl/resource/helper_test.go @@ -29,10 +29,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/client/restclient/fake" ) func objBody(obj runtime.Object) io.ReadCloser { @@ -103,6 +103,7 @@ func TestHelperDelete(t *testing.T) { } for _, test := range tests { client := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: test.Resp, Err: test.HttpErr, @@ -193,6 +194,7 @@ func TestHelperCreate(t *testing.T) { } for i, test := range tests { client := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: test.Resp, Err: test.HttpErr, @@ -273,6 +275,7 @@ func TestHelperGet(t *testing.T) { } for _, test := range tests { client := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: test.Resp, Err: test.HttpErr, @@ -346,6 +349,7 @@ func TestHelperList(t *testing.T) { } for _, test := range tests { client := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: test.Resp, Err: test.HttpErr, @@ -479,8 +483,9 @@ func TestHelperReplace(t *testing.T) { } for i, test := range tests { client := &fake.RESTClient{ - Client: test.HTTPClient, + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), + Client: test.HTTPClient, Resp: test.Resp, Err: test.HttpErr, } diff --git a/pkg/kubectl/rolling_updater_test.go b/pkg/kubectl/rolling_updater_test.go index b6934a752e5..63a8edadc16 100644 --- a/pkg/kubectl/rolling_updater_test.go +++ b/pkg/kubectl/rolling_updater_test.go @@ -32,12 +32,12 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" restclient "k8s.io/client-go/rest" + manualfake "k8s.io/client-go/rest/fake" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" - manualfake "k8s.io/kubernetes/pkg/client/restclient/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/util/intstr" ) @@ -1466,6 +1466,7 @@ func TestUpdateRcWithRetries(t *testing.T) { {StatusCode: 200, Header: header, Body: objBody(codec, rc)}, } fakeClient := &manualfake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Client: manualfake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { switch p, m := req.URL.Path, req.Method; { @@ -1558,6 +1559,7 @@ func TestAddDeploymentHash(t *testing.T) { seen := sets.String{} updatedRc := false fakeClient := &manualfake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Client: manualfake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { header := http.Header{} diff --git a/pkg/kubelet/BUILD b/pkg/kubelet/BUILD index 83aa50534a6..36da8779d6a 100644 --- a/pkg/kubelet/BUILD +++ b/pkg/kubelet/BUILD @@ -43,7 +43,6 @@ go_library( "//pkg/apis/componentconfig:go_default_library", "//pkg/apis/componentconfig/v1alpha1:go_default_library", "//pkg/capabilities:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/client/record:go_default_library", @@ -124,8 +123,8 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/util/feature", - "//vendor:k8s.io/apiserver/pkg/util/flag", "//vendor:k8s.io/client-go/kubernetes", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", "//vendor:k8s.io/client-go/util/flowcontrol", "//vendor:k8s.io/client-go/util/integer", diff --git a/pkg/kubelet/config/BUILD b/pkg/kubelet/config/BUILD index e9a43b306b9..e287675e433 100644 --- a/pkg/kubelet/config/BUILD +++ b/pkg/kubelet/config/BUILD @@ -26,7 +26,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/container:go_default_library", @@ -45,6 +44,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/util/yaml", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -64,7 +64,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/securitycontext:go_default_library", @@ -73,6 +72,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/pkg/kubelet/config/apiserver.go b/pkg/kubelet/config/apiserver.go index e35e595bc1b..a9eedf9f3b4 100644 --- a/pkg/kubelet/config/apiserver.go +++ b/pkg/kubelet/config/apiserver.go @@ -21,9 +21,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" ) diff --git a/pkg/kubelet/config/apiserver_test.go b/pkg/kubelet/config/apiserver_test.go index 55d8137bab7..501cb496b8a 100644 --- a/pkg/kubelet/config/apiserver_test.go +++ b/pkg/kubelet/config/apiserver_test.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" ) diff --git a/pkg/kubelet/config/file.go b/pkg/kubelet/config/file.go index 45c2fc8db4d..2d37af6b659 100644 --- a/pkg/kubelet/config/file.go +++ b/pkg/kubelet/config/file.go @@ -29,9 +29,9 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" ) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index c25e03986fe..06a990754c3 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -42,7 +42,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" utilfeature "k8s.io/apiserver/pkg/util/feature" - utilflag "k8s.io/apiserver/pkg/util/flag" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" "k8s.io/client-go/util/flowcontrol" "k8s.io/client-go/util/integer" @@ -51,7 +51,6 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" componentconfigv1alpha1 "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/client/record" @@ -2146,7 +2145,7 @@ func isSyncPodWorthy(event *pleg.PodLifecycleEvent) bool { // parseResourceList parses the given configuration map into an API // ResourceList or returns an error. -func parseResourceList(m utilflag.ConfigurationMap) (v1.ResourceList, error) { +func parseResourceList(m componentconfig.ConfigurationMap) (v1.ResourceList, error) { rl := make(v1.ResourceList) for k, v := range m { switch v1.ResourceName(k) { @@ -2170,7 +2169,7 @@ func parseResourceList(m utilflag.ConfigurationMap) (v1.ResourceList, error) { // ParseReservation parses the given kubelet- and system- reservations // configuration maps into an internal Reservation instance or returns an // error. -func ParseReservation(kubeReserved, systemReserved utilflag.ConfigurationMap) (*kubetypes.Reservation, error) { +func ParseReservation(kubeReserved, systemReserved componentconfig.ConfigurationMap) (*kubetypes.Reservation, error) { reservation := new(kubetypes.Reservation) if rl, err := parseResourceList(kubeReserved); err != nil { return nil, err diff --git a/pkg/kubelet/util/cache/BUILD b/pkg/kubelet/util/cache/BUILD index 03c2107f7a2..bb6817973d2 100644 --- a/pkg/kubelet/util/cache/BUILD +++ b/pkg/kubelet/util/cache/BUILD @@ -12,7 +12,7 @@ go_library( name = "go_default_library", srcs = ["object_cache.go"], tags = ["automanaged"], - deps = ["//pkg/client/cache:go_default_library"], + deps = ["//vendor:k8s.io/client-go/tools/cache"], ) go_test( @@ -21,7 +21,7 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/client/cache:go_default_library", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", ], ) diff --git a/pkg/kubelet/util/cache/object_cache.go b/pkg/kubelet/util/cache/object_cache.go index f7ef4a206ee..56d06908c32 100644 --- a/pkg/kubelet/util/cache/object_cache.go +++ b/pkg/kubelet/util/cache/object_cache.go @@ -19,7 +19,7 @@ package cache import ( "time" - expirationcache "k8s.io/kubernetes/pkg/client/cache" + expirationcache "k8s.io/client-go/tools/cache" ) // ObjectCache is a simple wrapper of expiration cache that diff --git a/pkg/kubelet/util/cache/object_cache_test.go b/pkg/kubelet/util/cache/object_cache_test.go index ded4c1631b5..be11fbfb4b8 100644 --- a/pkg/kubelet/util/cache/object_cache_test.go +++ b/pkg/kubelet/util/cache/object_cache_test.go @@ -21,8 +21,8 @@ import ( "testing" "time" + expirationcache "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" - expirationcache "k8s.io/kubernetes/pkg/client/cache" ) type testObject struct { diff --git a/pkg/proxy/config/BUILD b/pkg/proxy/config/BUILD index a243336bbf6..cc21fc50835 100644 --- a/pkg/proxy/config/BUILD +++ b/pkg/proxy/config/BUILD @@ -18,13 +18,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/util/config:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -35,10 +35,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/proxy/config/api.go b/pkg/proxy/config/api.go index 9c55e1931bf..0ea295fcf22 100644 --- a/pkg/proxy/config/api.go +++ b/pkg/proxy/config/api.go @@ -21,8 +21,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) // NewSourceAPI creates config source that watches for changes to the services and endpoints. diff --git a/pkg/proxy/config/api_test.go b/pkg/proxy/config/api_test.go index b55917bc990..30ff03c9a82 100644 --- a/pkg/proxy/config/api_test.go +++ b/pkg/proxy/config/api_test.go @@ -23,8 +23,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) type fakeLW struct { diff --git a/pkg/proxy/healthcheck/BUILD b/pkg/proxy/healthcheck/BUILD index c6f92f0410d..5eea7679c26 100644 --- a/pkg/proxy/healthcheck/BUILD +++ b/pkg/proxy/healthcheck/BUILD @@ -20,11 +20,11 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/client/cache:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/pkg/proxy/healthcheck/healthcheck.go b/pkg/proxy/healthcheck/healthcheck.go index 5aebcf6fd2f..e9dfe86e75a 100644 --- a/pkg/proxy/healthcheck/healthcheck.go +++ b/pkg/proxy/healthcheck/healthcheck.go @@ -24,7 +24,7 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/kubernetes/pkg/client/cache" + "k8s.io/client-go/tools/cache" ) // proxyMutationRequest: Message to request addition/deletion of endpoints for a service diff --git a/pkg/storage/BUILD b/pkg/storage/BUILD index 97ed6f2eafc..e253284edd2 100644 --- a/pkg/storage/BUILD +++ b/pkg/storage/BUILD @@ -24,7 +24,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/util:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", @@ -40,6 +39,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", ], ) @@ -57,7 +57,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", @@ -67,6 +66,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", ], ) diff --git a/pkg/storage/cacher.go b/pkg/storage/cacher.go index a73a4cf91c3..7e3ffdb9f0c 100644 --- a/pkg/storage/cacher.go +++ b/pkg/storage/cacher.go @@ -34,8 +34,8 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/util" "github.com/golang/glog" diff --git a/pkg/storage/watch_cache.go b/pkg/storage/watch_cache.go index d55ca261a45..81367a474a3 100644 --- a/pkg/storage/watch_cache.go +++ b/pkg/storage/watch_cache.go @@ -29,8 +29,8 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/util" ) diff --git a/pkg/storage/watch_cache_test.go b/pkg/storage/watch_cache_test.go index b84e008db7b..ded6c3c300a 100644 --- a/pkg/storage/watch_cache_test.go +++ b/pkg/storage/watch_cache_test.go @@ -29,9 +29,9 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" ) func makeTestPod(name string, resourceVersion uint64) *api.Pod { diff --git a/plugin/pkg/admission/namespace/autoprovision/BUILD b/plugin/pkg/admission/namespace/autoprovision/BUILD index d7a257ca3b9..3b0c6a6fb98 100644 --- a/plugin/pkg/admission/namespace/autoprovision/BUILD +++ b/plugin/pkg/admission/namespace/autoprovision/BUILD @@ -14,13 +14,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apiserver/pkg/admission", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/namespace/autoprovision/admission.go b/plugin/pkg/admission/namespace/autoprovision/admission.go index fdf2e091bba..3fdee637fb2 100644 --- a/plugin/pkg/admission/namespace/autoprovision/admission.go +++ b/plugin/pkg/admission/namespace/autoprovision/admission.go @@ -23,8 +23,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/admission" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" diff --git a/plugin/pkg/admission/namespace/exists/BUILD b/plugin/pkg/admission/namespace/exists/BUILD index 1071aa628bd..d9061a6880d 100644 --- a/plugin/pkg/admission/namespace/exists/BUILD +++ b/plugin/pkg/admission/namespace/exists/BUILD @@ -14,13 +14,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apiserver/pkg/admission", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/namespace/exists/admission.go b/plugin/pkg/admission/namespace/exists/admission.go index f62b80809c7..ad042211e55 100644 --- a/plugin/pkg/admission/namespace/exists/admission.go +++ b/plugin/pkg/admission/namespace/exists/admission.go @@ -23,8 +23,8 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/admission" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" diff --git a/plugin/pkg/admission/namespace/lifecycle/BUILD b/plugin/pkg/admission/namespace/lifecycle/BUILD index 9fc1a5a786c..17c702e7687 100644 --- a/plugin/pkg/admission/namespace/lifecycle/BUILD +++ b/plugin/pkg/admission/namespace/lifecycle/BUILD @@ -14,7 +14,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", @@ -24,6 +23,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/admission", "//vendor:k8s.io/apiserver/pkg/util/cache", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", ], ) diff --git a/plugin/pkg/admission/namespace/lifecycle/admission.go b/plugin/pkg/admission/namespace/lifecycle/admission.go index 1747b0f5c0b..a7f86352a80 100644 --- a/plugin/pkg/admission/namespace/lifecycle/admission.go +++ b/plugin/pkg/admission/namespace/lifecycle/admission.go @@ -28,9 +28,9 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" utilcache "k8s.io/apiserver/pkg/util/cache" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" diff --git a/plugin/pkg/admission/podnodeselector/BUILD b/plugin/pkg/admission/podnodeselector/BUILD index 3ec99c305f2..30eadb32808 100644 --- a/plugin/pkg/admission/podnodeselector/BUILD +++ b/plugin/pkg/admission/podnodeselector/BUILD @@ -14,7 +14,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", @@ -24,6 +23,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/yaml", "//vendor:k8s.io/apiserver/pkg/admission", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/podnodeselector/admission.go b/plugin/pkg/admission/podnodeselector/admission.go index 8ac339ee0fe..2c5b6320f9f 100644 --- a/plugin/pkg/admission/podnodeselector/admission.go +++ b/plugin/pkg/admission/podnodeselector/admission.go @@ -28,8 +28,8 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/apiserver/pkg/admission" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" diff --git a/plugin/pkg/admission/resourcequota/BUILD b/plugin/pkg/admission/resourcequota/BUILD index e4a6b6a85b4..cb6ad3399b5 100644 --- a/plugin/pkg/admission/resourcequota/BUILD +++ b/plugin/pkg/admission/resourcequota/BUILD @@ -19,7 +19,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/quota:go_default_library", @@ -37,6 +36,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/admission", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -48,7 +48,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/resource: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", "//pkg/quota:go_default_library", @@ -59,6 +58,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/admission", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/resourcequota/admission_test.go b/plugin/pkg/admission/resourcequota/admission_test.go index 7df423d1085..c493012231e 100644 --- a/plugin/pkg/admission/resourcequota/admission_test.go +++ b/plugin/pkg/admission/resourcequota/admission_test.go @@ -28,9 +28,9 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/quota" diff --git a/plugin/pkg/admission/resourcequota/resource_access.go b/plugin/pkg/admission/resourcequota/resource_access.go index 2c35bc642b7..043b27ebc3e 100644 --- a/plugin/pkg/admission/resourcequota/resource_access.go +++ b/plugin/pkg/admission/resourcequota/resource_access.go @@ -27,8 +27,8 @@ import ( "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/storage/etcd" ) diff --git a/plugin/pkg/admission/security/podsecuritypolicy/BUILD b/plugin/pkg/admission/security/podsecuritypolicy/BUILD index bc3d2f63983..9ad8aec8270 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/BUILD +++ b/plugin/pkg/admission/security/podsecuritypolicy/BUILD @@ -15,7 +15,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/security/podsecuritypolicy:go_default_library", @@ -32,6 +31,7 @@ go_library( "//vendor:k8s.io/apiserver/pkg/admission", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -43,7 +43,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/security/podsecuritypolicy:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", @@ -55,6 +54,7 @@ go_test( "//vendor:k8s.io/apiserver/pkg/admission", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/security/podsecuritypolicy/admission.go b/plugin/pkg/admission/security/podsecuritypolicy/admission.go index 39d45e75091..281a8b1614e 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/admission.go +++ b/plugin/pkg/admission/security/podsecuritypolicy/admission.go @@ -31,9 +31,9 @@ import ( "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" psp "k8s.io/kubernetes/pkg/security/podsecuritypolicy" diff --git a/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go b/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go index 72e0026969c..2c3125c982f 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go +++ b/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go @@ -30,9 +30,9 @@ import ( kadmission "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" + "k8s.io/client-go/tools/cache" kapi "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/security/apparmor" kpsp "k8s.io/kubernetes/pkg/security/podsecuritypolicy" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/seccomp" diff --git a/plugin/pkg/admission/serviceaccount/BUILD b/plugin/pkg/admission/serviceaccount/BUILD index 7706d7dc8d6..0ffa3efb744 100644 --- a/plugin/pkg/admission/serviceaccount/BUILD +++ b/plugin/pkg/admission/serviceaccount/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/kubelet/types:go_default_library", @@ -31,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/admission", "//vendor:k8s.io/apiserver/pkg/storage/names", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/serviceaccount/admission.go b/plugin/pkg/admission/serviceaccount/admission.go index cf68bfb9ed8..b589ded9ccc 100644 --- a/plugin/pkg/admission/serviceaccount/admission.go +++ b/plugin/pkg/admission/serviceaccount/admission.go @@ -32,8 +32,8 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/storage/names" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" kubelet "k8s.io/kubernetes/pkg/kubelet/types" diff --git a/plugin/pkg/admission/storageclass/default/BUILD b/plugin/pkg/admission/storageclass/default/BUILD index 8fce57f4dc8..f326e466433 100644 --- a/plugin/pkg/admission/storageclass/default/BUILD +++ b/plugin/pkg/admission/storageclass/default/BUILD @@ -16,7 +16,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/util:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//vendor:github.com/golang/glog", @@ -25,6 +24,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/admission", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/admission/storageclass/default/admission.go b/plugin/pkg/admission/storageclass/default/admission.go index 2ae18ec653d..dff36874286 100644 --- a/plugin/pkg/admission/storageclass/default/admission.go +++ b/plugin/pkg/admission/storageclass/default/admission.go @@ -27,10 +27,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" admission "k8s.io/apiserver/pkg/admission" + "k8s.io/client-go/tools/cache" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/storage" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) diff --git a/plugin/pkg/scheduler/BUILD b/plugin/pkg/scheduler/BUILD index 43e349c91bd..d94c8ae2ae3 100644 --- a/plugin/pkg/scheduler/BUILD +++ b/plugin/pkg/scheduler/BUILD @@ -19,7 +19,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/util:go_default_library", @@ -39,6 +38,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -56,7 +56,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/record:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", @@ -70,6 +69,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/scheduler/factory/BUILD b/plugin/pkg/scheduler/factory/BUILD index 969be7b6eb7..8139153508e 100644 --- a/plugin/pkg/scheduler/factory/BUILD +++ b/plugin/pkg/scheduler/factory/BUILD @@ -18,7 +18,6 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/legacylisters:go_default_library", "//pkg/controller/informers:go_default_library", @@ -39,6 +38,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/validation", "//vendor:k8s.io/apiserver/pkg/endpoints/request", + "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -55,7 +55,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", @@ -65,6 +64,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/testing", ], ) diff --git a/plugin/pkg/scheduler/factory/factory.go b/plugin/pkg/scheduler/factory/factory.go index adf59fee3d3..86242ba0160 100644 --- a/plugin/pkg/scheduler/factory/factory.go +++ b/plugin/pkg/scheduler/factory/factory.go @@ -31,8 +31,8 @@ import ( "k8s.io/apimachinery/pkg/util/sets" utilvalidation "k8s.io/apimachinery/pkg/util/validation" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/legacylisters" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/plugin/pkg/scheduler/factory/factory_test.go b/plugin/pkg/scheduler/factory/factory_test.go index 6980a9df694..fc3b6b9941e 100644 --- a/plugin/pkg/scheduler/factory/factory_test.go +++ b/plugin/pkg/scheduler/factory/factory_test.go @@ -26,12 +26,12 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" diff --git a/plugin/pkg/scheduler/scheduler.go b/plugin/pkg/scheduler/scheduler.go index e5110d05349..644a5a42f8a 100644 --- a/plugin/pkg/scheduler/scheduler.go +++ b/plugin/pkg/scheduler/scheduler.go @@ -33,7 +33,7 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/kubernetes/pkg/client/cache" + "k8s.io/client-go/tools/cache" ) // Binder knows how to write a binding. diff --git a/plugin/pkg/scheduler/scheduler_test.go b/plugin/pkg/scheduler/scheduler_test.go index d90f176d6e4..f9602e2f75c 100644 --- a/plugin/pkg/scheduler/scheduler_test.go +++ b/plugin/pkg/scheduler/scheduler_test.go @@ -27,10 +27,10 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/wait" + clientcache "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - clientcache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" diff --git a/plugin/pkg/scheduler/schedulercache/BUILD b/plugin/pkg/scheduler/schedulercache/BUILD index 6126730c437..ae595fd28bb 100644 --- a/plugin/pkg/scheduler/schedulercache/BUILD +++ b/plugin/pkg/scheduler/schedulercache/BUILD @@ -20,11 +20,11 @@ go_library( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/plugin/pkg/scheduler/schedulercache/node_info.go b/plugin/pkg/scheduler/schedulercache/node_info.go index 1d048be8ffc..3b5f839ca06 100644 --- a/plugin/pkg/scheduler/schedulercache/node_info.go +++ b/plugin/pkg/scheduler/schedulercache/node_info.go @@ -21,9 +21,9 @@ import ( "github.com/golang/glog" + clientcache "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - clientcache "k8s.io/kubernetes/pkg/client/cache" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" ) diff --git a/staging/copy.sh b/staging/copy.sh index 30b4c611c4e..56ff3534306 100755 --- a/staging/copy.sh +++ b/staging/copy.sh @@ -70,9 +70,8 @@ function save() { # save everything for which the staging directory is the source of truth save "rest" -# remove the rest/fake until we're authoritative for it (need to update for registry) -rm -rf ${CLIENT_REPO_TEMP}/rest/fake save "tools/auth" +save "tools/cache" save "tools/clientcmd" save "tools/metrics" save "transport" @@ -91,10 +90,6 @@ function mkcp() { echo "copying client packages" mkcp "pkg/client/clientset_generated/${CLIENTSET}" "pkg/client/clientset_generated" mkcp "/pkg/client/record" "/pkg/client" -mkcp "/pkg/client/cache" "/pkg/client" -# TODO: make this test file not depending on pkg/client/unversioned -rm "${CLIENT_REPO_TEMP}"/pkg/client/cache/listwatch_test.go -mkcp "/pkg/client/restclient/fake" "/pkg/client/restclient" mkcp "/pkg/client/testing" "/pkg/client" # remove this test because it imports the internal clientset rm "${CLIENT_REPO_TEMP}"/pkg/client/testing/core/fake_test.go @@ -190,8 +185,6 @@ mvfolder "pkg/client/clientset_generated/${CLIENTSET}" kubernetes mvfolder pkg/client/typed/discovery discovery mvfolder pkg/client/typed/dynamic dynamic mvfolder pkg/client/record tools/record -mvfolder pkg/client/restclient/fake rest/fake -mvfolder pkg/client/cache tools/cache mvfolder pkg/client/unversioned/portforward tools/portforward mvfolder pkg/client/testing/core testing mvfolder pkg/client/testing/cache tools/cache/testing diff --git a/staging/src/k8s.io/client-go/Godeps/Godeps.json b/staging/src/k8s.io/client-go/Godeps/Godeps.json index b5431fb0cd0..d9fef120e56 100644 --- a/staging/src/k8s.io/client-go/Godeps/Godeps.json +++ b/staging/src/k8s.io/client-go/Godeps/Godeps.json @@ -324,151 +324,151 @@ }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/openapi", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/rand", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" } ] } diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go index 03ae8b15e22..dfc3eb39b59 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go @@ -30,6 +30,7 @@ limitations under the License. APIResource APIResourceList APIVersions + DeleteOptions Duration ExportOptions GetOptions @@ -45,6 +46,7 @@ limitations under the License. ListOptions ObjectMeta OwnerReference + Preconditions RootPaths ServerAddressByClientCIDR Status @@ -100,111 +102,119 @@ func (m *APIVersions) Reset() { *m = APIVersions{} } func (*APIVersions) ProtoMessage() {} func (*APIVersions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } +func (m *DeleteOptions) Reset() { *m = DeleteOptions{} } +func (*DeleteOptions) ProtoMessage() {} +func (*DeleteOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + func (m *Duration) Reset() { *m = Duration{} } func (*Duration) ProtoMessage() {} -func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } +func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } func (m *ExportOptions) Reset() { *m = ExportOptions{} } func (*ExportOptions) ProtoMessage() {} -func (*ExportOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } +func (*ExportOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } func (m *GetOptions) Reset() { *m = GetOptions{} } func (*GetOptions) ProtoMessage() {} -func (*GetOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } +func (*GetOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } func (m *GroupKind) Reset() { *m = GroupKind{} } func (*GroupKind) ProtoMessage() {} -func (*GroupKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } +func (*GroupKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } func (m *GroupResource) Reset() { *m = GroupResource{} } func (*GroupResource) ProtoMessage() {} -func (*GroupResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } +func (*GroupResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } func (m *GroupVersion) Reset() { *m = GroupVersion{} } func (*GroupVersion) ProtoMessage() {} -func (*GroupVersion) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } +func (*GroupVersion) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } func (m *GroupVersionForDiscovery) Reset() { *m = GroupVersionForDiscovery{} } func (*GroupVersionForDiscovery) ProtoMessage() {} func (*GroupVersionForDiscovery) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{11} + return fileDescriptorGenerated, []int{12} } func (m *GroupVersionKind) Reset() { *m = GroupVersionKind{} } func (*GroupVersionKind) ProtoMessage() {} -func (*GroupVersionKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } +func (*GroupVersionKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } func (m *GroupVersionResource) Reset() { *m = GroupVersionResource{} } func (*GroupVersionResource) ProtoMessage() {} -func (*GroupVersionResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } +func (*GroupVersionResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } func (m *LabelSelector) Reset() { *m = LabelSelector{} } func (*LabelSelector) ProtoMessage() {} -func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } +func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} } func (*LabelSelectorRequirement) ProtoMessage() {} func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{15} + return fileDescriptorGenerated, []int{16} } func (m *ListMeta) Reset() { *m = ListMeta{} } func (*ListMeta) ProtoMessage() {} -func (*ListMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } +func (*ListMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } func (m *ListOptions) Reset() { *m = ListOptions{} } func (*ListOptions) ProtoMessage() {} -func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } +func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } func (m *ObjectMeta) Reset() { *m = ObjectMeta{} } func (*ObjectMeta) ProtoMessage() {} -func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } +func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } func (m *OwnerReference) Reset() { *m = OwnerReference{} } func (*OwnerReference) ProtoMessage() {} -func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } +func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } + +func (m *Preconditions) Reset() { *m = Preconditions{} } +func (*Preconditions) ProtoMessage() {} +func (*Preconditions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } func (m *RootPaths) Reset() { *m = RootPaths{} } func (*RootPaths) ProtoMessage() {} -func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } +func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } func (m *ServerAddressByClientCIDR) Reset() { *m = ServerAddressByClientCIDR{} } func (*ServerAddressByClientCIDR) ProtoMessage() {} func (*ServerAddressByClientCIDR) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{21} + return fileDescriptorGenerated, []int{23} } func (m *Status) Reset() { *m = Status{} } func (*Status) ProtoMessage() {} -func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } +func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } func (m *StatusCause) Reset() { *m = StatusCause{} } func (*StatusCause) ProtoMessage() {} -func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} } +func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } func (m *StatusDetails) Reset() { *m = StatusDetails{} } func (*StatusDetails) ProtoMessage() {} -func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } +func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } func (m *Time) Reset() { *m = Time{} } func (*Time) ProtoMessage() {} -func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } +func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } func (m *Timestamp) Reset() { *m = Timestamp{} } func (*Timestamp) ProtoMessage() {} -func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } +func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } func (m *TypeMeta) Reset() { *m = TypeMeta{} } func (*TypeMeta) ProtoMessage() {} -func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } +func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } func (m *Verbs) Reset() { *m = Verbs{} } func (*Verbs) ProtoMessage() {} -func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } +func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} } func (m *WatchEvent) Reset() { *m = WatchEvent{} } func (*WatchEvent) ProtoMessage() {} -func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } +func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} } func init() { proto.RegisterType((*APIGroup)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIGroup") @@ -212,6 +222,7 @@ func init() { proto.RegisterType((*APIResource)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIResource") proto.RegisterType((*APIResourceList)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIResourceList") proto.RegisterType((*APIVersions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIVersions") + proto.RegisterType((*DeleteOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptions") proto.RegisterType((*Duration)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.Duration") proto.RegisterType((*ExportOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ExportOptions") proto.RegisterType((*GetOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.GetOptions") @@ -227,6 +238,7 @@ func init() { 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((*Preconditions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.Preconditions") proto.RegisterType((*RootPaths)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.RootPaths") proto.RegisterType((*ServerAddressByClientCIDR)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR") proto.RegisterType((*Status)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.Status") @@ -445,6 +457,49 @@ func (m *APIVersions) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *DeleteOptions) 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 *DeleteOptions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.GracePeriodSeconds != nil { + data[i] = 0x8 + i++ + i = encodeVarintGenerated(data, i, uint64(*m.GracePeriodSeconds)) + } + if m.Preconditions != nil { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Preconditions.Size())) + n3, err := m.Preconditions.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n3 + } + if m.OrphanDependents != nil { + data[i] = 0x18 + i++ + if *m.OrphanDependents { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } + return i, nil +} + func (m *Duration) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -888,20 +943,20 @@ func (m *ObjectMeta) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.CreationTimestamp.Size())) - n3, err := m.CreationTimestamp.MarshalTo(data[i:]) + n4, err := m.CreationTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n3 + i += n4 if m.DeletionTimestamp != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.DeletionTimestamp.Size())) - n4, err := m.DeletionTimestamp.MarshalTo(data[i:]) + n5, err := m.DeletionTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 } if m.DeletionGracePeriodSeconds != nil { data[i] = 0x50 @@ -1020,6 +1075,30 @@ func (m *OwnerReference) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *Preconditions) 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 *Preconditions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.UID != nil { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(*m.UID))) + i += copy(data[i:], *m.UID) + } + return i, nil +} + func (m *RootPaths) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -1097,11 +1176,11 @@ func (m *Status) 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 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Status))) @@ -1118,11 +1197,11 @@ func (m *Status) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.Details.Size())) - n6, err := m.Details.MarshalTo(data[i:]) + n7, err := m.Details.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 } data[i] = 0x30 i++ @@ -1310,11 +1389,11 @@ func (m *WatchEvent) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Object.Size())) - n7, err := m.Object.MarshalTo(data[i:]) + n8, err := m.Object.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n8 return i, nil } @@ -1426,6 +1505,22 @@ func (m *APIVersions) Size() (n int) { return n } +func (m *DeleteOptions) Size() (n int) { + var l int + _ = l + if m.GracePeriodSeconds != nil { + n += 1 + sovGenerated(uint64(*m.GracePeriodSeconds)) + } + if m.Preconditions != nil { + l = m.Preconditions.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.OrphanDependents != nil { + n += 2 + } + return n +} + func (m *Duration) Size() (n int) { var l int _ = l @@ -1650,6 +1745,16 @@ func (m *OwnerReference) Size() (n int) { return n } +func (m *Preconditions) Size() (n int) { + var l int + _ = l + if m.UID != nil { + l = len(*m.UID) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *RootPaths) Size() (n int) { var l int _ = l @@ -1822,6 +1927,18 @@ func (this *APIResourceList) String() string { }, "") return s } +func (this *DeleteOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeleteOptions{`, + `GracePeriodSeconds:` + valueToStringGenerated(this.GracePeriodSeconds) + `,`, + `Preconditions:` + strings.Replace(fmt.Sprintf("%v", this.Preconditions), "Preconditions", "Preconditions", 1) + `,`, + `OrphanDependents:` + valueToStringGenerated(this.OrphanDependents) + `,`, + `}`, + }, "") + return s +} func (this *Duration) String() string { if this == nil { return "nil" @@ -1980,6 +2097,16 @@ func (this *OwnerReference) String() string { }, "") return s } +func (this *Preconditions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Preconditions{`, + `UID:` + valueToStringGenerated(this.UID) + `,`, + `}`, + }, "") + return s +} func (this *RootPaths) String() string { if this == nil { return "nil" @@ -2716,6 +2843,130 @@ func (m *APIVersions) Unmarshal(data []byte) error { } return nil } +func (m *DeleteOptions) 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: DeleteOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeleteOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GracePeriodSeconds", 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.GracePeriodSeconds = &v + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Preconditions", 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 m.Preconditions == nil { + m.Preconditions = &Preconditions{} + } + if err := m.Preconditions.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrphanDependents", 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 + } + } + b := bool(v != 0) + m.OrphanDependents = &b + 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 *Duration) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -5098,6 +5349,86 @@ func (m *OwnerReference) Unmarshal(data []byte) error { } return nil } +func (m *Preconditions) 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: Preconditions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Preconditions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UID", 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 + } + s := k8s_io_apimachinery_pkg_types.UID(data[iNdEx:postIndex]) + m.UID = &s + 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 *RootPaths) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -6318,130 +6649,136 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1992 bytes of a gzipped FileDescriptorProto + // 2089 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, + 0x35, 0xed, 0xc4, 0x1e, 0xfb, 0x39, 0xce, 0x47, 0x91, 0x01, 0x6f, 0x24, 0xec, 0x6c, 0xef, 0x0a, + 0xcd, 0xc2, 0xac, 0x4d, 0x02, 0xac, 0x86, 0x01, 0x06, 0xe2, 0x38, 0x13, 0x45, 0x3b, 0x99, 0x44, + 0x95, 0x9d, 0x41, 0x2c, 0x23, 0x44, 0xc7, 0x5d, 0x71, 0x9a, 0xb4, 0xbb, 0x9b, 0xaa, 0xb2, 0x27, + 0x61, 0x0f, 0xac, 0x04, 0x08, 0x0e, 0x08, 0xcd, 0x91, 0x03, 0x42, 0x3b, 0x82, 0x1b, 0x37, 0xfe, + 0x04, 0x73, 0x5c, 0x69, 0x2f, 0x1c, 0x90, 0xc5, 0x84, 0x03, 0x47, 0xee, 0x11, 0x07, 0x54, 0xd5, + 0x55, 0xfd, 0x61, 0xc7, 0x9b, 0x36, 0xbb, 0x87, 0x3d, 0xc5, 0xf5, 0xbe, 0xbf, 0xea, 0xbd, 0x57, + 0x1d, 0xd8, 0x3b, 0xbd, 0xc3, 0x1a, 0x8e, 0xdf, 0x3c, 0xed, 0x1f, 0x11, 0xea, 0x11, 0x4e, 0x58, + 0x73, 0x40, 0x3c, 0xdb, 0xa7, 0x4d, 0x85, 0xb0, 0x02, 0xa7, 0x67, 0x75, 0x4e, 0x1c, 0x8f, 0xd0, + 0xf3, 0x66, 0x70, 0xda, 0x15, 0x00, 0xd6, 0xec, 0x11, 0x6e, 0x35, 0x07, 0xeb, 0xcd, 0x2e, 0xf1, + 0x08, 0xb5, 0x38, 0xb1, 0x1b, 0x01, 0xf5, 0xb9, 0x8f, 0x5e, 0x0f, 0xb9, 0x1a, 0x49, 0xae, 0x46, + 0x70, 0xda, 0x15, 0x00, 0xd6, 0x10, 0x5c, 0x8d, 0xc1, 0xfa, 0xea, 0x9b, 0x5d, 0x87, 0x9f, 0xf4, + 0x8f, 0x1a, 0x1d, 0xbf, 0xd7, 0xec, 0xfa, 0x5d, 0xbf, 0x29, 0x99, 0x8f, 0xfa, 0xc7, 0xf2, 0x24, + 0x0f, 0xf2, 0x57, 0x28, 0x74, 0x75, 0xa2, 0x29, 0xb4, 0xef, 0x71, 0xa7, 0x47, 0x46, 0xad, 0x58, + 0x7d, 0xeb, 0x3a, 0x06, 0xd6, 0x39, 0x21, 0x3d, 0x6b, 0x8c, 0x6f, 0x63, 0x3c, 0x18, 0xca, 0xe3, + 0x26, 0x25, 0xcc, 0xef, 0xd3, 0xce, 0xb8, 0xae, 0xf5, 0xab, 0x79, 0xfa, 0xdc, 0x71, 0x9b, 0x8e, + 0xc7, 0x19, 0xa7, 0xa3, 0x2c, 0xe6, 0xdf, 0x66, 0xa1, 0xb8, 0x79, 0xb0, 0xbb, 0x43, 0xfd, 0x7e, + 0x80, 0xd6, 0x60, 0xce, 0xb3, 0x7a, 0xa4, 0x6a, 0xac, 0x19, 0xb7, 0x4a, 0xad, 0xf9, 0x17, 0xc3, + 0xfa, 0xcc, 0xc5, 0xb0, 0x3e, 0xf7, 0xd0, 0xea, 0x11, 0x2c, 0x31, 0xc8, 0x85, 0xe2, 0x80, 0x50, + 0xe6, 0xf8, 0x1e, 0xab, 0xe6, 0xd6, 0x66, 0x6f, 0x95, 0x37, 0xee, 0x35, 0xb2, 0x84, 0xb9, 0x21, + 0x15, 0x3c, 0x0e, 0x59, 0xef, 0xfb, 0xb4, 0xed, 0xb0, 0x8e, 0x3f, 0x20, 0xf4, 0xbc, 0xb5, 0xa4, + 0xb4, 0x14, 0x15, 0x92, 0xe1, 0x48, 0x03, 0xfa, 0xa5, 0x01, 0x4b, 0x01, 0x25, 0xc7, 0x84, 0x52, + 0x62, 0x2b, 0x7c, 0x75, 0x76, 0xcd, 0xf8, 0x14, 0xd4, 0x56, 0x95, 0xda, 0xa5, 0x83, 0x11, 0xf9, + 0x78, 0x4c, 0x23, 0xfa, 0x93, 0x01, 0xab, 0x8c, 0xd0, 0x01, 0xa1, 0x9b, 0xb6, 0x4d, 0x09, 0x63, + 0xad, 0xf3, 0x2d, 0xd7, 0x21, 0x1e, 0xdf, 0xda, 0x6d, 0x63, 0x56, 0x9d, 0x93, 0x71, 0xf8, 0x6e, + 0x36, 0x83, 0x0e, 0x27, 0xc9, 0x69, 0x99, 0xca, 0xa2, 0xd5, 0x89, 0x24, 0x0c, 0x7f, 0x8c, 0x19, + 0xe6, 0x31, 0xcc, 0xeb, 0x44, 0x3e, 0x70, 0x18, 0x47, 0x8f, 0xa1, 0xd0, 0x15, 0x07, 0x56, 0x35, + 0xa4, 0x81, 0x8d, 0x6c, 0x06, 0x6a, 0x19, 0xad, 0x05, 0x65, 0x4f, 0x41, 0x1e, 0x19, 0x56, 0xd2, + 0xcc, 0x8f, 0x0c, 0x28, 0x6f, 0x1e, 0xec, 0x62, 0x55, 0x84, 0x19, 0x8a, 0x66, 0x03, 0x40, 0xfc, + 0x65, 0x81, 0xd5, 0x21, 0x76, 0x35, 0xb7, 0x66, 0xdc, 0x2a, 0xb6, 0x90, 0xa2, 0x83, 0x87, 0x11, + 0x06, 0x27, 0xa8, 0x84, 0xd4, 0x53, 0xc7, 0xb3, 0x65, 0xb6, 0x13, 0x52, 0xdf, 0x76, 0x3c, 0x1b, + 0x4b, 0x0c, 0x7a, 0x00, 0xf9, 0x01, 0xa1, 0x47, 0x22, 0xfe, 0xa2, 0x20, 0xbe, 0x92, 0xcd, 0xbd, + 0xc7, 0x82, 0xa5, 0x55, 0xba, 0x18, 0xd6, 0xf3, 0xf2, 0x27, 0x0e, 0x85, 0x98, 0x7f, 0x35, 0x60, + 0x31, 0xe1, 0x95, 0x8c, 0xe0, 0x1d, 0x98, 0xef, 0x26, 0xea, 0x47, 0x79, 0xb8, 0xa2, 0x6c, 0x99, + 0x4f, 0xd6, 0x16, 0x4e, 0x51, 0x22, 0x02, 0x25, 0x7d, 0x49, 0xf5, 0x3d, 0x59, 0xcf, 0x1c, 0x7e, + 0x6d, 0x43, 0xac, 0x29, 0x01, 0x64, 0x38, 0x96, 0x6c, 0xfe, 0x3b, 0x4c, 0x85, 0xbe, 0x39, 0xe8, + 0x56, 0xe2, 0x76, 0x8a, 0xa4, 0x97, 0x5a, 0xf3, 0x13, 0x6e, 0xd6, 0x35, 0x25, 0x9d, 0xfb, 0x4c, + 0x94, 0xf4, 0xdd, 0xe2, 0xef, 0x3f, 0xa8, 0xcf, 0xbc, 0xff, 0x8f, 0xb5, 0x19, 0xf3, 0xd7, 0x39, + 0xa8, 0xb4, 0x89, 0x4b, 0x38, 0xd9, 0x0f, 0xb8, 0xf4, 0xe0, 0x3e, 0xa0, 0x2e, 0xb5, 0x3a, 0xe4, + 0x80, 0x50, 0xc7, 0xb7, 0x0f, 0x49, 0xc7, 0xf7, 0x6c, 0x26, 0x53, 0x34, 0xdb, 0xfa, 0xfc, 0xc5, + 0xb0, 0x8e, 0x76, 0xc6, 0xb0, 0xf8, 0x0a, 0x0e, 0xe4, 0x42, 0x25, 0xa0, 0xf2, 0xb7, 0xc3, 0x55, + 0x5b, 0x13, 0xe5, 0xf4, 0xb5, 0x6c, 0xbe, 0x1f, 0x24, 0x59, 0x5b, 0xcb, 0x17, 0xc3, 0x7a, 0x25, + 0x05, 0xc2, 0x69, 0xe1, 0xe8, 0x7b, 0xb0, 0xe4, 0xd3, 0xe0, 0xc4, 0xf2, 0xda, 0x24, 0x20, 0x9e, + 0x4d, 0x3c, 0xce, 0x64, 0x89, 0x17, 0x5b, 0x2b, 0xa2, 0x19, 0xed, 0x8f, 0xe0, 0xf0, 0x18, 0xb5, + 0xb9, 0x0b, 0xc5, 0x76, 0x9f, 0x5a, 0x42, 0x1c, 0xfa, 0x0e, 0x14, 0x6d, 0xf5, 0x5b, 0x79, 0xfe, + 0xaa, 0xee, 0xa6, 0x9a, 0xe6, 0x72, 0x58, 0xaf, 0x88, 0x31, 0xd3, 0xd0, 0x00, 0x1c, 0xb1, 0x98, + 0x4f, 0xa0, 0xb2, 0x7d, 0x16, 0xf8, 0x94, 0xeb, 0x98, 0x7e, 0x09, 0x0a, 0x44, 0x02, 0xa4, 0xb4, + 0x62, 0xdc, 0x02, 0x42, 0x32, 0xac, 0xb0, 0xe8, 0x35, 0xc8, 0x93, 0x33, 0xab, 0xc3, 0xd5, 0x5d, + 0xae, 0x28, 0xb2, 0xfc, 0xb6, 0x00, 0xe2, 0x10, 0x67, 0xee, 0x03, 0xec, 0x90, 0x48, 0xf4, 0x26, + 0x2c, 0xea, 0xba, 0x4d, 0x5f, 0xa7, 0x2f, 0x28, 0xe6, 0x45, 0x9c, 0x46, 0xe3, 0x51, 0x7a, 0xf3, + 0x09, 0x94, 0xe4, 0x95, 0x13, 0x3d, 0x40, 0x98, 0x20, 0x6f, 0x9c, 0x92, 0x12, 0x99, 0x20, 0x29, + 0x70, 0x88, 0x8b, 0x9a, 0x48, 0x6e, 0x52, 0x13, 0x49, 0x54, 0x98, 0x0b, 0x95, 0x90, 0x57, 0xf7, + 0xb5, 0x4c, 0x1a, 0x6e, 0x43, 0x51, 0x9b, 0xa9, 0xb4, 0x44, 0xf3, 0x4c, 0x0b, 0xc2, 0x11, 0x45, + 0x42, 0xdb, 0x09, 0xa4, 0xda, 0x47, 0x36, 0x65, 0x6f, 0xc0, 0x0d, 0x75, 0x81, 0x95, 0xae, 0x45, + 0x45, 0x76, 0x43, 0xc7, 0x4c, 0xe3, 0x13, 0x9a, 0x7e, 0x0e, 0xd5, 0x49, 0x43, 0xf0, 0x13, 0x34, + 0xb8, 0xec, 0xa6, 0x98, 0xbf, 0x33, 0x60, 0x29, 0x29, 0x29, 0x7b, 0xfa, 0xb2, 0x2b, 0xb9, 0x7e, + 0x5c, 0x24, 0x22, 0xf2, 0x47, 0x03, 0x56, 0x52, 0xae, 0x4d, 0x95, 0xf1, 0x29, 0x8c, 0x4a, 0x16, + 0xc7, 0xec, 0x14, 0xc5, 0xf1, 0x51, 0x0e, 0x2a, 0x0f, 0xac, 0x23, 0xe2, 0x1e, 0x12, 0x97, 0x74, + 0xb8, 0x4f, 0xd1, 0x7b, 0x50, 0xee, 0x59, 0xbc, 0x73, 0x22, 0xa1, 0x7a, 0xa0, 0xb7, 0xb3, 0xb5, + 0xa8, 0x94, 0xa4, 0xc6, 0x5e, 0x2c, 0x66, 0xdb, 0xe3, 0xf4, 0xbc, 0xf5, 0x39, 0x65, 0x52, 0x39, + 0x81, 0xc1, 0x49, 0x6d, 0x72, 0x0b, 0x93, 0xe7, 0xed, 0xb3, 0x40, 0xf4, 0xe8, 0xe9, 0x97, 0xbf, + 0x94, 0x09, 0x98, 0xfc, 0xb4, 0xef, 0x50, 0xd2, 0x23, 0x1e, 0x8f, 0xb7, 0xb0, 0xbd, 0x11, 0xf9, + 0x78, 0x4c, 0xe3, 0xea, 0x3d, 0x58, 0x1a, 0x35, 0x1e, 0x2d, 0xc1, 0xec, 0x29, 0x39, 0x0f, 0xf3, + 0x85, 0xc5, 0x4f, 0xb4, 0x02, 0xf9, 0x81, 0xe5, 0xf6, 0xd5, 0x6d, 0xc4, 0xe1, 0xe1, 0x6e, 0xee, + 0x8e, 0x61, 0xfe, 0xd9, 0x80, 0xea, 0x24, 0x43, 0xd0, 0x17, 0x13, 0x82, 0x5a, 0x65, 0x65, 0xd5, + 0xec, 0xdb, 0xe4, 0x3c, 0x94, 0xba, 0x0d, 0x45, 0x3f, 0x10, 0x7b, 0xb3, 0x4f, 0x55, 0xd6, 0xdf, + 0xd0, 0x99, 0xdc, 0x57, 0xf0, 0xcb, 0x61, 0xfd, 0x66, 0x4a, 0xbc, 0x46, 0xe0, 0x88, 0x15, 0x99, + 0x50, 0x90, 0xf6, 0x88, 0x9e, 0x2f, 0xa6, 0x33, 0x88, 0xde, 0xfa, 0x58, 0x42, 0xb0, 0xc2, 0x98, + 0xef, 0x41, 0x51, 0x2c, 0x1f, 0x7b, 0x84, 0x5b, 0xa2, 0x80, 0x18, 0x71, 0x8f, 0x1f, 0x38, 0xde, + 0xa9, 0x32, 0x2d, 0x2a, 0xa0, 0x43, 0x05, 0xc7, 0x11, 0xc5, 0x55, 0x2d, 0x36, 0x37, 0x65, 0x8b, + 0xfd, 0x4b, 0x0e, 0xca, 0x42, 0xbb, 0xee, 0xda, 0xdf, 0x82, 0x8a, 0x9b, 0xf4, 0x49, 0x59, 0x71, + 0x53, 0x09, 0x4c, 0x57, 0x29, 0x4e, 0xd3, 0x0a, 0xe6, 0x63, 0x87, 0xb8, 0x76, 0xc4, 0x9c, 0x4b, + 0x33, 0xdf, 0x4f, 0x22, 0x71, 0x9a, 0x56, 0xdc, 0xc5, 0xa7, 0x22, 0xdb, 0x6a, 0x3a, 0x46, 0x77, + 0xf1, 0xfb, 0x02, 0x88, 0x43, 0xdc, 0x55, 0x1e, 0xcf, 0x4d, 0xe7, 0x31, 0xba, 0x0b, 0x0b, 0x62, + 0x3c, 0xfa, 0x7d, 0xae, 0x57, 0x88, 0xbc, 0x1c, 0xa4, 0xe8, 0x62, 0x58, 0x5f, 0x78, 0x27, 0x85, + 0xc1, 0x23, 0x94, 0xe6, 0x2f, 0x00, 0x60, 0xff, 0xe8, 0x27, 0xa4, 0x13, 0x66, 0xeb, 0xfa, 0x45, + 0x58, 0xf4, 0x5b, 0xf5, 0xfe, 0x12, 0x50, 0x15, 0x90, 0xb8, 0xdf, 0x26, 0x70, 0x38, 0x45, 0x89, + 0x9a, 0x50, 0x8a, 0x96, 0x63, 0xd5, 0x4b, 0x96, 0x15, 0x5b, 0x29, 0xda, 0xa0, 0x71, 0x4c, 0x93, + 0x2a, 0x9d, 0xb9, 0x6b, 0x4b, 0xa7, 0x05, 0xb3, 0x7d, 0xc7, 0x96, 0xae, 0x97, 0x5a, 0x5f, 0xd5, + 0xe5, 0xff, 0x68, 0xb7, 0x7d, 0x39, 0xac, 0xbf, 0x3a, 0xe9, 0x01, 0xcb, 0xcf, 0x03, 0xc2, 0x1a, + 0x8f, 0x76, 0xdb, 0x58, 0x30, 0x5f, 0x95, 0x8c, 0xc2, 0x94, 0xc9, 0xd8, 0x00, 0x50, 0x5e, 0x0b, + 0xee, 0x1b, 0x61, 0x22, 0xf4, 0x43, 0x61, 0x27, 0xc2, 0xe0, 0x04, 0x15, 0x62, 0xb0, 0xdc, 0xa1, + 0x44, 0xfe, 0x16, 0xe9, 0x62, 0xdc, 0xea, 0x05, 0xd5, 0xa2, 0xdc, 0xe1, 0xbe, 0x9c, 0xad, 0x3b, + 0x09, 0xb6, 0xd6, 0x2b, 0x4a, 0xcd, 0xf2, 0xd6, 0xa8, 0x30, 0x3c, 0x2e, 0x1f, 0xf9, 0xb0, 0x6c, + 0x8b, 0x6d, 0x34, 0xa5, 0xb4, 0x34, 0xb5, 0xd2, 0x9b, 0x42, 0x61, 0x7b, 0x54, 0x10, 0x1e, 0x97, + 0x8d, 0x7e, 0x04, 0xab, 0x1a, 0x38, 0xbe, 0xd7, 0x56, 0x41, 0x46, 0xaa, 0x26, 0x36, 0xed, 0xf6, + 0x44, 0x2a, 0xfc, 0x31, 0x12, 0x90, 0x0d, 0x05, 0x37, 0x9c, 0x2d, 0x65, 0xd9, 0xd8, 0xbf, 0x9d, + 0xcd, 0x8b, 0xb8, 0xfa, 0x1b, 0xc9, 0x99, 0x12, 0xed, 0x8d, 0x6a, 0x9c, 0x28, 0xd9, 0xe8, 0x0c, + 0xca, 0x96, 0xe7, 0xf9, 0xdc, 0x0a, 0x37, 0xed, 0x79, 0xa9, 0x6a, 0x73, 0x6a, 0x55, 0x9b, 0xb1, + 0x8c, 0x91, 0x19, 0x96, 0xc0, 0xe0, 0xa4, 0x2a, 0xf4, 0x14, 0x16, 0xfd, 0xa7, 0x1e, 0xa1, 0x58, + 0x3c, 0xed, 0x89, 0x27, 0x9e, 0x65, 0x15, 0xa9, 0xfd, 0xeb, 0x19, 0xb5, 0xa7, 0x98, 0xe3, 0x92, + 0x4e, 0xc3, 0x19, 0x1e, 0xd5, 0x82, 0x1a, 0x00, 0xc7, 0x8e, 0x67, 0xb9, 0xce, 0xcf, 0x08, 0x65, + 0xd5, 0x05, 0xd9, 0xf6, 0x17, 0x44, 0x39, 0xdf, 0x8f, 0xa0, 0x38, 0x41, 0x81, 0xbe, 0x01, 0xe5, + 0x8e, 0xdb, 0x67, 0x9c, 0x50, 0xd9, 0x21, 0x16, 0xe5, 0x0d, 0x8a, 0xfc, 0xdb, 0x8a, 0x51, 0x38, + 0x49, 0xb7, 0xfa, 0x4d, 0x28, 0xff, 0x9f, 0x73, 0x51, 0xcc, 0xd5, 0xd1, 0x80, 0x4e, 0x35, 0x57, + 0xff, 0x6b, 0xc0, 0x42, 0x3a, 0x0c, 0xd1, 0x36, 0x66, 0x4c, 0x7c, 0xbc, 0xeb, 0x5e, 0x39, 0x3b, + 0xb1, 0x57, 0xaa, 0x96, 0x34, 0xf7, 0x49, 0x5a, 0xd2, 0x06, 0x80, 0x15, 0x38, 0xba, 0x1b, 0x85, + 0xdd, 0x2d, 0xea, 0x27, 0xf1, 0xc3, 0x19, 0x27, 0xa8, 0x44, 0xc2, 0x3a, 0xbe, 0xc7, 0xa9, 0xef, + 0xba, 0x84, 0xca, 0x0e, 0x56, 0x0c, 0x13, 0xb6, 0x15, 0x41, 0x71, 0x82, 0xc2, 0xdc, 0x87, 0xf4, + 0x8b, 0x0f, 0xdd, 0x0b, 0x0d, 0x0f, 0x7d, 0xbf, 0x3d, 0xb5, 0xd1, 0xe6, 0x6d, 0x28, 0x61, 0xdf, + 0xe7, 0x07, 0x16, 0x3f, 0x61, 0xa8, 0x0e, 0xf9, 0x40, 0xfc, 0x50, 0xcf, 0x79, 0xf9, 0xdd, 0x42, + 0x62, 0x70, 0x08, 0x37, 0x7f, 0x6b, 0xc0, 0x2b, 0x13, 0x5f, 0xd7, 0x22, 0x00, 0x9d, 0xe8, 0xa4, + 0x4c, 0x8a, 0x02, 0x10, 0xd3, 0xe1, 0x04, 0x95, 0x18, 0xdb, 0xa9, 0x27, 0xf9, 0xe8, 0xd8, 0x4e, + 0x69, 0xc3, 0x69, 0x5a, 0xf3, 0x3f, 0x39, 0x28, 0x1c, 0x72, 0x8b, 0xf7, 0x19, 0x7a, 0x02, 0x45, + 0x71, 0x7b, 0x6c, 0x8b, 0x5b, 0x52, 0x73, 0xe6, 0x2f, 0x50, 0x7a, 0xfd, 0x89, 0x27, 0x96, 0x86, + 0xe0, 0x48, 0xa2, 0x78, 0xaa, 0x32, 0xa9, 0x47, 0x99, 0x17, 0xb5, 0x9c, 0x50, 0x3b, 0x56, 0x58, + 0xb1, 0xae, 0xf7, 0x08, 0x63, 0x56, 0x57, 0xd7, 0x5a, 0xb4, 0xae, 0xef, 0x85, 0x60, 0xac, 0xf1, + 0xe8, 0x2d, 0x28, 0x50, 0x62, 0xb1, 0x68, 0x89, 0xa8, 0x69, 0x91, 0x58, 0x42, 0x2f, 0x87, 0xf5, + 0x79, 0x25, 0x5c, 0x9e, 0xb1, 0xa2, 0x46, 0xef, 0xc2, 0x0d, 0x9b, 0x70, 0xcb, 0x71, 0xc3, 0xdd, + 0x21, 0xf3, 0xb7, 0x83, 0x50, 0x58, 0x3b, 0x64, 0x6d, 0x95, 0x85, 0x4d, 0xea, 0x80, 0xb5, 0x40, + 0x71, 0x4f, 0x3a, 0xbe, 0x4d, 0x64, 0x1d, 0xe6, 0xe3, 0x7b, 0xb2, 0xe5, 0xdb, 0x04, 0x4b, 0x8c, + 0xf9, 0xcc, 0x80, 0x72, 0x28, 0x69, 0xcb, 0xea, 0x33, 0x82, 0xd6, 0x23, 0x2f, 0xc2, 0x74, 0xeb, + 0xc1, 0x36, 0xf7, 0xce, 0x79, 0x40, 0x2e, 0x87, 0xf5, 0x92, 0x24, 0x13, 0x87, 0xc8, 0x81, 0x44, + 0x8c, 0x72, 0xd7, 0xc4, 0xe8, 0x35, 0xc8, 0xcb, 0x3d, 0x4d, 0x05, 0x33, 0x5a, 0xcb, 0xe4, 0x2e, + 0x87, 0x43, 0x9c, 0xf9, 0x87, 0x1c, 0x54, 0x52, 0xce, 0x65, 0x58, 0x8d, 0xa2, 0xb7, 0x57, 0x2e, + 0xc3, 0x7b, 0x7e, 0xf2, 0x47, 0xc1, 0x1f, 0x40, 0xa1, 0x23, 0xfc, 0xd3, 0x5f, 0x65, 0xd7, 0xa7, + 0x49, 0x85, 0x8c, 0x4c, 0x5c, 0x49, 0xf2, 0xc8, 0xb0, 0x12, 0x88, 0x76, 0x60, 0x99, 0x12, 0x4e, + 0xcf, 0x37, 0x8f, 0x39, 0xa1, 0xc9, 0x65, 0x31, 0x1f, 0x2f, 0x0f, 0x78, 0x94, 0x00, 0x8f, 0xf3, + 0x98, 0x2e, 0xcc, 0x89, 0xc1, 0x2e, 0xc2, 0xce, 0x52, 0x9f, 0xad, 0xa2, 0xb0, 0x6b, 0x66, 0x8d, + 0x17, 0xd1, 0xf1, 0x2c, 0xcf, 0x0f, 0x8b, 0x3d, 0x1f, 0x47, 0xe7, 0xa1, 0x00, 0xe2, 0x10, 0x77, + 0x77, 0x45, 0x3c, 0x20, 0x7f, 0xf3, 0xbc, 0x3e, 0xf3, 0xec, 0x79, 0x7d, 0xe6, 0x83, 0xe7, 0xea, + 0x31, 0xf9, 0x43, 0x28, 0xc5, 0x6b, 0xc4, 0xa7, 0xac, 0xd2, 0xfc, 0x31, 0x14, 0x45, 0x25, 0xe9, + 0xf5, 0xf7, 0x9a, 0xa6, 0x9f, 0x6e, 0xc7, 0xb9, 0x2c, 0xed, 0xd8, 0xdc, 0x80, 0xf0, 0x3b, 0xad, + 0xe8, 0x84, 0x0e, 0x27, 0xbd, 0x54, 0x27, 0xdc, 0x15, 0x00, 0x1c, 0xc2, 0x13, 0xef, 0xe7, 0x5f, + 0x19, 0x00, 0xf2, 0x9d, 0xb0, 0x3d, 0x10, 0x6f, 0xbb, 0x35, 0x98, 0x13, 0x2d, 0x76, 0xd4, 0x30, + 0x79, 0x05, 0x24, 0x06, 0x3d, 0x82, 0x82, 0x2f, 0xd7, 0x0b, 0xf5, 0xf1, 0xef, 0xcd, 0x89, 0x55, + 0xa3, 0xfe, 0x69, 0xd3, 0xc0, 0xd6, 0xd3, 0xed, 0x33, 0x4e, 0x3c, 0x61, 0x63, 0x5c, 0x31, 0xe1, + 0x8e, 0x82, 0x95, 0xb0, 0xd6, 0xeb, 0x2f, 0x5e, 0xd6, 0x66, 0x3e, 0x7c, 0x59, 0x9b, 0xf9, 0xfb, + 0xcb, 0xda, 0xcc, 0xfb, 0x17, 0x35, 0xe3, 0xc5, 0x45, 0xcd, 0xf8, 0xf0, 0xa2, 0x66, 0xfc, 0xf3, + 0xa2, 0x66, 0x3c, 0xfb, 0x57, 0x6d, 0xe6, 0xdd, 0xdc, 0x60, 0xfd, 0x7f, 0x01, 0x00, 0x00, 0xff, + 0xff, 0x0c, 0x01, 0x08, 0xec, 0xf6, 0x1a, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 2acd47277b9..7069961042e 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -105,6 +105,26 @@ message APIVersions { repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 2; } +// DeleteOptions may be provided when deleting an API object. +message DeleteOptions { + // The duration in seconds before the object should be deleted. Value must be non-negative integer. + // The value zero indicates delete immediately. If this value is nil, the default grace period for the + // specified type will be used. + // Defaults to a per object value if not specified. zero means delete immediately. + // +optional + optional int64 gracePeriodSeconds = 1; + + // Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be + // returned. + // +optional + optional Preconditions preconditions = 2; + + // Should the dependent objects be orphaned. If true/false, the "orphan" + // finalizer will be added to/removed from the object's finalizers list. + // +optional + optional bool orphanDependents = 3; +} + // Duration is a wrapper around time.Duration which supports correct // marshaling to YAML and JSON. In particular, it marshals into strings, which // can be used as map keys in json. @@ -449,6 +469,13 @@ message OwnerReference { optional bool controller = 6; } +// Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +message Preconditions { + // Specifies the target UID. + // +optional + optional string uid = 1; +} + // RootPaths lists the paths available at root. // For example: "/healthz", "/apis". message RootPaths { diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go index 5836bb32ac8..877aa193d34 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go @@ -22,6 +22,7 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/types" ) // LabelSelectorAsSelector converts the LabelSelector api type into a struct that implements @@ -204,3 +205,24 @@ func SingleObject(meta ObjectMeta) ListOptions { ResourceVersion: meta.ResourceVersion, } } + +// 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 &metav1.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} +} diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go index ec3c221d603..735f5e6cad8 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go @@ -42,7 +42,12 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), &InternalEvent{}, ) - scheme.AddKnownTypes(groupVersion, &ListOptions{}) + scheme.AddKnownTypes(groupVersion, + &ListOptions{}, + &ExportOptions{}, + &GetOptions{}, + &DeleteOptions{}, + ) scheme.AddConversionFuncs( Convert_versioned_Event_to_watch_Event, Convert_versioned_InternalEvent_to_versioned_Event, diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index dd096ffaff5..feb5e72e99c 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -298,6 +298,35 @@ type GetOptions struct { ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,1,opt,name=resourceVersion"` } +// DeleteOptions may be provided when deleting an API object. +type DeleteOptions struct { + TypeMeta `json:",inline"` + + // The duration in seconds before the object should be deleted. Value must be non-negative integer. + // The value zero indicates delete immediately. If this value is nil, the default grace period for the + // specified type will be used. + // Defaults to a per object value if not specified. zero means delete immediately. + // +optional + GracePeriodSeconds *int64 `json:"gracePeriodSeconds,omitempty" protobuf:"varint,1,opt,name=gracePeriodSeconds"` + + // Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be + // returned. + // +optional + Preconditions *Preconditions `json:"preconditions,omitempty" protobuf:"bytes,2,opt,name=preconditions"` + + // Should the dependent objects be orphaned. If true/false, the "orphan" + // finalizer will be added to/removed from the object's finalizers list. + // +optional + OrphanDependents *bool `json:"orphanDependents,omitempty" protobuf:"varint,3,opt,name=orphanDependents"` +} + +// Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +type Preconditions struct { + // Specifies the target UID. + // +optional + UID *types.UID `json:"uid,omitempty" protobuf:"bytes,1,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"` +} + // Status is a return value for calls that don't return other objects. type Status struct { TypeMeta `json:",inline"` diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go index 43eb0f1145f..3b23e525215 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go @@ -80,6 +80,17 @@ func (APIVersions) SwaggerDoc() map[string]string { return map_APIVersions } +var map_DeleteOptions = map[string]string{ + "": "DeleteOptions may be provided when deleting an API object.", + "gracePeriodSeconds": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "preconditions": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", + "orphanDependents": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", +} + +func (DeleteOptions) SwaggerDoc() map[string]string { + return map_DeleteOptions +} + var map_ExportOptions = map[string]string{ "": "ExportOptions is the query options to the standard REST get call.", "export": "Should this value be exported. Export strips fields that a user can not specify.", @@ -197,6 +208,15 @@ func (Patch) SwaggerDoc() map[string]string { return map_Patch } +var map_Preconditions = map[string]string{ + "": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "uid": "Specifies the target UID.", +} + +func (Preconditions) SwaggerDoc() map[string]string { + return map_Preconditions +} + var map_RootPaths = map[string]string{ "": "RootPaths lists the paths available at root. For example: \"/healthz\", \"/apis\".", "paths": "paths are the paths available at root.", diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go index 871767e9fea..4bc909c1db0 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go @@ -23,6 +23,7 @@ package v1 import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" + types "k8s.io/apimachinery/pkg/types" reflect "reflect" ) @@ -34,6 +35,7 @@ func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { {Fn: DeepCopy_v1_APIResource, InType: reflect.TypeOf(&APIResource{})}, {Fn: DeepCopy_v1_APIResourceList, InType: reflect.TypeOf(&APIResourceList{})}, {Fn: DeepCopy_v1_APIVersions, InType: reflect.TypeOf(&APIVersions{})}, + {Fn: DeepCopy_v1_DeleteOptions, InType: reflect.TypeOf(&DeleteOptions{})}, {Fn: DeepCopy_v1_Duration, InType: reflect.TypeOf(&Duration{})}, {Fn: DeepCopy_v1_ExportOptions, InType: reflect.TypeOf(&ExportOptions{})}, {Fn: DeepCopy_v1_GetOptions, InType: reflect.TypeOf(&GetOptions{})}, @@ -51,6 +53,7 @@ func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { {Fn: DeepCopy_v1_ObjectMeta, InType: reflect.TypeOf(&ObjectMeta{})}, {Fn: DeepCopy_v1_OwnerReference, InType: reflect.TypeOf(&OwnerReference{})}, {Fn: DeepCopy_v1_Patch, InType: reflect.TypeOf(&Patch{})}, + {Fn: DeepCopy_v1_Preconditions, InType: reflect.TypeOf(&Preconditions{})}, {Fn: DeepCopy_v1_RootPaths, InType: reflect.TypeOf(&RootPaths{})}, {Fn: DeepCopy_v1_ServerAddressByClientCIDR, InType: reflect.TypeOf(&ServerAddressByClientCIDR{})}, {Fn: DeepCopy_v1_Status, InType: reflect.TypeOf(&Status{})}, @@ -71,16 +74,12 @@ func DeepCopy_v1_APIGroup(in interface{}, out interface{}, c *conversion.Cloner) if in.Versions != nil { in, out := &in.Versions, &out.Versions *out = make([]GroupVersionForDiscovery, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] - } + copy(*out, *in) } if in.ServerAddressByClientCIDRs != nil { in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs *out = make([]ServerAddressByClientCIDR, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] - } + copy(*out, *in) } return nil } @@ -153,10 +152,35 @@ func DeepCopy_v1_APIVersions(in interface{}, out interface{}, c *conversion.Clon if in.ServerAddressByClientCIDRs != nil { in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs *out = make([]ServerAddressByClientCIDR, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] + copy(*out, *in) + } + return nil + } +} + +func DeepCopy_v1_DeleteOptions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*DeleteOptions) + out := out.(*DeleteOptions) + *out = *in + if in.GracePeriodSeconds != nil { + in, out := &in.GracePeriodSeconds, &out.GracePeriodSeconds + *out = new(int64) + **out = **in + } + if in.Preconditions != nil { + in, out := &in.Preconditions, &out.Preconditions + if newVal, err := c.DeepCopy(*in); err != nil { + return err + } else { + *out = newVal.(*Preconditions) } } + if in.OrphanDependents != nil { + in, out := &in.OrphanDependents, &out.OrphanDependents + *out = new(bool) + **out = **in + } return nil } } @@ -396,6 +420,20 @@ func DeepCopy_v1_Patch(in interface{}, out interface{}, c *conversion.Cloner) er } } +func DeepCopy_v1_Preconditions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Preconditions) + out := out.(*Preconditions) + *out = *in + if in.UID != nil { + in, out := &in.UID, &out.UID + *out = new(types.UID) + **out = **in + } + return nil + } +} + func DeepCopy_v1_RootPaths(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*RootPaths) @@ -453,9 +491,7 @@ func DeepCopy_v1_StatusDetails(in interface{}, out interface{}, c *conversion.Cl if in.Causes != nil { in, out := &in.Causes, &out.Causes *out = make([]StatusCause, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] - } + copy(*out, *in) } return nil } diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/OWNERS b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/OWNERS index a046efc0c22..c25e7faf2d4 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/OWNERS +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/OWNERS @@ -1,5 +1,10 @@ -assignees: - - derekwaynecarr - - lavalamp - - smarterclayton - - wojtek-t +approvers: +- derekwaynecarr +- lavalamp +- smarterclayton +- wojtek-t +reviewers: +- derekwaynecarr +- lavalamp +- smarterclayton +- wojtek-t diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/selector.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/selector.go index 3959c032a11..554d011ddc6 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/selector.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/selector.go @@ -17,6 +17,7 @@ limitations under the License. package fields import ( + "bytes" "fmt" "sort" "strings" @@ -90,7 +91,7 @@ func (t *hasTerm) Requirements() Requirements { } func (t *hasTerm) String() string { - return fmt.Sprintf("%v=%v", t.field, t.value) + return fmt.Sprintf("%v=%v", t.field, EscapeValue(t.value)) } type notHasTerm struct { @@ -126,7 +127,7 @@ func (t *notHasTerm) Requirements() Requirements { } func (t *notHasTerm) String() string { - return fmt.Sprintf("%v!=%v", t.field, t.value) + return fmt.Sprintf("%v!=%v", t.field, EscapeValue(t.value)) } type andTerm []Selector @@ -212,6 +213,81 @@ func SelectorFromSet(ls Set) Selector { return andTerm(items) } +// valueEscaper prefixes \,= characters with a backslash +var valueEscaper = strings.NewReplacer( + // escape \ characters + `\`, `\\`, + // then escape , and = characters to allow unambiguous parsing of the value in a fieldSelector + `,`, `\,`, + `=`, `\=`, +) + +// Escapes an arbitrary literal string for use as a fieldSelector value +func EscapeValue(s string) string { + return valueEscaper.Replace(s) +} + +// InvalidEscapeSequence indicates an error occurred unescaping a field selector +type InvalidEscapeSequence struct { + sequence string +} + +func (i InvalidEscapeSequence) Error() string { + return fmt.Sprintf("invalid field selector: invalid escape sequence: %s", i.sequence) +} + +// UnescapedRune indicates an error occurred unescaping a field selector +type UnescapedRune struct { + r rune +} + +func (i UnescapedRune) Error() string { + return fmt.Sprintf("invalid field selector: unescaped character in value: %v", i.r) +} + +// Unescapes a fieldSelector value and returns the original literal value. +// May return the original string if it contains no escaped or special characters. +func UnescapeValue(s string) (string, error) { + // if there's no escaping or special characters, just return to avoid allocation + if !strings.ContainsAny(s, `\,=`) { + return s, nil + } + + v := bytes.NewBuffer(make([]byte, 0, len(s))) + inSlash := false + for _, c := range s { + if inSlash { + switch c { + case '\\', ',', '=': + // omit the \ for recognized escape sequences + v.WriteRune(c) + default: + // error on unrecognized escape sequences + return "", InvalidEscapeSequence{sequence: string([]rune{'\\', c})} + } + inSlash = false + continue + } + + switch c { + case '\\': + inSlash = true + case ',', '=': + // unescaped , and = characters are not allowed in field selector values + return "", UnescapedRune{r: c} + default: + v.WriteRune(c) + } + } + + // Ending with a single backslash is an invalid sequence + if inSlash { + return "", InvalidEscapeSequence{sequence: "\\"} + } + + return v.String(), nil +} + // ParseSelectorOrDie takes a string representing a selector and returns an // object suitable for matching, or panic when an error occur. func ParseSelectorOrDie(s string) Selector { @@ -239,29 +315,83 @@ func ParseAndTransformSelector(selector string, fn TransformFunc) (Selector, err // Function to transform selectors. type TransformFunc func(field, value string) (newField, newValue string, err error) -func try(selectorPiece, op string) (lhs, rhs string, ok bool) { - pieces := strings.Split(selectorPiece, op) - if len(pieces) == 2 { - return pieces[0], pieces[1], true +// splitTerms returns the comma-separated terms contained in the given fieldSelector. +// Backslash-escaped commas are treated as data instead of delimiters, and are included in the returned terms, with the leading backslash preserved. +func splitTerms(fieldSelector string) []string { + if len(fieldSelector) == 0 { + return nil } - return "", "", false + + terms := make([]string, 0, 1) + startIndex := 0 + inSlash := false + for i, c := range fieldSelector { + switch { + case inSlash: + inSlash = false + case c == '\\': + inSlash = true + case c == ',': + terms = append(terms, fieldSelector[startIndex:i]) + startIndex = i + 1 + } + } + + terms = append(terms, fieldSelector[startIndex:]) + + return terms +} + +const ( + notEqualOperator = "!=" + doubleEqualOperator = "==" + equalOperator = "=" +) + +// termOperators holds the recognized operators supported in fieldSelectors. +// doubleEqualOperator and equal are equivalent, but doubleEqualOperator is checked first +// to avoid leaving a leading = character on the rhs value. +var termOperators = []string{notEqualOperator, doubleEqualOperator, equalOperator} + +// splitTerm returns the lhs, operator, and rhs parsed from the given term, along with an indicator of whether the parse was successful. +// no escaping of special characters is supported in the lhs value, so the first occurance of a recognized operator is used as the split point. +// the literal rhs is returned, and the caller is responsible for applying any desired unescaping. +func splitTerm(term string) (lhs, op, rhs string, ok bool) { + for i := range term { + remaining := term[i:] + for _, op := range termOperators { + if strings.HasPrefix(remaining, op) { + return term[0:i], op, term[i+len(op):], true + } + } + } + return "", "", "", false } func parseSelector(selector string, fn TransformFunc) (Selector, error) { - parts := strings.Split(selector, ",") + parts := splitTerms(selector) sort.StringSlice(parts).Sort() var items []Selector for _, part := range parts { if part == "" { continue } - if lhs, rhs, ok := try(part, "!="); ok { - items = append(items, ¬HasTerm{field: lhs, value: rhs}) - } else if lhs, rhs, ok := try(part, "=="); ok { - items = append(items, &hasTerm{field: lhs, value: rhs}) - } else if lhs, rhs, ok := try(part, "="); ok { - items = append(items, &hasTerm{field: lhs, value: rhs}) - } else { + lhs, op, rhs, ok := splitTerm(part) + if !ok { + return nil, fmt.Errorf("invalid selector: '%s'; can't understand '%s'", selector, part) + } + unescapedRHS, err := UnescapeValue(rhs) + if err != nil { + return nil, err + } + switch op { + case notEqualOperator: + items = append(items, ¬HasTerm{field: lhs, value: unescapedRHS}) + case doubleEqualOperator: + items = append(items, &hasTerm{field: lhs, value: unescapedRHS}) + case equalOperator: + items = append(items, &hasTerm{field: lhs, value: unescapedRHS}) + default: return nil, fmt.Errorf("invalid selector: '%s'; can't understand '%s'", selector, part) } } diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/selector.go b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/selector.go index 8cfa44ba7f2..9bddc35a60a 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/selector.go +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/selector.go @@ -793,7 +793,7 @@ func validateLabelValue(v string) error { // SelectorFromSet returns a Selector which will match exactly the given Set. A // nil and empty Sets are considered equivalent to Everything(). func SelectorFromSet(ls Set) Selector { - if ls == nil { + if ls == nil || len(ls) == 0 { return internalSelector{} } var requirements internalSelector @@ -807,14 +807,14 @@ func SelectorFromSet(ls Set) Selector { } // sort to have deterministic string representation sort.Sort(ByKey(requirements)) - return internalSelector(requirements) + return requirements } // SelectorFromValidatedSet returns a Selector which will match exactly the given Set. // A nil and empty Sets are considered equivalent to Everything(). // It assumes that Set is already validated and doesn't do any validation. func SelectorFromValidatedSet(ls Set) Selector { - if ls == nil { + if ls == nil || len(ls) == 0 { return internalSelector{} } var requirements internalSelector @@ -823,7 +823,7 @@ func SelectorFromValidatedSet(ls Set) Selector { } // sort to have deterministic string representation sort.Sort(ByKey(requirements)) - return internalSelector(requirements) + return requirements } // ParseToRequirements takes a string representing a selector and returns a list of 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 8731658a255..8b2fae576e5 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 @@ -125,6 +125,7 @@ func TestNegotiateVersion(t *testing.T) { for _, test := range tests { fakeClient := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: &http.Response{ StatusCode: test.statusCode, diff --git a/staging/src/k8s.io/client-go/dynamic/client.go b/staging/src/k8s.io/client-go/dynamic/client.go index 8fad7ce9df9..1b4f3aa5e13 100644 --- a/staging/src/k8s.io/client-go/dynamic/client.go +++ b/staging/src/k8s.io/client-go/dynamic/client.go @@ -138,7 +138,7 @@ func (rc *ResourceClient) Get(name string) (*unstructured.Unstructured, error) { } // Delete deletes the resource with the specified name. -func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error { +func (rc *ResourceClient) Delete(name string, opts *metav1.DeleteOptions) error { return rc.cl.Delete(). NamespaceIfScoped(rc.ns, rc.resource.Namespaced). Resource(rc.resource.Name). @@ -149,7 +149,7 @@ func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (rc *ResourceClient) DeleteCollection(deleteOptions *v1.DeleteOptions, listOptions runtime.Object) error { +func (rc *ResourceClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, listOptions runtime.Object) error { parameterEncoder := rc.parameterCodec if parameterEncoder == nil { parameterEncoder = defaultParameterEncoder 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 19bfd1b696c..430e4a224a4 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeStatefulSets) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(statefulsetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.StatefulSetList{}) return err } -func (c *FakeStatefulSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StatefulSet, err error) { +func (c *FakeStatefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.StatefulSet, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(statefulsetsResource, c.ns, name), &v1beta1.StatefulSet{}) @@ -89,7 +88,7 @@ func (c *FakeStatefulSets) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1beta1.StatefulSet), err } -func (c *FakeStatefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { +func (c *FakeStatefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(statefulsetsResource, c.ns, opts), &v1beta1.StatefulSetList{}) @@ -111,7 +110,7 @@ func (c *FakeStatefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.State } // Watch returns a watch.Interface that watches the requested statefulSets. -func (c *FakeStatefulSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeStatefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(statefulsetsResource, c.ns, opts)) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/statefulset.go b/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/statefulset.go index cda7cbe00c2..4cceda811b7 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/statefulset.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/statefulset.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type StatefulSetInterface interface { Update(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error) UpdateStatus(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.StatefulSet, error) - List(opts meta_v1.ListOptions) (*v1beta1.StatefulSetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.StatefulSet, error) + List(opts v1.ListOptions) (*v1beta1.StatefulSetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StatefulSet, err error) StatefulSetExpansion } @@ -113,7 +112,7 @@ func (c *statefulSets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("statefulsets"). @@ -124,7 +123,7 @@ func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any. -func (c *statefulSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StatefulSet, err error) { +func (c *statefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.StatefulSet, err error) { result = &v1beta1.StatefulSet{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *statefulSets) Get(name string, options meta_v1.GetOptions) (result *v1b } // List takes label and field selectors, and returns the list of StatefulSets that match those selectors. -func (c *statefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { +func (c *statefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { result = &v1beta1.StatefulSetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *statefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.StatefulS } // Watch returns a watch.Interface that watches the requested statefulSets. -func (c *statefulSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *statefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). 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 26fa3275563..66ef7be49a5 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 @@ -22,7 +22,6 @@ import ( schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/autoscaling/v1" testing "k8s.io/client-go/testing" ) @@ -65,14 +64,14 @@ func (c *FakeHorizontalPodAutoscalers) UpdateStatus(horizontalPodAutoscaler *v1. return obj.(*v1.HorizontalPodAutoscaler), err } -func (c *FakeHorizontalPodAutoscalers) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *FakeHorizontalPodAutoscalers) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(horizontalpodautoscalersResource, c.ns, name), &v1.HorizontalPodAutoscaler{}) return err } -func (c *FakeHorizontalPodAutoscalers) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeHorizontalPodAutoscalers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(horizontalpodautoscalersResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.HorizontalPodAutoscalerList{}) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go b/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go index 80f16ad26a0..781a789cc2e 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go @@ -21,7 +21,6 @@ import ( types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/autoscaling/v1" rest "k8s.io/client-go/rest" ) @@ -37,8 +36,8 @@ type HorizontalPodAutoscalerInterface interface { Create(*v1.HorizontalPodAutoscaler) (*v1.HorizontalPodAutoscaler, error) Update(*v1.HorizontalPodAutoscaler) (*v1.HorizontalPodAutoscaler, error) UpdateStatus(*v1.HorizontalPodAutoscaler) (*v1.HorizontalPodAutoscaler, error) - Delete(name string, options *api_v1.DeleteOptions) error - DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.HorizontalPodAutoscaler, error) List(opts meta_v1.ListOptions) (*v1.HorizontalPodAutoscalerList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -102,7 +101,7 @@ func (c *horizontalPodAutoscalers) UpdateStatus(horizontalPodAutoscaler *v1.Hori } // Delete takes name of the horizontalPodAutoscaler and deletes it. Returns an error if one occurs. -func (c *horizontalPodAutoscalers) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *horizontalPodAutoscalers) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("horizontalpodautoscalers"). @@ -113,7 +112,7 @@ func (c *horizontalPodAutoscalers) Delete(name string, options *api_v1.DeleteOpt } // DeleteCollection deletes a collection of objects. -func (c *horizontalPodAutoscalers) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *horizontalPodAutoscalers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("horizontalpodautoscalers"). 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 30ef2dbe9d8..e193a776545 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 @@ -22,7 +22,6 @@ import ( schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/batch/v1" testing "k8s.io/client-go/testing" ) @@ -65,14 +64,14 @@ func (c *FakeJobs) UpdateStatus(job *v1.Job) (*v1.Job, error) { return obj.(*v1.Job), err } -func (c *FakeJobs) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *FakeJobs) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(jobsResource, c.ns, name), &v1.Job{}) return err } -func (c *FakeJobs) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeJobs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(jobsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.JobList{}) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/job.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/job.go index a7a22d1529a..7f39d181f74 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/job.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/job.go @@ -21,7 +21,6 @@ import ( types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/batch/v1" rest "k8s.io/client-go/rest" ) @@ -37,8 +36,8 @@ type JobInterface interface { Create(*v1.Job) (*v1.Job, error) Update(*v1.Job) (*v1.Job, error) UpdateStatus(*v1.Job) (*v1.Job, error) - Delete(name string, options *api_v1.DeleteOptions) error - DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Job, error) List(opts meta_v1.ListOptions) (*v1.JobList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -102,7 +101,7 @@ func (c *jobs) UpdateStatus(job *v1.Job) (result *v1.Job, err error) { } // Delete takes name of the job and deletes it. Returns an error if one occurs. -func (c *jobs) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *jobs) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("jobs"). @@ -113,7 +112,7 @@ func (c *jobs) Delete(name string, options *api_v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *jobs) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *jobs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("jobs"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/cronjob.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/cronjob.go index 7f0ccaeab02..b1c17eb9d7a 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/cronjob.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/cronjob.go @@ -17,11 +17,10 @@ limitations under the License. package v2alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type CronJobInterface interface { Update(*v2alpha1.CronJob) (*v2alpha1.CronJob, error) UpdateStatus(*v2alpha1.CronJob) (*v2alpha1.CronJob, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v2alpha1.CronJob, error) - List(opts meta_v1.ListOptions) (*v2alpha1.CronJobList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v2alpha1.CronJob, error) + List(opts v1.ListOptions) (*v2alpha1.CronJobList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2alpha1.CronJob, err error) CronJobExpansion } @@ -113,7 +112,7 @@ func (c *cronJobs) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *cronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *cronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("cronjobs"). @@ -124,7 +123,7 @@ func (c *cronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_ } // Get takes name of the cronJob, and returns the corresponding cronJob object, and an error if there is any. -func (c *cronJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.CronJob, err error) { +func (c *cronJobs) Get(name string, options v1.GetOptions) (result *v2alpha1.CronJob, err error) { result = &v2alpha1.CronJob{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *cronJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha } // List takes label and field selectors, and returns the list of CronJobs that match those selectors. -func (c *cronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobList, err error) { +func (c *cronJobs) List(opts v1.ListOptions) (result *v2alpha1.CronJobList, err error) { result = &v2alpha1.CronJobList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *cronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobList, } // Watch returns a watch.Interface that watches the requested cronJobs. -func (c *cronJobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *cronJobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). 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 176d01b9dce..9e570a8a452 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeCronJobs) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeCronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeCronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(cronjobsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v2alpha1.CronJobList{}) return err } -func (c *FakeCronJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.CronJob, err error) { +func (c *FakeCronJobs) Get(name string, options v1.GetOptions) (result *v2alpha1.CronJob, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(cronjobsResource, c.ns, name), &v2alpha1.CronJob{}) @@ -89,7 +88,7 @@ func (c *FakeCronJobs) Get(name string, options meta_v1.GetOptions) (result *v2a return obj.(*v2alpha1.CronJob), err } -func (c *FakeCronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobList, err error) { +func (c *FakeCronJobs) List(opts v1.ListOptions) (result *v2alpha1.CronJobList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(cronjobsResource, c.ns, opts), &v2alpha1.CronJobList{}) @@ -111,7 +110,7 @@ func (c *FakeCronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobL } // Watch returns a watch.Interface that watches the requested cronJobs. -func (c *FakeCronJobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeCronJobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(cronjobsResource, c.ns, opts)) 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 11f4186553b..8a976596c84 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeJobs) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(jobsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v2alpha1.JobList{}) return err } -func (c *FakeJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.Job, err error) { +func (c *FakeJobs) Get(name string, options v1.GetOptions) (result *v2alpha1.Job, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(jobsResource, c.ns, name), &v2alpha1.Job{}) @@ -89,7 +88,7 @@ func (c *FakeJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha return obj.(*v2alpha1.Job), err } -func (c *FakeJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err error) { +func (c *FakeJobs) List(opts v1.ListOptions) (result *v2alpha1.JobList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(jobsResource, c.ns, opts), &v2alpha1.JobList{}) @@ -111,7 +110,7 @@ func (c *FakeJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err } // Watch returns a watch.Interface that watches the requested jobs. -func (c *FakeJobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeJobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(jobsResource, c.ns, opts)) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/job.go b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/job.go index 96609169c76..ca330248a57 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/job.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/job.go @@ -17,11 +17,10 @@ limitations under the License. package v2alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type JobInterface interface { Update(*v2alpha1.Job) (*v2alpha1.Job, error) UpdateStatus(*v2alpha1.Job) (*v2alpha1.Job, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v2alpha1.Job, error) - List(opts meta_v1.ListOptions) (*v2alpha1.JobList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v2alpha1.Job, error) + List(opts v1.ListOptions) (*v2alpha1.JobList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2alpha1.Job, err error) JobExpansion } @@ -113,7 +112,7 @@ func (c *jobs) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("jobs"). @@ -124,7 +123,7 @@ func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.L } // Get takes name of the job, and returns the corresponding job object, and an error if there is any. -func (c *jobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.Job, err error) { +func (c *jobs) Get(name string, options v1.GetOptions) (result *v2alpha1.Job, err error) { result = &v2alpha1.Job{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *jobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.Jo } // List takes label and field selectors, and returns the list of Jobs that match those selectors. -func (c *jobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err error) { +func (c *jobs) List(opts v1.ListOptions) (result *v2alpha1.JobList, err error) { result = &v2alpha1.JobList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *jobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err err } // Watch returns a watch.Interface that watches the requested jobs. -func (c *jobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *jobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go index 02a4d8e60f4..aab53da5b35 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/certificates/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type CertificateSigningRequestInterface interface { Update(*v1beta1.CertificateSigningRequest) (*v1beta1.CertificateSigningRequest, error) UpdateStatus(*v1beta1.CertificateSigningRequest) (*v1beta1.CertificateSigningRequest, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.CertificateSigningRequest, error) - List(opts meta_v1.ListOptions) (*v1beta1.CertificateSigningRequestList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.CertificateSigningRequest, error) + List(opts v1.ListOptions) (*v1beta1.CertificateSigningRequestList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CertificateSigningRequest, err error) CertificateSigningRequestExpansion } @@ -107,7 +106,7 @@ func (c *certificateSigningRequests) Delete(name string, options *v1.DeleteOptio } // DeleteCollection deletes a collection of objects. -func (c *certificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *certificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("certificatesigningrequests"). VersionedParams(&listOptions, api.ParameterCodec). @@ -117,7 +116,7 @@ func (c *certificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, } // Get takes name of the certificateSigningRequest, and returns the corresponding certificateSigningRequest object, and an error if there is any. -func (c *certificateSigningRequests) Get(name string, options meta_v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { +func (c *certificateSigningRequests) Get(name string, options v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { result = &v1beta1.CertificateSigningRequest{} err = c.client.Get(). Resource("certificatesigningrequests"). @@ -129,7 +128,7 @@ func (c *certificateSigningRequests) Get(name string, options meta_v1.GetOptions } // List takes label and field selectors, and returns the list of CertificateSigningRequests that match those selectors. -func (c *certificateSigningRequests) List(opts meta_v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { +func (c *certificateSigningRequests) List(opts v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { result = &v1beta1.CertificateSigningRequestList{} err = c.client.Get(). Resource("certificatesigningrequests"). @@ -140,7 +139,7 @@ func (c *certificateSigningRequests) List(opts meta_v1.ListOptions) (result *v1b } // Watch returns a watch.Interface that watches the requested certificateSigningRequests. -func (c *certificateSigningRequests) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *certificateSigningRequests) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("certificatesigningrequests"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go index 45f881bb15f..3ff1fe5a15c 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/certificates/v1beta1" testing "k8s.io/client-go/testing" ) @@ -67,14 +66,14 @@ func (c *FakeCertificateSigningRequests) Delete(name string, options *v1.DeleteO return err } -func (c *FakeCertificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeCertificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(certificatesigningrequestsResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.CertificateSigningRequestList{}) return err } -func (c *FakeCertificateSigningRequests) Get(name string, options meta_v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { +func (c *FakeCertificateSigningRequests) Get(name string, options v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(certificatesigningrequestsResource, name), &v1beta1.CertificateSigningRequest{}) if obj == nil { @@ -83,7 +82,7 @@ func (c *FakeCertificateSigningRequests) Get(name string, options meta_v1.GetOpt return obj.(*v1beta1.CertificateSigningRequest), err } -func (c *FakeCertificateSigningRequests) List(opts meta_v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { +func (c *FakeCertificateSigningRequests) List(opts v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(certificatesigningrequestsResource, opts), &v1beta1.CertificateSigningRequestList{}) if obj == nil { @@ -104,7 +103,7 @@ func (c *FakeCertificateSigningRequests) List(opts meta_v1.ListOptions) (result } // Watch returns a watch.Interface that watches the requested certificateSigningRequests. -func (c *FakeCertificateSigningRequests) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeCertificateSigningRequests) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(certificatesigningrequestsResource, opts)) } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/componentstatus.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/componentstatus.go index f6217847cc2..085019a0f08 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/componentstatus.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/componentstatus.go @@ -35,8 +35,8 @@ type ComponentStatusesGetter interface { type ComponentStatusInterface interface { Create(*v1.ComponentStatus) (*v1.ComponentStatus, error) Update(*v1.ComponentStatus) (*v1.ComponentStatus, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ComponentStatus, error) List(opts meta_v1.ListOptions) (*v1.ComponentStatusList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -80,7 +80,7 @@ func (c *componentStatuses) Update(componentStatus *v1.ComponentStatus) (result } // Delete takes name of the componentStatus and deletes it. Returns an error if one occurs. -func (c *componentStatuses) Delete(name string, options *v1.DeleteOptions) error { +func (c *componentStatuses) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("componentstatuses"). Name(name). @@ -90,7 +90,7 @@ func (c *componentStatuses) Delete(name string, options *v1.DeleteOptions) error } // DeleteCollection deletes a collection of objects. -func (c *componentStatuses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *componentStatuses) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("componentstatuses"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/configmap.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/configmap.go index 6eda267cf40..e116303c5bd 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/configmap.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/configmap.go @@ -35,8 +35,8 @@ type ConfigMapsGetter interface { type ConfigMapInterface interface { Create(*v1.ConfigMap) (*v1.ConfigMap, error) Update(*v1.ConfigMap) (*v1.ConfigMap, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ConfigMap, error) List(opts meta_v1.ListOptions) (*v1.ConfigMapList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *configMaps) Update(configMap *v1.ConfigMap) (result *v1.ConfigMap, err } // Delete takes name of the configMap and deletes it. Returns an error if one occurs. -func (c *configMaps) Delete(name string, options *v1.DeleteOptions) error { +func (c *configMaps) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("configmaps"). @@ -95,7 +95,7 @@ func (c *configMaps) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *configMaps) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *configMaps) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("configmaps"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/endpoints.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/endpoints.go index e5737aa4327..ada3af55a13 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/endpoints.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/endpoints.go @@ -35,8 +35,8 @@ type EndpointsGetter interface { type EndpointsInterface interface { Create(*v1.Endpoints) (*v1.Endpoints, error) Update(*v1.Endpoints) (*v1.Endpoints, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Endpoints, error) List(opts meta_v1.ListOptions) (*v1.EndpointsList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *endpoints) Update(endpoints *v1.Endpoints) (result *v1.Endpoints, err e } // Delete takes name of the endpoints and deletes it. Returns an error if one occurs. -func (c *endpoints) Delete(name string, options *v1.DeleteOptions) error { +func (c *endpoints) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("endpoints"). @@ -95,7 +95,7 @@ func (c *endpoints) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *endpoints) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *endpoints) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("endpoints"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/event.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/event.go index 5837d5163f9..420524e425e 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/event.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/event.go @@ -35,8 +35,8 @@ type EventsGetter interface { type EventInterface interface { Create(*v1.Event) (*v1.Event, error) Update(*v1.Event) (*v1.Event, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Event, error) List(opts meta_v1.ListOptions) (*v1.EventList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *events) Update(event *v1.Event) (result *v1.Event, err error) { } // Delete takes name of the event and deletes it. Returns an error if one occurs. -func (c *events) Delete(name string, options *v1.DeleteOptions) error { +func (c *events) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("events"). @@ -95,7 +95,7 @@ func (c *events) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *events) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *events) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("events"). 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 3412c859e08..6e21110835b 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 @@ -51,13 +51,13 @@ func (c *FakeComponentStatuses) Update(componentStatus *v1.ComponentStatus) (res return obj.(*v1.ComponentStatus), err } -func (c *FakeComponentStatuses) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeComponentStatuses) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(componentstatusesResource, name), &v1.ComponentStatus{}) return err } -func (c *FakeComponentStatuses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeComponentStatuses) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(componentstatusesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.ComponentStatusList{}) 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 0ba0d56fc93..560ad7a400a 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 @@ -54,14 +54,14 @@ func (c *FakeConfigMaps) Update(configMap *v1.ConfigMap) (result *v1.ConfigMap, return obj.(*v1.ConfigMap), err } -func (c *FakeConfigMaps) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeConfigMaps) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(configmapsResource, c.ns, name), &v1.ConfigMap{}) return err } -func (c *FakeConfigMaps) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeConfigMaps) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(configmapsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ConfigMapList{}) 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 5bd3e0a6060..d4b7ad0686c 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 @@ -54,14 +54,14 @@ func (c *FakeEndpoints) Update(endpoints *v1.Endpoints) (result *v1.Endpoints, e return obj.(*v1.Endpoints), err } -func (c *FakeEndpoints) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeEndpoints) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(endpointsResource, c.ns, name), &v1.Endpoints{}) return err } -func (c *FakeEndpoints) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeEndpoints) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(endpointsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.EndpointsList{}) 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 6850d535faa..7abe81587d2 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 @@ -54,14 +54,14 @@ func (c *FakeEvents) Update(event *v1.Event) (result *v1.Event, err error) { return obj.(*v1.Event), err } -func (c *FakeEvents) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeEvents) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(eventsResource, c.ns, name), &v1.Event{}) return err } -func (c *FakeEvents) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeEvents) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(eventsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.EventList{}) 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 3a3e24055d7..2786358382e 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 @@ -54,14 +54,14 @@ func (c *FakeLimitRanges) Update(limitRange *v1.LimitRange) (result *v1.LimitRan return obj.(*v1.LimitRange), err } -func (c *FakeLimitRanges) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeLimitRanges) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(limitrangesResource, c.ns, name), &v1.LimitRange{}) return err } -func (c *FakeLimitRanges) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeLimitRanges) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(limitrangesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.LimitRangeList{}) 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 2d95ebefdc3..2ec7376761e 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 @@ -60,13 +60,13 @@ func (c *FakeNamespaces) UpdateStatus(namespace *v1.Namespace) (*v1.Namespace, e return obj.(*v1.Namespace), err } -func (c *FakeNamespaces) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeNamespaces) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(namespacesResource, name), &v1.Namespace{}) return err } -func (c *FakeNamespaces) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeNamespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(namespacesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.NamespaceList{}) 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 1ee38968701..357297228b1 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 @@ -60,13 +60,13 @@ func (c *FakeNodes) UpdateStatus(node *v1.Node) (*v1.Node, error) { return obj.(*v1.Node), err } -func (c *FakeNodes) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeNodes) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(nodesResource, name), &v1.Node{}) return err } -func (c *FakeNodes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeNodes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(nodesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.NodeList{}) 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 f123be04849..8c3bed76e7b 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 @@ -60,13 +60,13 @@ func (c *FakePersistentVolumes) UpdateStatus(persistentVolume *v1.PersistentVolu return obj.(*v1.PersistentVolume), err } -func (c *FakePersistentVolumes) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePersistentVolumes) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(persistentvolumesResource, name), &v1.PersistentVolume{}) return err } -func (c *FakePersistentVolumes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePersistentVolumes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(persistentvolumesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.PersistentVolumeList{}) 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 f1d294ae6ee..f909a7f08c8 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 @@ -64,14 +64,14 @@ func (c *FakePersistentVolumeClaims) UpdateStatus(persistentVolumeClaim *v1.Pers return obj.(*v1.PersistentVolumeClaim), err } -func (c *FakePersistentVolumeClaims) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePersistentVolumeClaims) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(persistentvolumeclaimsResource, c.ns, name), &v1.PersistentVolumeClaim{}) return err } -func (c *FakePersistentVolumeClaims) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePersistentVolumeClaims) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(persistentvolumeclaimsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.PersistentVolumeClaimList{}) 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 1aa827b2822..3f921fe0210 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 @@ -64,14 +64,14 @@ func (c *FakePods) UpdateStatus(pod *v1.Pod) (*v1.Pod, error) { return obj.(*v1.Pod), err } -func (c *FakePods) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePods) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(podsResource, c.ns, name), &v1.Pod{}) return err } -func (c *FakePods) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePods) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(podsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.PodList{}) 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 3855097029f..86091e4127b 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 @@ -54,14 +54,14 @@ func (c *FakePodTemplates) Update(podTemplate *v1.PodTemplate) (result *v1.PodTe return obj.(*v1.PodTemplate), err } -func (c *FakePodTemplates) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePodTemplates) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(podtemplatesResource, c.ns, name), &v1.PodTemplate{}) return err } -func (c *FakePodTemplates) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePodTemplates) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(podtemplatesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.PodTemplateList{}) 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 871b423e8ed..f2bb8cef9c3 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 @@ -64,14 +64,14 @@ func (c *FakeReplicationControllers) UpdateStatus(replicationController *v1.Repl return obj.(*v1.ReplicationController), err } -func (c *FakeReplicationControllers) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeReplicationControllers) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(replicationcontrollersResource, c.ns, name), &v1.ReplicationController{}) return err } -func (c *FakeReplicationControllers) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeReplicationControllers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(replicationcontrollersResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ReplicationControllerList{}) 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 61e8ce8c510..0389f8e879f 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 @@ -64,14 +64,14 @@ func (c *FakeResourceQuotas) UpdateStatus(resourceQuota *v1.ResourceQuota) (*v1. return obj.(*v1.ResourceQuota), err } -func (c *FakeResourceQuotas) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeResourceQuotas) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(resourcequotasResource, c.ns, name), &v1.ResourceQuota{}) return err } -func (c *FakeResourceQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeResourceQuotas) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(resourcequotasResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ResourceQuotaList{}) 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 d9c1a18d7f4..a0b305504ff 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 @@ -54,14 +54,14 @@ func (c *FakeSecrets) Update(secret *v1.Secret) (result *v1.Secret, err error) { return obj.(*v1.Secret), err } -func (c *FakeSecrets) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeSecrets) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(secretsResource, c.ns, name), &v1.Secret{}) return err } -func (c *FakeSecrets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeSecrets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(secretsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.SecretList{}) 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 5f35e5c2a13..4cc8ed0e91e 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 @@ -64,14 +64,14 @@ func (c *FakeServices) UpdateStatus(service *v1.Service) (*v1.Service, error) { return obj.(*v1.Service), err } -func (c *FakeServices) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeServices) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(servicesResource, c.ns, name), &v1.Service{}) return err } -func (c *FakeServices) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeServices) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(servicesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ServiceList{}) 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 b52f3f22cad..c049d7dec80 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 @@ -54,14 +54,14 @@ func (c *FakeServiceAccounts) Update(serviceAccount *v1.ServiceAccount) (result return obj.(*v1.ServiceAccount), err } -func (c *FakeServiceAccounts) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeServiceAccounts) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(serviceaccountsResource, c.ns, name), &v1.ServiceAccount{}) return err } -func (c *FakeServiceAccounts) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeServiceAccounts) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(serviceaccountsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ServiceAccountList{}) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/limitrange.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/limitrange.go index 0c3d03a8463..82143a18239 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/limitrange.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/limitrange.go @@ -35,8 +35,8 @@ type LimitRangesGetter interface { type LimitRangeInterface interface { Create(*v1.LimitRange) (*v1.LimitRange, error) Update(*v1.LimitRange) (*v1.LimitRange, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.LimitRange, error) List(opts meta_v1.ListOptions) (*v1.LimitRangeList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *limitRanges) Update(limitRange *v1.LimitRange) (result *v1.LimitRange, } // Delete takes name of the limitRange and deletes it. Returns an error if one occurs. -func (c *limitRanges) Delete(name string, options *v1.DeleteOptions) error { +func (c *limitRanges) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("limitranges"). @@ -95,7 +95,7 @@ func (c *limitRanges) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *limitRanges) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *limitRanges) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("limitranges"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/namespace.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/namespace.go index 362a608c92a..0a40ec2a644 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/namespace.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/namespace.go @@ -36,8 +36,8 @@ type NamespaceInterface interface { Create(*v1.Namespace) (*v1.Namespace, error) Update(*v1.Namespace) (*v1.Namespace, error) UpdateStatus(*v1.Namespace) (*v1.Namespace, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Namespace, error) List(opts meta_v1.ListOptions) (*v1.NamespaceList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -96,7 +96,7 @@ func (c *namespaces) UpdateStatus(namespace *v1.Namespace) (result *v1.Namespace } // Delete takes name of the namespace and deletes it. Returns an error if one occurs. -func (c *namespaces) Delete(name string, options *v1.DeleteOptions) error { +func (c *namespaces) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("namespaces"). Name(name). @@ -106,7 +106,7 @@ func (c *namespaces) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *namespaces) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *namespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("namespaces"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/node.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/node.go index ccbc83099af..e5d23bc7534 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/node.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/node.go @@ -36,8 +36,8 @@ type NodeInterface interface { Create(*v1.Node) (*v1.Node, error) Update(*v1.Node) (*v1.Node, error) UpdateStatus(*v1.Node) (*v1.Node, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Node, error) List(opts meta_v1.ListOptions) (*v1.NodeList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -96,7 +96,7 @@ func (c *nodes) UpdateStatus(node *v1.Node) (result *v1.Node, err error) { } // Delete takes name of the node and deletes it. Returns an error if one occurs. -func (c *nodes) Delete(name string, options *v1.DeleteOptions) error { +func (c *nodes) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("nodes"). Name(name). @@ -106,7 +106,7 @@ func (c *nodes) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *nodes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *nodes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("nodes"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolume.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolume.go index 5de1f4278f2..7f74510f418 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolume.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolume.go @@ -36,8 +36,8 @@ type PersistentVolumeInterface interface { Create(*v1.PersistentVolume) (*v1.PersistentVolume, error) Update(*v1.PersistentVolume) (*v1.PersistentVolume, error) UpdateStatus(*v1.PersistentVolume) (*v1.PersistentVolume, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.PersistentVolume, error) List(opts meta_v1.ListOptions) (*v1.PersistentVolumeList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -96,7 +96,7 @@ func (c *persistentVolumes) UpdateStatus(persistentVolume *v1.PersistentVolume) } // Delete takes name of the persistentVolume and deletes it. Returns an error if one occurs. -func (c *persistentVolumes) Delete(name string, options *v1.DeleteOptions) error { +func (c *persistentVolumes) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("persistentvolumes"). Name(name). @@ -106,7 +106,7 @@ func (c *persistentVolumes) Delete(name string, options *v1.DeleteOptions) error } // DeleteCollection deletes a collection of objects. -func (c *persistentVolumes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *persistentVolumes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("persistentvolumes"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolumeclaim.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolumeclaim.go index 3c3e89c291e..80007b02cc6 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolumeclaim.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/persistentvolumeclaim.go @@ -36,8 +36,8 @@ type PersistentVolumeClaimInterface interface { Create(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) Update(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) UpdateStatus(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.PersistentVolumeClaim, error) List(opts meta_v1.ListOptions) (*v1.PersistentVolumeClaimList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *persistentVolumeClaims) UpdateStatus(persistentVolumeClaim *v1.Persiste } // Delete takes name of the persistentVolumeClaim and deletes it. Returns an error if one occurs. -func (c *persistentVolumeClaims) Delete(name string, options *v1.DeleteOptions) error { +func (c *persistentVolumeClaims) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("persistentvolumeclaims"). @@ -112,7 +112,7 @@ func (c *persistentVolumeClaims) Delete(name string, options *v1.DeleteOptions) } // DeleteCollection deletes a collection of objects. -func (c *persistentVolumeClaims) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *persistentVolumeClaims) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("persistentvolumeclaims"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/pod.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/pod.go index cb762b412f8..3dc1d83bf31 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/pod.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/pod.go @@ -36,8 +36,8 @@ type PodInterface interface { Create(*v1.Pod) (*v1.Pod, error) Update(*v1.Pod) (*v1.Pod, error) UpdateStatus(*v1.Pod) (*v1.Pod, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Pod, error) List(opts meta_v1.ListOptions) (*v1.PodList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *pods) UpdateStatus(pod *v1.Pod) (result *v1.Pod, err error) { } // Delete takes name of the pod and deletes it. Returns an error if one occurs. -func (c *pods) Delete(name string, options *v1.DeleteOptions) error { +func (c *pods) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("pods"). @@ -112,7 +112,7 @@ func (c *pods) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *pods) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *pods) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("pods"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/podtemplate.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/podtemplate.go index c3fdee972b0..6aab583d0ef 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/podtemplate.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/podtemplate.go @@ -35,8 +35,8 @@ type PodTemplatesGetter interface { type PodTemplateInterface interface { Create(*v1.PodTemplate) (*v1.PodTemplate, error) Update(*v1.PodTemplate) (*v1.PodTemplate, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.PodTemplate, error) List(opts meta_v1.ListOptions) (*v1.PodTemplateList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *podTemplates) Update(podTemplate *v1.PodTemplate) (result *v1.PodTempla } // Delete takes name of the podTemplate and deletes it. Returns an error if one occurs. -func (c *podTemplates) Delete(name string, options *v1.DeleteOptions) error { +func (c *podTemplates) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("podtemplates"). @@ -95,7 +95,7 @@ func (c *podTemplates) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *podTemplates) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *podTemplates) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("podtemplates"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/replicationcontroller.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/replicationcontroller.go index 497128694f7..d5cc7d3d2e5 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/replicationcontroller.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/replicationcontroller.go @@ -36,8 +36,8 @@ type ReplicationControllerInterface interface { Create(*v1.ReplicationController) (*v1.ReplicationController, error) Update(*v1.ReplicationController) (*v1.ReplicationController, error) UpdateStatus(*v1.ReplicationController) (*v1.ReplicationController, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ReplicationController, error) List(opts meta_v1.ListOptions) (*v1.ReplicationControllerList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *replicationControllers) UpdateStatus(replicationController *v1.Replicat } // Delete takes name of the replicationController and deletes it. Returns an error if one occurs. -func (c *replicationControllers) Delete(name string, options *v1.DeleteOptions) error { +func (c *replicationControllers) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("replicationcontrollers"). @@ -112,7 +112,7 @@ func (c *replicationControllers) Delete(name string, options *v1.DeleteOptions) } // DeleteCollection deletes a collection of objects. -func (c *replicationControllers) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *replicationControllers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("replicationcontrollers"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/resourcequota.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/resourcequota.go index 5311b6c7c18..62af891f9ce 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/resourcequota.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/resourcequota.go @@ -36,8 +36,8 @@ type ResourceQuotaInterface interface { Create(*v1.ResourceQuota) (*v1.ResourceQuota, error) Update(*v1.ResourceQuota) (*v1.ResourceQuota, error) UpdateStatus(*v1.ResourceQuota) (*v1.ResourceQuota, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ResourceQuota, error) List(opts meta_v1.ListOptions) (*v1.ResourceQuotaList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *resourceQuotas) UpdateStatus(resourceQuota *v1.ResourceQuota) (result * } // Delete takes name of the resourceQuota and deletes it. Returns an error if one occurs. -func (c *resourceQuotas) Delete(name string, options *v1.DeleteOptions) error { +func (c *resourceQuotas) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("resourcequotas"). @@ -112,7 +112,7 @@ func (c *resourceQuotas) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *resourceQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *resourceQuotas) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("resourcequotas"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/secret.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/secret.go index 62d5397e1e9..621f0ef2de9 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/secret.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/secret.go @@ -35,8 +35,8 @@ type SecretsGetter interface { type SecretInterface interface { Create(*v1.Secret) (*v1.Secret, error) Update(*v1.Secret) (*v1.Secret, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Secret, error) List(opts meta_v1.ListOptions) (*v1.SecretList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *secrets) Update(secret *v1.Secret) (result *v1.Secret, err error) { } // Delete takes name of the secret and deletes it. Returns an error if one occurs. -func (c *secrets) Delete(name string, options *v1.DeleteOptions) error { +func (c *secrets) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("secrets"). @@ -95,7 +95,7 @@ func (c *secrets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *secrets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *secrets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("secrets"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/service.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/service.go index 762d5761be6..4c70cfc11e6 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/service.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/service.go @@ -36,8 +36,8 @@ type ServiceInterface interface { Create(*v1.Service) (*v1.Service, error) Update(*v1.Service) (*v1.Service, error) UpdateStatus(*v1.Service) (*v1.Service, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Service, error) List(opts meta_v1.ListOptions) (*v1.ServiceList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *services) UpdateStatus(service *v1.Service) (result *v1.Service, err er } // Delete takes name of the service and deletes it. Returns an error if one occurs. -func (c *services) Delete(name string, options *v1.DeleteOptions) error { +func (c *services) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("services"). @@ -112,7 +112,7 @@ func (c *services) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *services) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *services) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("services"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/serviceaccount.go b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/serviceaccount.go index bc9cd6ba422..4fee3382836 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/serviceaccount.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/core/v1/serviceaccount.go @@ -35,8 +35,8 @@ type ServiceAccountsGetter interface { type ServiceAccountInterface interface { Create(*v1.ServiceAccount) (*v1.ServiceAccount, error) Update(*v1.ServiceAccount) (*v1.ServiceAccount, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ServiceAccount, error) List(opts meta_v1.ListOptions) (*v1.ServiceAccountList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *serviceAccounts) Update(serviceAccount *v1.ServiceAccount) (result *v1. } // Delete takes name of the serviceAccount and deletes it. Returns an error if one occurs. -func (c *serviceAccounts) Delete(name string, options *v1.DeleteOptions) error { +func (c *serviceAccounts) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("serviceaccounts"). @@ -95,7 +95,7 @@ func (c *serviceAccounts) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *serviceAccounts) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *serviceAccounts) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("serviceaccounts"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/daemonset.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/daemonset.go index f9c4cadab15..a929e993ba9 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/daemonset.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/daemonset.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type DaemonSetInterface interface { Update(*v1beta1.DaemonSet) (*v1beta1.DaemonSet, error) UpdateStatus(*v1beta1.DaemonSet) (*v1beta1.DaemonSet, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.DaemonSet, error) - List(opts meta_v1.ListOptions) (*v1beta1.DaemonSetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.DaemonSet, error) + List(opts v1.ListOptions) (*v1beta1.DaemonSetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.DaemonSet, err error) DaemonSetExpansion } @@ -113,7 +112,7 @@ func (c *daemonSets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("daemonsets"). @@ -124,7 +123,7 @@ func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions met } // Get takes name of the daemonSet, and returns the corresponding daemonSet object, and an error if there is any. -func (c *daemonSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.DaemonSet, err error) { +func (c *daemonSets) Get(name string, options v1.GetOptions) (result *v1beta1.DaemonSet, err error) { result = &v1beta1.DaemonSet{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *daemonSets) Get(name string, options meta_v1.GetOptions) (result *v1bet } // List takes label and field selectors, and returns the list of DaemonSets that match those selectors. -func (c *daemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { +func (c *daemonSets) List(opts v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { result = &v1beta1.DaemonSetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *daemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonSetLi } // Watch returns a watch.Interface that watches the requested daemonSets. -func (c *daemonSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/deployment.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/deployment.go index 48ea1acda3b..16200822f1b 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/deployment.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/deployment.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type DeploymentInterface interface { Update(*v1beta1.Deployment) (*v1beta1.Deployment, error) UpdateStatus(*v1beta1.Deployment) (*v1beta1.Deployment, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.Deployment, error) - List(opts meta_v1.ListOptions) (*v1beta1.DeploymentList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.Deployment, error) + List(opts v1.ListOptions) (*v1beta1.DeploymentList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Deployment, err error) DeploymentExpansion } @@ -113,7 +112,7 @@ func (c *deployments) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("deployments"). @@ -124,7 +123,7 @@ func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions me } // Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any. -func (c *deployments) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Deployment, err error) { +func (c *deployments) Get(name string, options v1.GetOptions) (result *v1beta1.Deployment, err error) { result = &v1beta1.Deployment{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *deployments) Get(name string, options meta_v1.GetOptions) (result *v1be } // List takes label and field selectors, and returns the list of Deployments that match those selectors. -func (c *deployments) List(opts meta_v1.ListOptions) (result *v1beta1.DeploymentList, err error) { +func (c *deployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, err error) { result = &v1beta1.DeploymentList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *deployments) List(opts meta_v1.ListOptions) (result *v1beta1.Deployment } // Watch returns a watch.Interface that watches the requested deployments. -func (c *deployments) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). 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 741c2fb9c41..e7413703b6b 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeDaemonSets) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeDaemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeDaemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(daemonsetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.DaemonSetList{}) return err } -func (c *FakeDaemonSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.DaemonSet, err error) { +func (c *FakeDaemonSets) Get(name string, options v1.GetOptions) (result *v1beta1.DaemonSet, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(daemonsetsResource, c.ns, name), &v1beta1.DaemonSet{}) @@ -89,7 +88,7 @@ func (c *FakeDaemonSets) Get(name string, options meta_v1.GetOptions) (result *v return obj.(*v1beta1.DaemonSet), err } -func (c *FakeDaemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { +func (c *FakeDaemonSets) List(opts v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(daemonsetsResource, c.ns, opts), &v1beta1.DaemonSetList{}) @@ -111,7 +110,7 @@ func (c *FakeDaemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonS } // Watch returns a watch.Interface that watches the requested daemonSets. -func (c *FakeDaemonSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeDaemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(daemonsetsResource, c.ns, opts)) 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 77fa8d14fb0..e4a2a0305e3 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeDeployments) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(deploymentsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.DeploymentList{}) return err } -func (c *FakeDeployments) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Deployment, err error) { +func (c *FakeDeployments) Get(name string, options v1.GetOptions) (result *v1beta1.Deployment, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(deploymentsResource, c.ns, name), &v1beta1.Deployment{}) @@ -89,7 +88,7 @@ func (c *FakeDeployments) Get(name string, options meta_v1.GetOptions) (result * return obj.(*v1beta1.Deployment), err } -func (c *FakeDeployments) List(opts meta_v1.ListOptions) (result *v1beta1.DeploymentList, err error) { +func (c *FakeDeployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(deploymentsResource, c.ns, opts), &v1beta1.DeploymentList{}) @@ -111,7 +110,7 @@ func (c *FakeDeployments) List(opts meta_v1.ListOptions) (result *v1beta1.Deploy } // Watch returns a watch.Interface that watches the requested deployments. -func (c *FakeDeployments) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeDeployments) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(deploymentsResource, c.ns, opts)) 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 7722e698bad..7ad797e3896 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeIngresses) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeIngresses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeIngresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(ingressesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.IngressList{}) return err } -func (c *FakeIngresses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Ingress, err error) { +func (c *FakeIngresses) Get(name string, options v1.GetOptions) (result *v1beta1.Ingress, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(ingressesResource, c.ns, name), &v1beta1.Ingress{}) @@ -89,7 +88,7 @@ func (c *FakeIngresses) Get(name string, options meta_v1.GetOptions) (result *v1 return obj.(*v1beta1.Ingress), err } -func (c *FakeIngresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressList, err error) { +func (c *FakeIngresses) List(opts v1.ListOptions) (result *v1beta1.IngressList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(ingressesResource, c.ns, opts), &v1beta1.IngressList{}) @@ -111,7 +110,7 @@ func (c *FakeIngresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressL } // Watch returns a watch.Interface that watches the requested ingresses. -func (c *FakeIngresses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeIngresses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(ingressesResource, c.ns, opts)) 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 d64c6440130..78b0868cb57 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakePodSecurityPolicies) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakePodSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePodSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(podsecuritypoliciesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.PodSecurityPolicyList{}) return err } -func (c *FakePodSecurityPolicies) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { +func (c *FakePodSecurityPolicies) Get(name string, options v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(podsecuritypoliciesResource, name), &v1beta1.PodSecurityPolicy{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakePodSecurityPolicies) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1beta1.PodSecurityPolicy), err } -func (c *FakePodSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { +func (c *FakePodSecurityPolicies) List(opts v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(podsecuritypoliciesResource, opts), &v1beta1.PodSecurityPolicyList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakePodSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta } // Watch returns a watch.Interface that watches the requested podSecurityPolicies. -func (c *FakePodSecurityPolicies) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakePodSecurityPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(podsecuritypoliciesResource, opts)) } 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 7fbd1715415..b5fbc6b5a90 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeReplicaSets) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeReplicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeReplicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(replicasetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ReplicaSetList{}) return err } -func (c *FakeReplicaSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { +func (c *FakeReplicaSets) Get(name string, options v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(replicasetsResource, c.ns, name), &v1beta1.ReplicaSet{}) @@ -89,7 +88,7 @@ func (c *FakeReplicaSets) Get(name string, options meta_v1.GetOptions) (result * return obj.(*v1beta1.ReplicaSet), err } -func (c *FakeReplicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { +func (c *FakeReplicaSets) List(opts v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(replicasetsResource, c.ns, opts), &v1beta1.ReplicaSetList{}) @@ -111,7 +110,7 @@ func (c *FakeReplicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.Replic } // Watch returns a watch.Interface that watches the requested replicaSets. -func (c *FakeReplicaSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeReplicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(replicasetsResource, c.ns, opts)) 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 43842eb5a25..cb625070af2 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeThirdPartyResources) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakeThirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeThirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(thirdpartyresourcesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ThirdPartyResourceList{}) return err } -func (c *FakeThirdPartyResources) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { +func (c *FakeThirdPartyResources) Get(name string, options v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(thirdpartyresourcesResource, name), &v1beta1.ThirdPartyResource{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeThirdPartyResources) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1beta1.ThirdPartyResource), err } -func (c *FakeThirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { +func (c *FakeThirdPartyResources) List(opts v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(thirdpartyresourcesResource, opts), &v1beta1.ThirdPartyResourceList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeThirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta } // Watch returns a watch.Interface that watches the requested thirdPartyResources. -func (c *FakeThirdPartyResources) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeThirdPartyResources) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(thirdpartyresourcesResource, opts)) } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/ingress.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/ingress.go index 6e4c42ee05f..fb347167a57 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/ingress.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/ingress.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type IngressInterface interface { Update(*v1beta1.Ingress) (*v1beta1.Ingress, error) UpdateStatus(*v1beta1.Ingress) (*v1beta1.Ingress, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.Ingress, error) - List(opts meta_v1.ListOptions) (*v1beta1.IngressList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.Ingress, error) + List(opts v1.ListOptions) (*v1beta1.IngressList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Ingress, err error) IngressExpansion } @@ -113,7 +112,7 @@ func (c *ingresses) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("ingresses"). @@ -124,7 +123,7 @@ func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions meta } // Get takes name of the ingress, and returns the corresponding ingress object, and an error if there is any. -func (c *ingresses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Ingress, err error) { +func (c *ingresses) Get(name string, options v1.GetOptions) (result *v1beta1.Ingress, err error) { result = &v1beta1.Ingress{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *ingresses) Get(name string, options meta_v1.GetOptions) (result *v1beta } // List takes label and field selectors, and returns the list of Ingresses that match those selectors. -func (c *ingresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressList, err error) { +func (c *ingresses) List(opts v1.ListOptions) (result *v1beta1.IngressList, err error) { result = &v1beta1.IngressList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *ingresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressList, } // Watch returns a watch.Interface that watches the requested ingresses. -func (c *ingresses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *ingresses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go index c839dad4de7..95637869294 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type PodSecurityPolicyInterface interface { Create(*v1beta1.PodSecurityPolicy) (*v1beta1.PodSecurityPolicy, error) Update(*v1beta1.PodSecurityPolicy) (*v1beta1.PodSecurityPolicy, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.PodSecurityPolicy, error) - List(opts meta_v1.ListOptions) (*v1beta1.PodSecurityPolicyList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.PodSecurityPolicy, error) + List(opts v1.ListOptions) (*v1beta1.PodSecurityPolicyList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.PodSecurityPolicy, err error) PodSecurityPolicyExpansion } @@ -91,7 +90,7 @@ func (c *podSecurityPolicies) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *podSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *podSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("podsecuritypolicies"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *podSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the podSecurityPolicy, and returns the corresponding podSecurityPolicy object, and an error if there is any. -func (c *podSecurityPolicies) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { +func (c *podSecurityPolicies) Get(name string, options v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { result = &v1beta1.PodSecurityPolicy{} err = c.client.Get(). Resource("podsecuritypolicies"). @@ -113,7 +112,7 @@ func (c *podSecurityPolicies) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of PodSecurityPolicies that match those selectors. -func (c *podSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { +func (c *podSecurityPolicies) List(opts v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { result = &v1beta1.PodSecurityPolicyList{} err = c.client.Get(). Resource("podsecuritypolicies"). @@ -124,7 +123,7 @@ func (c *podSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta1.Po } // Watch returns a watch.Interface that watches the requested podSecurityPolicies. -func (c *podSecurityPolicies) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *podSecurityPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("podsecuritypolicies"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/replicaset.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/replicaset.go index 84463c9221e..a919f8fc74e 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/replicaset.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/replicaset.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type ReplicaSetInterface interface { Update(*v1beta1.ReplicaSet) (*v1beta1.ReplicaSet, error) UpdateStatus(*v1beta1.ReplicaSet) (*v1beta1.ReplicaSet, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ReplicaSet, error) - List(opts meta_v1.ListOptions) (*v1beta1.ReplicaSetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ReplicaSet, error) + List(opts v1.ListOptions) (*v1beta1.ReplicaSetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ReplicaSet, err error) ReplicaSetExpansion } @@ -113,7 +112,7 @@ func (c *replicaSets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("replicasets"). @@ -124,7 +123,7 @@ func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions me } // Get takes name of the replicaSet, and returns the corresponding replicaSet object, and an error if there is any. -func (c *replicaSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { +func (c *replicaSets) Get(name string, options v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { result = &v1beta1.ReplicaSet{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *replicaSets) Get(name string, options meta_v1.GetOptions) (result *v1be } // List takes label and field selectors, and returns the list of ReplicaSets that match those selectors. -func (c *replicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { +func (c *replicaSets) List(opts v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { result = &v1beta1.ReplicaSetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *replicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.ReplicaSet } // Watch returns a watch.Interface that watches the requested replicaSets. -func (c *replicaSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go index e8378d35f30..d806511ca33 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ThirdPartyResourceInterface interface { Create(*v1beta1.ThirdPartyResource) (*v1beta1.ThirdPartyResource, error) Update(*v1beta1.ThirdPartyResource) (*v1beta1.ThirdPartyResource, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ThirdPartyResource, error) - List(opts meta_v1.ListOptions) (*v1beta1.ThirdPartyResourceList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ThirdPartyResource, error) + List(opts v1.ListOptions) (*v1beta1.ThirdPartyResourceList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ThirdPartyResource, err error) ThirdPartyResourceExpansion } @@ -91,7 +90,7 @@ func (c *thirdPartyResources) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *thirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *thirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("thirdpartyresources"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *thirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the thirdPartyResource, and returns the corresponding thirdPartyResource object, and an error if there is any. -func (c *thirdPartyResources) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { +func (c *thirdPartyResources) Get(name string, options v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { result = &v1beta1.ThirdPartyResource{} err = c.client.Get(). Resource("thirdpartyresources"). @@ -113,7 +112,7 @@ func (c *thirdPartyResources) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of ThirdPartyResources that match those selectors. -func (c *thirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { +func (c *thirdPartyResources) List(opts v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { result = &v1beta1.ThirdPartyResourceList{} err = c.client.Get(). Resource("thirdpartyresources"). @@ -124,7 +123,7 @@ func (c *thirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta1.Th } // Watch returns a watch.Interface that watches the requested thirdPartyResources. -func (c *thirdPartyResources) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *thirdPartyResources) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("thirdpartyresources"). 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 9e5a57caa9b..309686585f8 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/policy/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakePodDisruptionBudgets) Delete(name string, options *v1.DeleteOptions return err } -func (c *FakePodDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePodDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(poddisruptionbudgetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.PodDisruptionBudgetList{}) return err } -func (c *FakePodDisruptionBudgets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { +func (c *FakePodDisruptionBudgets) Get(name string, options v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(poddisruptionbudgetsResource, c.ns, name), &v1beta1.PodDisruptionBudget{}) @@ -89,7 +88,7 @@ func (c *FakePodDisruptionBudgets) Get(name string, options meta_v1.GetOptions) return obj.(*v1beta1.PodDisruptionBudget), err } -func (c *FakePodDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { +func (c *FakePodDisruptionBudgets) List(opts v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(poddisruptionbudgetsResource, c.ns, opts), &v1beta1.PodDisruptionBudgetList{}) @@ -111,7 +110,7 @@ func (c *FakePodDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1bet } // Watch returns a watch.Interface that watches the requested podDisruptionBudgets. -func (c *FakePodDisruptionBudgets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakePodDisruptionBudgets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(poddisruptionbudgetsResource, c.ns, opts)) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go index 36bdce6d041..0f1b9b71ad9 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/policy/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type PodDisruptionBudgetInterface interface { Update(*v1beta1.PodDisruptionBudget) (*v1beta1.PodDisruptionBudget, error) UpdateStatus(*v1beta1.PodDisruptionBudget) (*v1beta1.PodDisruptionBudget, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.PodDisruptionBudget, error) - List(opts meta_v1.ListOptions) (*v1beta1.PodDisruptionBudgetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.PodDisruptionBudget, error) + List(opts v1.ListOptions) (*v1beta1.PodDisruptionBudgetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.PodDisruptionBudget, err error) PodDisruptionBudgetExpansion } @@ -113,7 +112,7 @@ func (c *podDisruptionBudgets) Delete(name string, options *v1.DeleteOptions) er } // DeleteCollection deletes a collection of objects. -func (c *podDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *podDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("poddisruptionbudgets"). @@ -124,7 +123,7 @@ func (c *podDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listO } // Get takes name of the podDisruptionBudget, and returns the corresponding podDisruptionBudget object, and an error if there is any. -func (c *podDisruptionBudgets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { +func (c *podDisruptionBudgets) Get(name string, options v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { result = &v1beta1.PodDisruptionBudget{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *podDisruptionBudgets) Get(name string, options meta_v1.GetOptions) (res } // List takes label and field selectors, and returns the list of PodDisruptionBudgets that match those selectors. -func (c *podDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { +func (c *podDisruptionBudgets) List(opts v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { result = &v1beta1.PodDisruptionBudgetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *podDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1beta1.P } // Watch returns a watch.Interface that watches the requested podDisruptionBudgets. -func (c *podDisruptionBudgets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *podDisruptionBudgets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrole.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrole.go index 1f7a61ca885..f352f017d33 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrole.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrole.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleInterface interface { Create(*v1alpha1.ClusterRole) (*v1alpha1.ClusterRole, error) Update(*v1alpha1.ClusterRole) (*v1alpha1.ClusterRole, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.ClusterRole, error) - List(opts meta_v1.ListOptions) (*v1alpha1.ClusterRoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.ClusterRole, error) + List(opts v1.ListOptions) (*v1alpha1.ClusterRoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterRole, err error) ClusterRoleExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterroles"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the clusterRole, and returns the corresponding clusterRole object, and an error if there is any. -func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { +func (c *clusterRoles) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { result = &v1alpha1.ClusterRole{} err = c.client.Get(). Resource("clusterroles"). @@ -113,7 +112,7 @@ func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1a } // List takes label and field selectors, and returns the list of ClusterRoles that match those selectors. -func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { +func (c *clusterRoles) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { result = &v1alpha1.ClusterRoleList{} err = c.client.Get(). Resource("clusterroles"). @@ -124,7 +123,7 @@ func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterR } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *clusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterroles"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go index b80fadd788c..08b518ff44a 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleBindingInterface interface { Create(*v1alpha1.ClusterRoleBinding) (*v1alpha1.ClusterRoleBinding, error) Update(*v1alpha1.ClusterRoleBinding) (*v1alpha1.ClusterRoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.ClusterRoleBinding, error) - List(opts meta_v1.ListOptions) (*v1alpha1.ClusterRoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.ClusterRoleBinding, error) + List(opts v1.ListOptions) (*v1alpha1.ClusterRoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterRoleBinding, err error) ClusterRoleBindingExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoleBindings) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterrolebindings"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the clusterRoleBinding, and returns the corresponding clusterRoleBinding object, and an error if there is any. -func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { +func (c *clusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { result = &v1alpha1.ClusterRoleBinding{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -113,7 +112,7 @@ func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of ClusterRoleBindings that match those selectors. -func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { +func (c *clusterRoleBindings) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { result = &v1alpha1.ClusterRoleBindingList{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -124,7 +123,7 @@ func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.C } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *clusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterrolebindings"). 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 4b3af7d3df7..fed2d4e8c04 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoles) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolesResource, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.ClusterRoleList{}) return err } -func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { +func (c *FakeClusterRoles) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolesResource, name), &v1alpha1.ClusterRole{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1alpha1.ClusterRole), err } -func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { +func (c *FakeClusterRoles) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolesResource, opts), &v1alpha1.ClusterRoleList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.Clus } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *FakeClusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolesResource, opts)) } 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 96a93c9e322..9e577cdf041 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoleBindings) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolebindingsResource, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.ClusterRoleBindingList{}) return err } -func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { +func (c *FakeClusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolebindingsResource, name), &v1alpha1.ClusterRoleBinding{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1alpha1.ClusterRoleBinding), err } -func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { +func (c *FakeClusterRoleBindings) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolebindingsResource, opts), &v1alpha1.ClusterRoleBindingList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alph } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *FakeClusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolebindingsResource, opts)) } 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 5c3df06949e..511b2104936 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoles) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.RoleList{}) return err } -func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.Role, err error) { +func (c *FakeRoles) Get(name string, options v1.GetOptions) (result *v1alpha1.Role, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolesResource, c.ns, name), &v1alpha1.Role{}) @@ -79,7 +78,7 @@ func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1alph return obj.(*v1alpha1.Role), err } -func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, err error) { +func (c *FakeRoles) List(opts v1.ListOptions) (result *v1alpha1.RoleList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolesResource, c.ns, opts), &v1alpha1.RoleList{}) @@ -101,7 +100,7 @@ func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, e } // Watch returns a watch.Interface that watches the requested roles. -func (c *FakeRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolesResource, c.ns, opts)) 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 6e854d73ecb..85d6c7edb6c 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoleBindings) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolebindingsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.RoleBindingList{}) return err } -func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { +func (c *FakeRoleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolebindingsResource, c.ns, name), &v1alpha1.RoleBinding{}) @@ -79,7 +78,7 @@ func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1alpha1.RoleBinding), err } -func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { +func (c *FakeRoleBindings) List(opts v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolebindingsResource, c.ns, opts), &v1alpha1.RoleBindingList{}) @@ -101,7 +100,7 @@ func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.Role } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *FakeRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolebindingsResource, c.ns, opts)) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/role.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/role.go index ba2dbadc02d..c1a5a75c36b 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/role.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/role.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleInterface interface { Create(*v1alpha1.Role) (*v1alpha1.Role, error) Update(*v1alpha1.Role) (*v1alpha1.Role, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.Role, error) - List(opts meta_v1.ListOptions) (*v1alpha1.RoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.Role, error) + List(opts v1.ListOptions) (*v1alpha1.RoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Role, err error) RoleExpansion } @@ -96,7 +95,7 @@ func (c *roles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("roles"). @@ -107,7 +106,7 @@ func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1. } // Get takes name of the role, and returns the corresponding role object, and an error if there is any. -func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.Role, err error) { +func (c *roles) Get(name string, options v1.GetOptions) (result *v1alpha1.Role, err error) { result = &v1alpha1.Role{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.R } // List takes label and field selectors, and returns the list of Roles that match those selectors. -func (c *roles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, err error) { +func (c *roles) List(opts v1.ListOptions) (result *v1alpha1.RoleList, err error) { result = &v1alpha1.RoleList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, err e } // Watch returns a watch.Interface that watches the requested roles. -func (c *roles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rolebinding.go index 20fc47780fb..fa6294944ba 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/rolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleBindingInterface interface { Create(*v1alpha1.RoleBinding) (*v1alpha1.RoleBinding, error) Update(*v1alpha1.RoleBinding) (*v1alpha1.RoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.RoleBinding, error) - List(opts meta_v1.ListOptions) (*v1alpha1.RoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.RoleBinding, error) + List(opts v1.ListOptions) (*v1alpha1.RoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.RoleBinding, err error) RoleBindingExpansion } @@ -96,7 +95,7 @@ func (c *roleBindings) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("rolebindings"). @@ -107,7 +106,7 @@ func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any. -func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { +func (c *roleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { result = &v1alpha1.RoleBinding{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1a } // List takes label and field selectors, and returns the list of RoleBindings that match those selectors. -func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { +func (c *roleBindings) List(opts v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { result = &v1alpha1.RoleBindingList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleBind } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *roleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrole.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrole.go index 0f10a6ecf50..1eb0e76ce31 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrole.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrole.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleInterface interface { Create(*v1beta1.ClusterRole) (*v1beta1.ClusterRole, error) Update(*v1beta1.ClusterRole) (*v1beta1.ClusterRole, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ClusterRole, error) - List(opts meta_v1.ListOptions) (*v1beta1.ClusterRoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ClusterRole, error) + List(opts v1.ListOptions) (*v1beta1.ClusterRoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ClusterRole, err error) ClusterRoleExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterroles"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the clusterRole, and returns the corresponding clusterRole object, and an error if there is any. -func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRole, err error) { +func (c *clusterRoles) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRole, err error) { result = &v1beta1.ClusterRole{} err = c.client.Get(). Resource("clusterroles"). @@ -113,7 +112,7 @@ func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1b } // List takes label and field selectors, and returns the list of ClusterRoles that match those selectors. -func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { +func (c *clusterRoles) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { result = &v1beta1.ClusterRoleList{} err = c.client.Get(). Resource("clusterroles"). @@ -124,7 +123,7 @@ func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRo } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *clusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterroles"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go index f6d03d7d4ac..c7a58ef5654 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleBindingInterface interface { Create(*v1beta1.ClusterRoleBinding) (*v1beta1.ClusterRoleBinding, error) Update(*v1beta1.ClusterRoleBinding) (*v1beta1.ClusterRoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ClusterRoleBinding, error) - List(opts meta_v1.ListOptions) (*v1beta1.ClusterRoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ClusterRoleBinding, error) + List(opts v1.ListOptions) (*v1beta1.ClusterRoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ClusterRoleBinding, err error) ClusterRoleBindingExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoleBindings) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterrolebindings"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the clusterRoleBinding, and returns the corresponding clusterRoleBinding object, and an error if there is any. -func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { +func (c *clusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { result = &v1beta1.ClusterRoleBinding{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -113,7 +112,7 @@ func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of ClusterRoleBindings that match those selectors. -func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { +func (c *clusterRoleBindings) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { result = &v1beta1.ClusterRoleBindingList{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -124,7 +123,7 @@ func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.Cl } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *clusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterrolebindings"). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go index de0a67c9171..25e04d15a1c 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoles) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ClusterRoleList{}) return err } -func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRole, err error) { +func (c *FakeClusterRoles) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRole, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolesResource, name), &v1beta1.ClusterRole{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1beta1.ClusterRole), err } -func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { +func (c *FakeClusterRoles) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolesResource, opts), &v1beta1.ClusterRoleList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.Clust } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *FakeClusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolesResource, opts)) } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go index 3ad5f479b05..38fb39c89dd 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoleBindings) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolebindingsResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ClusterRoleBindingList{}) return err } -func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { +func (c *FakeClusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolebindingsResource, name), &v1beta1.ClusterRoleBinding{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1beta1.ClusterRoleBinding), err } -func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { +func (c *FakeClusterRoleBindings) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolebindingsResource, opts), &v1beta1.ClusterRoleBindingList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *FakeClusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolebindingsResource, opts)) } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_role.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_role.go index b9581247d0c..fd7637613c1 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_role.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_role.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoles) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.RoleList{}) return err } -func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Role, err error) { +func (c *FakeRoles) Get(name string, options v1.GetOptions) (result *v1beta1.Role, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolesResource, c.ns, name), &v1beta1.Role{}) @@ -79,7 +78,7 @@ func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta return obj.(*v1beta1.Role), err } -func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, err error) { +func (c *FakeRoles) List(opts v1.ListOptions) (result *v1beta1.RoleList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolesResource, c.ns, opts), &v1beta1.RoleList{}) @@ -101,7 +100,7 @@ func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, er } // Watch returns a watch.Interface that watches the requested roles. -func (c *FakeRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolesResource, c.ns, opts)) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go index c7a96d10992..5e55996fbbf 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoleBindings) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolebindingsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.RoleBindingList{}) return err } -func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.RoleBinding, err error) { +func (c *FakeRoleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.RoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolebindingsResource, c.ns, name), &v1beta1.RoleBinding{}) @@ -79,7 +78,7 @@ func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1beta1.RoleBinding), err } -func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { +func (c *FakeRoleBindings) List(opts v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolebindingsResource, c.ns, opts), &v1beta1.RoleBindingList{}) @@ -101,7 +100,7 @@ func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleB } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *FakeRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolebindingsResource, c.ns, opts)) diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/role.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/role.go index ccab602b224..e1c92c39c23 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/role.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/role.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleInterface interface { Create(*v1beta1.Role) (*v1beta1.Role, error) Update(*v1beta1.Role) (*v1beta1.Role, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.Role, error) - List(opts meta_v1.ListOptions) (*v1beta1.RoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.Role, error) + List(opts v1.ListOptions) (*v1beta1.RoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Role, err error) RoleExpansion } @@ -96,7 +95,7 @@ func (c *roles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("roles"). @@ -107,7 +106,7 @@ func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1. } // Get takes name of the role, and returns the corresponding role object, and an error if there is any. -func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Role, err error) { +func (c *roles) Get(name string, options v1.GetOptions) (result *v1beta1.Role, err error) { result = &v1beta1.Role{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Ro } // List takes label and field selectors, and returns the list of Roles that match those selectors. -func (c *roles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, err error) { +func (c *roles) List(opts v1.ListOptions) (result *v1beta1.RoleList, err error) { result = &v1beta1.RoleList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, err er } // Watch returns a watch.Interface that watches the requested roles. -func (c *roles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/rolebinding.go b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/rolebinding.go index f75460e3db9..027f51e95c9 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/rolebinding.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1beta1/rolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleBindingInterface interface { Create(*v1beta1.RoleBinding) (*v1beta1.RoleBinding, error) Update(*v1beta1.RoleBinding) (*v1beta1.RoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.RoleBinding, error) - List(opts meta_v1.ListOptions) (*v1beta1.RoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.RoleBinding, error) + List(opts v1.ListOptions) (*v1beta1.RoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.RoleBinding, err error) RoleBindingExpansion } @@ -96,7 +95,7 @@ func (c *roleBindings) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("rolebindings"). @@ -107,7 +106,7 @@ func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any. -func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.RoleBinding, err error) { +func (c *roleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.RoleBinding, err error) { result = &v1beta1.RoleBinding{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1b } // List takes label and field selectors, and returns the list of RoleBindings that match those selectors. -func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { +func (c *roleBindings) List(opts v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { result = &v1beta1.RoleBindingList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleBindi } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *roleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). 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 fb3f40d3031..b8c937d4623 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 @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/storage/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeStorageClasses) Delete(name string, options *v1.DeleteOptions) erro return err } -func (c *FakeStorageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeStorageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(storageclassesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.StorageClassList{}) return err } -func (c *FakeStorageClasses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StorageClass, err error) { +func (c *FakeStorageClasses) Get(name string, options v1.GetOptions) (result *v1beta1.StorageClass, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(storageclassesResource, name), &v1beta1.StorageClass{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeStorageClasses) Get(name string, options meta_v1.GetOptions) (resul return obj.(*v1beta1.StorageClass), err } -func (c *FakeStorageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.StorageClassList, err error) { +func (c *FakeStorageClasses) List(opts v1.ListOptions) (result *v1beta1.StorageClassList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(storageclassesResource, opts), &v1beta1.StorageClassList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeStorageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.Sto } // Watch returns a watch.Interface that watches the requested storageClasses. -func (c *FakeStorageClasses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeStorageClasses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(storageclassesResource, opts)) } diff --git a/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storageclass.go b/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storageclass.go index 4436a8ac701..9d276be4387 100644 --- a/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storageclass.go +++ b/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1/storageclass.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/storage/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type StorageClassInterface interface { Create(*v1beta1.StorageClass) (*v1beta1.StorageClass, error) Update(*v1beta1.StorageClass) (*v1beta1.StorageClass, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.StorageClass, error) - List(opts meta_v1.ListOptions) (*v1beta1.StorageClassList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.StorageClass, error) + List(opts v1.ListOptions) (*v1beta1.StorageClassList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageClass, err error) StorageClassExpansion } @@ -91,7 +90,7 @@ func (c *storageClasses) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *storageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *storageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("storageclasses"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *storageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions } // Get takes name of the storageClass, and returns the corresponding storageClass object, and an error if there is any. -func (c *storageClasses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StorageClass, err error) { +func (c *storageClasses) Get(name string, options v1.GetOptions) (result *v1beta1.StorageClass, err error) { result = &v1beta1.StorageClass{} err = c.client.Get(). Resource("storageclasses"). @@ -113,7 +112,7 @@ func (c *storageClasses) Get(name string, options meta_v1.GetOptions) (result *v } // List takes label and field selectors, and returns the list of StorageClasses that match those selectors. -func (c *storageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.StorageClassList, err error) { +func (c *storageClasses) List(opts v1.ListOptions) (result *v1beta1.StorageClassList, err error) { result = &v1beta1.StorageClassList{} err = c.client.Get(). Resource("storageclasses"). @@ -124,7 +123,7 @@ func (c *storageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.Storage } // Watch returns a watch.Interface that watches the requested storageClasses. -func (c *storageClasses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *storageClasses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("storageclasses"). diff --git a/staging/src/k8s.io/client-go/pkg/api/helpers.go b/staging/src/k8s.io/client-go/pkg/api/helpers.go index d0c2dd0e1c5..368194ad585 100644 --- a/staging/src/k8s.io/client-go/pkg/api/helpers.go +++ b/staging/src/k8s.io/client-go/pkg/api/helpers.go @@ -31,7 +31,6 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/selection" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/pkg/api/resource" ) @@ -228,27 +227,6 @@ func IsIntegerResourceName(str string) bool { return integerResources.Has(str) || IsOpaqueIntResourceName(ResourceName(str)) } -// 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 &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 { 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 0e0809c72f4..e9d9b4142e9 100644 --- a/staging/src/k8s.io/client-go/pkg/api/register.go +++ b/staging/src/k8s.io/client-go/pkg/api/register.go @@ -124,8 +124,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PersistentVolumeList{}, &PersistentVolumeClaim{}, &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &ListOptions{}, &PodAttachOptions{}, &PodLogOptions{}, &PodExecOptions{}, diff --git a/staging/src/k8s.io/client-go/pkg/api/types.go b/staging/src/k8s.io/client-go/pkg/api/types.go index fdae0968903..d35c75e1c30 100644 --- a/staging/src/k8s.io/client-go/pkg/api/types.go +++ b/staging/src/k8s.io/client-go/pkg/api/types.go @@ -729,8 +729,8 @@ type SecretVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the Secret, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath // Mode bits to use on created files by default. Must be a value between @@ -740,6 +740,9 @@ type SecretVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 + // Specify whether the Secret or it's key must be defined + // +optional + Optional *bool } // Represents an NFS mount that lasts the lifetime of a pod. @@ -992,8 +995,8 @@ type ConfigMapVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath // Mode bits to use on created files by default. Must be a value between @@ -1003,6 +1006,9 @@ type ConfigMapVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 + // Specify whether the ConfigMap or it's keys must be defined + // +optional + Optional *bool } // Maps a string key to a path within a volume. @@ -1124,6 +1130,9 @@ type ConfigMapKeySelector struct { LocalObjectReference // The key to select. Key string + // Specify whether the ConfigMap or it's key must be defined + // +optional + Optional *bool } // SecretKeySelector selects a key of a Secret. @@ -1132,6 +1141,9 @@ type SecretKeySelector struct { LocalObjectReference // The key of the secret to select from. Must be a valid secret key. Key string + // Specify whether the Secret or it's key must be defined + // +optional + Optional *bool } // EnvFromSource represents the source of a set of ConfigMaps @@ -1155,6 +1167,9 @@ type EnvFromSource struct { type ConfigMapEnvSource struct { // The ConfigMap to select from. LocalObjectReference + // Specify whether the ConfigMap must be defined + // +optional + Optional *bool } // SecretEnvSource selects a Secret to populate the environment @@ -1165,6 +1180,9 @@ type ConfigMapEnvSource struct { type SecretEnvSource struct { // The Secret to select from. LocalObjectReference + // Specify whether the Secret must be defined + // +optional + Optional *bool } // HTTPHeader describes a custom header to be used in HTTP probes @@ -2845,6 +2863,7 @@ type Preconditions struct { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. type DeleteOptions struct { metav1.TypeMeta 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 8dd836acba8..4e183f15e86 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 @@ -1628,6 +1628,16 @@ func (m *ConfigMapEnvSource) MarshalTo(data []byte) (int, error) { return 0, err } i += n10 + if m.Optional != nil { + data[i] = 0x10 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -1658,6 +1668,16 @@ func (m *ConfigMapKeySelector) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) i += copy(data[i:], m.Key) + if m.Optional != nil { + data[i] = 0x18 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -1739,6 +1759,16 @@ func (m *ConfigMapVolumeSource) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(*m.DefaultMode)) } + if m.Optional != nil { + data[i] = 0x20 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -7309,6 +7339,16 @@ func (m *SecretEnvSource) MarshalTo(data []byte) (int, error) { return 0, err } i += n155 + if m.Optional != nil { + data[i] = 0x10 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -7339,6 +7379,16 @@ func (m *SecretKeySelector) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) i += copy(data[i:], m.Key) + if m.Optional != nil { + data[i] = 0x18 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -7416,6 +7466,16 @@ func (m *SecretVolumeSource) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(*m.DefaultMode)) } + if m.Optional != nil { + data[i] = 0x20 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -8625,6 +8685,9 @@ func (m *ConfigMapEnvSource) Size() (n int) { _ = l l = m.LocalObjectReference.Size() n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -8635,6 +8698,9 @@ func (m *ConfigMapKeySelector) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = len(m.Key) n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -8666,6 +8732,9 @@ func (m *ConfigMapVolumeSource) Size() (n int) { if m.DefaultMode != nil { n += 1 + sovGenerated(uint64(*m.DefaultMode)) } + if m.Optional != nil { + n += 2 + } return n } @@ -10733,6 +10802,9 @@ func (m *SecretEnvSource) Size() (n int) { _ = l l = m.LocalObjectReference.Size() n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -10743,6 +10815,9 @@ func (m *SecretKeySelector) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = len(m.Key) n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -10774,6 +10849,9 @@ func (m *SecretVolumeSource) Size() (n int) { if m.DefaultMode != nil { n += 1 + sovGenerated(uint64(*m.DefaultMode)) } + if m.Optional != nil { + n += 2 + } return n } @@ -11329,6 +11407,7 @@ func (this *ConfigMapEnvSource) String() string { } s := strings.Join([]string{`&ConfigMapEnvSource{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -11340,6 +11419,7 @@ func (this *ConfigMapKeySelector) String() string { s := strings.Join([]string{`&ConfigMapKeySelector{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, `Key:` + fmt.Sprintf("%v", this.Key) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -11363,6 +11443,7 @@ func (this *ConfigMapVolumeSource) String() string { `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "KeyToPath", "KeyToPath", 1), `&`, ``, 1) + `,`, `DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -13105,6 +13186,7 @@ func (this *SecretEnvSource) String() string { } s := strings.Join([]string{`&SecretEnvSource{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -13116,6 +13198,7 @@ func (this *SecretKeySelector) String() string { s := strings.Join([]string{`&SecretKeySelector{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, `Key:` + fmt.Sprintf("%v", this.Key) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -13139,6 +13222,7 @@ func (this *SecretVolumeSource) String() string { `SecretName:` + fmt.Sprintf("%v", this.SecretName) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "KeyToPath", "KeyToPath", 1), `&`, ``, 1) + `,`, `DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -15414,6 +15498,27 @@ func (m *ConfigMapEnvSource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", 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 + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15523,6 +15628,27 @@ func (m *ConfigMapKeySelector) Unmarshal(data []byte) error { } m.Key = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", 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 + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15765,6 +15891,27 @@ func (m *ConfigMapVolumeSource) Unmarshal(data []byte) error { } } m.DefaultMode = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", 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 + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36170,6 +36317,27 @@ func (m *SecretEnvSource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", 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 + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36279,6 +36447,27 @@ func (m *SecretKeySelector) Unmarshal(data []byte) error { } m.Key = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", 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 + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36520,6 +36709,27 @@ func (m *SecretVolumeSource) Unmarshal(data []byte) error { } } m.DefaultMode = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", 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 + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -39962,16 +40172,16 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10271 bytes of a gzipped FileDescriptorProto + // 10327 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0xc7, 0x95, 0x98, 0x7b, 0x86, 0x5f, 0xf3, 0xf8, 0xb9, 0xb5, 0x1f, 0xa2, 0x68, 0x69, 0xb9, 0x6a, 0x59, 0xf2, 0x4a, 0x5a, 0x91, 0xde, 0x95, 0x64, 0xad, 0x2d, 0x47, 0x36, 0xc9, 0x21, 0x77, 0xe9, 0x25, - 0x77, 0x47, 0x35, 0xdc, 0x5d, 0xd9, 0x56, 0x2c, 0x35, 0xa7, 0x8b, 0x64, 0x6b, 0x9b, 0xdd, 0xa3, - 0xee, 0x1e, 0xee, 0x52, 0x8e, 0x81, 0x3b, 0x9f, 0x70, 0x87, 0x20, 0x4e, 0xe2, 0xe0, 0x60, 0xe0, - 0x90, 0x4b, 0xe0, 0x4b, 0x80, 0x04, 0x4e, 0x0e, 0xf9, 0x70, 0x9c, 0x3b, 0xfb, 0x70, 0x4e, 0x82, - 0x24, 0x77, 0x8e, 0x2f, 0x1f, 0x07, 0x07, 0x07, 0xe4, 0x2e, 0x67, 0x80, 0x39, 0xf1, 0x82, 0xfc, - 0xcc, 0x8f, 0xe4, 0x1f, 0x13, 0x24, 0x41, 0x7d, 0x76, 0x55, 0xcf, 0x0c, 0xbb, 0x87, 0x5a, 0xd2, - 0xf2, 0x21, 0xff, 0x66, 0xde, 0x7b, 0xf5, 0xea, 0xa3, 0x5f, 0x55, 0xbd, 0xf7, 0xea, 0xd5, 0x2b, + 0x77, 0x47, 0x35, 0xdc, 0x5d, 0xd9, 0x56, 0x2c, 0x35, 0xa7, 0x8b, 0x64, 0x7b, 0x9b, 0xdd, 0xa3, + 0xee, 0x1e, 0xee, 0x52, 0x8e, 0x81, 0x3b, 0x9f, 0x70, 0x87, 0x20, 0x4e, 0xe2, 0xe0, 0x60, 0x20, + 0xc8, 0x07, 0xee, 0x12, 0x20, 0x81, 0x93, 0x43, 0x3e, 0x1c, 0xe7, 0xce, 0x3e, 0x9c, 0x93, 0x20, + 0x97, 0xb3, 0xe3, 0xcb, 0xc7, 0xc1, 0xc1, 0x01, 0xb9, 0xcb, 0x19, 0x60, 0x4e, 0x74, 0x70, 0x3f, + 0xf3, 0x23, 0xf7, 0x8f, 0x09, 0x92, 0xa0, 0x3e, 0xbb, 0xaa, 0x67, 0x86, 0xdd, 0x43, 0x2d, 0x69, + 0xf9, 0x70, 0xff, 0x66, 0xde, 0x7b, 0xf5, 0xea, 0xa3, 0x5f, 0x55, 0xbd, 0xf7, 0xea, 0xd5, 0x2b, 0xb8, 0x74, 0xef, 0x6a, 0x3c, 0xe3, 0x85, 0xb3, 0xf7, 0x5a, 0xeb, 0x24, 0x0a, 0x48, 0x42, 0xe2, 0xd9, 0xe6, 0xbd, 0xcd, 0x59, 0xa7, 0xe9, 0xcd, 0xee, 0x5c, 0x9e, 0xdd, 0x24, 0x01, 0x89, 0x9c, 0x84, 0xb8, 0x33, 0xcd, 0x28, 0x4c, 0x42, 0xf4, 0x18, 0xa7, 0x9e, 0x49, 0xa9, 0x67, 0x9a, 0xf7, @@ -39979,630 +40189,634 @@ var fileDescriptorGenerated = []byte{ 0x34, 0xc2, 0xed, 0xd9, 0xcd, 0x70, 0x33, 0x9c, 0x65, 0x85, 0xd6, 0x5b, 0x1b, 0xec, 0x1f, 0xfb, 0xc3, 0x7e, 0x71, 0x66, 0x53, 0x2f, 0x8a, 0xaa, 0x9d, 0xa6, 0xb7, 0xed, 0x34, 0xb6, 0xbc, 0x80, 0x44, 0xbb, 0xb2, 0xf2, 0x78, 0x76, 0x9b, 0x24, 0x4e, 0x87, 0x26, 0x4c, 0xcd, 0x76, 0x2b, 0x15, - 0xb5, 0x82, 0xc4, 0xdb, 0x26, 0x6d, 0x05, 0x3e, 0x99, 0x57, 0x20, 0x6e, 0x6c, 0x91, 0x6d, 0xa7, + 0xb5, 0x82, 0xc4, 0xdb, 0x26, 0x6d, 0x05, 0x3e, 0x9e, 0x57, 0x20, 0x6e, 0x6c, 0x91, 0x6d, 0xa7, 0xad, 0xdc, 0x95, 0xee, 0x23, 0x13, 0x91, 0x38, 0x6c, 0x45, 0x8d, 0xf6, 0xba, 0x2e, 0x77, 0x2e, - 0xd3, 0x4a, 0x3c, 0x7f, 0xd6, 0x0b, 0x92, 0x38, 0x89, 0xb2, 0x45, 0xec, 0x3f, 0xb4, 0xe0, 0xc2, + 0xd3, 0x4a, 0x3c, 0x7f, 0xd6, 0x0b, 0x92, 0x38, 0x89, 0xb2, 0x45, 0xec, 0x3f, 0xb0, 0xe0, 0xc2, 0xdc, 0xdd, 0xfa, 0xa2, 0xef, 0xc4, 0x89, 0xd7, 0x98, 0xf7, 0xc3, 0xc6, 0xbd, 0x7a, 0x12, 0x46, 0xe4, 0x4e, 0xe8, 0xb7, 0xb6, 0x49, 0x9d, 0xd5, 0x83, 0x2e, 0xc1, 0xd0, 0x0e, 0xfb, 0xbf, 0x5c, - 0x9d, 0xb4, 0x2e, 0x58, 0x17, 0x2b, 0xf3, 0x13, 0x3f, 0xda, 0x9b, 0xfe, 0xc8, 0xfe, 0xde, 0xf4, + 0x9d, 0xb4, 0x2e, 0x58, 0x17, 0x2b, 0xf3, 0x13, 0x3f, 0xdc, 0x9b, 0xfe, 0xd0, 0xfe, 0xde, 0xf4, 0xd0, 0x1d, 0x01, 0xc7, 0x8a, 0x02, 0x3d, 0x0d, 0x03, 0x1b, 0xf1, 0xda, 0x6e, 0x93, 0x4c, 0x96, 0x18, 0xed, 0x98, 0xa0, 0x1d, 0x58, 0xaa, 0x53, 0x28, 0x16, 0x58, 0x34, 0x0b, 0x95, 0xa6, 0x13, 0x25, 0x5e, 0xe2, 0x85, 0xc1, 0x64, 0xf9, 0x82, 0x75, 0xb1, 0x7f, 0xfe, 0x94, 0x20, 0xad, 0xd4, 0x24, 0x02, 0xa7, 0x34, 0xb4, 0x19, 0x11, 0x71, 0xdc, 0x5b, 0x81, 0xbf, 0x3b, 0xd9, 0x77, 0xc1, - 0xba, 0x38, 0x94, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, 0xf6, 0xf7, 0x4b, 0x30, 0x34, 0xb7, 0xb1, + 0xba, 0x38, 0x94, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, 0xf6, 0x77, 0x4b, 0x30, 0x34, 0xb7, 0xb1, 0xe1, 0x05, 0x5e, 0xb2, 0x8b, 0xde, 0x82, 0x91, 0x20, 0x74, 0x89, 0xfc, 0xcf, 0x7a, 0x31, 0x7c, 0xe5, 0xd9, 0x99, 0xc3, 0x04, 0x6a, 0xe6, 0xa6, 0x56, 0x62, 0x7e, 0x62, 0x7f, 0x6f, 0x7a, 0x44, 0x87, 0x60, 0x83, 0x23, 0x7a, 0x03, 0x86, 0x9b, 0xa1, 0xab, 0x2a, 0x28, 0xb1, 0x0a, 0x9e, 0x39, 0xbc, 0x82, 0x5a, 0x5a, 0x60, 0x7e, 0x7c, 0x7f, 0x6f, 0x7a, 0x58, 0x03, 0x60, 0x9d, 0x1d, 0xf2, 0x61, 0x9c, 0xfe, 0x0d, 0x12, 0x4f, 0xd5, 0x50, 0x66, 0x35, 0x3c, 0x9f, 0x5f, 0x83, 0x56, 0x68, - 0xfe, 0xf4, 0xfe, 0xde, 0xf4, 0x78, 0x06, 0x88, 0xb3, 0xac, 0xed, 0x77, 0x61, 0x6c, 0x2e, 0x49, + 0xfe, 0xf4, 0xfe, 0xde, 0xf4, 0x78, 0x06, 0x88, 0xb3, 0xac, 0xed, 0x77, 0x60, 0x6c, 0x2e, 0x49, 0x9c, 0xc6, 0x16, 0x71, 0xf9, 0xf7, 0x45, 0x2f, 0x42, 0x5f, 0xe0, 0x6c, 0x13, 0xf1, 0xf5, 0x2f, - 0x88, 0x61, 0xef, 0xbb, 0xe9, 0x6c, 0x93, 0x83, 0xbd, 0xe9, 0x89, 0xdb, 0x81, 0xf7, 0x4e, 0x4b, + 0x88, 0x61, 0xef, 0xbb, 0xe9, 0x6c, 0x93, 0x83, 0xbd, 0xe9, 0x89, 0xdb, 0x81, 0xf7, 0x76, 0x4b, 0xc8, 0x0c, 0x85, 0x61, 0x46, 0x8d, 0xae, 0x00, 0xb8, 0x64, 0xc7, 0x6b, 0x90, 0x9a, 0x93, 0x6c, - 0x09, 0x69, 0x40, 0xa2, 0x2c, 0x54, 0x15, 0x06, 0x6b, 0x54, 0xf6, 0xd7, 0x2c, 0xa8, 0xcc, 0xed, + 0x09, 0x69, 0x40, 0xa2, 0x2c, 0x54, 0x15, 0x06, 0x6b, 0x54, 0xf6, 0x57, 0x2d, 0xa8, 0xcc, 0xed, 0x84, 0x9e, 0x5b, 0x0b, 0xdd, 0x18, 0xb5, 0x60, 0xbc, 0x19, 0x91, 0x0d, 0x12, 0x29, 0xd0, 0xa4, 0x75, 0xa1, 0x7c, 0x71, 0xf8, 0xca, 0x95, 0x9c, 0x7e, 0x9b, 0x85, 0x16, 0x83, 0x24, 0xda, 0x9d, - 0x7f, 0x44, 0x54, 0x3d, 0x9e, 0xc1, 0xe2, 0x6c, 0x1d, 0xf6, 0x5f, 0x2b, 0xc1, 0xd9, 0xb9, 0x77, - 0x5b, 0x11, 0xa9, 0x7a, 0xf1, 0xbd, 0xec, 0x54, 0x70, 0xbd, 0xf8, 0xde, 0xcd, 0x74, 0x30, 0x94, + 0x7f, 0x44, 0x54, 0x3d, 0x9e, 0xc1, 0xe2, 0x6c, 0x1d, 0xf6, 0xdf, 0x28, 0xc1, 0xd9, 0xb9, 0x77, + 0x5a, 0x11, 0xa9, 0x7a, 0xf1, 0xbd, 0xec, 0x54, 0x70, 0xbd, 0xf8, 0xde, 0xcd, 0x74, 0x30, 0x94, 0x0c, 0x56, 0x05, 0x1c, 0x2b, 0x0a, 0xf4, 0x3c, 0x0c, 0xd2, 0xdf, 0xb7, 0xf1, 0xb2, 0xe8, 0xfd, 0x69, 0x41, 0x3c, 0x5c, 0x75, 0x12, 0xa7, 0xca, 0x51, 0x58, 0xd2, 0xa0, 0x55, 0x18, 0x6e, 0xb0, 0x35, 0x62, 0x73, 0x35, 0x74, 0x09, 0xfb, 0xc2, 0x95, 0xf9, 0xe7, 0x28, 0xf9, 0x42, 0x0a, 0x3e, 0xd8, 0x9b, 0x9e, 0xe4, 0x6d, 0x13, 0x2c, 0x34, 0x1c, 0xd6, 0xcb, 0x23, 0x5b, 0x4d, 0xc4, 0x3e, 0xc6, 0x09, 0x3a, 0x4c, 0xc2, 0x8b, 0xda, 0x9c, 0xea, 0x67, 0x73, 0x6a, 0xa4, 0xcb, 0x7c, 0xfa, - 0xfb, 0x96, 0x18, 0x93, 0x25, 0xcf, 0x37, 0x97, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x44, 0x24, 0xd1, + 0xc7, 0x96, 0x18, 0x93, 0x25, 0xcf, 0x37, 0x97, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x44, 0x24, 0xd1, 0x46, 0x45, 0x7d, 0xe6, 0xba, 0xc2, 0x60, 0x8d, 0x8a, 0x4e, 0xfe, 0x78, 0xcb, 0x89, 0x98, 0xb4, 0x88, 0xb1, 0x51, 0x93, 0xbf, 0x2e, 0x11, 0x38, 0xa5, 0x31, 0x26, 0x7f, 0x39, 0x77, 0xf2, 0xff, - 0x2b, 0x0b, 0x06, 0xe7, 0xbd, 0xc0, 0xf5, 0x82, 0x4d, 0xf4, 0x16, 0x0c, 0xd1, 0xd5, 0xdc, 0x75, - 0x12, 0x47, 0xcc, 0xfb, 0x4f, 0x48, 0xe1, 0xd1, 0x17, 0x65, 0x29, 0x3e, 0xf1, 0x0c, 0xa5, 0xa6, - 0x42, 0x74, 0x6b, 0xfd, 0x6d, 0xd2, 0x48, 0x56, 0x49, 0xe2, 0xa4, 0xdd, 0x49, 0x61, 0x58, 0x71, + 0xb6, 0x05, 0x83, 0xf3, 0x5e, 0xe0, 0x7a, 0xc1, 0x26, 0x7a, 0x0b, 0x86, 0xe8, 0x6a, 0xee, 0x3a, + 0x89, 0x23, 0xe6, 0xfd, 0xc7, 0xa4, 0xf0, 0xe8, 0x8b, 0xb2, 0x14, 0x9f, 0x78, 0x86, 0x52, 0x53, + 0x21, 0xba, 0xb5, 0xfe, 0x25, 0xd2, 0x48, 0x56, 0x49, 0xe2, 0xa4, 0xdd, 0x49, 0x61, 0x58, 0x71, 0x45, 0xb7, 0x61, 0x20, 0x71, 0xa2, 0x4d, 0x92, 0x88, 0x69, 0x9f, 0x33, 0x29, 0x39, 0x0f, 0x4c, 0x45, 0x8e, 0x04, 0x0d, 0x92, 0x2e, 0x90, 0x6b, 0x8c, 0x09, 0x16, 0xcc, 0xec, 0x06, 0x8c, 0x2c, - 0x38, 0x4d, 0x67, 0xdd, 0xf3, 0xbd, 0xc4, 0x23, 0x31, 0xfa, 0x38, 0x94, 0x1d, 0xd7, 0x65, 0x13, + 0x38, 0x4d, 0x67, 0xdd, 0xf3, 0xbd, 0xc4, 0x23, 0x31, 0xfa, 0x28, 0x94, 0x1d, 0xd7, 0x65, 0x13, 0xa0, 0x32, 0x7f, 0x76, 0x7f, 0x6f, 0xba, 0x3c, 0xe7, 0xba, 0x07, 0x7b, 0xd3, 0xa0, 0xa8, 0x76, 0x31, 0xa5, 0x40, 0xcf, 0x42, 0x9f, 0x1b, 0x85, 0xcd, 0xc9, 0x12, 0xa3, 0x3c, 0x47, 0x67, 0x6a, - 0x35, 0x0a, 0x9b, 0x19, 0x52, 0x46, 0x63, 0xff, 0x6e, 0x09, 0xd0, 0x02, 0x69, 0x6e, 0x2d, 0xd5, - 0x8d, 0x6f, 0x7a, 0x11, 0x86, 0xb6, 0xc3, 0xc0, 0x4b, 0xc2, 0x28, 0x16, 0x15, 0x32, 0xb9, 0x58, - 0x15, 0x30, 0xac, 0xb0, 0xe8, 0x02, 0xf4, 0x35, 0xd3, 0xe9, 0x3d, 0x22, 0x97, 0x06, 0x36, 0xb1, - 0x19, 0x86, 0x52, 0xb4, 0x62, 0x12, 0x09, 0x79, 0x56, 0x14, 0xb7, 0x63, 0x12, 0x61, 0x86, 0x49, - 0x25, 0x88, 0xca, 0x96, 0x90, 0xd6, 0x8c, 0x04, 0x51, 0x0c, 0xd6, 0xa8, 0xd0, 0x9b, 0x50, 0xe1, - 0xff, 0x30, 0xd9, 0x60, 0xa2, 0x9b, 0xbb, 0x28, 0xac, 0x84, 0x0d, 0xc7, 0xcf, 0x0e, 0xfe, 0x28, - 0x93, 0x38, 0xc9, 0x08, 0xa7, 0x3c, 0x0d, 0x89, 0x1b, 0xc8, 0x95, 0xb8, 0x5f, 0xb1, 0x00, 0x2d, - 0x78, 0x81, 0x4b, 0xa2, 0x13, 0xd8, 0x3a, 0x7b, 0x9b, 0x0c, 0x3f, 0xa1, 0x4d, 0x0b, 0xb7, 0x9b, - 0x61, 0x40, 0x82, 0x64, 0x21, 0x0c, 0x5c, 0xbe, 0x9d, 0x7e, 0x1a, 0xfa, 0x12, 0x5a, 0x15, 0x6f, + 0x35, 0x0a, 0x9b, 0x19, 0x52, 0x46, 0x63, 0x7f, 0xbf, 0x04, 0x68, 0x81, 0x34, 0xb7, 0x96, 0xea, + 0xc6, 0x37, 0xbd, 0x08, 0x43, 0xdb, 0x61, 0xe0, 0x25, 0x61, 0x14, 0x8b, 0x0a, 0x99, 0x5c, 0xac, + 0x0a, 0x18, 0x56, 0x58, 0x74, 0x01, 0xfa, 0x9a, 0xe9, 0xf4, 0x1e, 0x91, 0x4b, 0x03, 0x9b, 0xd8, + 0x0c, 0x43, 0x29, 0x5a, 0x31, 0x89, 0x84, 0x3c, 0x2b, 0x8a, 0xdb, 0x31, 0x89, 0x30, 0xc3, 0xa4, + 0x12, 0x44, 0x65, 0x4b, 0x48, 0x6b, 0x46, 0x82, 0x28, 0x06, 0x6b, 0x54, 0xe8, 0x4d, 0xa8, 0xf0, + 0x7f, 0x98, 0x6c, 0x30, 0xd1, 0xcd, 0x5d, 0x14, 0x56, 0xc2, 0x86, 0xe3, 0x67, 0x07, 0x7f, 0x94, + 0x49, 0x9c, 0x64, 0x84, 0x53, 0x9e, 0x86, 0xc4, 0x0d, 0xe4, 0x4a, 0xdc, 0xdf, 0xb4, 0x00, 0x2d, + 0x78, 0x81, 0x4b, 0xa2, 0x13, 0xd8, 0x3a, 0x7b, 0x9b, 0x0c, 0x3f, 0xa6, 0x4d, 0x0b, 0xb7, 0x9b, + 0x61, 0x40, 0x82, 0x64, 0x21, 0x0c, 0x5c, 0xbe, 0x9d, 0x7e, 0x12, 0xfa, 0x12, 0x5a, 0x15, 0x6f, 0xd6, 0xd3, 0xf2, 0xb3, 0xd0, 0x0a, 0x0e, 0xf6, 0xa6, 0xcf, 0xb5, 0x97, 0x60, 0x4d, 0x60, 0x65, - 0xd0, 0xa7, 0x60, 0x20, 0x4e, 0x9c, 0xa4, 0x15, 0x8b, 0x86, 0x3e, 0x21, 0x1b, 0x5a, 0x67, 0xd0, + 0xd0, 0x27, 0x60, 0x20, 0x4e, 0x9c, 0xa4, 0x15, 0x8b, 0x86, 0x3e, 0x21, 0x1b, 0x5a, 0x67, 0xd0, 0x83, 0xbd, 0xe9, 0x71, 0x55, 0x8c, 0x83, 0xb0, 0x28, 0x80, 0x9e, 0x81, 0xc1, 0x6d, 0x12, 0xc7, 0xce, 0xa6, 0x5c, 0xe0, 0xc6, 0x45, 0xd9, 0xc1, 0x55, 0x0e, 0xc6, 0x12, 0x8f, 0x9e, 0x84, 0x7e, - 0x12, 0x45, 0x61, 0x24, 0x24, 0x62, 0x54, 0x10, 0xf6, 0x2f, 0x52, 0x20, 0xe6, 0x38, 0xfb, 0x3f, - 0x5b, 0x30, 0xae, 0xda, 0xca, 0xeb, 0x3a, 0x81, 0x29, 0xef, 0x02, 0x34, 0x64, 0x07, 0x63, 0x36, + 0x12, 0x45, 0x61, 0x24, 0x24, 0x62, 0x54, 0x10, 0xf6, 0x2f, 0x52, 0x20, 0xe6, 0x38, 0xfb, 0xbf, + 0x59, 0x30, 0xae, 0xda, 0xca, 0xeb, 0x3a, 0x81, 0x29, 0xef, 0x02, 0x34, 0x64, 0x07, 0x63, 0x36, 0xd1, 0xb4, 0x3a, 0x3a, 0x8b, 0x5f, 0xfb, 0x80, 0xa6, 0x75, 0x28, 0x50, 0x8c, 0x35, 0xbe, 0xf6, - 0xbf, 0xb1, 0xe0, 0x74, 0xa6, 0x6f, 0x2b, 0x5e, 0x9c, 0xa0, 0x37, 0xda, 0xfa, 0x37, 0x53, 0xac, + 0xbf, 0xb7, 0xe0, 0x74, 0xa6, 0x6f, 0x2b, 0x5e, 0x9c, 0xa0, 0x37, 0xda, 0xfa, 0x37, 0x53, 0xac, 0x7f, 0xb4, 0x34, 0xeb, 0x9d, 0x92, 0x17, 0x09, 0xd1, 0xfa, 0x86, 0xa1, 0xdf, 0x4b, 0xc8, 0xb6, 0xec, 0xd6, 0xf3, 0x05, 0xbb, 0xc5, 0xdb, 0x97, 0x7e, 0xa5, 0x65, 0xca, 0x03, 0x73, 0x56, 0xf6, - 0xff, 0xb2, 0xa0, 0xb2, 0x10, 0x06, 0x1b, 0xde, 0xe6, 0xaa, 0xd3, 0x3c, 0x81, 0xef, 0x53, 0x87, + 0xff, 0xb6, 0xa0, 0xb2, 0x10, 0x06, 0x1b, 0xde, 0xe6, 0xaa, 0xd3, 0x3c, 0x81, 0xef, 0x53, 0x87, 0x3e, 0xc6, 0x9d, 0x77, 0xe1, 0x72, 0x5e, 0x17, 0x44, 0xc3, 0x66, 0xe8, 0x9e, 0xca, 0x95, 0x05, 0xb5, 0x4c, 0x51, 0x10, 0x66, 0xcc, 0xa6, 0x5e, 0x86, 0x8a, 0x22, 0x40, 0x13, 0x50, 0xbe, 0x47, 0xb8, 0x26, 0x59, 0xc1, 0xf4, 0x27, 0x3a, 0x03, 0xfd, 0x3b, 0x8e, 0xdf, 0x12, 0x93, 0x17, 0xf3, - 0x3f, 0x9f, 0x2e, 0x5d, 0xb5, 0xec, 0x5f, 0x65, 0x33, 0x50, 0x54, 0xb2, 0x18, 0xec, 0x88, 0xc5, - 0xe1, 0x3d, 0x0b, 0xce, 0xf8, 0x1d, 0x16, 0x25, 0x31, 0x26, 0x47, 0x59, 0xce, 0x1e, 0x13, 0xcd, - 0x3e, 0xd3, 0x09, 0x8b, 0x3b, 0xd6, 0x66, 0xff, 0xc0, 0x82, 0x33, 0xaa, 0x75, 0x37, 0xc8, 0x6e, - 0x9d, 0xf8, 0xa4, 0x91, 0x84, 0xd1, 0x87, 0xa4, 0x7d, 0xe8, 0x71, 0x3e, 0xd2, 0x7c, 0xa5, 0x19, - 0x16, 0x0c, 0xca, 0x37, 0xc8, 0x2e, 0x1b, 0x76, 0xfb, 0xb7, 0x2d, 0x18, 0x55, 0xcd, 0x3f, 0x81, - 0xe9, 0xb1, 0x62, 0x4e, 0x8f, 0x8f, 0x17, 0x94, 0xad, 0x2e, 0x13, 0xe3, 0x5b, 0x25, 0x38, 0xab, - 0x68, 0x8c, 0xad, 0xe3, 0x43, 0x32, 0xfa, 0xbd, 0x75, 0xf7, 0x06, 0xd9, 0x5d, 0x0b, 0xe9, 0xde, - 0xdf, 0xb9, 0xbb, 0xe8, 0x32, 0x0c, 0xbb, 0x64, 0xc3, 0x69, 0xf9, 0x89, 0x52, 0x71, 0xfb, 0xb9, - 0xed, 0x53, 0x4d, 0xc1, 0x58, 0xa7, 0xb1, 0xbf, 0x35, 0xcc, 0x96, 0x8e, 0xc4, 0xa1, 0x1f, 0x8d, - 0x2a, 0x13, 0x9a, 0x25, 0x32, 0xa2, 0x5b, 0x22, 0xc2, 0xea, 0x78, 0x12, 0xfa, 0xbd, 0x6d, 0xba, - 0xbd, 0x94, 0xcc, 0x5d, 0x63, 0x99, 0x02, 0x31, 0xc7, 0xa1, 0xa7, 0x60, 0xb0, 0x11, 0x6e, 0x6f, - 0x3b, 0x81, 0x3b, 0x59, 0x66, 0xea, 0xcd, 0x30, 0xdd, 0x81, 0x16, 0x38, 0x08, 0x4b, 0x1c, 0x7a, - 0x0c, 0xfa, 0x9c, 0x68, 0x33, 0x9e, 0xec, 0x63, 0x34, 0x43, 0xb4, 0xa6, 0xb9, 0x68, 0x33, 0xc6, - 0x0c, 0x4a, 0xd5, 0x96, 0xfb, 0x61, 0x74, 0xcf, 0x0b, 0x36, 0xab, 0x5e, 0xc4, 0x74, 0x10, 0x4d, - 0x6d, 0xb9, 0xab, 0x30, 0x58, 0xa3, 0x42, 0x35, 0xe8, 0x6f, 0x86, 0x51, 0x12, 0x4f, 0x0e, 0xb0, - 0xe1, 0x7c, 0x2e, 0x57, 0x7a, 0x78, 0xbf, 0x6b, 0x61, 0x94, 0xa4, 0x5d, 0xa1, 0xff, 0x62, 0xcc, - 0x19, 0xa1, 0x05, 0x28, 0x93, 0x60, 0x67, 0x72, 0x90, 0xf1, 0xfb, 0xd8, 0xe1, 0xfc, 0x16, 0x83, - 0x9d, 0x3b, 0x4e, 0x94, 0x4e, 0xa2, 0xc5, 0x60, 0x07, 0xd3, 0xd2, 0xa8, 0x01, 0x15, 0xe9, 0x56, - 0x88, 0x27, 0x87, 0x8a, 0x08, 0x18, 0x16, 0xe4, 0x98, 0xbc, 0xd3, 0xf2, 0x22, 0xb2, 0x4d, 0x82, - 0x24, 0x4e, 0x75, 0x78, 0x89, 0x8d, 0x71, 0xca, 0x17, 0x35, 0x60, 0x84, 0xab, 0x3a, 0xab, 0x61, - 0x2b, 0x48, 0xe2, 0xc9, 0x0a, 0x6b, 0x72, 0x8e, 0x91, 0x7c, 0x27, 0x2d, 0x31, 0x7f, 0x46, 0xb0, - 0x1f, 0xd1, 0x80, 0x31, 0x36, 0x98, 0xa2, 0x37, 0x60, 0xd4, 0xf7, 0x76, 0x48, 0x40, 0xe2, 0xb8, - 0x16, 0x85, 0xeb, 0x64, 0x12, 0x58, 0x6f, 0x9e, 0xcc, 0x33, 0x18, 0xc3, 0x75, 0x32, 0x7f, 0x6a, - 0x7f, 0x6f, 0x7a, 0x74, 0x45, 0x2f, 0x8d, 0x4d, 0x66, 0xe8, 0x4d, 0x18, 0xa3, 0x7a, 0x95, 0x97, - 0xb2, 0x1f, 0x2e, 0xce, 0x1e, 0xed, 0xef, 0x4d, 0x8f, 0x61, 0xa3, 0x38, 0xce, 0xb0, 0x43, 0x6b, - 0x50, 0xf1, 0xbd, 0x0d, 0xd2, 0xd8, 0x6d, 0xf8, 0x64, 0x72, 0x84, 0xf1, 0xce, 0x99, 0x72, 0x2b, - 0x92, 0x9c, 0xeb, 0xb2, 0xea, 0x2f, 0x4e, 0x19, 0xa1, 0x3b, 0x70, 0x2e, 0x21, 0xd1, 0xb6, 0x17, - 0x38, 0x54, 0xb1, 0x10, 0x8a, 0x16, 0xb3, 0xca, 0x47, 0x99, 0xd4, 0x9e, 0x17, 0x03, 0x7b, 0x6e, - 0xad, 0x23, 0x15, 0xee, 0x52, 0x1a, 0xdd, 0x82, 0x71, 0x36, 0x9f, 0x6a, 0x2d, 0xdf, 0xaf, 0x85, - 0xbe, 0xd7, 0xd8, 0x9d, 0x1c, 0x63, 0x0c, 0x9f, 0x92, 0xb6, 0xf6, 0xb2, 0x89, 0xa6, 0x36, 0x48, - 0xfa, 0x0f, 0x67, 0x4b, 0x23, 0x1f, 0xc6, 0x63, 0xd2, 0x68, 0x45, 0x5e, 0xb2, 0x4b, 0x65, 0x9f, - 0x3c, 0x48, 0x26, 0xc7, 0x8b, 0xd8, 0x54, 0x75, 0xb3, 0x10, 0x77, 0x74, 0x64, 0x80, 0x38, 0xcb, - 0x9a, 0x2e, 0x15, 0x71, 0xe2, 0x7a, 0xc1, 0xe4, 0x04, 0x53, 0xa2, 0xd5, 0xfc, 0xaa, 0x53, 0x20, - 0xe6, 0x38, 0x66, 0xaa, 0xd2, 0x1f, 0xb7, 0xe8, 0xda, 0x7b, 0x8a, 0x11, 0xa6, 0xa6, 0xaa, 0x44, - 0xe0, 0x94, 0x86, 0xee, 0x57, 0x49, 0xb2, 0x3b, 0x89, 0x18, 0xa9, 0x9a, 0x6a, 0x6b, 0x6b, 0x5f, - 0xc0, 0x14, 0x8e, 0xee, 0xc0, 0x20, 0x09, 0x76, 0x96, 0xa2, 0x70, 0x7b, 0xf2, 0x74, 0x91, 0x35, - 0x60, 0x91, 0x13, 0xf3, 0x5d, 0x21, 0xd5, 0x96, 0x05, 0x18, 0x4b, 0x66, 0xe8, 0x01, 0x4c, 0x76, - 0xf8, 0x4a, 0xfc, 0xa3, 0x9c, 0x61, 0x1f, 0xe5, 0x33, 0xa2, 0xec, 0xe4, 0x5a, 0x17, 0xba, 0x83, - 0x43, 0x70, 0xb8, 0x2b, 0x77, 0x7b, 0x1d, 0xc6, 0xd4, 0x42, 0xc5, 0xbe, 0x37, 0x9a, 0x86, 0x7e, - 0xba, 0x16, 0x4b, 0xdb, 0xb1, 0x42, 0x07, 0x95, 0x2e, 0xd1, 0x31, 0xe6, 0x70, 0x36, 0xa8, 0xde, - 0xbb, 0x64, 0x7e, 0x37, 0x21, 0xdc, 0x86, 0x28, 0x6b, 0x83, 0x2a, 0x11, 0x38, 0xa5, 0xb1, 0xff, - 0x0f, 0xdf, 0xe5, 0xd3, 0xd5, 0xb0, 0xc0, 0x4e, 0x70, 0x09, 0x86, 0xb6, 0xc2, 0x38, 0xa1, 0xd4, - 0xac, 0x8e, 0xfe, 0x74, 0x5f, 0xbf, 0x2e, 0xe0, 0x58, 0x51, 0xa0, 0x57, 0x60, 0xb4, 0xa1, 0x57, - 0x20, 0x36, 0xa7, 0xb3, 0xa2, 0x88, 0x59, 0x3b, 0x36, 0x69, 0xd1, 0x55, 0x18, 0x62, 0x0e, 0xd5, - 0x46, 0xe8, 0x0b, 0x6b, 0x45, 0xee, 0xb5, 0x43, 0x35, 0x01, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0x4d, - 0x6d, 0x3e, 0xda, 0x84, 0xe5, 0x9a, 0xd8, 0x40, 0x94, 0xcd, 0x77, 0x9d, 0x41, 0xb1, 0xc0, 0xda, - 0xff, 0xb8, 0xa4, 0x8d, 0x32, 0xd5, 0xb5, 0x09, 0xfa, 0x22, 0x0c, 0xde, 0x77, 0xbc, 0xc4, 0x0b, - 0x36, 0x85, 0x4e, 0xf0, 0x42, 0xc1, 0xdd, 0x84, 0x15, 0xbf, 0xcb, 0x8b, 0xf2, 0x9d, 0x4f, 0xfc, - 0xc1, 0x92, 0x21, 0xe5, 0x1d, 0xb5, 0x82, 0x80, 0xf2, 0x2e, 0xf5, 0xce, 0x1b, 0xf3, 0xa2, 0x9c, - 0xb7, 0xf8, 0x83, 0x25, 0x43, 0xb4, 0x01, 0x20, 0x65, 0x89, 0xb8, 0xc2, 0x91, 0xf9, 0xc9, 0x5e, - 0xd8, 0xaf, 0xa9, 0xd2, 0xf3, 0x63, 0x74, 0xaf, 0x4d, 0xff, 0x63, 0x8d, 0xb3, 0x9d, 0x30, 0xd5, - 0xaa, 0xbd, 0x59, 0xe8, 0x4b, 0x74, 0x4a, 0x3b, 0x51, 0x42, 0xdc, 0xb9, 0x24, 0xeb, 0x0b, 0x3e, - 0x5c, 0x43, 0x5c, 0xf3, 0xb6, 0x89, 0x3e, 0xfd, 0x05, 0x13, 0x9c, 0xf2, 0xb3, 0xbf, 0x57, 0x86, - 0xc9, 0x6e, 0xcd, 0xa5, 0x22, 0x49, 0x1e, 0x78, 0xc9, 0x02, 0x55, 0x7e, 0x2c, 0x53, 0x24, 0x17, - 0x05, 0x1c, 0x2b, 0x0a, 0x2a, 0x1b, 0xb1, 0xb7, 0x19, 0x38, 0xbe, 0x10, 0x5f, 0x25, 0x1b, 0x75, - 0x06, 0xc5, 0x02, 0x4b, 0xe9, 0x22, 0xe2, 0xc4, 0xc2, 0x8f, 0xae, 0xc9, 0x10, 0x66, 0x50, 0x2c, - 0xb0, 0xba, 0xed, 0xdd, 0x97, 0x63, 0x7b, 0x1b, 0x43, 0xd4, 0xff, 0x70, 0x87, 0x08, 0x7d, 0x19, - 0x60, 0xc3, 0x0b, 0xbc, 0x78, 0x8b, 0x71, 0x1f, 0xe8, 0x99, 0xbb, 0x52, 0xb2, 0x96, 0x14, 0x17, - 0xac, 0x71, 0x44, 0x2f, 0xc1, 0xb0, 0x9a, 0x9e, 0xcb, 0xd5, 0xc9, 0x41, 0xd3, 0xf7, 0x9a, 0xae, - 0x55, 0x55, 0xac, 0xd3, 0xd9, 0x6f, 0x67, 0xe5, 0x45, 0xcc, 0x0a, 0x6d, 0x7c, 0xad, 0xa2, 0xe3, - 0x5b, 0x3a, 0x7c, 0x7c, 0xed, 0xff, 0x54, 0x86, 0x71, 0xa3, 0xb2, 0x56, 0x5c, 0x60, 0x45, 0x7b, - 0x8d, 0x6e, 0x58, 0x4e, 0x42, 0xc4, 0x9c, 0xbc, 0xd4, 0xcb, 0xa4, 0xd1, 0xb7, 0x37, 0x3a, 0x17, - 0x38, 0x27, 0xb4, 0x05, 0x15, 0xdf, 0x89, 0x99, 0xf5, 0x4e, 0xc4, 0x5c, 0xec, 0x8d, 0x6d, 0x6a, - 0x54, 0x38, 0x71, 0xa2, 0xed, 0x1e, 0xbc, 0x96, 0x94, 0x39, 0xdd, 0x6d, 0xa9, 0xb2, 0x23, 0x0f, - 0x6f, 0x54, 0x73, 0xa8, 0x46, 0xb4, 0x8b, 0x39, 0x0e, 0x5d, 0x85, 0x91, 0x88, 0x30, 0x49, 0x59, - 0xa0, 0xfa, 0x1c, 0x13, 0xbd, 0xfe, 0x54, 0xf1, 0xc3, 0x1a, 0x0e, 0x1b, 0x94, 0xa9, 0xde, 0x3f, - 0x70, 0x88, 0xde, 0xff, 0x0c, 0x0c, 0xb2, 0x1f, 0x4a, 0x2a, 0xd4, 0x17, 0x5a, 0xe6, 0x60, 0x2c, - 0xf1, 0x59, 0x21, 0x1a, 0x2a, 0x28, 0x44, 0xcf, 0xc2, 0x58, 0xd5, 0x21, 0xdb, 0x61, 0xb0, 0x18, - 0xb8, 0xcd, 0xd0, 0x0b, 0x12, 0x34, 0x09, 0x7d, 0x6c, 0x3f, 0xe1, 0xf3, 0xbd, 0x8f, 0x72, 0xc0, - 0x7d, 0x54, 0x77, 0xb7, 0xff, 0xaf, 0x05, 0xa3, 0x55, 0xe2, 0x93, 0x84, 0xdc, 0x6a, 0x32, 0x8f, - 0x0f, 0x5a, 0x02, 0xb4, 0x19, 0x39, 0x0d, 0x52, 0x23, 0x91, 0x17, 0xba, 0x75, 0xd2, 0x08, 0x03, - 0x76, 0xe6, 0x41, 0x37, 0xc8, 0x73, 0xfb, 0x7b, 0xd3, 0xe8, 0x5a, 0x1b, 0x16, 0x77, 0x28, 0x81, - 0x5c, 0x18, 0x6d, 0x46, 0xc4, 0x70, 0x51, 0x59, 0xf9, 0xaa, 0x46, 0x4d, 0x2f, 0xc2, 0xb5, 0x61, - 0x03, 0x84, 0x4d, 0xa6, 0xe8, 0x73, 0x30, 0x11, 0x46, 0xcd, 0x2d, 0x27, 0xa8, 0x92, 0x26, 0x09, - 0x5c, 0x6a, 0x02, 0x08, 0x7f, 0xe4, 0x99, 0xfd, 0xbd, 0xe9, 0x89, 0x5b, 0x19, 0x1c, 0x6e, 0xa3, - 0xb6, 0x7f, 0xbd, 0x04, 0x67, 0xab, 0xe1, 0xfd, 0xe0, 0xbe, 0x13, 0xb9, 0x73, 0xb5, 0x65, 0xae, - 0xd7, 0x33, 0xff, 0xae, 0xf4, 0x2b, 0x5b, 0x5d, 0xfd, 0xca, 0x5f, 0x82, 0xa1, 0x0d, 0x8f, 0xf8, - 0x2e, 0x26, 0x1b, 0xa2, 0x7b, 0x97, 0x8b, 0x38, 0xde, 0x97, 0x68, 0x19, 0xe9, 0xe3, 0xe0, 0x6e, - 0xed, 0x25, 0xc1, 0x06, 0x2b, 0x86, 0xa8, 0x05, 0x13, 0xd2, 0x70, 0x91, 0x58, 0x31, 0x3b, 0x5e, - 0x28, 0x66, 0x17, 0x99, 0xd5, 0xb0, 0xf1, 0xc0, 0x19, 0x86, 0xb8, 0xad, 0x0a, 0x6a, 0x70, 0x6e, - 0xd3, 0xbd, 0xa1, 0x8f, 0xc9, 0x0a, 0x33, 0x38, 0x99, 0x45, 0xcc, 0xa0, 0xf6, 0xdf, 0xb5, 0xe0, - 0x91, 0xb6, 0xd1, 0x12, 0xee, 0x82, 0xd7, 0xa5, 0x9d, 0xce, 0x0f, 0xc8, 0x72, 0x5a, 0xd9, 0x71, - 0xcc, 0x8b, 0xd9, 0xec, 0xa5, 0x02, 0x36, 0xfb, 0x2d, 0x38, 0xb3, 0xb8, 0xdd, 0x4c, 0x76, 0xab, - 0x9e, 0xe9, 0x0e, 0x7f, 0x19, 0x06, 0xb6, 0x89, 0xeb, 0xb5, 0xb6, 0xc5, 0x67, 0x9d, 0x96, 0x0b, - 0xe9, 0x2a, 0x83, 0x1e, 0xec, 0x4d, 0x8f, 0xd6, 0x93, 0x30, 0x72, 0x36, 0x09, 0x07, 0x60, 0x41, - 0x6e, 0xbf, 0x6f, 0xc1, 0xb8, 0x9c, 0x50, 0x73, 0xae, 0x1b, 0x91, 0x38, 0x46, 0x53, 0x50, 0xf2, - 0x9a, 0x82, 0x11, 0x08, 0x46, 0xa5, 0xe5, 0x1a, 0x2e, 0x79, 0x4d, 0xf4, 0x45, 0xa8, 0xf0, 0x53, - 0x94, 0x54, 0x38, 0x7a, 0x3c, 0x95, 0x61, 0xc6, 0xd4, 0x9a, 0xe4, 0x81, 0x53, 0x76, 0x52, 0xad, - 0x64, 0x4b, 0x75, 0xd9, 0xf4, 0xe9, 0x5f, 0x17, 0x70, 0xac, 0x28, 0xd0, 0x45, 0x18, 0x0a, 0x42, - 0x97, 0x1f, 0x74, 0xf1, 0x4d, 0x97, 0x89, 0xdc, 0x4d, 0x01, 0xc3, 0x0a, 0x6b, 0x7f, 0xdd, 0x82, - 0x11, 0xd9, 0xc7, 0x82, 0x1a, 0x2e, 0x9d, 0x24, 0xa9, 0x76, 0x9b, 0x4e, 0x12, 0xaa, 0xa1, 0x32, - 0x8c, 0xa1, 0x98, 0x96, 0x7b, 0x51, 0x4c, 0xed, 0xdf, 0x2a, 0xc1, 0x98, 0x6c, 0x4e, 0xbd, 0xb5, - 0x1e, 0x13, 0xba, 0x6f, 0x57, 0x1c, 0x3e, 0xf8, 0x44, 0xca, 0xd9, 0xf3, 0x79, 0xc6, 0x8b, 0xf1, - 0xcd, 0x52, 0xbd, 0x60, 0x4e, 0xf2, 0xc1, 0x29, 0x4b, 0xb4, 0x03, 0xa7, 0x82, 0x30, 0x61, 0xfb, - 0x81, 0xc2, 0x17, 0xf3, 0x42, 0x67, 0xeb, 0x79, 0x54, 0xd4, 0x73, 0xea, 0x66, 0x96, 0x1f, 0x6e, - 0xaf, 0x02, 0xdd, 0x92, 0x4e, 0x99, 0x32, 0xab, 0xeb, 0xd9, 0x62, 0x75, 0x75, 0xf7, 0xc9, 0xd8, - 0x3f, 0xb4, 0xa0, 0x22, 0xc9, 0x4e, 0xe2, 0x38, 0xe2, 0x2e, 0x0c, 0xc6, 0xec, 0x13, 0xc9, 0xe1, - 0xba, 0x54, 0xac, 0x0b, 0xfc, 0xbb, 0xa6, 0x9b, 0x20, 0xff, 0x1f, 0x63, 0xc9, 0x8d, 0x39, 0x57, - 0x55, 0x47, 0x3e, 0x74, 0xce, 0x55, 0xd5, 0xb2, 0xee, 0xa7, 0x0e, 0xa3, 0x86, 0xf9, 0x4c, 0x35, - 0xb9, 0x66, 0x44, 0x36, 0xbc, 0x07, 0x59, 0x4d, 0xae, 0xc6, 0xa0, 0x58, 0x60, 0xd1, 0x06, 0x8c, - 0x34, 0xa4, 0x57, 0x36, 0x5d, 0x42, 0x3e, 0x51, 0xd0, 0xd7, 0xab, 0x5c, 0xfc, 0x3c, 0x6c, 0x64, - 0x41, 0xe3, 0x84, 0x0d, 0xbe, 0x74, 0x9d, 0x4a, 0x4f, 0x31, 0xcb, 0x05, 0x3d, 0x1d, 0x11, 0x49, - 0xd2, 0x1a, 0xba, 0x1e, 0x60, 0xda, 0xdf, 0xb6, 0x60, 0x80, 0x3b, 0xfc, 0x8a, 0x79, 0x4d, 0xb5, - 0xc3, 0x8b, 0x74, 0x3c, 0xef, 0x50, 0xa0, 0x38, 0xcb, 0x40, 0x77, 0xa1, 0xc2, 0x7e, 0x30, 0xe7, - 0x45, 0xb9, 0x48, 0x0c, 0x0d, 0xaf, 0x5f, 0x6f, 0xea, 0x1d, 0xc9, 0x00, 0xa7, 0xbc, 0xec, 0x1f, - 0x94, 0xe9, 0xd2, 0x97, 0x92, 0x1a, 0x7b, 0xbb, 0x75, 0x12, 0x7b, 0x7b, 0xe9, 0xf8, 0xf7, 0xf6, - 0x77, 0x60, 0xbc, 0xa1, 0x1d, 0xb3, 0xa4, 0x5f, 0xfc, 0x4a, 0x41, 0xb1, 0xd2, 0xce, 0x66, 0xb8, - 0x83, 0x6b, 0xc1, 0x64, 0x87, 0xb3, 0xfc, 0x11, 0x81, 0x11, 0x2e, 0x0f, 0xa2, 0xbe, 0x3e, 0x56, - 0xdf, 0x6c, 0x11, 0x09, 0xd3, 0x2b, 0x63, 0x52, 0x5c, 0xd7, 0x18, 0x61, 0x83, 0xad, 0xfd, 0xd7, - 0xfb, 0xa1, 0x7f, 0x71, 0x87, 0x04, 0xc9, 0x09, 0x2c, 0x75, 0xdb, 0x30, 0xe6, 0x05, 0x3b, 0xa1, - 0xbf, 0x43, 0x5c, 0x8e, 0x3f, 0xda, 0xf6, 0x7e, 0x4e, 0x54, 0x32, 0xb6, 0x6c, 0x30, 0xc3, 0x19, - 0xe6, 0xc7, 0x61, 0x5a, 0xbf, 0x06, 0x03, 0x5c, 0x32, 0x84, 0x5d, 0x9d, 0xe3, 0x00, 0x67, 0x03, - 0x2b, 0x66, 0x50, 0xea, 0x00, 0xe0, 0xbe, 0x77, 0xc1, 0x08, 0xbd, 0x0d, 0x63, 0x1b, 0x5e, 0x14, - 0x27, 0xd4, 0x3a, 0x8e, 0x13, 0x67, 0xbb, 0x79, 0x04, 0xa3, 0x5a, 0x8d, 0xc8, 0x92, 0xc1, 0x09, - 0x67, 0x38, 0xa3, 0x4d, 0x18, 0xa5, 0x36, 0x5d, 0x5a, 0xd5, 0x60, 0xcf, 0x55, 0x29, 0x9f, 0xda, - 0x8a, 0xce, 0x08, 0x9b, 0x7c, 0xe9, 0x92, 0xd4, 0x60, 0x36, 0xe0, 0x10, 0xd3, 0x6e, 0xd4, 0x92, - 0xc4, 0x8d, 0x3f, 0x8e, 0xa3, 0x2b, 0x1b, 0x8b, 0x62, 0xa8, 0x98, 0x2b, 0x5b, 0x1a, 0xab, 0x60, - 0x7f, 0x97, 0xee, 0xc5, 0x74, 0x0c, 0x4f, 0x60, 0xfb, 0xba, 0x6e, 0x6e, 0x5f, 0x4f, 0x16, 0xf8, - 0xb2, 0x5d, 0xb6, 0xae, 0xb7, 0x60, 0x58, 0xfb, 0xf0, 0x68, 0x16, 0x2a, 0x0d, 0x79, 0xd0, 0x2e, - 0x56, 0x71, 0xa5, 0x4a, 0xa9, 0x13, 0x78, 0x9c, 0xd2, 0xd0, 0x71, 0xa1, 0x2a, 0x68, 0x36, 0x2c, - 0x87, 0x2a, 0xa8, 0x98, 0x61, 0xec, 0x17, 0x00, 0x16, 0x1f, 0x90, 0xc6, 0x5c, 0x83, 0x45, 0x83, - 0x68, 0x07, 0x62, 0x56, 0xf7, 0x03, 0x31, 0xfb, 0x3b, 0x16, 0x8c, 0x2d, 0x2d, 0x18, 0x3a, 0xfd, - 0x0c, 0x00, 0xd7, 0x8d, 0xef, 0xde, 0xbd, 0x29, 0x1d, 0xbe, 0xdc, 0x2b, 0xa7, 0xa0, 0x58, 0xa3, - 0x40, 0x8f, 0x42, 0xd9, 0x6f, 0x05, 0x42, 0x65, 0x1d, 0xdc, 0xdf, 0x9b, 0x2e, 0xaf, 0xb4, 0x02, - 0x4c, 0x61, 0x5a, 0xfc, 0x4b, 0xb9, 0x70, 0xfc, 0x4b, 0x7e, 0x24, 0xe8, 0x37, 0xcb, 0x30, 0xb1, - 0xe4, 0x93, 0x07, 0x46, 0xab, 0x9f, 0x86, 0x01, 0x37, 0xf2, 0x76, 0x48, 0x94, 0x55, 0x04, 0xaa, - 0x0c, 0x8a, 0x05, 0xb6, 0x70, 0x48, 0xce, 0x9b, 0xed, 0x1b, 0xf9, 0xf1, 0x85, 0x23, 0xe5, 0xf6, - 0x19, 0x6d, 0xc0, 0x60, 0xc8, 0x5d, 0x0a, 0x93, 0xfd, 0x4c, 0x14, 0x5f, 0x39, 0xbc, 0x31, 0xd9, - 0xf1, 0x99, 0x11, 0x0e, 0x09, 0x1e, 0x0c, 0xa1, 0xd6, 0x32, 0x01, 0xc5, 0x92, 0xf9, 0xd4, 0xa7, - 0x61, 0x44, 0xa7, 0xec, 0x29, 0x2a, 0xe2, 0x17, 0x2c, 0x38, 0xbd, 0xe4, 0x87, 0x8d, 0x7b, 0x99, - 0x98, 0xa9, 0x97, 0x60, 0x98, 0x4e, 0xa6, 0xd8, 0x08, 0x28, 0x34, 0x22, 0x27, 0x05, 0x0a, 0xeb, - 0x74, 0x5a, 0xb1, 0xdb, 0xb7, 0x97, 0xab, 0x9d, 0x02, 0x2e, 0x05, 0x0a, 0xeb, 0x74, 0xf6, 0xef, - 0x5b, 0xf0, 0xf8, 0xb5, 0x85, 0xc5, 0x1a, 0x89, 0x62, 0x2f, 0x4e, 0x48, 0x90, 0xb4, 0xc5, 0x7c, - 0x52, 0x9d, 0xd1, 0xd5, 0x9a, 0x92, 0xea, 0x8c, 0x55, 0xd6, 0x0a, 0x81, 0xfd, 0xb0, 0x04, 0x3e, - 0x7f, 0xdb, 0x82, 0xd3, 0xd7, 0xbc, 0x04, 0x93, 0x66, 0x98, 0x0d, 0xd3, 0x8c, 0x48, 0x33, 0x8c, - 0xbd, 0x24, 0x8c, 0x76, 0xb3, 0x61, 0x9a, 0x58, 0x61, 0xb0, 0x46, 0xc5, 0x6b, 0xde, 0xf1, 0x62, - 0xda, 0xd2, 0x92, 0x69, 0xea, 0x62, 0x01, 0xc7, 0x8a, 0x82, 0x76, 0xcc, 0xf5, 0x22, 0xa6, 0x32, - 0xec, 0x8a, 0x19, 0xac, 0x3a, 0x56, 0x95, 0x08, 0x9c, 0xd2, 0xd8, 0x7f, 0xc3, 0x82, 0xb3, 0xd7, - 0xfc, 0x56, 0x9c, 0x90, 0x68, 0x23, 0x36, 0x1a, 0xfb, 0x02, 0x54, 0x88, 0x54, 0xee, 0x45, 0x5b, - 0xd5, 0xa6, 0xa1, 0xb4, 0x7e, 0x1e, 0x23, 0xaa, 0xe8, 0x0a, 0x84, 0x22, 0xf6, 0x16, 0x38, 0xf7, - 0xdb, 0x25, 0x18, 0xbd, 0xbe, 0xb6, 0x56, 0xbb, 0x46, 0x12, 0xb1, 0x4a, 0xe6, 0x3b, 0xa5, 0x6a, - 0x9a, 0x45, 0xae, 0xed, 0x2d, 0x99, 0x59, 0xd7, 0x4a, 0x3c, 0x7f, 0x86, 0x87, 0xe4, 0xcf, 0x2c, - 0x07, 0xc9, 0xad, 0xa8, 0x9e, 0x44, 0x5e, 0xb0, 0xd9, 0xd1, 0x82, 0x97, 0x2b, 0x79, 0xb9, 0xdb, - 0x4a, 0x8e, 0x5e, 0x80, 0x01, 0x76, 0x8b, 0x40, 0xaa, 0x1e, 0x1f, 0x55, 0x5a, 0x02, 0x83, 0x1e, - 0xec, 0x4d, 0x57, 0x6e, 0xe3, 0x65, 0xfe, 0x07, 0x0b, 0x52, 0xf4, 0x26, 0x0c, 0x6f, 0x25, 0x49, - 0xf3, 0x3a, 0x71, 0x5c, 0x12, 0xc9, 0x55, 0xe2, 0xe2, 0xe1, 0xab, 0x04, 0x1d, 0x0c, 0x5e, 0x20, - 0x9d, 0x58, 0x29, 0x2c, 0xc6, 0x3a, 0x47, 0xbb, 0x0e, 0x90, 0xe2, 0x1e, 0x92, 0x05, 0x62, 0xff, - 0x7c, 0x09, 0x06, 0xaf, 0x3b, 0x81, 0xeb, 0x93, 0x08, 0x2d, 0x41, 0x1f, 0x79, 0x40, 0x1a, 0x62, - 0x1b, 0xcf, 0x69, 0x7a, 0xba, 0xd5, 0x71, 0xaf, 0x1a, 0xfd, 0x8f, 0x59, 0x79, 0x84, 0x61, 0x90, - 0xb6, 0xfb, 0x9a, 0x8a, 0xdf, 0x7d, 0x2e, 0x7f, 0x14, 0x94, 0x48, 0xf0, 0x7d, 0x52, 0x80, 0xb0, - 0x64, 0xc4, 0xfc, 0x4f, 0x8d, 0x66, 0x9d, 0x2e, 0x6e, 0x49, 0x31, 0xbb, 0x6e, 0x6d, 0xa1, 0xc6, - 0xc9, 0x05, 0x5f, 0xee, 0x7f, 0x92, 0x40, 0x9c, 0xb2, 0xb3, 0xaf, 0xc2, 0x19, 0x76, 0x7c, 0xe9, - 0x24, 0x5b, 0xc6, 0x9c, 0xc9, 0x15, 0x4e, 0xfb, 0x6f, 0x95, 0xe0, 0xd4, 0x72, 0x7d, 0xa1, 0x6e, - 0x7a, 0x0e, 0xaf, 0xc2, 0x08, 0xdf, 0x9e, 0xa9, 0xd0, 0x39, 0xbe, 0x28, 0xaf, 0x5c, 0xee, 0x6b, - 0x1a, 0x0e, 0x1b, 0x94, 0xe8, 0x71, 0x28, 0x7b, 0xef, 0x04, 0xd9, 0xc8, 0xac, 0xe5, 0xd7, 0x6e, - 0x62, 0x0a, 0xa7, 0x68, 0xba, 0xd3, 0xf3, 0x25, 0x4e, 0xa1, 0xd5, 0x6e, 0xff, 0x2a, 0x8c, 0x79, - 0x71, 0x23, 0xf6, 0x96, 0x03, 0x3a, 0xff, 0x9d, 0x86, 0x14, 0xdf, 0x54, 0x35, 0xa7, 0x4d, 0x55, - 0x58, 0x9c, 0xa1, 0xd6, 0xd6, 0xdb, 0xfe, 0xc2, 0xda, 0x42, 0x7e, 0x20, 0xef, 0xdb, 0x50, 0x51, - 0x41, 0x4c, 0x32, 0xf4, 0xcc, 0xea, 0x1c, 0x7a, 0x56, 0x60, 0xc1, 0x91, 0xfe, 0xdc, 0x72, 0x47, - 0x7f, 0xee, 0x3f, 0xb0, 0x20, 0x8d, 0xd7, 0x40, 0x18, 0x2a, 0xcd, 0x90, 0x1d, 0x96, 0x44, 0xf2, - 0x54, 0xf2, 0xa9, 0x1c, 0x49, 0xe4, 0x33, 0x81, 0xcb, 0x4a, 0x4d, 0x96, 0xc5, 0x29, 0x1b, 0xb4, - 0x02, 0x83, 0xcd, 0x88, 0xd4, 0x13, 0x16, 0x0d, 0xde, 0x03, 0x47, 0x26, 0xd5, 0x35, 0x5e, 0x12, - 0x4b, 0x16, 0xf6, 0x3f, 0xb7, 0x00, 0x56, 0xbc, 0x6d, 0x2f, 0xc1, 0x4e, 0xb0, 0x49, 0x4e, 0xc0, - 0xd8, 0xbb, 0x09, 0x7d, 0x71, 0x93, 0x34, 0x8a, 0x1d, 0x77, 0xa5, 0x2d, 0xab, 0x37, 0x49, 0x23, - 0xfd, 0x1c, 0xf4, 0x1f, 0x66, 0x7c, 0xec, 0x7f, 0x08, 0x30, 0x96, 0x92, 0x51, 0x85, 0x1b, 0x3d, - 0x6f, 0x84, 0x41, 0x3f, 0x9a, 0x09, 0x83, 0xae, 0x30, 0x6a, 0x2d, 0xf2, 0x39, 0x81, 0xf2, 0xb6, - 0xf3, 0x40, 0xe8, 0xf7, 0x2f, 0x15, 0x6d, 0x10, 0xad, 0x69, 0x66, 0xd5, 0x79, 0xc0, 0xd5, 0xa9, - 0xe7, 0xa4, 0x20, 0xad, 0x3a, 0x0f, 0x0e, 0xf8, 0xa1, 0x16, 0x9b, 0x89, 0xd4, 0xa0, 0xf8, 0xda, - 0x7f, 0x49, 0xff, 0xb3, 0xc5, 0x91, 0x56, 0xc7, 0x6a, 0xf5, 0x02, 0xe1, 0x9e, 0xec, 0xb1, 0x56, - 0x2f, 0xc8, 0xd6, 0xea, 0x05, 0x05, 0x6a, 0xf5, 0x02, 0xf4, 0x9e, 0x05, 0x83, 0xc2, 0xab, 0xcf, - 0x22, 0xe0, 0x86, 0xaf, 0x7c, 0xaa, 0xa7, 0xaa, 0xc5, 0xf1, 0x00, 0xaf, 0x7e, 0x56, 0xea, 0x90, - 0x02, 0x9a, 0xdb, 0x04, 0x59, 0x35, 0xfa, 0x35, 0x0b, 0xc6, 0xc4, 0x6f, 0x4c, 0xde, 0x69, 0x91, - 0x38, 0x11, 0xbb, 0xd5, 0xe7, 0x8e, 0xd2, 0x1a, 0xc1, 0x82, 0x37, 0xea, 0x93, 0x72, 0xa9, 0x31, - 0x91, 0xb9, 0x6d, 0xcb, 0xb4, 0x07, 0x7d, 0xdf, 0x82, 0x33, 0xdb, 0xce, 0x03, 0x5e, 0x23, 0x87, - 0x61, 0x27, 0xf1, 0x42, 0x11, 0xe5, 0xb7, 0xd4, 0xab, 0x9c, 0xb4, 0x31, 0xe2, 0xcd, 0x95, 0x01, - 0x3c, 0x67, 0x3a, 0x91, 0xe4, 0x36, 0xba, 0x63, 0x0b, 0xa7, 0x5c, 0x18, 0x92, 0x82, 0xd9, 0x41, - 0x7b, 0x9f, 0xd7, 0x37, 0xe5, 0xc3, 0x67, 0xa0, 0xf4, 0x77, 0xcd, 0xbc, 0xd6, 0x72, 0x82, 0xc4, - 0x4b, 0x76, 0x35, 0x5d, 0x9f, 0xd5, 0x22, 0x04, 0xf1, 0x18, 0x6b, 0xd9, 0x82, 0x11, 0x5d, 0xe6, - 0x8e, 0xb1, 0xa6, 0x10, 0x4e, 0x77, 0x90, 0xa7, 0x63, 0xac, 0xb0, 0x05, 0x8f, 0x76, 0x95, 0x8b, - 0xe3, 0xab, 0xd6, 0xfe, 0x67, 0x96, 0xbe, 0x60, 0x9e, 0x80, 0x07, 0x65, 0xd5, 0xf4, 0xa0, 0x5c, - 0x2c, 0x3a, 0x73, 0xba, 0xb8, 0x51, 0x36, 0xf4, 0xe6, 0xd3, 0x8d, 0x00, 0xad, 0xc1, 0x80, 0x4f, - 0x21, 0xf2, 0x00, 0xeb, 0x52, 0x2f, 0x73, 0x33, 0xd5, 0x31, 0x18, 0x3c, 0xc6, 0x82, 0x97, 0xfd, - 0x7d, 0x0b, 0xfa, 0x7e, 0x8a, 0x57, 0x33, 0xda, 0x58, 0x8b, 0xdb, 0xc5, 0x33, 0xd8, 0xb9, 0xbf, - 0xf8, 0x20, 0x21, 0x41, 0xcc, 0x54, 0xca, 0x8e, 0x43, 0xf4, 0xeb, 0x25, 0x18, 0xa6, 0x55, 0xc9, - 0x10, 0x84, 0x57, 0x60, 0xd4, 0x77, 0xd6, 0x89, 0x2f, 0xbd, 0xbf, 0x59, 0xf3, 0x6b, 0x45, 0x47, - 0x62, 0x93, 0x96, 0x16, 0xde, 0xd0, 0x9d, 0xe3, 0x42, 0x35, 0x52, 0x85, 0x0d, 0xcf, 0x39, 0x36, - 0x69, 0xa9, 0x05, 0x70, 0xdf, 0x49, 0x1a, 0x5b, 0xc2, 0x34, 0x53, 0xcd, 0xbd, 0x4b, 0x81, 0x98, - 0xe3, 0xd0, 0x1c, 0x8c, 0x4b, 0x89, 0xbd, 0x43, 0x6d, 0xf6, 0x30, 0x10, 0x6a, 0xa3, 0xba, 0xde, - 0x89, 0x4d, 0x34, 0xce, 0xd2, 0xa3, 0x4f, 0xc3, 0x18, 0x1d, 0x9c, 0xb0, 0x95, 0xc8, 0x00, 0x8b, - 0x7e, 0x16, 0x60, 0xc1, 0xe2, 0x73, 0xd7, 0x0c, 0x0c, 0xce, 0x50, 0xda, 0x6f, 0xc2, 0xe9, 0x95, - 0xd0, 0x71, 0xe7, 0x1d, 0xdf, 0x09, 0x1a, 0x24, 0x5a, 0x0e, 0x36, 0x73, 0xcf, 0xa2, 0xf5, 0xf3, - 0xe2, 0x52, 0xde, 0x79, 0xb1, 0x1d, 0x01, 0xd2, 0x2b, 0x10, 0xa1, 0x41, 0x6f, 0xc0, 0xa0, 0xc7, - 0xab, 0x12, 0x62, 0x7b, 0x39, 0xcf, 0xb9, 0xd4, 0xd6, 0x46, 0x2d, 0xd4, 0x85, 0x03, 0xb0, 0x64, - 0x49, 0x2d, 0x8a, 0x4e, 0xde, 0xa8, 0x7c, 0xa3, 0xcd, 0xfe, 0x8b, 0x16, 0x8c, 0xdf, 0xcc, 0xdc, - 0x1d, 0x7c, 0x1a, 0x06, 0x62, 0x12, 0x75, 0x70, 0xad, 0xd5, 0x19, 0x14, 0x0b, 0xec, 0x43, 0x37, - 0xd7, 0x7f, 0xb9, 0x04, 0x15, 0x16, 0x64, 0xda, 0xa4, 0xd6, 0xc1, 0xf1, 0x2b, 0xa7, 0xab, 0x86, - 0x72, 0x9a, 0x63, 0x34, 0xaa, 0x86, 0x75, 0xd3, 0x4d, 0xd1, 0x6d, 0x75, 0xa7, 0xae, 0x90, 0xbd, - 0x98, 0x32, 0xe4, 0xf7, 0xae, 0xc6, 0xcc, 0x2b, 0x78, 0xf2, 0xbe, 0x1d, 0x3b, 0xc1, 0x55, 0xb4, - 0x1f, 0xba, 0x13, 0x5c, 0xd5, 0xb2, 0x2e, 0x8b, 0x53, 0x4d, 0x6b, 0x3c, 0x5b, 0xbe, 0x3f, 0xcb, - 0x42, 0x07, 0x1d, 0xdf, 0x7b, 0x97, 0xa8, 0xab, 0xa9, 0xd3, 0x22, 0x14, 0x50, 0x40, 0x0f, 0xd8, - 0x3a, 0x23, 0xfe, 0xf1, 0x9b, 0xc7, 0x69, 0x11, 0xfb, 0x3a, 0x8c, 0x67, 0x86, 0x0e, 0xbd, 0x04, - 0xfd, 0xcd, 0x2d, 0x27, 0x26, 0x99, 0xa0, 0x94, 0xfe, 0x1a, 0x05, 0x1e, 0xec, 0x4d, 0x8f, 0xa9, - 0x02, 0x0c, 0x82, 0x39, 0xb5, 0xfd, 0x5e, 0x09, 0xfa, 0x6e, 0x86, 0xee, 0x49, 0x88, 0xda, 0x75, - 0x43, 0xd4, 0x9e, 0xce, 0xcf, 0x5b, 0xd0, 0x55, 0xca, 0x6a, 0x19, 0x29, 0xbb, 0x58, 0x80, 0xd7, - 0xe1, 0x02, 0xb6, 0x0d, 0xc3, 0x2c, 0x2f, 0x82, 0x88, 0xca, 0x79, 0xc1, 0xb0, 0xa7, 0xa6, 0x33, - 0xf6, 0xd4, 0xb8, 0x46, 0xaa, 0x59, 0x55, 0xcf, 0xc0, 0xa0, 0x88, 0x02, 0xc9, 0x06, 0x4e, 0x0a, - 0x5a, 0x2c, 0xf1, 0xf6, 0x3f, 0x29, 0x83, 0x91, 0x87, 0x01, 0xfd, 0xd0, 0x82, 0x99, 0x88, 0x5f, - 0x42, 0x71, 0xab, 0xad, 0xc8, 0x0b, 0x36, 0xeb, 0x8d, 0x2d, 0xe2, 0xb6, 0x7c, 0x2f, 0xd8, 0x5c, - 0xde, 0x0c, 0x42, 0x05, 0x5e, 0x7c, 0x40, 0x1a, 0x2d, 0xe6, 0x74, 0x2d, 0x9c, 0xfe, 0x41, 0x9d, - 0x80, 0x5e, 0xd9, 0xdf, 0x9b, 0x9e, 0xc1, 0x3d, 0xd5, 0x82, 0x7b, 0x6c, 0x15, 0xfa, 0x23, 0x0b, - 0x66, 0x79, 0x26, 0x82, 0xe2, 0x3d, 0x29, 0x64, 0x87, 0xd6, 0x24, 0xd3, 0x94, 0xdd, 0x1a, 0x89, - 0xb6, 0xe7, 0x5f, 0x16, 0x83, 0x3c, 0x5b, 0xeb, 0xad, 0x56, 0xdc, 0x6b, 0x33, 0xed, 0x7f, 0x59, - 0x86, 0x51, 0x3a, 0x9e, 0xe9, 0xed, 0xe3, 0x97, 0x0c, 0x31, 0x79, 0x22, 0x23, 0x26, 0xa7, 0x0c, - 0xe2, 0x87, 0x73, 0xf1, 0x38, 0x86, 0x53, 0xbe, 0x13, 0x27, 0xd7, 0x89, 0x13, 0x25, 0xeb, 0xc4, - 0x61, 0x07, 0x8d, 0xd9, 0x20, 0x86, 0x02, 0x67, 0x97, 0x2a, 0xb2, 0x68, 0x25, 0xcb, 0x0c, 0xb7, - 0xf3, 0x47, 0x3b, 0x80, 0xd8, 0xa1, 0x66, 0xe4, 0x04, 0x31, 0xef, 0x8b, 0x27, 0xdc, 0xb4, 0xbd, - 0xd5, 0x3a, 0x25, 0x6a, 0x45, 0x2b, 0x6d, 0xdc, 0x70, 0x87, 0x1a, 0xb4, 0x63, 0xeb, 0xfe, 0xa2, - 0xc7, 0xd6, 0x03, 0x39, 0x11, 0xcb, 0xbf, 0x68, 0xc1, 0x69, 0xfa, 0x59, 0xcc, 0xe8, 0xd6, 0x18, - 0x85, 0x30, 0x4e, 0xc5, 0xce, 0x27, 0x89, 0x84, 0x89, 0xf9, 0x95, 0xa3, 0x59, 0x9b, 0x7c, 0x52, - 0xf5, 0xed, 0x86, 0xc9, 0x0c, 0x67, 0xb9, 0xdb, 0xdf, 0xb1, 0x80, 0x85, 0xcf, 0x9d, 0xc0, 0x66, - 0x76, 0xcd, 0xdc, 0xcc, 0xec, 0xfc, 0x15, 0xa3, 0xcb, 0x3e, 0xf6, 0x22, 0x4c, 0x50, 0x6c, 0x2d, - 0x0a, 0x1f, 0xec, 0x4a, 0x45, 0x3b, 0xdf, 0x5f, 0xfb, 0x5e, 0x89, 0x4f, 0x1b, 0x75, 0x9b, 0x0e, - 0xfd, 0x92, 0x05, 0x43, 0x0d, 0xa7, 0xe9, 0x34, 0x78, 0x16, 0x9b, 0x02, 0x3e, 0x19, 0xa3, 0xfc, - 0xcc, 0x82, 0x28, 0xcb, 0xfd, 0x09, 0x9f, 0x90, 0x5d, 0x97, 0xe0, 0x5c, 0x1f, 0x82, 0xaa, 0x7c, - 0xca, 0x83, 0x51, 0x83, 0xd9, 0x31, 0x1a, 0xa1, 0xbf, 0x64, 0xf1, 0x25, 0x5f, 0x19, 0x0a, 0xf7, - 0xe1, 0x54, 0xa0, 0xfd, 0xa7, 0x8b, 0x99, 0xd4, 0x8b, 0x67, 0x8a, 0x2f, 0xea, 0x6c, 0x0d, 0xd4, - 0x02, 0x05, 0x33, 0x0c, 0x71, 0x7b, 0x1d, 0xf6, 0xdf, 0xb6, 0xe0, 0x11, 0x9d, 0x50, 0xbb, 0xfc, - 0x98, 0xe7, 0x2b, 0xae, 0xc2, 0x50, 0xd8, 0x24, 0x91, 0x93, 0x1a, 0x45, 0x17, 0xe5, 0xe8, 0xdf, - 0x12, 0xf0, 0x83, 0xbd, 0xe9, 0x33, 0x3a, 0x77, 0x09, 0xc7, 0xaa, 0x24, 0xb2, 0x61, 0x80, 0x8d, - 0x4b, 0x2c, 0xae, 0xad, 0xb2, 0x9c, 0x2e, 0xec, 0x84, 0x24, 0xc6, 0x02, 0x63, 0xff, 0x55, 0x8b, - 0x0b, 0x9b, 0xde, 0x74, 0xf4, 0x15, 0x98, 0xd8, 0xa6, 0xf6, 0xd3, 0xe2, 0x83, 0x26, 0xdd, 0x46, - 0xd9, 0xc9, 0xb0, 0x55, 0x64, 0xf3, 0xe8, 0xd2, 0xdd, 0xf9, 0x49, 0xd1, 0xfa, 0x89, 0xd5, 0x0c, - 0x5b, 0xdc, 0x56, 0x91, 0xfd, 0xc7, 0x62, 0xc6, 0x32, 0x0d, 0xee, 0x19, 0x18, 0x6c, 0x86, 0xee, - 0xc2, 0x72, 0x15, 0x8b, 0xb1, 0x52, 0x4b, 0x4e, 0x8d, 0x83, 0xb1, 0xc4, 0xa3, 0x2b, 0x00, 0xe4, - 0x41, 0x42, 0xa2, 0xc0, 0xf1, 0xd5, 0x89, 0xae, 0x52, 0x94, 0x16, 0x15, 0x06, 0x6b, 0x54, 0xb4, - 0x4c, 0x33, 0x0a, 0x77, 0x3c, 0x97, 0x45, 0xed, 0x97, 0xcd, 0x32, 0x35, 0x85, 0xc1, 0x1a, 0x15, - 0xb5, 0x5a, 0x5b, 0x41, 0xcc, 0x37, 0x31, 0x67, 0x5d, 0xa4, 0x20, 0x19, 0x4a, 0xad, 0xd6, 0xdb, - 0x3a, 0x12, 0x9b, 0xb4, 0xf6, 0x7f, 0xac, 0x00, 0xa4, 0x6a, 0x12, 0x7a, 0xaf, 0x7d, 0x86, 0x7e, - 0xb2, 0xa8, 0x8e, 0xf5, 0xf0, 0xa6, 0x27, 0xfa, 0x86, 0x05, 0xc3, 0x8e, 0xef, 0x87, 0x0d, 0x27, - 0x61, 0x3d, 0x2a, 0x15, 0x5d, 0x2b, 0x44, 0x4b, 0xe6, 0xd2, 0xb2, 0xbc, 0x31, 0x2f, 0xc8, 0x03, - 0x3f, 0x0d, 0x93, 0xdb, 0x1e, 0xbd, 0x09, 0xe8, 0x13, 0x52, 0xcd, 0xe6, 0x1f, 0x65, 0x2a, 0xab, - 0x66, 0x57, 0xd8, 0x0a, 0xa9, 0x69, 0xd8, 0xe8, 0x4d, 0x23, 0xcb, 0x46, 0x5f, 0x91, 0xdb, 0x92, - 0x86, 0xe2, 0x90, 0x97, 0x60, 0x03, 0x7d, 0x51, 0x0f, 0x68, 0xee, 0x2f, 0x72, 0x1d, 0x59, 0xd3, - 0x5f, 0x73, 0x82, 0x99, 0x13, 0x18, 0x77, 0xcd, 0xad, 0x52, 0x04, 0x65, 0x5d, 0xce, 0xaf, 0x21, - 0xb3, 0xc7, 0xa6, 0x9b, 0x63, 0x06, 0x81, 0xb3, 0x55, 0xa0, 0x2f, 0xf2, 0x70, 0xf3, 0xe5, 0x60, - 0x23, 0x14, 0x81, 0x59, 0x97, 0x0a, 0x7c, 0xf3, 0xdd, 0x38, 0x21, 0xdb, 0xb4, 0x4c, 0xba, 0x1b, - 0xde, 0x14, 0x5c, 0xb0, 0xe2, 0x87, 0xd6, 0x60, 0x80, 0x5d, 0x8e, 0x89, 0x27, 0x87, 0x8a, 0xb8, - 0xce, 0xcc, 0x3b, 0xa1, 0xa9, 0x0a, 0xc2, 0xfe, 0xc6, 0x58, 0xf0, 0x42, 0xd7, 0xe5, 0xad, 0xf0, - 0x78, 0x39, 0xb8, 0x1d, 0x13, 0x76, 0x2b, 0xbc, 0x32, 0xff, 0xb1, 0xf4, 0x9a, 0x37, 0x87, 0x77, - 0xcc, 0x33, 0x66, 0x94, 0xa4, 0x9a, 0x88, 0xf8, 0x2f, 0xd3, 0x97, 0x4d, 0x42, 0x91, 0x86, 0x9a, - 0xc9, 0xce, 0xd2, 0xc1, 0xbe, 0x63, 0x32, 0xc3, 0x59, 0xee, 0x27, 0xb8, 0x07, 0x4e, 0xf9, 0x30, - 0x91, 0x9d, 0x92, 0xc7, 0xb8, 0xe3, 0xfe, 0x69, 0x1f, 0x8c, 0x99, 0x82, 0x81, 0x66, 0xa1, 0x22, - 0xb4, 0x29, 0x95, 0xca, 0x48, 0xc9, 0xff, 0xaa, 0x44, 0xe0, 0x94, 0x86, 0x25, 0x75, 0x62, 0xc5, - 0xb5, 0x70, 0x9c, 0x34, 0xa9, 0x93, 0xc2, 0x60, 0x8d, 0x8a, 0xaa, 0xad, 0xeb, 0x61, 0x98, 0xa8, - 0x85, 0x5b, 0xc9, 0xcc, 0x3c, 0x83, 0x62, 0x81, 0xa5, 0x0b, 0xf6, 0x3d, 0xda, 0x21, 0xdf, 0x74, - 0x01, 0xaa, 0x05, 0xfb, 0x86, 0x8e, 0xc4, 0x26, 0x2d, 0xdd, 0x80, 0xc2, 0x98, 0x09, 0xa1, 0x50, - 0x8e, 0xd3, 0xf0, 0xa6, 0x3a, 0xbf, 0x2c, 0x26, 0xf1, 0xe8, 0x0b, 0xf0, 0x88, 0xba, 0xdb, 0x85, - 0xb9, 0x4b, 0x55, 0xd6, 0x38, 0x60, 0xd8, 0xb7, 0x8f, 0x2c, 0x74, 0x26, 0xc3, 0xdd, 0xca, 0xa3, - 0x57, 0x61, 0x4c, 0x28, 0xb6, 0x92, 0xe3, 0xa0, 0x79, 0xfa, 0x7d, 0xc3, 0xc0, 0xe2, 0x0c, 0x35, - 0xaa, 0xc2, 0x04, 0x85, 0x30, 0x8d, 0x52, 0x72, 0xe0, 0x77, 0xd4, 0xd4, 0xce, 0x7c, 0x23, 0x83, - 0xc7, 0x6d, 0x25, 0xd0, 0x1c, 0x8c, 0x73, 0xdd, 0x82, 0x5a, 0x71, 0xec, 0x3b, 0x88, 0x48, 0x4a, - 0x35, 0x09, 0x6e, 0x99, 0x68, 0x9c, 0xa5, 0x47, 0x57, 0x61, 0xc4, 0x89, 0x1a, 0x5b, 0x5e, 0x42, - 0x1a, 0x49, 0x2b, 0xe2, 0xf9, 0x16, 0xb4, 0xf0, 0x81, 0x39, 0x0d, 0x87, 0x0d, 0x4a, 0xfb, 0x5d, - 0x38, 0xdd, 0x21, 0x6c, 0x9b, 0x0a, 0x8e, 0xd3, 0xf4, 0x64, 0x9f, 0x32, 0x81, 0x4a, 0x73, 0xb5, - 0x65, 0xd9, 0x1b, 0x8d, 0x8a, 0x4a, 0x27, 0xf3, 0x25, 0x6b, 0x99, 0x06, 0x95, 0x74, 0x2e, 0x49, - 0x04, 0x4e, 0x69, 0xec, 0xff, 0x59, 0x01, 0xcd, 0xd5, 0x52, 0x20, 0x3c, 0xe5, 0x2a, 0x8c, 0xc8, - 0xe4, 0x99, 0x5a, 0xd2, 0x3a, 0xd5, 0xcd, 0x6b, 0x1a, 0x0e, 0x1b, 0x94, 0xb4, 0x6d, 0x81, 0x74, - 0x20, 0x65, 0xc3, 0xa2, 0x94, 0x67, 0x09, 0xa7, 0x34, 0xe8, 0x12, 0x0c, 0xc5, 0xc4, 0xdf, 0x58, - 0xf1, 0x82, 0x7b, 0x42, 0xb0, 0xd5, 0xaa, 0x5c, 0x17, 0x70, 0xac, 0x28, 0xd0, 0x3c, 0x94, 0x5b, - 0x9e, 0x2b, 0x44, 0x59, 0xaa, 0x0c, 0xe5, 0xdb, 0xcb, 0xd5, 0x83, 0xbd, 0xe9, 0x27, 0xba, 0x65, - 0x1f, 0xa5, 0xc6, 0x74, 0x3c, 0x43, 0xa7, 0x1f, 0x2d, 0xdc, 0xc9, 0xa9, 0x3e, 0xd0, 0xa3, 0x53, - 0xfd, 0x0a, 0x80, 0xe8, 0xb5, 0x94, 0xe5, 0x72, 0xfa, 0xd5, 0xae, 0x29, 0x0c, 0xd6, 0xa8, 0xa8, - 0x49, 0xde, 0x88, 0x88, 0x23, 0xad, 0x56, 0x1e, 0x4e, 0x3c, 0x74, 0x74, 0x93, 0x7c, 0x21, 0xcb, - 0x0c, 0xb7, 0xf3, 0x47, 0x21, 0x9c, 0x72, 0xe9, 0x44, 0x32, 0x2a, 0xad, 0xf4, 0x1e, 0xc3, 0x4c, - 0x2b, 0xac, 0x66, 0x19, 0xe1, 0x76, 0xde, 0xe8, 0xcb, 0x30, 0x25, 0x81, 0xed, 0xb7, 0x37, 0xd9, - 0x74, 0x29, 0xcf, 0x9f, 0xdf, 0xdf, 0x9b, 0x9e, 0xaa, 0x76, 0xa5, 0xc2, 0x87, 0x70, 0x40, 0x6f, - 0xc0, 0x00, 0x3b, 0x84, 0x89, 0x27, 0x87, 0xd9, 0x6e, 0xf7, 0x62, 0x91, 0x48, 0x78, 0x2a, 0xf5, - 0x33, 0xec, 0x28, 0x47, 0xc4, 0x78, 0xa6, 0x27, 0x5b, 0x0c, 0x88, 0x05, 0x4f, 0xd4, 0x84, 0x61, - 0x27, 0x08, 0xc2, 0xc4, 0xe1, 0x4a, 0xd8, 0x48, 0x11, 0x3d, 0x52, 0xab, 0x62, 0x2e, 0x2d, 0xcb, - 0xeb, 0x51, 0x81, 0x63, 0x1a, 0x06, 0xeb, 0x55, 0xa0, 0xfb, 0x30, 0x1e, 0xde, 0xa7, 0x0b, 0xa6, - 0x3c, 0x87, 0x88, 0x27, 0x47, 0xcd, 0x8e, 0xe5, 0x78, 0x55, 0x8d, 0xc2, 0xda, 0x4a, 0x66, 0x32, - 0xc5, 0xd9, 0x5a, 0xd0, 0x8c, 0xe1, 0x5b, 0x1e, 0x4b, 0x23, 0x99, 0x53, 0xdf, 0xb2, 0xee, 0x4a, - 0x66, 0x37, 0x84, 0x79, 0xf4, 0x22, 0x5b, 0x11, 0xc6, 0x33, 0x37, 0x84, 0x53, 0x14, 0xd6, 0xe9, - 0xa6, 0x3e, 0x05, 0xc3, 0xda, 0xc0, 0xf7, 0x12, 0x32, 0x3b, 0xf5, 0x2a, 0x4c, 0x64, 0x07, 0xb4, - 0xa7, 0x90, 0xdb, 0xff, 0x51, 0x82, 0xf1, 0x0e, 0x87, 0x3c, 0xf7, 0x3c, 0x16, 0xf6, 0x6d, 0x2c, - 0x7d, 0x37, 0xbc, 0xc0, 0xc5, 0x0c, 0x63, 0x2e, 0x60, 0xa5, 0x02, 0x0b, 0x98, 0x5c, 0x4d, 0xcb, - 0x5d, 0x57, 0x53, 0xb1, 0x68, 0xf5, 0x7d, 0x90, 0x45, 0xcb, 0xdc, 0x27, 0xfa, 0x0b, 0xed, 0x13, - 0x0f, 0x61, 0xa1, 0x33, 0xb6, 0x9a, 0xc1, 0x02, 0x5b, 0xcd, 0xb7, 0x4b, 0x30, 0x91, 0x86, 0x17, - 0x8b, 0x8c, 0xba, 0xc7, 0x7f, 0x66, 0xb0, 0x66, 0x9c, 0x19, 0xe4, 0x25, 0xcc, 0xcd, 0xb4, 0xaf, - 0xeb, 0xf9, 0xc1, 0x1b, 0x99, 0xf3, 0x83, 0x17, 0x7b, 0xe4, 0x7b, 0xf8, 0x59, 0xc2, 0xf7, 0x4a, - 0x70, 0x36, 0x5b, 0x64, 0xc1, 0x77, 0xbc, 0xed, 0x13, 0x18, 0xaf, 0x2f, 0x18, 0xe3, 0xf5, 0x72, - 0x6f, 0xfd, 0x62, 0x8d, 0xec, 0x3a, 0x68, 0x4e, 0x66, 0xd0, 0x3e, 0x75, 0x14, 0xe6, 0x87, 0x8f, - 0xdc, 0x1f, 0x58, 0xf0, 0x68, 0xc7, 0x72, 0x27, 0xe0, 0x25, 0x7d, 0xdd, 0xf4, 0x92, 0xbe, 0x70, - 0x84, 0xde, 0x75, 0x71, 0x9b, 0xfe, 0xd7, 0x52, 0x97, 0x5e, 0x31, 0x4f, 0xd2, 0x2d, 0x18, 0x76, - 0x1a, 0x0d, 0x12, 0xc7, 0xab, 0xa1, 0xab, 0x72, 0x0d, 0x3d, 0xcf, 0xf6, 0x96, 0x14, 0x7c, 0xb0, - 0x37, 0x3d, 0x95, 0x65, 0x91, 0xa2, 0xb1, 0xce, 0xc1, 0xcc, 0x82, 0x56, 0x3a, 0xa6, 0x2c, 0x68, - 0x57, 0x00, 0x76, 0x94, 0x05, 0x9b, 0x75, 0x50, 0x69, 0xb6, 0xad, 0x46, 0x85, 0xfe, 0x3c, 0xd3, - 0x08, 0x79, 0x44, 0x45, 0x9f, 0x79, 0x53, 0x31, 0xe7, 0xfb, 0xe9, 0xd1, 0x19, 0xfc, 0x42, 0xa4, - 0x72, 0xe6, 0x29, 0x96, 0xf6, 0x3f, 0x2d, 0xc3, 0x47, 0x0f, 0x11, 0x3a, 0x34, 0x67, 0x1e, 0x90, - 0x3e, 0x97, 0xf5, 0xdc, 0x4c, 0x75, 0x2c, 0x6c, 0xb8, 0x72, 0x32, 0xdf, 0xaa, 0xf4, 0x81, 0xbf, - 0xd5, 0x37, 0x75, 0x3f, 0x1b, 0x0f, 0x8c, 0xbc, 0x76, 0xe4, 0x69, 0xf5, 0xb3, 0xe9, 0x17, 0xff, - 0x9a, 0x05, 0x4f, 0x74, 0xec, 0x94, 0x11, 0x8e, 0x31, 0x0b, 0x95, 0x06, 0x05, 0x6a, 0x37, 0x58, - 0xd2, 0xab, 0x63, 0x12, 0x81, 0x53, 0x1a, 0x23, 0xea, 0xa2, 0x94, 0x1b, 0x75, 0xf1, 0x7b, 0x16, - 0x9c, 0xc9, 0x36, 0xe2, 0x04, 0xd6, 0x9c, 0xba, 0xb9, 0xe6, 0xcc, 0xf4, 0xf6, 0xe9, 0xbb, 0x2c, - 0x37, 0xbf, 0x36, 0x0a, 0xe7, 0xda, 0x76, 0x2c, 0x3e, 0x8a, 0x3f, 0x67, 0xc1, 0xa9, 0x4d, 0xa6, - 0x79, 0x6b, 0xd7, 0x84, 0x44, 0xbf, 0x72, 0xee, 0x56, 0x1d, 0x7a, 0xbb, 0x88, 0xdb, 0x11, 0x6d, - 0x24, 0xb8, 0xbd, 0x32, 0xf4, 0x75, 0x0b, 0xce, 0x38, 0xf7, 0xe3, 0xb6, 0xb7, 0x1a, 0x84, 0x18, - 0xbd, 0x9a, 0xe3, 0xe4, 0xca, 0x79, 0xe5, 0x61, 0x7e, 0x72, 0x7f, 0x6f, 0xfa, 0x4c, 0x27, 0x2a, - 0xdc, 0xb1, 0x56, 0xfa, 0x7d, 0xb7, 0xc4, 0x35, 0x84, 0x62, 0x17, 0xde, 0x3a, 0x5d, 0x5a, 0xe0, - 0x4b, 0x92, 0xc4, 0x60, 0xc5, 0x11, 0xbd, 0x05, 0x95, 0x4d, 0x79, 0x33, 0x28, 0xbb, 0xe4, 0x75, - 0x19, 0xe6, 0x4e, 0x17, 0x89, 0x78, 0x68, 0xbc, 0x42, 0xe1, 0x94, 0x29, 0xba, 0x0e, 0xe5, 0x60, - 0x23, 0x16, 0x77, 0x70, 0xf3, 0x82, 0x6d, 0xcc, 0x10, 0x27, 0x7e, 0x6d, 0xf1, 0xe6, 0x52, 0x1d, - 0x53, 0x16, 0x94, 0x53, 0xb4, 0xee, 0x0a, 0xef, 0x6e, 0x0e, 0x27, 0x3c, 0x5f, 0x6d, 0xe7, 0x84, - 0xe7, 0xab, 0x98, 0xb2, 0x40, 0x35, 0xe8, 0x67, 0x97, 0x1c, 0x84, 0xeb, 0x36, 0xe7, 0xa2, 0x76, - 0xdb, 0x55, 0x0e, 0x9e, 0x68, 0x8f, 0x81, 0x31, 0x67, 0x84, 0xd6, 0x60, 0xa0, 0xc1, 0xd2, 0x92, - 0x0b, 0xbb, 0x3a, 0x2f, 0x85, 0x41, 0x5b, 0x0a, 0x73, 0x7e, 0xc4, 0xc4, 0xe1, 0x58, 0xf0, 0x62, - 0x5c, 0x49, 0x73, 0x6b, 0x23, 0x16, 0x86, 0x73, 0x1e, 0xd7, 0xb6, 0x04, 0xf3, 0x82, 0x2b, 0x83, - 0x63, 0xc1, 0x0b, 0x55, 0xa1, 0xb4, 0xd1, 0x10, 0xf9, 0x3a, 0x73, 0x5c, 0xb6, 0xe6, 0x1d, 0xd4, - 0xf9, 0x81, 0xfd, 0xbd, 0xe9, 0xd2, 0xd2, 0x02, 0x2e, 0x6d, 0x34, 0xd0, 0xeb, 0x30, 0xb8, 0xc1, - 0x6f, 0x15, 0x8a, 0xdc, 0x9c, 0x97, 0xf3, 0xae, 0x3e, 0xb6, 0x5d, 0x41, 0xe4, 0xd7, 0x1f, 0x04, - 0x02, 0x4b, 0x76, 0x2c, 0x6d, 0x99, 0xba, 0x27, 0x29, 0x92, 0x73, 0xce, 0xf4, 0x76, 0xaf, 0x52, - 0xd8, 0x93, 0x0a, 0x8a, 0x35, 0x8e, 0x54, 0xe6, 0x1d, 0xf9, 0xc2, 0x02, 0x4b, 0xcc, 0x99, 0x2b, - 0xf3, 0x1d, 0x1f, 0x64, 0xe0, 0x32, 0xaf, 0x50, 0x38, 0x65, 0x8a, 0x5a, 0x30, 0xba, 0x13, 0x37, - 0xb7, 0x88, 0x9c, 0xfa, 0x2c, 0x5b, 0xe7, 0xf0, 0x95, 0xcf, 0xe4, 0xa4, 0x60, 0x15, 0x45, 0xbc, - 0x28, 0x69, 0x39, 0x7e, 0xdb, 0x0a, 0xc6, 0xf2, 0x44, 0xdd, 0xd1, 0xd9, 0x62, 0xb3, 0x16, 0xfa, - 0x49, 0xde, 0x69, 0x85, 0xeb, 0xbb, 0x09, 0x11, 0xd9, 0x3c, 0x73, 0x3e, 0xc9, 0x6b, 0x9c, 0xb8, - 0xfd, 0x93, 0x08, 0x04, 0x96, 0xec, 0xd4, 0x90, 0xb1, 0xd5, 0x78, 0xa2, 0xf0, 0x90, 0xb5, 0xf5, - 0x21, 0x1d, 0x32, 0xb6, 0xfa, 0xa6, 0x4c, 0xd9, 0xaa, 0xdb, 0xdc, 0x0a, 0x93, 0x30, 0xc8, 0xac, - 0xfd, 0xa7, 0x8a, 0xac, 0xba, 0xb5, 0x0e, 0x25, 0xdb, 0x57, 0xdd, 0x4e, 0x54, 0xb8, 0x63, 0xad, - 0xf6, 0x1f, 0xf7, 0xb7, 0x6f, 0xb7, 0x4c, 0x19, 0xfe, 0x2b, 0xed, 0xe7, 0x8e, 0x9f, 0xeb, 0xdd, - 0xe6, 0x7b, 0x88, 0x27, 0x90, 0x5f, 0xb7, 0xe0, 0x5c, 0xb3, 0xe3, 0x66, 0x2a, 0x36, 0xac, 0x5e, - 0x4d, 0x47, 0x3e, 0x60, 0x2a, 0x55, 0x6d, 0x67, 0x3c, 0xee, 0x52, 0x67, 0x56, 0x01, 0x2d, 0x7f, - 0x60, 0x05, 0xf4, 0x2e, 0x0c, 0x31, 0x9d, 0x29, 0xcd, 0xab, 0xd1, 0x63, 0x0a, 0x0a, 0xb6, 0xf5, - 0x2d, 0x08, 0x16, 0x58, 0x31, 0xa3, 0x03, 0xf7, 0x78, 0xb6, 0x13, 0x98, 0x30, 0xb4, 0x48, 0xe7, - 0xca, 0x7d, 0x1d, 0x4b, 0x62, 0x24, 0x1e, 0xaf, 0x1d, 0x46, 0x7c, 0x90, 0x47, 0x80, 0x0f, 0xaf, - 0xec, 0x24, 0x15, 0xda, 0xbf, 0x67, 0x75, 0xd0, 0xbf, 0xb8, 0x09, 0xf2, 0x19, 0xd3, 0x04, 0x79, - 0x3a, 0x6b, 0x82, 0xb4, 0xb9, 0x0d, 0x0c, 0xeb, 0xa3, 0x78, 0x62, 0xc6, 0xa2, 0x09, 0x3f, 0x6c, - 0x1f, 0x2e, 0xe4, 0x4d, 0x6e, 0x16, 0xe1, 0xe3, 0xaa, 0xe3, 0xb2, 0x34, 0xc2, 0xc7, 0x5d, 0xae, - 0x62, 0x86, 0x29, 0x7a, 0x67, 0xdc, 0xfe, 0xf9, 0x12, 0x94, 0x6b, 0xa1, 0x7b, 0x02, 0x6e, 0x90, - 0x6b, 0x86, 0x1b, 0xe4, 0xa9, 0xdc, 0xf7, 0xa5, 0xba, 0x3a, 0x3d, 0x6e, 0x65, 0x9c, 0x1e, 0x1f, - 0xcf, 0x67, 0x75, 0xb8, 0x8b, 0xe3, 0xfb, 0x65, 0xd0, 0x5f, 0xc8, 0x42, 0xff, 0xe1, 0x28, 0x81, - 0x9f, 0xe5, 0x62, 0x8f, 0x66, 0x89, 0x3a, 0x58, 0x88, 0x90, 0xbc, 0x24, 0xf6, 0x33, 0x1b, 0xff, - 0x79, 0x97, 0x78, 0x9b, 0x5b, 0x09, 0x71, 0xb3, 0x1d, 0x3b, 0xb9, 0xf8, 0xcf, 0xff, 0x66, 0xc1, - 0x78, 0xa6, 0x76, 0xe4, 0x77, 0xba, 0x67, 0x72, 0x44, 0xc7, 0xc6, 0xa9, 0xdc, 0x8b, 0x29, 0x33, - 0x00, 0xca, 0x3f, 0x2d, 0xdd, 0x0f, 0x4c, 0x17, 0x53, 0x0e, 0xec, 0x18, 0x6b, 0x14, 0xe8, 0x25, - 0x18, 0x4e, 0xc2, 0x66, 0xe8, 0x87, 0x9b, 0xbb, 0x37, 0x88, 0xcc, 0x66, 0xa0, 0x7c, 0xfb, 0x6b, - 0x29, 0x0a, 0xeb, 0x74, 0xf6, 0x0f, 0xca, 0x90, 0x7d, 0x5f, 0xed, 0xff, 0xcb, 0xe9, 0xcf, 0x8e, - 0x9c, 0xfe, 0xa1, 0x05, 0x13, 0xb4, 0x76, 0x16, 0xe0, 0x21, 0xe3, 0x34, 0x55, 0x96, 0x78, 0xeb, - 0x90, 0x2c, 0xf1, 0x4f, 0xd3, 0xd5, 0xce, 0x0d, 0x5b, 0x89, 0x70, 0x99, 0x68, 0x8b, 0x18, 0x85, - 0x62, 0x81, 0x15, 0x74, 0x24, 0x8a, 0xc4, 0x85, 0x16, 0x9d, 0x8e, 0x44, 0x11, 0x16, 0x58, 0x99, - 0x44, 0xbe, 0xaf, 0x4b, 0x12, 0x79, 0x96, 0x0f, 0x48, 0x04, 0x16, 0x08, 0x75, 0x40, 0xcb, 0x07, - 0x24, 0x23, 0x0e, 0x52, 0x1a, 0xfb, 0xbb, 0x65, 0x18, 0xa9, 0x85, 0x6e, 0x1a, 0x80, 0xfd, 0xa2, - 0x11, 0x80, 0x7d, 0x21, 0x13, 0x80, 0x3d, 0xa1, 0xd3, 0x3e, 0x9c, 0xf8, 0x6b, 0x91, 0x37, 0x8a, - 0x3d, 0x73, 0x70, 0xc4, 0xd8, 0x6b, 0x23, 0x6f, 0x94, 0x62, 0x84, 0x4d, 0xbe, 0x7f, 0x96, 0x62, - 0xae, 0xff, 0xb7, 0x05, 0x63, 0xb5, 0xd0, 0xa5, 0x02, 0xfa, 0x67, 0x49, 0x1a, 0xf5, 0x6c, 0x53, - 0x03, 0x87, 0x64, 0x9b, 0xfa, 0x47, 0x16, 0x0c, 0xd6, 0x42, 0xf7, 0x04, 0xdc, 0x89, 0x4b, 0xa6, - 0x3b, 0xf1, 0x89, 0xdc, 0x95, 0xb7, 0x8b, 0x07, 0xf1, 0x37, 0xcb, 0x30, 0x4a, 0x5b, 0x1c, 0x6e, - 0xca, 0xef, 0x65, 0x8c, 0x8d, 0x55, 0x60, 0x6c, 0xa8, 0x4a, 0x18, 0xfa, 0x7e, 0x78, 0x3f, 0xfb, - 0xed, 0x96, 0x18, 0x14, 0x0b, 0x2c, 0xba, 0x04, 0x43, 0xcd, 0x88, 0xec, 0x78, 0x61, 0x2b, 0xce, - 0x5e, 0x8e, 0xab, 0x09, 0x38, 0x56, 0x14, 0xe8, 0x45, 0x18, 0x89, 0xbd, 0xa0, 0x41, 0x64, 0xd8, - 0x41, 0x1f, 0x0b, 0x3b, 0xe0, 0x89, 0xfd, 0x34, 0x38, 0x36, 0xa8, 0xd0, 0x5d, 0xa8, 0xb0, 0xff, - 0x6c, 0x06, 0xf5, 0x9e, 0x05, 0x9e, 0x67, 0xb3, 0x92, 0x0c, 0x70, 0xca, 0x0b, 0x5d, 0x01, 0x48, - 0x64, 0x80, 0x44, 0x2c, 0xb2, 0x72, 0x28, 0xbd, 0x54, 0x85, 0x4e, 0xc4, 0x58, 0xa3, 0x42, 0xcf, - 0x41, 0x25, 0x71, 0x3c, 0x7f, 0xc5, 0x0b, 0x48, 0x2c, 0x02, 0x4c, 0x44, 0x92, 0x5e, 0x01, 0xc4, - 0x29, 0x9e, 0xee, 0xf7, 0xec, 0x6a, 0x2e, 0x7f, 0x61, 0x62, 0x88, 0x51, 0xb3, 0xfd, 0x7e, 0x45, - 0x41, 0xb1, 0x46, 0x61, 0x5f, 0x85, 0xb3, 0xb5, 0xd0, 0xad, 0x85, 0x51, 0xb2, 0x14, 0x46, 0xf7, - 0x9d, 0xc8, 0x95, 0xdf, 0x6f, 0x5a, 0xe6, 0x86, 0xa5, 0x7b, 0x72, 0x3f, 0xf7, 0xb0, 0x19, 0xb9, - 0x5e, 0x5f, 0x60, 0x3b, 0x7e, 0x8f, 0x91, 0xfd, 0x3f, 0x2e, 0x01, 0xaa, 0xb1, 0x10, 0x0e, 0xe3, - 0x41, 0x92, 0x2d, 0x18, 0x8b, 0xc9, 0x8a, 0x17, 0xb4, 0x1e, 0x08, 0x56, 0xc5, 0xae, 0x52, 0xd4, - 0x17, 0xf5, 0x32, 0xfc, 0x1e, 0xab, 0x09, 0xc3, 0x19, 0xbe, 0x74, 0x30, 0xa3, 0x56, 0x30, 0x17, - 0xdf, 0x8e, 0x49, 0x24, 0x1e, 0xe0, 0x60, 0x83, 0x89, 0x25, 0x10, 0xa7, 0x78, 0x2a, 0x3c, 0xec, - 0xcf, 0xcd, 0x30, 0xc0, 0x61, 0x98, 0x48, 0x71, 0x63, 0x09, 0xd9, 0x35, 0x38, 0x36, 0xa8, 0xd0, - 0x12, 0xa0, 0xb8, 0xd5, 0x6c, 0xfa, 0xec, 0x54, 0xcc, 0xf1, 0xaf, 0x45, 0x61, 0xab, 0xc9, 0xa3, - 0x78, 0x45, 0x2e, 0xf3, 0x7a, 0x1b, 0x16, 0x77, 0x28, 0x41, 0x17, 0x8b, 0x8d, 0x98, 0xfd, 0x16, - 0xf7, 0x74, 0xb9, 0x77, 0xae, 0xce, 0x40, 0x58, 0xe2, 0xec, 0xaf, 0xb2, 0x0d, 0x8e, 0xbd, 0x8c, - 0x90, 0xb4, 0x22, 0x82, 0xb6, 0x61, 0xb4, 0xc9, 0x36, 0xb1, 0x24, 0x0a, 0x7d, 0x9f, 0x48, 0xfd, - 0xf2, 0x68, 0x41, 0x24, 0x3c, 0x17, 0xba, 0xce, 0x0e, 0x9b, 0xdc, 0xed, 0x9f, 0x0c, 0xb3, 0xb5, - 0x4a, 0x1c, 0x4c, 0x0e, 0x8a, 0x50, 0x51, 0xa1, 0xc9, 0x7d, 0xac, 0xc8, 0x1b, 0x47, 0xe9, 0x3e, - 0x20, 0x02, 0x4f, 0xb1, 0xe4, 0x82, 0xbe, 0xc4, 0x02, 0xa1, 0xf9, 0x02, 0x51, 0xfc, 0xe1, 0x31, - 0x4e, 0x6f, 0x04, 0x41, 0x0b, 0x16, 0x58, 0x63, 0x87, 0x56, 0x60, 0x54, 0x24, 0xd2, 0x17, 0xee, - 0x85, 0xb2, 0x61, 0x62, 0x8f, 0x62, 0x1d, 0x79, 0x90, 0x05, 0x60, 0xb3, 0x30, 0xda, 0x84, 0xc7, - 0xb5, 0x87, 0x62, 0x3a, 0x04, 0x3c, 0xf1, 0x95, 0xe7, 0x89, 0xfd, 0xbd, 0xe9, 0xc7, 0xd7, 0x0e, - 0x23, 0xc4, 0x87, 0xf3, 0x41, 0xb7, 0xe0, 0xac, 0xd3, 0x48, 0xbc, 0x1d, 0x52, 0x25, 0x8e, 0xeb, - 0x7b, 0x01, 0x31, 0x2f, 0x73, 0x3f, 0xba, 0xbf, 0x37, 0x7d, 0x76, 0xae, 0x13, 0x01, 0xee, 0x5c, - 0x0e, 0x7d, 0x06, 0x2a, 0x6e, 0x10, 0x8b, 0x31, 0x18, 0x30, 0xde, 0x45, 0xaa, 0x54, 0x6f, 0xd6, - 0x55, 0xff, 0xd3, 0x3f, 0x38, 0x2d, 0x80, 0xde, 0xe1, 0x4f, 0x4c, 0x2b, 0x6b, 0x86, 0xbf, 0xc7, - 0xf5, 0x72, 0x21, 0xfb, 0xd9, 0xb8, 0x64, 0xc1, 0x3d, 0x6f, 0x2a, 0xb0, 0xd0, 0xb8, 0x7f, 0x61, - 0x54, 0x81, 0x3e, 0x0f, 0x28, 0x26, 0xd1, 0x8e, 0xd7, 0x20, 0x73, 0x0d, 0x96, 0x0d, 0x93, 0x1d, - 0xf1, 0x0d, 0x19, 0xd1, 0xf5, 0xa8, 0xde, 0x46, 0x81, 0x3b, 0x94, 0x42, 0xd7, 0xe9, 0xca, 0xa3, - 0x43, 0x45, 0x1c, 0xa8, 0x54, 0x0c, 0x27, 0xab, 0xa4, 0x19, 0x91, 0x86, 0x93, 0x10, 0xd7, 0xe4, - 0x88, 0x33, 0xe5, 0xe8, 0xbe, 0xa4, 0x12, 0x9e, 0x83, 0x19, 0xbd, 0xd8, 0x9e, 0xf4, 0x9c, 0xda, - 0x59, 0x5b, 0x61, 0x9c, 0xdc, 0x24, 0xc9, 0xfd, 0x30, 0xba, 0xc7, 0x3c, 0xf6, 0x43, 0x5a, 0x72, - 0xb1, 0x14, 0x85, 0x75, 0x3a, 0xaa, 0x43, 0xb1, 0xa3, 0xa2, 0xe5, 0x2a, 0xf3, 0xc3, 0x0f, 0xa5, - 0x73, 0xe7, 0x3a, 0x07, 0x63, 0x89, 0x97, 0xa4, 0xcb, 0xb5, 0x05, 0xe6, 0x53, 0xcf, 0x90, 0x2e, - 0xd7, 0x16, 0xb0, 0xc4, 0xa3, 0xb0, 0xfd, 0xf5, 0xa9, 0xb1, 0x22, 0xe7, 0x1b, 0xed, 0x2b, 0x79, - 0xc1, 0x07, 0xa8, 0x1e, 0xc0, 0x84, 0x7a, 0x01, 0x8b, 0x67, 0x7d, 0x8c, 0x27, 0xc7, 0x8b, 0x3c, - 0x70, 0xdd, 0x31, 0x79, 0xa4, 0x0a, 0xfc, 0x5d, 0xce, 0xf0, 0xc4, 0x6d, 0xb5, 0x18, 0x49, 0x09, - 0x26, 0x72, 0x93, 0xd8, 0xcf, 0x42, 0x25, 0x6e, 0xad, 0xbb, 0xe1, 0xb6, 0xe3, 0x05, 0xcc, 0xf1, - 0xad, 0x3f, 0xd7, 0x2c, 0x11, 0x38, 0xa5, 0x41, 0x35, 0x18, 0x72, 0xe4, 0x4b, 0xe5, 0xa8, 0xc8, - 0xa5, 0x65, 0xf5, 0x44, 0x39, 0xf3, 0x8a, 0xaa, 0xb7, 0xc9, 0x15, 0x17, 0xf4, 0x0a, 0x8c, 0x8a, - 0x5b, 0x37, 0x24, 0x62, 0xad, 0x3e, 0x6d, 0x86, 0x7c, 0xd7, 0x25, 0x92, 0x09, 0x98, 0x49, 0x3b, - 0xf5, 0x59, 0x38, 0xd5, 0x36, 0xc5, 0x7a, 0x0a, 0x9c, 0xfb, 0xb7, 0x7d, 0x50, 0x51, 0x1e, 0x2a, - 0x34, 0x6b, 0x3a, 0x23, 0x1f, 0xcd, 0x3a, 0x23, 0x87, 0xa8, 0x42, 0xa0, 0xfb, 0x1f, 0xbf, 0xdc, - 0xe1, 0xb9, 0xd8, 0x67, 0x73, 0x65, 0xaa, 0xf8, 0x3d, 0x96, 0x1e, 0x1e, 0xd5, 0x4d, 0xad, 0x94, - 0xbe, 0x43, 0xad, 0x94, 0x82, 0xef, 0x52, 0x51, 0x7b, 0xa4, 0x19, 0xba, 0xcb, 0xb5, 0xec, 0xb3, - 0x2b, 0x35, 0x0a, 0xc4, 0x1c, 0xc7, 0xf4, 0x48, 0xba, 0x47, 0x30, 0x3d, 0x72, 0xf0, 0x88, 0x7a, - 0xa4, 0x64, 0x80, 0x53, 0x5e, 0x68, 0x07, 0x4e, 0x35, 0xcc, 0x57, 0x74, 0xd4, 0xed, 0x94, 0xe7, - 0x7b, 0x78, 0xc5, 0xa6, 0xa5, 0xbd, 0x18, 0xb0, 0x90, 0xe5, 0x87, 0xdb, 0xab, 0x40, 0xaf, 0xc0, - 0xd0, 0x3b, 0x61, 0xbc, 0xe0, 0x3b, 0x71, 0x2c, 0x16, 0x4a, 0x79, 0x13, 0x60, 0xe8, 0xb5, 0x5b, - 0x75, 0x06, 0x3f, 0xe0, 0x0f, 0xfa, 0xcb, 0xbf, 0x58, 0x15, 0xb0, 0x7f, 0x87, 0x7b, 0xc3, 0x84, - 0x7d, 0x4c, 0xe2, 0x96, 0x7f, 0x12, 0x89, 0xb3, 0x6f, 0x19, 0xa6, 0xfb, 0x43, 0xf0, 0xc7, 0xfe, - 0x7b, 0x8b, 0xf9, 0x63, 0xd7, 0xc8, 0x76, 0xd3, 0x77, 0x92, 0x93, 0x08, 0x69, 0xfc, 0x12, 0x0c, - 0x25, 0xa2, 0xb6, 0x62, 0x59, 0xbf, 0xb5, 0xe6, 0x31, 0x3f, 0xb5, 0x5a, 0xe3, 0x24, 0x14, 0x2b, - 0x86, 0xf6, 0xbf, 0xe0, 0x5f, 0x45, 0x62, 0x4e, 0xc0, 0xe8, 0xbc, 0x69, 0x1a, 0x9d, 0xcf, 0x14, - 0xee, 0x4b, 0x17, 0xe3, 0xf3, 0x07, 0x66, 0x0f, 0x98, 0x2a, 0xfa, 0xb3, 0x73, 0x60, 0x60, 0xdf, - 0x02, 0xf3, 0xb5, 0x21, 0xf4, 0x2a, 0x0f, 0x12, 0xe6, 0x8b, 0xec, 0xa5, 0x9e, 0x03, 0x84, 0xed, - 0xdf, 0x28, 0xc1, 0x19, 0xee, 0x32, 0x9c, 0xdb, 0x09, 0x3d, 0xb7, 0x16, 0xba, 0x22, 0x64, 0xda, - 0x85, 0x91, 0xa6, 0x66, 0x2a, 0x14, 0xcb, 0x07, 0xa1, 0x1b, 0x17, 0xa9, 0x7a, 0xa6, 0x43, 0xb1, - 0xc1, 0x95, 0xd6, 0x42, 0x76, 0xbc, 0x86, 0xf2, 0x40, 0x95, 0x7a, 0x5e, 0xf7, 0x54, 0x2d, 0x8b, - 0x1a, 0x1f, 0x6c, 0x70, 0x3d, 0x86, 0x04, 0xf5, 0xf6, 0xdf, 0xb1, 0xe0, 0x91, 0x2e, 0x39, 0x23, - 0x68, 0x75, 0xf7, 0x99, 0x9b, 0x56, 0x3c, 0x67, 0xa5, 0xaa, 0xe3, 0xce, 0x5b, 0x2c, 0xb0, 0x68, - 0x1d, 0x80, 0x3b, 0x5f, 0xd9, 0x93, 0xc5, 0xa5, 0x22, 0xb1, 0x12, 0x6d, 0x77, 0xb3, 0xb5, 0x6b, - 0xbb, 0xea, 0x91, 0x62, 0x8d, 0xab, 0xfd, 0x9d, 0x32, 0xf4, 0xf3, 0x57, 0x53, 0x6b, 0x30, 0xb8, - 0xc5, 0x33, 0x57, 0xf6, 0x96, 0x38, 0x33, 0x55, 0x05, 0x39, 0x00, 0x4b, 0x36, 0x68, 0x15, 0x4e, - 0x53, 0xbd, 0xc3, 0x73, 0xfc, 0x2a, 0xf1, 0x9d, 0x5d, 0x69, 0x5b, 0xf0, 0xac, 0xe5, 0x32, 0xc1, - 0xee, 0xe9, 0xe5, 0x76, 0x12, 0xdc, 0xa9, 0x1c, 0x7a, 0xb5, 0x2d, 0xe5, 0x14, 0xcf, 0x08, 0xaa, - 0x6e, 0x7b, 0x1d, 0x9e, 0x76, 0x8a, 0x6a, 0x3f, 0xcd, 0x36, 0x2b, 0x4a, 0x7b, 0x9c, 0xd2, 0xb4, - 0x9c, 0x4c, 0x5a, 0x54, 0x85, 0x89, 0xb8, 0xc5, 0x4e, 0xae, 0xd7, 0xb6, 0x22, 0x12, 0x6f, 0x85, - 0xbe, 0x2b, 0xde, 0x55, 0x53, 0x1a, 0x63, 0x3d, 0x83, 0xc7, 0x6d, 0x25, 0x28, 0x97, 0x0d, 0xc7, - 0xf3, 0x5b, 0x11, 0x49, 0xb9, 0x0c, 0x98, 0x5c, 0x96, 0x32, 0x78, 0xdc, 0x56, 0xc2, 0xfe, 0x13, - 0x0b, 0x4e, 0x77, 0x08, 0xef, 0xe0, 0x41, 0x87, 0x9b, 0x5e, 0x9c, 0xa8, 0xdc, 0xd4, 0x5a, 0xd0, - 0x21, 0x87, 0x63, 0x45, 0x41, 0xa5, 0x90, 0x9b, 0xc6, 0xd9, 0x63, 0x53, 0x71, 0x80, 0x2d, 0xb0, - 0xbd, 0x25, 0x90, 0x42, 0x17, 0xa0, 0xaf, 0x15, 0x93, 0x48, 0x3e, 0xd3, 0x24, 0x97, 0x28, 0xe6, - 0x0d, 0x61, 0x18, 0xaa, 0xec, 0x6c, 0x2a, 0x47, 0x84, 0xa6, 0xec, 0x70, 0x57, 0x04, 0xc7, 0xd9, - 0xdf, 0x2c, 0xc3, 0x78, 0x26, 0xcc, 0x8b, 0x36, 0x64, 0x3b, 0x0c, 0xbc, 0x24, 0x54, 0x49, 0x8b, - 0xf8, 0xcb, 0x30, 0xa4, 0xb9, 0xb5, 0x2a, 0xe0, 0x58, 0x51, 0xa0, 0xa7, 0xcd, 0x27, 0xac, 0xd3, - 0x36, 0xcf, 0x57, 0x8d, 0xd7, 0xec, 0x8a, 0xe6, 0xcb, 0x7f, 0x12, 0xfa, 0x9a, 0xa1, 0x7a, 0x99, - 0x54, 0x09, 0x3d, 0x9e, 0xaf, 0xd6, 0xc2, 0xd0, 0xc7, 0x0c, 0x89, 0x9e, 0x12, 0xbd, 0xcf, 0xf8, - 0x6f, 0xb1, 0xe3, 0x86, 0xb1, 0x36, 0x04, 0xcf, 0xc0, 0xe0, 0x3d, 0xb2, 0x1b, 0x79, 0xc1, 0x66, - 0xd6, 0x7b, 0x7d, 0x83, 0x83, 0xb1, 0xc4, 0x9b, 0x39, 0xf1, 0x07, 0x8f, 0x39, 0x27, 0xfe, 0x50, - 0x6e, 0xa4, 0xea, 0x6f, 0x5a, 0x30, 0xce, 0x32, 0xf9, 0x89, 0x8b, 0xb4, 0x5e, 0x18, 0x9c, 0xc0, - 0xf6, 0xf8, 0x24, 0xf4, 0x47, 0xb4, 0xd2, 0x6c, 0x5a, 0x6b, 0xd6, 0x12, 0xcc, 0x71, 0xe8, 0x31, - 0xe8, 0x63, 0x4d, 0xa0, 0x9f, 0x71, 0x84, 0xa7, 0x09, 0xae, 0x3a, 0x89, 0x83, 0x19, 0x94, 0xdd, - 0x8a, 0xc0, 0xa4, 0xe9, 0x7b, 0xbc, 0xd1, 0xa9, 0xd3, 0xe9, 0xc3, 0x76, 0x2b, 0xa2, 0x63, 0x23, - 0x1f, 0xd6, 0xad, 0x88, 0xce, 0xcc, 0x0f, 0x57, 0x51, 0xff, 0x7b, 0x09, 0xce, 0x77, 0x2c, 0x97, - 0x9e, 0x83, 0x2d, 0x19, 0xe7, 0x60, 0x57, 0x32, 0xe7, 0x60, 0xf6, 0xe1, 0xa5, 0x1f, 0xce, 0xc9, - 0x58, 0xe7, 0x03, 0xab, 0xf2, 0x09, 0x1e, 0x58, 0xf5, 0x15, 0x55, 0x1d, 0xfa, 0x73, 0x54, 0x87, - 0x3f, 0xb0, 0xe0, 0xd1, 0x8e, 0x43, 0xf6, 0xa1, 0xbb, 0x86, 0xd2, 0xb1, 0x95, 0x5d, 0x14, 0xeb, - 0x5f, 0x2e, 0x77, 0xe9, 0x15, 0x53, 0xb1, 0x2f, 0xd2, 0x55, 0x88, 0x21, 0x63, 0xa1, 0x14, 0x8d, - 0xf0, 0x15, 0x88, 0xc3, 0xb0, 0xc2, 0xa2, 0x58, 0xbb, 0xc6, 0xc1, 0x1b, 0xb9, 0x78, 0xc4, 0x09, - 0x35, 0x63, 0x7a, 0x0b, 0xf5, 0xfb, 0xc1, 0x99, 0xcb, 0x1d, 0xe8, 0xae, 0x66, 0x34, 0x95, 0x8f, - 0x62, 0x34, 0x8d, 0x74, 0x36, 0x98, 0xd0, 0x1c, 0x8c, 0x6f, 0x7b, 0x01, 0x7b, 0x4a, 0xcf, 0xd4, - 0x4a, 0xd4, 0x5d, 0xba, 0x55, 0x13, 0x8d, 0xb3, 0xf4, 0x53, 0xaf, 0xc0, 0xe8, 0xd1, 0x7d, 0x32, - 0xef, 0x97, 0xe1, 0xa3, 0x87, 0x2c, 0x0a, 0x7c, 0x77, 0x30, 0xbe, 0x8b, 0xb6, 0x3b, 0xb4, 0x7d, - 0x9b, 0x1a, 0x9c, 0xd9, 0x68, 0xf9, 0xfe, 0x2e, 0x8b, 0x22, 0x21, 0xae, 0xa4, 0x10, 0x1a, 0x9f, - 0x7a, 0xe4, 0x76, 0xa9, 0x03, 0x0d, 0xee, 0x58, 0x12, 0x7d, 0x1e, 0x50, 0xb8, 0xce, 0x72, 0x5d, - 0xba, 0xe9, 0xfd, 0x67, 0xf6, 0x09, 0xca, 0xe9, 0x54, 0xbd, 0xd5, 0x46, 0x81, 0x3b, 0x94, 0xa2, - 0xfa, 0x1f, 0x7b, 0x1f, 0x57, 0x35, 0x2b, 0xa3, 0xff, 0x61, 0x1d, 0x89, 0x4d, 0x5a, 0x74, 0x0d, - 0x4e, 0x39, 0x3b, 0x8e, 0xc7, 0xb3, 0xd7, 0x48, 0x06, 0x5c, 0x01, 0x54, 0x5e, 0x8f, 0xb9, 0x2c, - 0x01, 0x6e, 0x2f, 0x83, 0x9a, 0x86, 0x1b, 0x8b, 0xe7, 0xb6, 0xfe, 0xcc, 0x11, 0x24, 0xb8, 0xb0, - 0x63, 0xcb, 0xfe, 0x89, 0x45, 0xb7, 0xbe, 0x0e, 0xaf, 0xae, 0x19, 0xcf, 0xb5, 0x6b, 0x57, 0x5b, - 0xda, 0x9f, 0x6b, 0xe7, 0xfe, 0x40, 0x83, 0x96, 0x8b, 0x46, 0x9c, 0x06, 0xa3, 0x1a, 0xda, 0xa6, - 0xb8, 0xd1, 0xa5, 0x28, 0xd0, 0x5d, 0x18, 0x74, 0xbd, 0x1d, 0x2f, 0x0e, 0xa3, 0x02, 0x0f, 0x24, - 0xb7, 0x05, 0x38, 0xa6, 0xab, 0x65, 0x95, 0x33, 0xc1, 0x92, 0x9b, 0xfd, 0xad, 0x12, 0x8c, 0xca, - 0xfa, 0x5e, 0x6b, 0x85, 0x89, 0x73, 0x02, 0x1b, 0xfa, 0x6b, 0xc6, 0x86, 0x3e, 0x5b, 0xec, 0x7a, - 0x1b, 0x6b, 0x5c, 0xd7, 0x8d, 0xfc, 0x0b, 0x99, 0x8d, 0xfc, 0x72, 0x2f, 0x4c, 0x0f, 0xdf, 0xc0, - 0xff, 0xb5, 0x05, 0xa7, 0x0c, 0xfa, 0x13, 0xd8, 0x47, 0x6a, 0xe6, 0x3e, 0xf2, 0x5c, 0x0f, 0xbd, - 0xe9, 0xb2, 0x7f, 0x7c, 0xa7, 0x94, 0xe9, 0x05, 0xdb, 0x37, 0xbe, 0x02, 0x7d, 0x5b, 0x4e, 0xe4, - 0x16, 0x4b, 0xe3, 0xd6, 0x56, 0x7c, 0xe6, 0xba, 0x13, 0xb9, 0x7c, 0xf5, 0xbf, 0xa4, 0xde, 0x84, - 0x71, 0x22, 0x37, 0x37, 0x42, 0x9b, 0x55, 0x8a, 0xae, 0xc2, 0x40, 0xdc, 0x08, 0x9b, 0x2a, 0x16, - 0xee, 0x02, 0x7f, 0x2f, 0x86, 0x42, 0x0e, 0xf6, 0xa6, 0x91, 0x59, 0x1d, 0x05, 0x63, 0x41, 0x3f, - 0x45, 0xa0, 0xa2, 0xaa, 0x3e, 0xc6, 0x58, 0xe0, 0xf7, 0xcb, 0x70, 0xba, 0x83, 0xa4, 0xa0, 0xaf, - 0x1a, 0xa3, 0xf6, 0x4a, 0xcf, 0xa2, 0xf6, 0x01, 0xc7, 0xed, 0xab, 0xcc, 0x4a, 0x72, 0x85, 0x6c, - 0x1c, 0xa1, 0xfa, 0xdb, 0x31, 0xc9, 0x56, 0x4f, 0x41, 0xf9, 0xd5, 0xd3, 0x6a, 0x4f, 0x68, 0xf0, - 0x69, 0x35, 0xaa, 0x9d, 0xc7, 0xf8, 0x8d, 0xdf, 0xeb, 0x83, 0x33, 0x9d, 0x6e, 0xd0, 0xa2, 0x5f, - 0xb4, 0x32, 0x59, 0xda, 0x5f, 0xed, 0xfd, 0x1a, 0x2e, 0x4f, 0xdd, 0x2e, 0xb2, 0x4e, 0xcc, 0x98, - 0x79, 0xdb, 0x73, 0x47, 0x5b, 0xd4, 0xce, 0x6e, 0x55, 0x44, 0x3c, 0xdf, 0xbe, 0x5c, 0x0f, 0x3e, - 0x77, 0x84, 0xa6, 0x88, 0x94, 0xfd, 0x71, 0xe6, 0x56, 0x85, 0x04, 0xe7, 0xdf, 0xaa, 0x90, 0x6d, - 0x98, 0xda, 0x84, 0x61, 0xad, 0x5f, 0xc7, 0x28, 0x02, 0x1e, 0xdd, 0x9a, 0xb4, 0x56, 0x1f, 0xa3, - 0x18, 0xfc, 0xaa, 0x05, 0x99, 0x70, 0x15, 0xe5, 0x8a, 0xb1, 0xba, 0xba, 0x62, 0x2e, 0x40, 0x5f, - 0x14, 0xfa, 0x24, 0x9b, 0x3d, 0x1c, 0x87, 0x3e, 0xc1, 0x0c, 0xa3, 0x9e, 0x86, 0x2c, 0x77, 0x7b, - 0x1a, 0x92, 0xda, 0xe6, 0x3e, 0xd9, 0x21, 0xd2, 0x31, 0xa2, 0x16, 0xef, 0x15, 0x0a, 0xc4, 0x1c, - 0x67, 0xff, 0x7e, 0x19, 0x06, 0xb8, 0xf7, 0xe1, 0x04, 0x76, 0xe7, 0x9a, 0x70, 0x04, 0x14, 0xba, - 0xd5, 0xca, 0x5b, 0x35, 0x53, 0x75, 0x12, 0x87, 0x0b, 0x96, 0xea, 0x63, 0xea, 0x3c, 0x40, 0x33, - 0xc6, 0x28, 0x4c, 0x65, 0xec, 0x5b, 0xe0, 0x3c, 0xb4, 0x31, 0xd9, 0x02, 0x88, 0xd9, 0x63, 0x64, - 0x94, 0x87, 0xc8, 0xb9, 0xf7, 0x62, 0xa1, 0x76, 0xd4, 0x55, 0x31, 0xde, 0x9a, 0x34, 0xd9, 0x97, - 0x42, 0x60, 0x8d, 0xf7, 0xd4, 0xcb, 0x50, 0x51, 0xc4, 0x79, 0x8a, 0xff, 0x88, 0x2e, 0x9a, 0x7f, - 0x0e, 0xc6, 0x33, 0x75, 0xf5, 0x64, 0x37, 0xfc, 0x8a, 0x05, 0xe3, 0x99, 0x57, 0x94, 0xd1, 0x7b, - 0x16, 0x9c, 0xf1, 0x3b, 0x38, 0x9f, 0xc4, 0x67, 0x3e, 0x8a, 0xdb, 0x4a, 0x99, 0x0c, 0x9d, 0xb0, - 0xb8, 0x63, 0x6d, 0xf6, 0x6f, 0x59, 0x70, 0xaa, 0xed, 0xf9, 0xdd, 0x0f, 0x49, 0xe3, 0x64, 0x82, - 0xd3, 0x52, 0xe7, 0x04, 0xa7, 0xf6, 0x6f, 0x58, 0x20, 0xa4, 0xe9, 0x04, 0x74, 0xb4, 0x65, 0x53, - 0x47, 0xfb, 0x58, 0x11, 0x01, 0xed, 0xa2, 0x9c, 0xfd, 0x9e, 0x05, 0x88, 0x13, 0x64, 0x9f, 0x4b, - 0xe4, 0x8e, 0x46, 0xcd, 0xb8, 0x48, 0x25, 0x5a, 0x61, 0xb0, 0x46, 0xd5, 0x63, 0xee, 0x7b, 0xf5, - 0xcc, 0x58, 0xe7, 0x86, 0xa1, 0xcb, 0x30, 0x2c, 0x9e, 0x19, 0x5a, 0x4d, 0x9f, 0x10, 0x1b, 0x67, - 0x8f, 0x59, 0xa6, 0x60, 0xac, 0xd3, 0xd8, 0xbf, 0x53, 0x86, 0x6c, 0xd0, 0x09, 0x7a, 0x0b, 0x46, - 0x1a, 0x4e, 0xd3, 0x59, 0xf7, 0x7c, 0x2f, 0xf1, 0x48, 0x5c, 0xec, 0xb0, 0x6b, 0x41, 0x2b, 0x21, - 0x5c, 0xd5, 0x1a, 0x04, 0x1b, 0x1c, 0xd1, 0x0c, 0x40, 0x33, 0xf2, 0x76, 0x3c, 0x9f, 0x6c, 0x32, - 0xcd, 0x88, 0x45, 0xad, 0xf2, 0x73, 0x1b, 0x09, 0xc5, 0x1a, 0x45, 0x87, 0x28, 0xc7, 0xf2, 0x49, - 0x44, 0x39, 0xf6, 0xf5, 0x18, 0xe5, 0xd8, 0x5f, 0x28, 0xca, 0x11, 0xc3, 0x39, 0xe9, 0x61, 0xa6, - 0xff, 0x97, 0x3c, 0x9f, 0xf0, 0x84, 0x86, 0x22, 0xaa, 0x75, 0x6a, 0x7f, 0x6f, 0xfa, 0x1c, 0xee, - 0x48, 0x81, 0xbb, 0x94, 0xb4, 0x5b, 0x70, 0xba, 0x4e, 0x22, 0x8f, 0xe5, 0x99, 0x72, 0xd3, 0x09, - 0xf8, 0x65, 0xa8, 0x44, 0x99, 0xb9, 0xdf, 0xe3, 0x95, 0x43, 0x2d, 0x33, 0x89, 0x9c, 0xeb, 0x29, - 0x4b, 0xfb, 0x2f, 0x97, 0x60, 0x50, 0x04, 0x77, 0x9d, 0xc0, 0x56, 0x77, 0xc3, 0x30, 0x44, 0x9f, - 0xc9, 0x9b, 0xc1, 0xac, 0x59, 0x5d, 0x4d, 0xd0, 0x7a, 0xc6, 0x04, 0x7d, 0xae, 0x18, 0xbb, 0xc3, - 0x8d, 0xcf, 0x1f, 0x96, 0x60, 0xcc, 0x0c, 0x76, 0x3b, 0x81, 0x61, 0x79, 0x1d, 0x06, 0x63, 0x11, - 0x09, 0x56, 0x2a, 0x12, 0xc7, 0x92, 0xfd, 0xc4, 0xca, 0xdb, 0x20, 0x63, 0xbf, 0x24, 0xbb, 0x8e, - 0xc1, 0x66, 0xe5, 0x93, 0x08, 0x36, 0xb3, 0x7f, 0x97, 0x2d, 0xb1, 0xfa, 0x40, 0x9e, 0xc0, 0x16, - 0xf1, 0x9a, 0xb9, 0x18, 0x5f, 0x2a, 0x24, 0x11, 0xa2, 0x79, 0x5d, 0xb6, 0x8a, 0xef, 0x59, 0x30, - 0x2c, 0x08, 0x4f, 0xa0, 0x03, 0x9f, 0x37, 0x3b, 0xf0, 0x54, 0xa1, 0x0e, 0x74, 0x69, 0xf9, 0xdf, - 0x2c, 0xa9, 0x96, 0xd7, 0xc4, 0xa3, 0xb2, 0xb9, 0xf9, 0x2e, 0x87, 0x9a, 0x51, 0x98, 0x84, 0x8d, - 0xd0, 0x17, 0x5b, 0xfe, 0x63, 0xe9, 0xf5, 0x02, 0x0e, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0xcd, 0xa2, - 0xdf, 0xc3, 0x28, 0x11, 0x1b, 0x56, 0xa7, 0x27, 0x6d, 0xd7, 0xe5, 0x93, 0xe1, 0x14, 0x26, 0x6e, - 0xe6, 0xf4, 0xfa, 0x54, 0x6e, 0x7a, 0x5b, 0x40, 0x71, 0xc2, 0x1a, 0x57, 0x19, 0x86, 0xca, 0x6a, - 0xe8, 0x37, 0xbd, 0xbf, 0x37, 0x05, 0x1c, 0x2b, 0x0a, 0xfb, 0x65, 0xb6, 0xe2, 0xb2, 0xe1, 0xe9, - 0x2d, 0x90, 0xff, 0x2f, 0x0d, 0xa8, 0x81, 0x65, 0x4e, 0x9d, 0x9b, 0xfa, 0x75, 0x81, 0xa2, 0xcb, - 0x1a, 0x6d, 0x82, 0x1e, 0x39, 0x97, 0xde, 0x2e, 0x40, 0xa4, 0xed, 0xc8, 0xe0, 0xe5, 0xc2, 0x2b, - 0x65, 0x0f, 0x87, 0x04, 0x2c, 0x49, 0x10, 0xcb, 0x8c, 0xb2, 0x5c, 0xcb, 0xe6, 0x28, 0x5d, 0x90, - 0x08, 0x9c, 0xd2, 0xa0, 0x59, 0x61, 0x56, 0x98, 0x2f, 0x0e, 0x4b, 0xb3, 0x42, 0x0e, 0x89, 0x66, - 0x57, 0x5c, 0x86, 0x61, 0x95, 0xa5, 0xbd, 0xc6, 0x93, 0x6d, 0x57, 0xb8, 0x36, 0xb3, 0x98, 0x82, - 0xb1, 0x4e, 0x83, 0x96, 0xe1, 0xb4, 0xab, 0xa2, 0x8e, 0x6b, 0xad, 0x75, 0xdf, 0x6b, 0xd0, 0xa2, - 0xfc, 0xc6, 0xd0, 0x23, 0xfb, 0x7b, 0xd3, 0xa7, 0xab, 0xed, 0x68, 0xdc, 0xa9, 0x0c, 0x5a, 0x83, - 0xf1, 0x98, 0x67, 0xa3, 0x97, 0xa1, 0xa5, 0x22, 0x75, 0xdf, 0xb3, 0xf2, 0xac, 0xa2, 0x6e, 0xa2, - 0x0f, 0x18, 0x88, 0xaf, 0x09, 0x32, 0x18, 0x35, 0xcb, 0x02, 0xbd, 0x0a, 0x63, 0xbe, 0xfe, 0xd0, - 0x56, 0x4d, 0x04, 0x5f, 0xab, 0xa8, 0x0e, 0xe3, 0x19, 0xae, 0x1a, 0xce, 0x50, 0xa3, 0xd7, 0x61, - 0x52, 0x87, 0x88, 0x0c, 0x06, 0x4e, 0xb0, 0x49, 0x62, 0x91, 0x06, 0xfb, 0xb1, 0xfd, 0xbd, 0xe9, - 0xc9, 0x95, 0x2e, 0x34, 0xb8, 0x6b, 0x69, 0x74, 0x15, 0x46, 0xe4, 0x48, 0x6a, 0x81, 0xd8, 0x69, - 0x3c, 0x91, 0x86, 0xc3, 0x06, 0xe5, 0x07, 0x3b, 0x92, 0xf9, 0x0a, 0x2d, 0xac, 0x6d, 0xad, 0xe8, - 0x6d, 0x18, 0xd1, 0xdb, 0x98, 0xdd, 0x33, 0xf3, 0x1f, 0x2f, 0x13, 0x5b, 0xb4, 0x6a, 0xb9, 0x8e, - 0xc3, 0x06, 0x6f, 0xfb, 0x16, 0x0c, 0xd4, 0x77, 0xe3, 0x46, 0xe2, 0x3f, 0xac, 0xc7, 0xa6, 0x1b, - 0x30, 0x9e, 0x79, 0x95, 0x59, 0x3d, 0xef, 0x6d, 0x3d, 0xac, 0xe7, 0xbd, 0xed, 0xaf, 0x59, 0xd0, - 0xbf, 0xe6, 0x78, 0xf9, 0x0f, 0x48, 0x14, 0x69, 0x32, 0x7a, 0x09, 0x06, 0xc8, 0xc6, 0x06, 0x69, - 0xc8, 0xe7, 0xc2, 0x1f, 0x97, 0xaa, 0xcd, 0x22, 0x83, 0xd2, 0xa9, 0xc9, 0x2a, 0xe3, 0x7f, 0xb1, - 0x20, 0xb6, 0xff, 0x9d, 0x05, 0xb0, 0x16, 0xfa, 0xf2, 0xb4, 0x29, 0xa7, 0x25, 0xf3, 0x6d, 0x4f, - 0x59, 0x3c, 0xdd, 0xe1, 0x29, 0x0b, 0x94, 0x32, 0xec, 0xf0, 0x90, 0x85, 0xea, 0x4d, 0xb9, 0x50, - 0x6f, 0xfa, 0x7a, 0xe9, 0xcd, 0x37, 0x2c, 0x10, 0x81, 0x40, 0x05, 0x24, 0xc1, 0x95, 0xe9, 0xe7, - 0x8d, 0xdc, 0x24, 0xcf, 0x16, 0xb9, 0xb0, 0x23, 0x32, 0x92, 0x28, 0xd9, 0x34, 0xf2, 0x90, 0x18, - 0x5c, 0xa9, 0x61, 0x3f, 0xcc, 0xd1, 0xab, 0x4c, 0x8f, 0xcc, 0x6f, 0x57, 0x4f, 0x59, 0xd8, 0x58, - 0x76, 0x76, 0xca, 0x58, 0x65, 0xe3, 0xd2, 0xb3, 0xb3, 0x4b, 0x04, 0x4e, 0x69, 0xd0, 0x33, 0x30, - 0x18, 0xb7, 0xd6, 0x19, 0x79, 0x26, 0x2a, 0xa8, 0xce, 0xc1, 0x58, 0xe2, 0xed, 0x5f, 0x40, 0x60, - 0x74, 0xcd, 0xc8, 0xfc, 0x65, 0x3d, 0xf4, 0xcc, 0x5f, 0x6f, 0xc0, 0x10, 0xd9, 0x6e, 0x26, 0xbb, - 0x55, 0x2f, 0x2a, 0x96, 0x83, 0x71, 0x51, 0x50, 0xb7, 0x73, 0x97, 0x18, 0xac, 0x38, 0x76, 0xc9, - 0xe3, 0x56, 0xfe, 0x50, 0xe4, 0x71, 0xeb, 0xfb, 0xa9, 0xe4, 0x71, 0x7b, 0x1d, 0x06, 0x37, 0xbd, - 0x04, 0x93, 0x66, 0x28, 0x6e, 0x78, 0xe6, 0x1c, 0xdf, 0x5d, 0xe3, 0xc4, 0xed, 0xc9, 0x99, 0x04, - 0x02, 0x4b, 0x76, 0x68, 0x0d, 0x06, 0xb8, 0xed, 0x21, 0x52, 0xa3, 0x7d, 0xa2, 0x88, 0x97, 0xa6, - 0x3d, 0x4b, 0x98, 0x08, 0xfd, 0x12, 0xbc, 0x64, 0xde, 0xb6, 0xc1, 0x0f, 0x9e, 0xb7, 0x4d, 0x65, - 0x5b, 0x1b, 0x7a, 0x58, 0xd9, 0xd6, 0x8c, 0xac, 0x75, 0x95, 0xe3, 0xc8, 0x5a, 0xf7, 0x0d, 0x0b, - 0xce, 0x36, 0x3b, 0xe5, 0x7c, 0x14, 0x79, 0xd3, 0x3e, 0x7b, 0x84, 0x1c, 0x98, 0x46, 0xd5, 0xec, - 0xde, 0x5c, 0x47, 0x32, 0xdc, 0xb9, 0x62, 0x99, 0xfe, 0x6e, 0xf8, 0x83, 0xa7, 0xbf, 0x3b, 0xee, - 0x04, 0x6b, 0x69, 0x32, 0xbc, 0xd1, 0x63, 0x49, 0x86, 0x37, 0xf6, 0x10, 0x93, 0xe1, 0x69, 0x69, - 0xec, 0xc6, 0x1f, 0x6e, 0x1a, 0xbb, 0x2d, 0x18, 0x76, 0xc3, 0xfb, 0xc1, 0x7d, 0x27, 0x72, 0xe7, - 0x6a, 0xcb, 0x22, 0x6b, 0x5a, 0x4e, 0x6a, 0x8e, 0x6a, 0x5a, 0xc0, 0xa8, 0x81, 0xbb, 0x23, 0x53, - 0x24, 0xd6, 0x59, 0x8b, 0x84, 0x7e, 0xa7, 0x3e, 0x60, 0x42, 0x3f, 0x23, 0x2d, 0x1e, 0x3a, 0x8e, - 0xb4, 0x78, 0x6f, 0xb1, 0x3b, 0xfa, 0x1b, 0xde, 0xe6, 0xaa, 0xd3, 0x64, 0xf7, 0xca, 0x72, 0x6b, - 0x58, 0x90, 0xe4, 0xed, 0x35, 0x28, 0x14, 0x4e, 0x99, 0xb6, 0x27, 0xde, 0x3b, 0x73, 0xd2, 0x89, - 0xf7, 0xce, 0x1e, 0x63, 0xe2, 0xbd, 0x73, 0x27, 0x9a, 0x78, 0xef, 0x91, 0x9f, 0x4a, 0xe2, 0xbd, - 0xbf, 0x00, 0xe7, 0x0f, 0xff, 0x1c, 0x69, 0x62, 0xe7, 0x5a, 0xea, 0x32, 0xc8, 0x24, 0x76, 0x66, - 0xaa, 0x8e, 0x46, 0x55, 0x38, 0xff, 0xd7, 0x77, 0x2d, 0x78, 0xa4, 0x4b, 0x7a, 0x9c, 0xc2, 0x57, - 0x32, 0x9a, 0x30, 0xde, 0x34, 0x8b, 0x16, 0xbe, 0x44, 0x65, 0xa4, 0xe3, 0x51, 0xe1, 0x7d, 0x19, - 0x04, 0xce, 0xb2, 0x9f, 0xff, 0xd8, 0x8f, 0xde, 0x3f, 0xff, 0x91, 0x1f, 0xbf, 0x7f, 0xfe, 0x23, - 0x7f, 0xf4, 0xfe, 0xf9, 0x8f, 0xfc, 0xdc, 0xfe, 0x79, 0xeb, 0x47, 0xfb, 0xe7, 0xad, 0x1f, 0xef, - 0x9f, 0xb7, 0xfe, 0x64, 0xff, 0xbc, 0xf5, 0x8d, 0x3f, 0x3d, 0xff, 0x91, 0x2f, 0x96, 0x76, 0x2e, - 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x37, 0x41, 0x6d, 0xd5, 0x05, 0xba, 0x00, 0x00, + 0x3f, 0x9f, 0x2c, 0x5d, 0xb5, 0xec, 0xef, 0xb3, 0x19, 0x28, 0x2a, 0x59, 0x0c, 0x76, 0xc4, 0xe2, + 0xf0, 0xae, 0x05, 0x67, 0xfc, 0x0e, 0x8b, 0x92, 0x18, 0x93, 0xa3, 0x2c, 0x67, 0x8f, 0x89, 0x66, + 0x9f, 0xe9, 0x84, 0xc5, 0x1d, 0x6b, 0xa3, 0x6b, 0x7d, 0xd8, 0xa4, 0x02, 0xe7, 0xf8, 0xac, 0xe9, + 0x42, 0x07, 0xb8, 0x25, 0x60, 0x58, 0x61, 0xed, 0x3f, 0xb1, 0xe0, 0x8c, 0xea, 0xc7, 0x0d, 0xb2, + 0x5b, 0x27, 0x3e, 0x69, 0x24, 0x61, 0xf4, 0x41, 0xe9, 0xc9, 0xe3, 0xfc, 0x9b, 0xf0, 0x35, 0x69, + 0x58, 0x30, 0x28, 0xdf, 0x20, 0xbb, 0xfc, 0x03, 0xe9, 0x1d, 0x2d, 0x1f, 0xda, 0xd1, 0xdf, 0xb2, + 0x60, 0x54, 0x75, 0xf4, 0x04, 0xa6, 0xdc, 0x8a, 0x39, 0xe5, 0x3e, 0x5a, 0x50, 0x5e, 0xbb, 0x4c, + 0xb6, 0xdf, 0x2d, 0xc1, 0x59, 0x45, 0x63, 0x6c, 0x47, 0x1f, 0x90, 0xef, 0xd4, 0x5b, 0x77, 0x6f, + 0x90, 0xdd, 0xb5, 0x90, 0xea, 0x13, 0x9d, 0xbb, 0x8b, 0x2e, 0xc3, 0xb0, 0x4b, 0x36, 0x9c, 0x96, + 0x9f, 0x28, 0xb5, 0xb9, 0x9f, 0xdb, 0x53, 0xd5, 0x14, 0x8c, 0x75, 0x1a, 0x43, 0x12, 0xfa, 0x0e, + 0x95, 0x84, 0x5f, 0x19, 0x66, 0x0b, 0x57, 0xe2, 0xd0, 0xcf, 0x4b, 0x55, 0x19, 0xcd, 0x0e, 0x1a, + 0xd1, 0xed, 0x20, 0x61, 0xf3, 0x3c, 0x09, 0xfd, 0xde, 0x36, 0xdd, 0xdc, 0x4a, 0xe6, 0x9e, 0xb5, + 0x4c, 0x81, 0x98, 0xe3, 0xd0, 0x53, 0x30, 0xd8, 0x08, 0xb7, 0xb7, 0x9d, 0xc0, 0x9d, 0x2c, 0x33, + 0xe5, 0x6a, 0x98, 0xee, 0x7f, 0x0b, 0x1c, 0x84, 0x25, 0x0e, 0x3d, 0x06, 0x7d, 0x4e, 0xb4, 0x19, + 0x4f, 0xf6, 0x31, 0x9a, 0x21, 0x5a, 0xd3, 0x5c, 0xb4, 0x19, 0x63, 0x06, 0xa5, 0x4a, 0xd3, 0xfd, + 0x30, 0xba, 0xe7, 0x05, 0x9b, 0x55, 0x2f, 0x62, 0x1a, 0x90, 0xa6, 0x34, 0xdd, 0x55, 0x18, 0xac, + 0x51, 0xa1, 0x1a, 0xf4, 0x37, 0xc3, 0x28, 0x89, 0x27, 0x07, 0xd8, 0xc0, 0x3f, 0x97, 0x2b, 0x67, + 0xbc, 0xdf, 0xb5, 0x30, 0x4a, 0xd2, 0xae, 0xd0, 0x7f, 0x31, 0xe6, 0x8c, 0xd0, 0x02, 0x94, 0x49, + 0xb0, 0x33, 0x39, 0xc8, 0xf8, 0x7d, 0xe4, 0x70, 0x7e, 0x8b, 0xc1, 0xce, 0x1d, 0x27, 0x4a, 0x27, + 0xe6, 0x62, 0xb0, 0x83, 0x69, 0x69, 0xd4, 0x80, 0x8a, 0x74, 0x6a, 0xc4, 0x93, 0x43, 0x45, 0x44, + 0x11, 0x0b, 0x72, 0x4c, 0xde, 0x6e, 0x79, 0x11, 0xd9, 0x26, 0x41, 0x12, 0xa7, 0x16, 0x84, 0xc4, + 0xc6, 0x38, 0xe5, 0x8b, 0x1a, 0x30, 0xc2, 0x15, 0xad, 0xd5, 0xb0, 0x15, 0x24, 0xf1, 0x64, 0x85, + 0x35, 0x39, 0xc7, 0x44, 0xbf, 0x93, 0x96, 0x98, 0x3f, 0x23, 0xd8, 0x8f, 0x68, 0xc0, 0x18, 0x1b, + 0x4c, 0xd1, 0x1b, 0x30, 0xea, 0x7b, 0x3b, 0x24, 0x20, 0x71, 0x5c, 0x8b, 0xc2, 0x75, 0x32, 0x09, + 0xac, 0x37, 0x4f, 0xe6, 0x99, 0xab, 0xe1, 0x3a, 0x99, 0x3f, 0xb5, 0xbf, 0x37, 0x3d, 0xba, 0xa2, + 0x97, 0xc6, 0x26, 0x33, 0xf4, 0x26, 0x8c, 0x51, 0xad, 0xce, 0x4b, 0xd9, 0x0f, 0x17, 0x67, 0x8f, + 0xf6, 0xf7, 0xa6, 0xc7, 0xb0, 0x51, 0x1c, 0x67, 0xd8, 0xa1, 0x35, 0xa8, 0xf8, 0xde, 0x06, 0x69, + 0xec, 0x36, 0x7c, 0x32, 0x39, 0xc2, 0x78, 0xe7, 0x4c, 0xce, 0x15, 0x49, 0xce, 0x35, 0x69, 0xf5, + 0x17, 0xa7, 0x8c, 0xd0, 0x1d, 0x38, 0x97, 0x90, 0x68, 0xdb, 0x0b, 0x1c, 0x3a, 0xa9, 0x84, 0x9a, + 0xc7, 0x7c, 0x02, 0xa3, 0x4c, 0x6a, 0xcf, 0x8b, 0x81, 0x3d, 0xb7, 0xd6, 0x91, 0x0a, 0x77, 0x29, + 0x8d, 0x6e, 0xc1, 0x38, 0x9b, 0x4f, 0xb5, 0x96, 0xef, 0xd7, 0x42, 0xdf, 0x6b, 0xec, 0x4e, 0x8e, + 0x31, 0x86, 0x4f, 0x49, 0x4b, 0x7f, 0xd9, 0x44, 0x53, 0x0b, 0x28, 0xfd, 0x87, 0xb3, 0xa5, 0x91, + 0x0f, 0xe3, 0x31, 0x69, 0xb4, 0x22, 0x2f, 0xd9, 0xa5, 0xb2, 0x4f, 0x1e, 0x24, 0x93, 0xe3, 0x45, + 0x2c, 0xba, 0xba, 0x59, 0x88, 0xbb, 0x59, 0x32, 0x40, 0x9c, 0x65, 0x4d, 0x97, 0x8a, 0x38, 0x71, + 0xbd, 0x60, 0x72, 0x82, 0xad, 0x40, 0x6a, 0x7e, 0xd5, 0x29, 0x10, 0x73, 0x1c, 0x33, 0x94, 0xe9, + 0x8f, 0x5b, 0x74, 0x95, 0x3e, 0xc5, 0x08, 0x53, 0x43, 0x59, 0x22, 0x70, 0x4a, 0x43, 0xf7, 0xc0, + 0x24, 0xd9, 0x9d, 0x44, 0x8c, 0x54, 0x4d, 0xb5, 0xb5, 0xb5, 0xcf, 0x61, 0x0a, 0x47, 0x77, 0x60, + 0x90, 0x04, 0x3b, 0x4b, 0x51, 0xb8, 0x3d, 0x79, 0xba, 0xc8, 0x1a, 0xb0, 0xc8, 0x89, 0xf9, 0xfe, + 0x91, 0xea, 0xea, 0x02, 0x8c, 0x25, 0x33, 0xf4, 0x00, 0x26, 0x3b, 0x7c, 0x25, 0xfe, 0x51, 0xce, + 0xb0, 0x8f, 0xf2, 0x29, 0x51, 0x76, 0x72, 0xad, 0x0b, 0xdd, 0xc1, 0x21, 0x38, 0xdc, 0x95, 0xbb, + 0xbd, 0x0e, 0x63, 0x6a, 0xa1, 0x62, 0xdf, 0x1b, 0x4d, 0x43, 0x3f, 0x5d, 0x8b, 0xa5, 0xe5, 0x5a, + 0xa1, 0x83, 0x4a, 0x97, 0xe8, 0x18, 0x73, 0x38, 0x1b, 0x54, 0xef, 0x1d, 0x32, 0xbf, 0x9b, 0x10, + 0x6e, 0xc1, 0x94, 0xb5, 0x41, 0x95, 0x08, 0x9c, 0xd2, 0xd8, 0xff, 0x97, 0xeb, 0x03, 0xe9, 0x6a, + 0x58, 0x60, 0x27, 0xb8, 0x04, 0x43, 0x5b, 0x61, 0x9c, 0x50, 0x6a, 0x56, 0x47, 0x7f, 0xaa, 0x01, + 0x5c, 0x17, 0x70, 0xac, 0x28, 0xd0, 0x2b, 0x30, 0xda, 0xd0, 0x2b, 0x10, 0xdb, 0xd8, 0x59, 0x51, + 0xc4, 0xac, 0x1d, 0x9b, 0xb4, 0xe8, 0x2a, 0x0c, 0x31, 0x77, 0x6e, 0x23, 0xf4, 0x85, 0xad, 0x24, + 0x77, 0xe5, 0xa1, 0x9a, 0x80, 0x1f, 0x68, 0xbf, 0xb1, 0xa2, 0xa6, 0x16, 0x27, 0x6d, 0xc2, 0x72, + 0x4d, 0x6c, 0x20, 0xca, 0xe2, 0xbc, 0xce, 0xa0, 0x58, 0x60, 0xed, 0x7f, 0x5e, 0xd2, 0x46, 0x99, + 0x6a, 0xfa, 0x04, 0x7d, 0x1e, 0x06, 0xef, 0x3b, 0x5e, 0xe2, 0x05, 0x9b, 0x42, 0x7b, 0x78, 0xa1, + 0xe0, 0x6e, 0xc2, 0x8a, 0xdf, 0xe5, 0x45, 0xf9, 0xce, 0x27, 0xfe, 0x60, 0xc9, 0x90, 0xf2, 0x8e, + 0x5a, 0x41, 0x40, 0x79, 0x97, 0x7a, 0xe7, 0x8d, 0x79, 0x51, 0xce, 0x5b, 0xfc, 0xc1, 0x92, 0x21, + 0xda, 0x00, 0x90, 0xb2, 0x44, 0x5c, 0xe1, 0x46, 0xfd, 0x78, 0x2f, 0xec, 0xd7, 0x54, 0xe9, 0xf9, + 0x31, 0xba, 0xd7, 0xa6, 0xff, 0xb1, 0xc6, 0xd9, 0x4e, 0x98, 0x12, 0xd6, 0xde, 0x2c, 0xf4, 0x05, + 0x3a, 0xa5, 0x9d, 0x28, 0x21, 0xee, 0x5c, 0x92, 0xf5, 0x44, 0x1f, 0xae, 0x4b, 0xae, 0x79, 0xdb, + 0x44, 0x9f, 0xfe, 0x82, 0x09, 0x4e, 0xf9, 0xd9, 0xdf, 0x29, 0xc3, 0x64, 0xb7, 0xe6, 0x52, 0x91, + 0x24, 0x0f, 0xbc, 0x64, 0x81, 0xaa, 0x49, 0x96, 0x29, 0x92, 0x8b, 0x02, 0x8e, 0x15, 0x05, 0x95, + 0x8d, 0xd8, 0xdb, 0x94, 0x56, 0x41, 0x7f, 0x2a, 0x1b, 0x75, 0x06, 0xc5, 0x02, 0x4b, 0xe9, 0x22, + 0xe2, 0xc4, 0xc2, 0x8b, 0xaf, 0xc9, 0x10, 0x66, 0x50, 0x2c, 0xb0, 0xba, 0xe5, 0xdf, 0x97, 0x63, + 0xf9, 0x1b, 0x43, 0xd4, 0xff, 0x70, 0x87, 0x08, 0x7d, 0x11, 0x60, 0xc3, 0x0b, 0xbc, 0x78, 0x8b, + 0x71, 0x1f, 0xe8, 0x99, 0xbb, 0x52, 0xb2, 0x96, 0x14, 0x17, 0xac, 0x71, 0x44, 0x2f, 0xc1, 0xb0, + 0x9a, 0x9e, 0xcb, 0xd5, 0xc9, 0x41, 0xd3, 0xf3, 0x9b, 0xae, 0x55, 0x55, 0xac, 0xd3, 0xd9, 0x5f, + 0xca, 0xca, 0x8b, 0x98, 0x15, 0xda, 0xf8, 0x5a, 0x45, 0xc7, 0xb7, 0x74, 0xf8, 0xf8, 0xda, 0xff, + 0xb5, 0x0c, 0xe3, 0x46, 0x65, 0xad, 0xb8, 0xc0, 0x8a, 0xf6, 0x1a, 0xdd, 0xb0, 0x9c, 0x84, 0x88, + 0x39, 0x79, 0xa9, 0x97, 0x49, 0xa3, 0x6f, 0x6f, 0x74, 0x2e, 0x70, 0x4e, 0x68, 0x0b, 0x2a, 0xbe, + 0x13, 0x33, 0xdf, 0x01, 0x11, 0x73, 0xb1, 0x37, 0xb6, 0xa9, 0xf9, 0xe1, 0xc4, 0x89, 0xb6, 0x7b, + 0xf0, 0x5a, 0x52, 0xe6, 0x74, 0xb7, 0xa5, 0xca, 0x8e, 0x3c, 0x3a, 0x52, 0xcd, 0xa1, 0x1a, 0xd1, + 0x2e, 0xe6, 0x38, 0x74, 0x15, 0x46, 0x22, 0xc2, 0x24, 0x65, 0x81, 0xea, 0x73, 0x4c, 0xf4, 0xfa, + 0x53, 0xc5, 0x0f, 0x6b, 0x38, 0x6c, 0x50, 0xa6, 0x7a, 0xff, 0xc0, 0x21, 0x7a, 0xff, 0x33, 0x30, + 0xc8, 0x7e, 0x28, 0xa9, 0x50, 0x5f, 0x68, 0x99, 0x83, 0xb1, 0xc4, 0x67, 0x85, 0x68, 0xa8, 0xa0, + 0x10, 0x3d, 0x0b, 0x63, 0x55, 0x87, 0x6c, 0x87, 0xc1, 0x62, 0xe0, 0x36, 0x43, 0x2f, 0x48, 0xd0, + 0x24, 0xf4, 0xb1, 0xfd, 0x84, 0xcf, 0xf7, 0x3e, 0xca, 0x01, 0xf7, 0x51, 0xdd, 0xdd, 0xfe, 0x7f, + 0x16, 0x8c, 0x56, 0x89, 0x4f, 0x12, 0xc2, 0xed, 0x9e, 0x18, 0x2d, 0x01, 0xda, 0x8c, 0x9c, 0x06, + 0xa9, 0x91, 0xc8, 0x0b, 0xdd, 0x3a, 0x69, 0x84, 0x01, 0x3b, 0x71, 0xa1, 0x1b, 0xe4, 0xb9, 0xfd, + 0xbd, 0x69, 0x74, 0xad, 0x0d, 0x8b, 0x3b, 0x94, 0x40, 0x2e, 0x8c, 0x36, 0x23, 0x62, 0x38, 0xc8, + 0xac, 0x7c, 0x55, 0xa3, 0xa6, 0x17, 0xe1, 0xda, 0xb0, 0x01, 0xc2, 0x26, 0x53, 0xf4, 0x19, 0x98, + 0x08, 0xa3, 0xe6, 0x96, 0x13, 0x54, 0x49, 0x93, 0x04, 0x2e, 0x35, 0x01, 0x84, 0x59, 0x7f, 0x66, + 0x7f, 0x6f, 0x7a, 0xe2, 0x56, 0x06, 0x87, 0xdb, 0xa8, 0xed, 0x5f, 0x2b, 0xc1, 0xd9, 0x6a, 0x78, + 0x3f, 0xb8, 0xef, 0x44, 0xee, 0x5c, 0x6d, 0x99, 0xeb, 0xf5, 0xcc, 0xbb, 0x2c, 0xbd, 0xda, 0x56, + 0x57, 0xaf, 0xf6, 0x17, 0x60, 0x68, 0xc3, 0x23, 0xbe, 0x8b, 0xc9, 0x86, 0xe8, 0xde, 0xe5, 0x22, + 0x6e, 0xff, 0x25, 0x5a, 0x46, 0xfa, 0x4d, 0xb8, 0xd5, 0xb9, 0x24, 0xd8, 0x60, 0xc5, 0x10, 0xb5, + 0x60, 0x42, 0x1a, 0x2e, 0x12, 0x2b, 0x66, 0xc7, 0x0b, 0xc5, 0xec, 0x22, 0xb3, 0x1a, 0x36, 0x1e, + 0x38, 0xc3, 0x10, 0xb7, 0x55, 0x41, 0x0d, 0xce, 0x6d, 0xba, 0x37, 0xf4, 0x31, 0x59, 0x61, 0x06, + 0x27, 0xb3, 0x9d, 0x19, 0xd4, 0xfe, 0x87, 0x16, 0x3c, 0xd2, 0x36, 0x5a, 0xc2, 0xb1, 0xf0, 0xba, + 0xb4, 0xe8, 0xf9, 0xf1, 0x5c, 0x4e, 0x2b, 0x3b, 0x8e, 0x79, 0x31, 0xeb, 0xbe, 0x94, 0x6f, 0xdd, + 0xdb, 0xb7, 0xe0, 0xcc, 0xe2, 0x76, 0x33, 0xd9, 0xad, 0x7a, 0xa6, 0x33, 0xfe, 0x65, 0x18, 0xd8, + 0x26, 0xae, 0xd7, 0xda, 0x16, 0x9f, 0x75, 0x5a, 0x2e, 0xa4, 0xab, 0x0c, 0x7a, 0xb0, 0x37, 0x3d, + 0x5a, 0x4f, 0xc2, 0xc8, 0xd9, 0x24, 0x1c, 0x80, 0x05, 0xb9, 0xfd, 0x9e, 0x05, 0xe3, 0x72, 0x42, + 0xcd, 0xb9, 0x6e, 0x44, 0xe2, 0x18, 0x4d, 0x41, 0xc9, 0x6b, 0x0a, 0x46, 0x20, 0x18, 0x95, 0x96, + 0x6b, 0xb8, 0xe4, 0x35, 0xd1, 0xe7, 0xa1, 0xc2, 0xcf, 0x70, 0x52, 0xe1, 0xe8, 0xf1, 0x4c, 0x88, + 0x19, 0x53, 0x6b, 0x92, 0x07, 0x4e, 0xd9, 0x49, 0xb5, 0x92, 0x2d, 0xd5, 0x65, 0xf3, 0x44, 0xe1, + 0xba, 0x80, 0x63, 0x45, 0x81, 0x2e, 0xc2, 0x50, 0x10, 0xba, 0xfc, 0x98, 0x8d, 0x6f, 0xba, 0x4c, + 0xe4, 0x6e, 0x0a, 0x18, 0x56, 0x58, 0xfb, 0x6b, 0x16, 0x8c, 0xc8, 0x3e, 0x16, 0xd4, 0x70, 0xe9, + 0x24, 0x49, 0xb5, 0xdb, 0x74, 0x92, 0x50, 0x0d, 0x95, 0x61, 0x0c, 0xc5, 0xb4, 0xdc, 0x8b, 0x62, + 0x6a, 0xff, 0x66, 0x09, 0xc6, 0x64, 0x73, 0xea, 0xad, 0xf5, 0x98, 0xd0, 0x7d, 0xbb, 0xe2, 0xf0, + 0xc1, 0x27, 0x52, 0xce, 0x9e, 0xcf, 0x33, 0x5e, 0x8c, 0x6f, 0x96, 0xea, 0x05, 0x73, 0x92, 0x0f, + 0x4e, 0x59, 0xa2, 0x1d, 0x38, 0x15, 0x84, 0x09, 0xdb, 0x0f, 0x14, 0xbe, 0x98, 0x0f, 0x3c, 0x5b, + 0xcf, 0xa3, 0xa2, 0x9e, 0x53, 0x37, 0xb3, 0xfc, 0x70, 0x7b, 0x15, 0xe8, 0x96, 0x74, 0xca, 0x94, + 0x59, 0x5d, 0xcf, 0x16, 0xab, 0xab, 0xbb, 0x4f, 0xc6, 0xfe, 0x81, 0x05, 0x15, 0x49, 0x76, 0x12, + 0x87, 0x21, 0x77, 0x61, 0x30, 0x66, 0x9f, 0x48, 0x0e, 0xd7, 0xa5, 0x62, 0x5d, 0xe0, 0xdf, 0x35, + 0xdd, 0x04, 0xf9, 0xff, 0x18, 0x4b, 0x6e, 0xcc, 0x0d, 0xab, 0x3a, 0xf2, 0x81, 0x73, 0xc3, 0xaa, + 0x96, 0x75, 0x3f, 0xf3, 0x18, 0x35, 0xcc, 0x67, 0xaa, 0xc9, 0x35, 0x23, 0xb2, 0xe1, 0x3d, 0xc8, + 0x6a, 0x72, 0x35, 0x06, 0xc5, 0x02, 0x8b, 0x36, 0x60, 0xa4, 0x21, 0xfd, 0xb7, 0xe9, 0x12, 0xf2, + 0xb1, 0x82, 0x5e, 0x61, 0x75, 0xc0, 0xc0, 0x83, 0x56, 0x16, 0x34, 0x4e, 0xd8, 0xe0, 0x4b, 0xd7, + 0xa9, 0xf4, 0x0c, 0xb5, 0x5c, 0xd0, 0xd3, 0x11, 0x91, 0x24, 0xad, 0xa1, 0xeb, 0xf1, 0xa9, 0xfd, + 0x4d, 0x0b, 0x06, 0xb8, 0xc3, 0xaf, 0x98, 0xd7, 0x54, 0x3b, 0x3a, 0x49, 0xc7, 0xf3, 0x0e, 0x05, + 0x8a, 0x93, 0x14, 0x74, 0x17, 0x2a, 0xec, 0x07, 0x73, 0x5e, 0x94, 0x8b, 0x44, 0xf0, 0xf0, 0xfa, + 0xf5, 0xa6, 0xde, 0x91, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x5e, 0x99, 0x2e, 0x7d, 0x29, 0xa9, 0xb1, + 0xb7, 0x5b, 0x27, 0xb1, 0xb7, 0x97, 0x8e, 0x7f, 0x6f, 0x7f, 0x1b, 0xc6, 0x1b, 0xda, 0xd1, 0x4d, + 0xfa, 0xc5, 0xaf, 0x14, 0x14, 0x2b, 0xed, 0xbc, 0x87, 0x3b, 0xb8, 0x16, 0x4c, 0x76, 0x38, 0xcb, + 0x1f, 0x11, 0x18, 0xe1, 0xf2, 0x20, 0xea, 0xeb, 0x63, 0xf5, 0xcd, 0x16, 0x91, 0x30, 0xbd, 0x32, + 0x26, 0xc5, 0x75, 0x8d, 0x11, 0x36, 0xd8, 0xda, 0x7f, 0xab, 0x1f, 0xfa, 0x17, 0x77, 0x48, 0x90, + 0x9c, 0xc0, 0x52, 0xb7, 0x0d, 0x63, 0x5e, 0xb0, 0x13, 0xfa, 0x3b, 0xc4, 0xe5, 0xf8, 0xa3, 0x6d, + 0xef, 0xe7, 0x44, 0x25, 0x63, 0xcb, 0x06, 0x33, 0x9c, 0x61, 0x7e, 0x1c, 0xa6, 0xf5, 0x6b, 0x30, + 0xc0, 0x25, 0x43, 0xd8, 0xd5, 0x39, 0x0e, 0x70, 0x36, 0xb0, 0x62, 0x06, 0xa5, 0x0e, 0x00, 0xee, + 0x7b, 0x17, 0x8c, 0xd0, 0x97, 0x60, 0x6c, 0xc3, 0x8b, 0xe2, 0x84, 0x5a, 0xc7, 0x71, 0xe2, 0x6c, + 0x37, 0x8f, 0x60, 0x54, 0xab, 0x11, 0x59, 0x32, 0x38, 0xe1, 0x0c, 0x67, 0xb4, 0x09, 0xa3, 0xd4, + 0xa6, 0x4b, 0xab, 0x1a, 0xec, 0xb9, 0x2a, 0xe5, 0x53, 0x5b, 0xd1, 0x19, 0x61, 0x93, 0x2f, 0x5d, + 0x92, 0x1a, 0xcc, 0x06, 0x1c, 0x62, 0xda, 0x8d, 0x5a, 0x92, 0xb8, 0xf1, 0xc7, 0x71, 0x74, 0x65, + 0x63, 0x31, 0x14, 0x15, 0x73, 0x65, 0x4b, 0x23, 0x25, 0xec, 0x6f, 0xd3, 0xbd, 0x98, 0x8e, 0xe1, + 0x09, 0x6c, 0x5f, 0xd7, 0xcd, 0xed, 0xeb, 0xc9, 0x02, 0x5f, 0xb6, 0xcb, 0xd6, 0xf5, 0x16, 0x0c, + 0x6b, 0x1f, 0x1e, 0xcd, 0x42, 0xa5, 0x21, 0x8f, 0xf9, 0xc5, 0x2a, 0xae, 0x54, 0x29, 0x75, 0xfe, + 0x8f, 0x53, 0x1a, 0x3a, 0x2e, 0x54, 0x05, 0xcd, 0x06, 0x05, 0x51, 0x05, 0x15, 0x33, 0x8c, 0xfd, + 0x02, 0xc0, 0xe2, 0x03, 0xd2, 0x98, 0x6b, 0xb0, 0x58, 0x14, 0xed, 0x40, 0xcc, 0xea, 0x7e, 0x20, + 0x66, 0x7f, 0xcb, 0x82, 0xb1, 0xa5, 0x05, 0x43, 0xa7, 0x9f, 0x01, 0xe0, 0xba, 0xf1, 0xdd, 0xbb, + 0x37, 0xa5, 0xc3, 0x97, 0x7b, 0xe5, 0x14, 0x14, 0x6b, 0x14, 0xe8, 0x51, 0x28, 0xfb, 0xad, 0x40, + 0xa8, 0xac, 0x83, 0xfb, 0x7b, 0xd3, 0xe5, 0x95, 0x56, 0x80, 0x29, 0x4c, 0x8b, 0xbe, 0x29, 0x17, + 0x8e, 0xbe, 0xc9, 0x8f, 0x43, 0xfd, 0x46, 0x19, 0x26, 0x96, 0x7c, 0xf2, 0xc0, 0x68, 0xf5, 0xd3, + 0x30, 0xe0, 0x46, 0xde, 0x0e, 0x89, 0xb2, 0x8a, 0x40, 0x95, 0x41, 0xb1, 0xc0, 0x16, 0x0e, 0x08, + 0x7a, 0xb3, 0x7d, 0x23, 0x3f, 0xbe, 0x60, 0xa8, 0xdc, 0x3e, 0xa3, 0x0d, 0x18, 0xe4, 0x07, 0xa8, + 0xf1, 0x64, 0x3f, 0x13, 0xc5, 0x57, 0x0e, 0x6f, 0x4c, 0x76, 0x7c, 0x66, 0x84, 0x43, 0x82, 0x87, + 0x62, 0xa8, 0xb5, 0x4c, 0x40, 0xb1, 0x64, 0x3e, 0xf5, 0x49, 0x18, 0xd1, 0x29, 0x7b, 0x8a, 0xc9, + 0xf8, 0x05, 0x0b, 0x4e, 0x2f, 0xf9, 0x61, 0xe3, 0x5e, 0x26, 0x62, 0xeb, 0x25, 0x18, 0xa6, 0x93, + 0x29, 0x36, 0xc2, 0x19, 0x8d, 0xb8, 0x4d, 0x81, 0xc2, 0x3a, 0x9d, 0x56, 0xec, 0xf6, 0xed, 0xe5, + 0x6a, 0xa7, 0x70, 0x4f, 0x81, 0xc2, 0x3a, 0x9d, 0xfd, 0x7b, 0x16, 0x3c, 0x7e, 0x6d, 0x61, 0xb1, + 0x46, 0xa2, 0xd8, 0x8b, 0x13, 0x12, 0x24, 0x6d, 0x11, 0xa7, 0x54, 0x67, 0x74, 0xb5, 0xa6, 0xa4, + 0x3a, 0x63, 0x95, 0xb5, 0x42, 0x60, 0x3f, 0x28, 0x61, 0xd7, 0xdf, 0xb4, 0xe0, 0xf4, 0x35, 0x2f, + 0xc1, 0xa4, 0x19, 0x66, 0x83, 0x44, 0x23, 0xd2, 0x0c, 0x63, 0x2f, 0x09, 0xa3, 0xdd, 0x6c, 0x90, + 0x28, 0x56, 0x18, 0xac, 0x51, 0xf1, 0x9a, 0x77, 0xbc, 0x98, 0xb6, 0xb4, 0x64, 0x9a, 0xba, 0x58, + 0xc0, 0xb1, 0xa2, 0xa0, 0x1d, 0x73, 0xbd, 0x88, 0xa9, 0x0c, 0xbb, 0x62, 0x06, 0xab, 0x8e, 0x55, + 0x25, 0x02, 0xa7, 0x34, 0xf6, 0xdf, 0xb1, 0xe0, 0xec, 0x35, 0xbf, 0x15, 0x27, 0x24, 0xda, 0x88, + 0x8d, 0xc6, 0xbe, 0x00, 0x15, 0x22, 0x95, 0x7b, 0xd1, 0x56, 0xb5, 0x69, 0x28, 0xad, 0x9f, 0x47, + 0xa8, 0x2a, 0xba, 0x02, 0x81, 0x90, 0xbd, 0x85, 0xed, 0xfd, 0x56, 0x09, 0x46, 0xaf, 0xaf, 0xad, + 0xd5, 0xae, 0x91, 0x44, 0xac, 0x92, 0xf9, 0x4e, 0xa9, 0x9a, 0x66, 0x91, 0x6b, 0x7b, 0x4b, 0x66, + 0xd6, 0xb5, 0x12, 0xcf, 0x9f, 0xe1, 0x17, 0x02, 0x66, 0x96, 0x83, 0xe4, 0x56, 0x54, 0x4f, 0x22, + 0x2f, 0xd8, 0xec, 0x68, 0xc1, 0xcb, 0x95, 0xbc, 0xdc, 0x6d, 0x25, 0x47, 0x2f, 0xc0, 0x00, 0xbb, + 0xc3, 0x20, 0x55, 0x8f, 0x0f, 0x2b, 0x2d, 0x81, 0x41, 0x0f, 0xf6, 0xa6, 0x2b, 0xb7, 0xf1, 0x32, + 0xff, 0x83, 0x05, 0x29, 0x7a, 0x13, 0x86, 0xb7, 0x92, 0xa4, 0x79, 0x9d, 0x38, 0x2e, 0x89, 0xe4, + 0x2a, 0x71, 0xf1, 0xf0, 0x55, 0x82, 0x0e, 0x06, 0x2f, 0x90, 0x4e, 0xac, 0x14, 0x16, 0x63, 0x9d, + 0xa3, 0x5d, 0x07, 0x48, 0x71, 0x0f, 0xc9, 0x02, 0xb1, 0x7f, 0xbe, 0x04, 0x83, 0xd7, 0x9d, 0xc0, + 0xf5, 0x49, 0x84, 0x96, 0xa0, 0x8f, 0x3c, 0x20, 0x0d, 0xb1, 0x8d, 0xe7, 0x34, 0x3d, 0xdd, 0xea, + 0xb8, 0x57, 0x8d, 0xfe, 0xc7, 0xac, 0x3c, 0xc2, 0x30, 0x48, 0xdb, 0x7d, 0x4d, 0x45, 0x0f, 0x3f, + 0x97, 0x3f, 0x0a, 0x4a, 0x24, 0xf8, 0x3e, 0x29, 0x40, 0x58, 0x32, 0x62, 0xfe, 0xa7, 0x46, 0xb3, + 0x4e, 0x17, 0xb7, 0xa4, 0x98, 0x5d, 0xb7, 0xb6, 0x50, 0xe3, 0xe4, 0x82, 0x2f, 0xf7, 0x3f, 0x49, + 0x20, 0x4e, 0xd9, 0xd9, 0x57, 0xe1, 0x0c, 0x3b, 0xbe, 0x74, 0x92, 0x2d, 0x63, 0xce, 0xe4, 0x0a, + 0xa7, 0xfd, 0xf7, 0x4a, 0x70, 0x6a, 0xb9, 0xbe, 0x50, 0x37, 0x3d, 0x87, 0x57, 0x61, 0x84, 0x6f, + 0xcf, 0x54, 0xe8, 0x1c, 0x5f, 0x94, 0x57, 0x2e, 0xf7, 0x35, 0x0d, 0x87, 0x0d, 0x4a, 0xf4, 0x38, + 0x94, 0xbd, 0xb7, 0x83, 0x6c, 0xb4, 0xd7, 0xf2, 0x6b, 0x37, 0x31, 0x85, 0x53, 0x34, 0xdd, 0xe9, + 0xf9, 0x12, 0xa7, 0xd0, 0x6a, 0xb7, 0x7f, 0x15, 0xc6, 0xbc, 0xb8, 0x11, 0x7b, 0xcb, 0x01, 0x9d, + 0xff, 0x4e, 0x43, 0x8a, 0x6f, 0xaa, 0x9a, 0xd3, 0xa6, 0x2a, 0x2c, 0xce, 0x50, 0x6b, 0xeb, 0x6d, + 0x7f, 0x61, 0x6d, 0x21, 0x3f, 0x8c, 0xf8, 0x4b, 0x50, 0x51, 0xe1, 0x4e, 0x32, 0x9c, 0xcd, 0xea, + 0x12, 0xce, 0x96, 0xbf, 0xe0, 0x48, 0x7f, 0x6e, 0xb9, 0xa3, 0x3f, 0xf7, 0x9f, 0x58, 0x90, 0xc6, + 0x6b, 0x20, 0x0c, 0x95, 0x66, 0xc8, 0x0e, 0x4b, 0x22, 0x79, 0x2a, 0xf9, 0x54, 0x8e, 0x24, 0xf2, + 0x99, 0xc0, 0x65, 0xa5, 0x26, 0xcb, 0xe2, 0x94, 0x0d, 0x5a, 0x81, 0xc1, 0x66, 0x44, 0xea, 0x09, + 0x8b, 0x45, 0xef, 0x81, 0x23, 0x93, 0xea, 0x1a, 0x2f, 0x89, 0x25, 0x0b, 0xfb, 0x5f, 0x5b, 0x00, + 0x2b, 0xde, 0xb6, 0x97, 0x60, 0x27, 0xd8, 0x24, 0x27, 0x60, 0xec, 0xdd, 0x84, 0xbe, 0xb8, 0x49, + 0x1a, 0xc5, 0x8e, 0xbb, 0xd2, 0x96, 0xd5, 0x9b, 0xa4, 0x91, 0x7e, 0x0e, 0xfa, 0x0f, 0x33, 0x3e, + 0xf6, 0x3f, 0x05, 0x18, 0x4b, 0xc9, 0xa8, 0xc2, 0x8d, 0x9e, 0x37, 0x82, 0xb0, 0x1f, 0xcd, 0x04, + 0x61, 0x57, 0x18, 0xb5, 0x16, 0x77, 0x9d, 0x40, 0x79, 0xdb, 0x79, 0x20, 0xf4, 0xfb, 0x97, 0x8a, + 0x36, 0x88, 0xd6, 0x34, 0xb3, 0xea, 0x3c, 0xe0, 0xea, 0xd4, 0x73, 0x52, 0x90, 0x56, 0x9d, 0x07, + 0x07, 0xfc, 0x50, 0x8b, 0xcd, 0x44, 0x6a, 0x50, 0x7c, 0xf5, 0xbf, 0xa7, 0xff, 0xd9, 0xe2, 0x48, + 0xab, 0x63, 0xb5, 0x7a, 0x81, 0x70, 0x4f, 0xf6, 0x58, 0xab, 0x17, 0x64, 0x6b, 0xf5, 0x82, 0x02, + 0xb5, 0x7a, 0x01, 0x7a, 0xd7, 0x82, 0x41, 0xe1, 0xd5, 0x67, 0x11, 0x70, 0xc3, 0x57, 0x3e, 0xd1, + 0x53, 0xd5, 0xe2, 0x78, 0x80, 0x57, 0x3f, 0x2b, 0x75, 0x48, 0x01, 0xcd, 0x6d, 0x82, 0xac, 0x1a, + 0xfd, 0xaa, 0x05, 0x63, 0xe2, 0x37, 0x26, 0x6f, 0xb7, 0x48, 0x9c, 0x88, 0xdd, 0xea, 0x33, 0x47, + 0x69, 0x8d, 0x60, 0xc1, 0x1b, 0xf5, 0x71, 0xb9, 0xd4, 0x98, 0xc8, 0xdc, 0xb6, 0x65, 0xda, 0x83, + 0xbe, 0x6b, 0xc1, 0x99, 0x6d, 0xe7, 0x01, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x88, 0xf2, + 0x5b, 0xea, 0x55, 0x4e, 0xda, 0x18, 0xf1, 0xe6, 0xca, 0x00, 0x9e, 0x33, 0x9d, 0x48, 0x72, 0x1b, + 0xdd, 0xb1, 0x85, 0x53, 0x2e, 0x0c, 0x49, 0xc1, 0xec, 0xa0, 0xbd, 0xcf, 0xeb, 0x9b, 0xf2, 0xe1, + 0x33, 0x50, 0xfa, 0xbb, 0x66, 0x5e, 0x6b, 0x39, 0x41, 0xe2, 0x25, 0xbb, 0x9a, 0xae, 0xcf, 0x6a, + 0x11, 0x82, 0x78, 0x8c, 0xb5, 0x6c, 0xc1, 0x88, 0x2e, 0x73, 0xc7, 0x58, 0x53, 0x08, 0xa7, 0x3b, + 0xc8, 0xd3, 0x31, 0x56, 0xd8, 0x82, 0x47, 0xbb, 0xca, 0xc5, 0xf1, 0x55, 0x6b, 0xff, 0x2b, 0x4b, + 0x5f, 0x30, 0x4f, 0xc0, 0x83, 0xb2, 0x6a, 0x7a, 0x50, 0x2e, 0x16, 0x9d, 0x39, 0x5d, 0xdc, 0x28, + 0x1b, 0x7a, 0xf3, 0xe9, 0x46, 0x80, 0xd6, 0x60, 0xc0, 0xa7, 0x10, 0x79, 0x80, 0x75, 0xa9, 0x97, + 0xb9, 0x99, 0xea, 0x18, 0x0c, 0x1e, 0x63, 0xc1, 0xcb, 0xfe, 0xae, 0x05, 0x7d, 0x3f, 0xc5, 0x8b, + 0x21, 0x6d, 0xac, 0xc5, 0xdd, 0xe6, 0x19, 0xec, 0xdc, 0x5f, 0x7c, 0x90, 0x90, 0x20, 0x66, 0x2a, + 0x65, 0xc7, 0x21, 0xfa, 0xb5, 0x12, 0x0c, 0xd3, 0xaa, 0x64, 0x08, 0xc2, 0x2b, 0x30, 0xea, 0x3b, + 0xeb, 0xc4, 0x97, 0xde, 0xdf, 0xac, 0xf9, 0xb5, 0xa2, 0x23, 0xb1, 0x49, 0x4b, 0x0b, 0x6f, 0xe8, + 0xce, 0x71, 0xa1, 0x1a, 0xa9, 0xc2, 0x86, 0xe7, 0x1c, 0x9b, 0xb4, 0xd4, 0x02, 0xb8, 0xef, 0x24, + 0x8d, 0x2d, 0x61, 0x9a, 0xa9, 0xe6, 0xde, 0xa5, 0x40, 0xcc, 0x71, 0x68, 0x0e, 0xc6, 0xa5, 0xc4, + 0xde, 0xa1, 0x36, 0x7b, 0x18, 0x08, 0xb5, 0x51, 0x5d, 0x2e, 0xc5, 0x26, 0x1a, 0x67, 0xe9, 0xd1, + 0x27, 0x61, 0x8c, 0x0e, 0x4e, 0xd8, 0x4a, 0x64, 0x80, 0x45, 0x3f, 0x0b, 0xb0, 0x60, 0xf1, 0xb9, + 0x6b, 0x06, 0x06, 0x67, 0x28, 0xed, 0x37, 0xe1, 0xf4, 0x4a, 0xe8, 0xb8, 0xf3, 0x8e, 0xef, 0x04, + 0x0d, 0x12, 0x2d, 0x07, 0x9b, 0xb9, 0x67, 0xd1, 0xfa, 0x79, 0x71, 0x29, 0xef, 0xbc, 0xd8, 0x8e, + 0x00, 0xe9, 0x15, 0x88, 0xd0, 0xa0, 0x37, 0x60, 0xd0, 0xe3, 0x55, 0x09, 0xb1, 0xbd, 0x9c, 0xe7, + 0x5c, 0x6a, 0x6b, 0xa3, 0x16, 0xea, 0xc2, 0x01, 0x58, 0xb2, 0xa4, 0x16, 0x45, 0x27, 0x6f, 0x54, + 0xbe, 0xd1, 0x66, 0xff, 0x65, 0x0b, 0xc6, 0x6f, 0x66, 0x6e, 0x2e, 0x3e, 0x0d, 0x03, 0x31, 0x89, + 0x3a, 0xb8, 0xd6, 0xea, 0x0c, 0x8a, 0x05, 0xf6, 0xa1, 0x9b, 0xeb, 0xbf, 0x5c, 0x82, 0x0a, 0x0b, + 0x32, 0x6d, 0x52, 0xeb, 0xe0, 0xf8, 0x95, 0xd3, 0x55, 0x43, 0x39, 0xcd, 0x31, 0x1a, 0x55, 0xc3, + 0xba, 0xe9, 0xa6, 0xe8, 0xb6, 0xba, 0xd1, 0x57, 0xc8, 0x5e, 0x4c, 0x19, 0xf2, 0x5b, 0x5f, 0x63, + 0xe6, 0x05, 0x40, 0x79, 0xdb, 0x8f, 0x9d, 0xe0, 0x2a, 0xda, 0x0f, 0xdc, 0x09, 0xae, 0x6a, 0x59, + 0x97, 0xc5, 0xa9, 0xa6, 0x35, 0x9e, 0x2d, 0xdf, 0x9f, 0x66, 0xa1, 0x83, 0x8e, 0xef, 0xbd, 0x43, + 0xd4, 0xc5, 0xd8, 0x69, 0x11, 0x0a, 0x28, 0xa0, 0x07, 0x6c, 0x9d, 0x11, 0xff, 0xf8, 0xbd, 0xe7, + 0xb4, 0x88, 0x7d, 0x1d, 0xc6, 0x33, 0x43, 0x87, 0x5e, 0x82, 0xfe, 0xe6, 0x96, 0x13, 0x93, 0x4c, + 0x50, 0x4a, 0x7f, 0x8d, 0x02, 0x0f, 0xf6, 0xa6, 0xc7, 0x54, 0x01, 0x06, 0xc1, 0x9c, 0xda, 0x7e, + 0xb7, 0x04, 0x7d, 0x37, 0x43, 0xf7, 0x24, 0x44, 0xed, 0xba, 0x21, 0x6a, 0x4f, 0xe7, 0x67, 0x4d, + 0xe8, 0x2a, 0x65, 0xb5, 0x8c, 0x94, 0x5d, 0x2c, 0xc0, 0xeb, 0x70, 0x01, 0xdb, 0x86, 0x61, 0x96, + 0x95, 0x41, 0x44, 0xe5, 0xbc, 0x60, 0xd8, 0x53, 0xd3, 0x19, 0x7b, 0x6a, 0x5c, 0x23, 0xd5, 0xac, + 0xaa, 0x67, 0x60, 0x50, 0x44, 0x81, 0x64, 0x03, 0x27, 0x05, 0x2d, 0x96, 0x78, 0xfb, 0x5f, 0x94, + 0xc1, 0xc8, 0x02, 0x81, 0x7e, 0x60, 0xc1, 0x4c, 0xc4, 0x2f, 0xa1, 0xb8, 0xd5, 0x56, 0xe4, 0x05, + 0x9b, 0xf5, 0xc6, 0x16, 0x71, 0x5b, 0xbe, 0x17, 0x6c, 0x2e, 0x6f, 0x06, 0xa1, 0x02, 0x2f, 0x3e, + 0x20, 0x8d, 0x16, 0x73, 0xba, 0x16, 0x4e, 0x3e, 0xa1, 0x4e, 0x40, 0xaf, 0xec, 0xef, 0x4d, 0xcf, + 0xe0, 0x9e, 0x6a, 0xc1, 0x3d, 0xb6, 0x0a, 0xfd, 0xa1, 0x05, 0xb3, 0x3c, 0x0f, 0x42, 0xf1, 0x9e, + 0x14, 0xb2, 0x43, 0x6b, 0x92, 0x69, 0xca, 0x6e, 0x8d, 0x44, 0xdb, 0xf3, 0x2f, 0x8b, 0x41, 0x9e, + 0xad, 0xf5, 0x56, 0x2b, 0xee, 0xb5, 0x99, 0xf6, 0xbf, 0x2d, 0xc3, 0x28, 0x1d, 0xcf, 0xf4, 0xee, + 0xf3, 0x4b, 0x86, 0x98, 0x3c, 0x91, 0x11, 0x93, 0x53, 0x06, 0xf1, 0xc3, 0xb9, 0xf6, 0x1c, 0xc3, + 0x29, 0xdf, 0x89, 0x93, 0xeb, 0xc4, 0x89, 0x92, 0x75, 0xe2, 0xb0, 0x83, 0xc6, 0x6c, 0x10, 0x43, + 0x81, 0xb3, 0x4b, 0x15, 0x59, 0xb4, 0x92, 0x65, 0x86, 0xdb, 0xf9, 0xa3, 0x1d, 0x40, 0xec, 0x50, + 0x33, 0x72, 0x82, 0x98, 0xf7, 0xc5, 0x13, 0x6e, 0xda, 0xde, 0x6a, 0x9d, 0x12, 0xb5, 0xa2, 0x95, + 0x36, 0x6e, 0xb8, 0x43, 0x0d, 0xda, 0xb1, 0x75, 0x7f, 0xd1, 0x63, 0xeb, 0x81, 0x9c, 0x88, 0xe5, + 0x5f, 0xb4, 0xe0, 0x34, 0xfd, 0x2c, 0x66, 0x74, 0x6b, 0x8c, 0x42, 0x18, 0xa7, 0x62, 0xe7, 0x93, + 0x44, 0xc2, 0xc4, 0xfc, 0xca, 0xd1, 0xac, 0x4d, 0x3e, 0xa9, 0xfa, 0x76, 0xc3, 0x64, 0x86, 0xb3, + 0xdc, 0xed, 0x6f, 0x59, 0xc0, 0xc2, 0xe7, 0x4e, 0x60, 0x33, 0xbb, 0x66, 0x6e, 0x66, 0x76, 0xfe, + 0x8a, 0xd1, 0x65, 0x1f, 0x7b, 0x11, 0x26, 0x28, 0xb6, 0x16, 0x85, 0x0f, 0x76, 0xa5, 0xa2, 0x9d, + 0xef, 0xaf, 0x7d, 0xb7, 0xc4, 0xa7, 0x8d, 0xba, 0x4d, 0x87, 0x7e, 0xc9, 0x82, 0xa1, 0x86, 0xd3, + 0x74, 0x1a, 0x3c, 0x87, 0x4e, 0x01, 0x9f, 0x8c, 0x51, 0x7e, 0x66, 0x41, 0x94, 0xe5, 0xfe, 0x84, + 0x8f, 0xc9, 0xae, 0x4b, 0x70, 0xae, 0x0f, 0x41, 0x55, 0x3e, 0xe5, 0xc1, 0xa8, 0xc1, 0xec, 0x18, + 0x8d, 0xd0, 0x5f, 0xb2, 0xf8, 0x92, 0xaf, 0x0c, 0x85, 0xfb, 0x70, 0x2a, 0xd0, 0xfe, 0xd3, 0xc5, + 0x4c, 0xea, 0xc5, 0x33, 0xc5, 0x17, 0x75, 0xb6, 0x06, 0x6a, 0x81, 0x82, 0x19, 0x86, 0xb8, 0xbd, + 0x0e, 0xfb, 0xef, 0x5b, 0xf0, 0x88, 0x4e, 0xa8, 0x5d, 0x7e, 0xcc, 0xf3, 0x15, 0x57, 0x61, 0x28, + 0x6c, 0x92, 0xc8, 0x49, 0x8d, 0xa2, 0x8b, 0x72, 0xf4, 0x6f, 0x09, 0xf8, 0xc1, 0xde, 0xf4, 0x19, + 0x9d, 0xbb, 0x84, 0x63, 0x55, 0x12, 0xd9, 0x30, 0xc0, 0xc6, 0x25, 0x16, 0xd7, 0x56, 0x59, 0x46, + 0x19, 0x76, 0x42, 0x12, 0x63, 0x81, 0xb1, 0xff, 0xba, 0xc5, 0x85, 0x4d, 0x6f, 0x3a, 0xfa, 0x32, + 0x4c, 0x6c, 0x53, 0xfb, 0x69, 0xf1, 0x41, 0x93, 0x6e, 0xa3, 0xec, 0x64, 0xd8, 0x2a, 0xb2, 0x79, + 0x74, 0xe9, 0xee, 0xfc, 0xa4, 0x68, 0xfd, 0xc4, 0x6a, 0x86, 0x2d, 0x6e, 0xab, 0xc8, 0xfe, 0x23, + 0x31, 0x63, 0x99, 0x06, 0xf7, 0x0c, 0x0c, 0x36, 0x43, 0x77, 0x61, 0xb9, 0x8a, 0xc5, 0x58, 0xa9, + 0x25, 0xa7, 0xc6, 0xc1, 0x58, 0xe2, 0xd1, 0x15, 0x00, 0xf2, 0x20, 0x21, 0x51, 0xe0, 0xf8, 0xea, + 0x44, 0x57, 0x29, 0x4a, 0x8b, 0x0a, 0x83, 0x35, 0x2a, 0x5a, 0xa6, 0x19, 0x85, 0x3b, 0x9e, 0xcb, + 0xa2, 0xf6, 0xcb, 0x66, 0x99, 0x9a, 0xc2, 0x60, 0x8d, 0x8a, 0x5a, 0xad, 0xad, 0x20, 0xe6, 0x9b, + 0x98, 0xb3, 0x2e, 0x12, 0xa0, 0x0c, 0xa5, 0x56, 0xeb, 0x6d, 0x1d, 0x89, 0x4d, 0x5a, 0xfb, 0xbf, + 0x54, 0x00, 0x52, 0x35, 0x09, 0xbd, 0xdb, 0x3e, 0x43, 0x3f, 0x5e, 0x54, 0xc7, 0x7a, 0x78, 0xd3, + 0x13, 0x7d, 0xdd, 0x82, 0x61, 0xc7, 0xf7, 0xc3, 0x86, 0x93, 0xb0, 0x1e, 0x95, 0x8a, 0xae, 0x15, + 0xa2, 0x25, 0x73, 0x69, 0x59, 0xde, 0x98, 0x17, 0xe4, 0x81, 0x9f, 0x86, 0xc9, 0x6d, 0x8f, 0xde, + 0x04, 0xf4, 0x31, 0xa9, 0x66, 0xf3, 0x8f, 0x32, 0x95, 0x55, 0xb3, 0x2b, 0x6c, 0x85, 0xd4, 0x34, + 0x6c, 0xf4, 0xa6, 0x91, 0xe3, 0xa3, 0xaf, 0xc8, 0x6d, 0x49, 0x43, 0x71, 0xc8, 0x4b, 0xef, 0x81, + 0x3e, 0xaf, 0x07, 0x34, 0xf7, 0x17, 0xb9, 0x8e, 0xac, 0xe9, 0xaf, 0x39, 0xc1, 0xcc, 0x09, 0x8c, + 0xbb, 0xe6, 0x56, 0x29, 0x82, 0xb2, 0x2e, 0xe7, 0xd7, 0x90, 0xd9, 0x63, 0xd3, 0xcd, 0x31, 0x83, + 0xc0, 0xd9, 0x2a, 0xd0, 0xe7, 0x79, 0xb8, 0xf9, 0x72, 0xb0, 0x11, 0x8a, 0xc0, 0xac, 0x4b, 0x05, + 0xbe, 0xf9, 0x6e, 0x9c, 0x90, 0x6d, 0x5a, 0x26, 0xdd, 0x0d, 0x6f, 0x0a, 0x2e, 0x58, 0xf1, 0x43, + 0x6b, 0x30, 0xc0, 0x2e, 0xc7, 0xc4, 0x93, 0x43, 0x45, 0x5c, 0x67, 0xe6, 0x9d, 0xd0, 0x54, 0x05, + 0x61, 0x7f, 0x63, 0x2c, 0x78, 0xa1, 0xeb, 0xf2, 0x56, 0x78, 0xbc, 0x1c, 0xdc, 0x8e, 0x09, 0xbb, + 0x15, 0x5e, 0x99, 0xff, 0x48, 0x7a, 0xcd, 0x9b, 0xc3, 0x3b, 0x66, 0x39, 0x33, 0x4a, 0x52, 0x4d, + 0x44, 0xfc, 0x97, 0xc9, 0xd3, 0x26, 0xa1, 0x48, 0x43, 0xcd, 0x54, 0x6b, 0xe9, 0x60, 0xdf, 0x31, + 0x99, 0xe1, 0x2c, 0xf7, 0x13, 0xdc, 0x03, 0xa7, 0x7c, 0x98, 0xc8, 0x4e, 0xc9, 0x63, 0xdc, 0x71, + 0x7f, 0xd2, 0x07, 0x63, 0xa6, 0x60, 0xa0, 0x59, 0xa8, 0x08, 0x6d, 0x4a, 0x25, 0x52, 0x52, 0xf2, + 0xbf, 0x2a, 0x11, 0x38, 0xa5, 0x61, 0x29, 0xa5, 0x58, 0x71, 0x2d, 0x1c, 0x27, 0x4d, 0x29, 0xa5, + 0x30, 0x58, 0xa3, 0xa2, 0x6a, 0xeb, 0x7a, 0x18, 0x26, 0x6a, 0xe1, 0x56, 0x32, 0x33, 0xcf, 0xa0, + 0x58, 0x60, 0xe9, 0x82, 0x7d, 0x8f, 0x76, 0xc8, 0x37, 0x5d, 0x80, 0x6a, 0xc1, 0xbe, 0xa1, 0x23, + 0xb1, 0x49, 0x4b, 0x37, 0xa0, 0x30, 0x66, 0x42, 0x28, 0x94, 0xe3, 0x34, 0xbc, 0xa9, 0xce, 0x2f, + 0x8b, 0x49, 0x3c, 0xfa, 0x1c, 0x3c, 0xa2, 0xee, 0x76, 0x61, 0xee, 0x52, 0x95, 0x35, 0x0e, 0x18, + 0xf6, 0xed, 0x23, 0x0b, 0x9d, 0xc9, 0x70, 0xb7, 0xf2, 0xe8, 0x55, 0x18, 0x13, 0x8a, 0xad, 0xe4, + 0x38, 0x68, 0x9e, 0x7e, 0xdf, 0x30, 0xb0, 0x38, 0x43, 0x8d, 0xaa, 0x30, 0x41, 0x21, 0x4c, 0xa3, + 0x94, 0x1c, 0xf8, 0x1d, 0x35, 0xb5, 0x33, 0xdf, 0xc8, 0xe0, 0x71, 0x5b, 0x09, 0x34, 0x07, 0xe3, + 0x5c, 0xb7, 0xa0, 0x56, 0x1c, 0xfb, 0x0e, 0x22, 0x92, 0x52, 0x4d, 0x82, 0x5b, 0x26, 0x1a, 0x67, + 0xe9, 0xd1, 0x55, 0x18, 0x71, 0xa2, 0xc6, 0x96, 0x97, 0x90, 0x46, 0xd2, 0x8a, 0x78, 0xbe, 0x05, + 0x2d, 0x7c, 0x60, 0x4e, 0xc3, 0x61, 0x83, 0xd2, 0x7e, 0x07, 0x4e, 0x77, 0x08, 0xdb, 0xa6, 0x82, + 0xe3, 0x34, 0x3d, 0xd9, 0xa7, 0x4c, 0xa0, 0xd2, 0x5c, 0x6d, 0x59, 0xf6, 0x46, 0xa3, 0xa2, 0xd2, + 0xc9, 0x7c, 0xc9, 0x5a, 0x9e, 0x43, 0x25, 0x9d, 0x4b, 0x12, 0x81, 0x53, 0x1a, 0xfb, 0x4f, 0x2b, + 0xa0, 0xb9, 0x5a, 0x0a, 0x84, 0xa7, 0x5c, 0x85, 0x11, 0x99, 0xba, 0x53, 0x4b, 0x99, 0xa7, 0xba, + 0x79, 0x4d, 0xc3, 0x61, 0x83, 0x92, 0xb6, 0x2d, 0x90, 0x0e, 0xa4, 0x6c, 0x58, 0x94, 0xf2, 0x2c, + 0xe1, 0x94, 0x06, 0x5d, 0x82, 0xa1, 0x98, 0xf8, 0x1b, 0x2b, 0x5e, 0x70, 0x4f, 0x08, 0xb6, 0x5a, + 0x95, 0xeb, 0x02, 0x8e, 0x15, 0x05, 0x9a, 0x87, 0x72, 0xcb, 0x73, 0x85, 0x28, 0x4b, 0x95, 0xa1, + 0x7c, 0x7b, 0xb9, 0x7a, 0xb0, 0x37, 0xfd, 0x44, 0xb7, 0xdc, 0xa7, 0xd4, 0x98, 0x8e, 0x67, 0xe8, + 0xf4, 0xa3, 0x85, 0x3b, 0x39, 0xd5, 0x07, 0x7a, 0x74, 0xaa, 0x5f, 0x01, 0x10, 0xbd, 0x96, 0xb2, + 0x5c, 0x4e, 0xbf, 0xda, 0x35, 0x85, 0xc1, 0x1a, 0x15, 0x35, 0xc9, 0x1b, 0x11, 0x71, 0xa4, 0xd5, + 0xca, 0xc3, 0x89, 0x87, 0x8e, 0x6e, 0x92, 0x2f, 0x64, 0x99, 0xe1, 0x76, 0xfe, 0x28, 0x84, 0x53, + 0x2e, 0x9d, 0x48, 0x46, 0xa5, 0x95, 0xde, 0x63, 0x98, 0x69, 0x85, 0xd5, 0x2c, 0x23, 0xdc, 0xce, + 0x1b, 0x7d, 0x11, 0xa6, 0x24, 0xb0, 0xfd, 0xf6, 0x26, 0x9b, 0x2e, 0xe5, 0xf9, 0xf3, 0xfb, 0x7b, + 0xd3, 0x53, 0xd5, 0xae, 0x54, 0xf8, 0x10, 0x0e, 0xe8, 0x0d, 0x18, 0x60, 0x87, 0x30, 0xf1, 0xe4, + 0x30, 0xdb, 0xed, 0x5e, 0x2c, 0x12, 0x09, 0x4f, 0xa5, 0x7e, 0x86, 0x1d, 0xe5, 0x88, 0x18, 0xcf, + 0xf4, 0x64, 0x8b, 0x01, 0xb1, 0xe0, 0x89, 0x9a, 0x30, 0xec, 0x04, 0x41, 0x98, 0x38, 0x5c, 0x09, + 0x1b, 0x29, 0xa2, 0x47, 0x6a, 0x55, 0xcc, 0xa5, 0x65, 0x79, 0x3d, 0x2a, 0x70, 0x4c, 0xc3, 0x60, + 0xbd, 0x0a, 0x74, 0x1f, 0xc6, 0xc3, 0xfb, 0x74, 0xc1, 0x94, 0xe7, 0x10, 0xf1, 0xe4, 0xa8, 0xd9, + 0xb1, 0x1c, 0xaf, 0xaa, 0x51, 0x58, 0x5b, 0xc9, 0x4c, 0xa6, 0x38, 0x5b, 0x0b, 0x9a, 0x31, 0x7c, + 0xcb, 0x63, 0x69, 0x24, 0x73, 0xea, 0x5b, 0xd6, 0x5d, 0xc9, 0xec, 0x86, 0x30, 0x8f, 0x5e, 0x64, + 0x2b, 0xc2, 0x78, 0xe6, 0x86, 0x70, 0x8a, 0xc2, 0x3a, 0xdd, 0xd4, 0x27, 0x60, 0x58, 0x1b, 0xf8, + 0x5e, 0x42, 0x66, 0xa7, 0x5e, 0x85, 0x89, 0xec, 0x80, 0xf6, 0x14, 0x72, 0xfb, 0xbf, 0x4a, 0x30, + 0xde, 0xe1, 0x90, 0xe7, 0x9e, 0xc7, 0xc2, 0xbe, 0x8d, 0xa5, 0xef, 0x86, 0x17, 0xb8, 0x98, 0x61, + 0xcc, 0x05, 0xac, 0x54, 0x60, 0x01, 0x93, 0xab, 0x69, 0xb9, 0xeb, 0x6a, 0x2a, 0x16, 0xad, 0xbe, + 0xf7, 0xb3, 0x68, 0x99, 0xfb, 0x44, 0x7f, 0xa1, 0x7d, 0xe2, 0x21, 0x2c, 0x74, 0xc6, 0x56, 0x33, + 0x58, 0x60, 0xab, 0xf9, 0x66, 0x09, 0x26, 0xd2, 0xf0, 0x62, 0x91, 0xcf, 0xf7, 0xf8, 0xcf, 0x0c, + 0xd6, 0x8c, 0x33, 0x83, 0xbc, 0x74, 0xbd, 0x99, 0xf6, 0x75, 0x3d, 0x3f, 0x78, 0x23, 0x73, 0x7e, + 0xf0, 0x62, 0x8f, 0x7c, 0x0f, 0x3f, 0x4b, 0xf8, 0x4e, 0x09, 0xce, 0x66, 0x8b, 0x2c, 0xf8, 0x8e, + 0xb7, 0x7d, 0x02, 0xe3, 0xf5, 0x39, 0x63, 0xbc, 0x5e, 0xee, 0xad, 0x5f, 0xac, 0x91, 0x5d, 0x07, + 0xcd, 0xc9, 0x0c, 0xda, 0x27, 0x8e, 0xc2, 0xfc, 0xf0, 0x91, 0xfb, 0x7d, 0x0b, 0x1e, 0xed, 0x58, + 0xee, 0x04, 0xbc, 0xa4, 0xaf, 0x9b, 0x5e, 0xd2, 0x17, 0x8e, 0xd0, 0xbb, 0x2e, 0x6e, 0xd3, 0xff, + 0x51, 0xea, 0xd2, 0x2b, 0xe6, 0x49, 0xba, 0x05, 0xc3, 0x4e, 0xa3, 0x41, 0xe2, 0x78, 0x35, 0x74, + 0x55, 0xae, 0xa1, 0xe7, 0xd9, 0xde, 0x92, 0x82, 0x0f, 0xf6, 0xa6, 0xa7, 0xb2, 0x2c, 0x52, 0x34, + 0xd6, 0x39, 0x98, 0x59, 0xd0, 0x4a, 0xc7, 0x94, 0x05, 0xed, 0x0a, 0xc0, 0x8e, 0xb2, 0x60, 0xb3, + 0x0e, 0x2a, 0xcd, 0xb6, 0xd5, 0xa8, 0xd0, 0x5f, 0x64, 0x1a, 0x21, 0x8f, 0xa8, 0xe8, 0x33, 0x6f, + 0x2a, 0xe6, 0x7c, 0x3f, 0x3d, 0x3a, 0x83, 0x5f, 0x88, 0x54, 0xce, 0x3c, 0xc5, 0xd2, 0xfe, 0x97, + 0x65, 0xf8, 0xf0, 0x21, 0x42, 0x87, 0xe6, 0xcc, 0x03, 0xd2, 0xe7, 0xb2, 0x9e, 0x9b, 0xa9, 0x8e, + 0x85, 0x0d, 0x57, 0x4e, 0xe6, 0x5b, 0x95, 0xde, 0xf7, 0xb7, 0xfa, 0x86, 0xee, 0x67, 0xe3, 0x81, + 0x91, 0xd7, 0x8e, 0x3c, 0xad, 0x7e, 0x36, 0xfd, 0xe2, 0x5f, 0xb5, 0xe0, 0x89, 0x8e, 0x9d, 0x32, + 0xc2, 0x31, 0x66, 0xa1, 0xd2, 0xa0, 0x40, 0xed, 0x06, 0x4b, 0x7a, 0x75, 0x4c, 0x22, 0x70, 0x4a, + 0x63, 0x44, 0x5d, 0x94, 0x72, 0xa3, 0x2e, 0x7e, 0xd7, 0x82, 0x33, 0xd9, 0x46, 0x9c, 0xc0, 0x9a, + 0x53, 0x37, 0xd7, 0x9c, 0x99, 0xde, 0x3e, 0x7d, 0x97, 0xe5, 0xe6, 0x57, 0x47, 0xe1, 0x5c, 0xdb, + 0x8e, 0xc5, 0x47, 0xf1, 0xe7, 0x2c, 0x38, 0xb5, 0xc9, 0x34, 0x6f, 0xed, 0x9a, 0x90, 0xe8, 0x57, + 0xce, 0xdd, 0xaa, 0x43, 0x6f, 0x17, 0x71, 0x3b, 0xa2, 0x8d, 0x04, 0xb7, 0x57, 0x86, 0xbe, 0x66, + 0xc1, 0x19, 0xe7, 0x7e, 0xdc, 0xf6, 0x52, 0x84, 0x10, 0xa3, 0x57, 0x73, 0x9c, 0x5c, 0x39, 0x6f, + 0x4c, 0xcc, 0x4f, 0xee, 0xef, 0x4d, 0x9f, 0xe9, 0x44, 0x85, 0x3b, 0xd6, 0x4a, 0xbf, 0xef, 0x96, + 0xb8, 0x86, 0x50, 0xec, 0xc2, 0x5b, 0xa7, 0x4b, 0x0b, 0x7c, 0x49, 0x92, 0x18, 0xac, 0x38, 0xa2, + 0xb7, 0xa0, 0xb2, 0x29, 0x6f, 0x06, 0x65, 0x97, 0xbc, 0x2e, 0xc3, 0xdc, 0xe9, 0x22, 0x11, 0x0f, + 0x8d, 0x57, 0x28, 0x9c, 0x32, 0x45, 0xd7, 0xa1, 0x1c, 0x6c, 0xc4, 0xe2, 0x0e, 0x6e, 0x5e, 0xb0, + 0x8d, 0x19, 0xe2, 0xc4, 0xaf, 0x2d, 0xde, 0x5c, 0xaa, 0x63, 0xca, 0x82, 0x72, 0x8a, 0xd6, 0x5d, + 0xe1, 0xdd, 0xcd, 0xe1, 0x84, 0xe7, 0xab, 0xed, 0x9c, 0xf0, 0x7c, 0x15, 0x53, 0x16, 0xa8, 0x06, + 0xfd, 0xec, 0x92, 0x83, 0x70, 0xdd, 0xe6, 0x5c, 0xd4, 0x6e, 0xbb, 0xca, 0xc1, 0x13, 0xed, 0x31, + 0x30, 0xe6, 0x8c, 0xd0, 0x1a, 0x0c, 0x34, 0x58, 0x52, 0x74, 0x61, 0x57, 0xe7, 0xa5, 0x30, 0x68, + 0x4b, 0xa0, 0xce, 0x8f, 0x98, 0x38, 0x1c, 0x0b, 0x5e, 0x8c, 0x2b, 0x69, 0x6e, 0x6d, 0xc4, 0xc2, + 0x70, 0xce, 0xe3, 0xda, 0x96, 0xde, 0x5e, 0x70, 0x65, 0x70, 0x2c, 0x78, 0xa1, 0x2a, 0x94, 0x36, + 0x1a, 0x22, 0x5f, 0x67, 0x8e, 0xcb, 0xd6, 0xbc, 0x83, 0x3a, 0x3f, 0xb0, 0xbf, 0x37, 0x5d, 0x5a, + 0x5a, 0xc0, 0xa5, 0x8d, 0x06, 0x7a, 0x1d, 0x06, 0x37, 0xf8, 0xad, 0x42, 0x91, 0x9b, 0xf3, 0x72, + 0xde, 0xd5, 0xc7, 0xb6, 0x2b, 0x88, 0xfc, 0xfa, 0x83, 0x40, 0x60, 0xc9, 0x8e, 0xa5, 0x2d, 0x53, + 0xf7, 0x24, 0x45, 0x72, 0xce, 0x99, 0xde, 0xee, 0x55, 0x0a, 0x7b, 0x52, 0x41, 0xb1, 0xc6, 0x91, + 0xca, 0xbc, 0x23, 0xdf, 0x77, 0x60, 0x89, 0x39, 0x73, 0x65, 0xbe, 0xe3, 0x73, 0x10, 0x5c, 0xe6, + 0x15, 0x0a, 0xa7, 0x4c, 0x51, 0x0b, 0x46, 0x77, 0xe2, 0xe6, 0x16, 0x91, 0x53, 0x9f, 0x65, 0xeb, + 0x1c, 0xbe, 0xf2, 0xa9, 0x9c, 0x14, 0xac, 0xa2, 0x88, 0x17, 0x25, 0x2d, 0xc7, 0x6f, 0x5b, 0xc1, + 0x58, 0x9e, 0xa8, 0x3b, 0x3a, 0x5b, 0x6c, 0xd6, 0x42, 0x3f, 0xc9, 0xdb, 0xad, 0x70, 0x7d, 0x37, + 0x21, 0x22, 0x9b, 0x67, 0xce, 0x27, 0x79, 0x8d, 0x13, 0xb7, 0x7f, 0x12, 0x81, 0xc0, 0x92, 0x9d, + 0x1a, 0x32, 0xb6, 0x1a, 0x4f, 0x14, 0x1e, 0xb2, 0xb6, 0x3e, 0xa4, 0x43, 0xc6, 0x56, 0xdf, 0x94, + 0x29, 0x5b, 0x75, 0x9b, 0x5b, 0x61, 0x12, 0x06, 0x99, 0xb5, 0xff, 0x54, 0x91, 0x55, 0xb7, 0xd6, + 0xa1, 0x64, 0xfb, 0xaa, 0xdb, 0x89, 0x0a, 0x77, 0xac, 0xd5, 0xfe, 0xa3, 0xfe, 0xf6, 0xed, 0x96, + 0x29, 0xc3, 0x7f, 0xad, 0xfd, 0xdc, 0xf1, 0x33, 0xbd, 0xdb, 0x7c, 0x0f, 0xf1, 0x04, 0xf2, 0x6b, + 0x16, 0x9c, 0x6b, 0x76, 0xdc, 0x4c, 0xc5, 0x86, 0xd5, 0xab, 0xe9, 0xc8, 0x07, 0x4c, 0xa5, 0xaa, + 0xed, 0x8c, 0xc7, 0x5d, 0xea, 0xcc, 0x2a, 0xa0, 0xe5, 0xf7, 0xad, 0x80, 0xde, 0x85, 0x21, 0xa6, + 0x33, 0xa5, 0x79, 0x35, 0x7a, 0x4c, 0x41, 0xc1, 0xb6, 0xbe, 0x05, 0xc1, 0x02, 0x2b, 0x66, 0x74, + 0xe0, 0x1e, 0xcf, 0x76, 0x02, 0x13, 0x86, 0x16, 0xe9, 0x5c, 0xb9, 0xaf, 0x63, 0x49, 0x8c, 0xc4, + 0xe3, 0xb5, 0xc3, 0x88, 0x0f, 0xf2, 0x08, 0xf0, 0xe1, 0x95, 0x9d, 0xa4, 0x42, 0xfb, 0x8f, 0xac, + 0x0e, 0xfa, 0x17, 0x37, 0x41, 0x3e, 0x65, 0x9a, 0x20, 0x4f, 0x67, 0x4d, 0x90, 0x36, 0xb7, 0x81, + 0x61, 0x7d, 0x14, 0x4f, 0xcc, 0x58, 0x34, 0xe1, 0x87, 0xed, 0xc3, 0x85, 0xbc, 0xc9, 0xcd, 0x22, + 0x7c, 0x5c, 0x75, 0x5c, 0x96, 0x46, 0xf8, 0xb8, 0xcb, 0x55, 0xcc, 0x30, 0x45, 0xef, 0x8c, 0xdb, + 0x3f, 0x5f, 0x82, 0x72, 0x2d, 0x74, 0x4f, 0xc0, 0x0d, 0x72, 0xcd, 0x70, 0x83, 0x3c, 0x95, 0xfb, + 0xba, 0x55, 0x57, 0xa7, 0xc7, 0xad, 0x8c, 0xd3, 0xe3, 0xa3, 0xf9, 0xac, 0x0e, 0x77, 0x71, 0x7c, + 0xb7, 0x0c, 0xfa, 0xfb, 0x5c, 0xe8, 0x3f, 0x1f, 0x25, 0xf0, 0xb3, 0x5c, 0xec, 0xc9, 0x2e, 0x51, + 0x07, 0x0b, 0x11, 0x92, 0x97, 0xc4, 0x7e, 0x66, 0xe3, 0x3f, 0xef, 0x12, 0x6f, 0x73, 0x2b, 0x21, + 0x6e, 0xb6, 0x63, 0x27, 0x17, 0xff, 0xf9, 0x27, 0x16, 0x8c, 0x67, 0x6a, 0x47, 0x7e, 0xa7, 0x7b, + 0x26, 0x47, 0x74, 0x6c, 0x9c, 0xca, 0xbd, 0x98, 0x32, 0x03, 0xa0, 0xfc, 0xd3, 0xd2, 0xfd, 0xc0, + 0x74, 0x31, 0xe5, 0xc0, 0x8e, 0xb1, 0x46, 0x81, 0x5e, 0x82, 0xe1, 0x24, 0x6c, 0x86, 0x7e, 0xb8, + 0xb9, 0x7b, 0x83, 0xc8, 0x6c, 0x06, 0xca, 0xb7, 0xbf, 0x96, 0xa2, 0xb0, 0x4e, 0x67, 0x7f, 0xaf, + 0x0c, 0xd9, 0xd7, 0xdd, 0xfe, 0x5c, 0x4e, 0x7f, 0x76, 0xe4, 0xf4, 0x0f, 0x2c, 0x98, 0xa0, 0xb5, + 0xb3, 0x00, 0x0f, 0x19, 0xa7, 0xa9, 0xb2, 0xc4, 0x5b, 0x87, 0x64, 0x89, 0x7f, 0x9a, 0xae, 0x76, + 0x6e, 0xd8, 0x4a, 0x84, 0xcb, 0x44, 0x5b, 0xc4, 0x28, 0x14, 0x0b, 0xac, 0xa0, 0x23, 0x51, 0x24, + 0x2e, 0xb4, 0xe8, 0x74, 0x24, 0x8a, 0xb0, 0xc0, 0xca, 0x24, 0xf2, 0x7d, 0x5d, 0x92, 0xc8, 0xb3, + 0x7c, 0x40, 0x22, 0xb0, 0x40, 0xa8, 0x03, 0x5a, 0x3e, 0x20, 0x19, 0x71, 0x90, 0xd2, 0xd8, 0xdf, + 0x2e, 0xc3, 0x48, 0x2d, 0x74, 0xd3, 0x00, 0xec, 0x17, 0x8d, 0x00, 0xec, 0x0b, 0x99, 0x00, 0xec, + 0x09, 0x9d, 0xf6, 0xe1, 0xc4, 0x5f, 0x8b, 0xbc, 0x51, 0xec, 0x99, 0x83, 0x23, 0xc6, 0x5e, 0x1b, + 0x79, 0xa3, 0x14, 0x23, 0x6c, 0xf2, 0xfd, 0xb3, 0x14, 0x73, 0xfd, 0x7f, 0x2c, 0x18, 0xab, 0x85, + 0x2e, 0x15, 0xd0, 0x3f, 0x4b, 0xd2, 0xa8, 0x67, 0x9b, 0x1a, 0x38, 0x24, 0xdb, 0xd4, 0x3f, 0xb3, + 0x60, 0xb0, 0x16, 0xba, 0x27, 0xe0, 0x4e, 0x5c, 0x32, 0xdd, 0x89, 0x4f, 0xe4, 0xae, 0xbc, 0x5d, + 0x3c, 0x88, 0xbf, 0x51, 0x86, 0x51, 0xda, 0xe2, 0x70, 0x53, 0x7e, 0x2f, 0x63, 0x6c, 0xac, 0x02, + 0x63, 0x43, 0x55, 0xc2, 0xd0, 0xf7, 0xc3, 0xfb, 0xd9, 0x6f, 0xb7, 0xc4, 0xa0, 0x58, 0x60, 0xd1, + 0x25, 0x18, 0x6a, 0x46, 0x64, 0xc7, 0x0b, 0x5b, 0x71, 0xf6, 0x72, 0x5c, 0x4d, 0xc0, 0xb1, 0xa2, + 0x40, 0x2f, 0xc2, 0x48, 0xec, 0x05, 0x0d, 0x22, 0xc3, 0x0e, 0xfa, 0x58, 0xd8, 0x01, 0x4f, 0xec, + 0xa7, 0xc1, 0xb1, 0x41, 0x85, 0xee, 0x42, 0x85, 0xfd, 0x67, 0x33, 0xa8, 0xf7, 0x2c, 0xf0, 0x3c, + 0x9b, 0x95, 0x64, 0x80, 0x53, 0x5e, 0xe8, 0x0a, 0x40, 0x22, 0x03, 0x24, 0x62, 0x91, 0x95, 0x43, + 0xe9, 0xa5, 0x2a, 0x74, 0x22, 0xc6, 0x1a, 0x15, 0x7a, 0x0e, 0x2a, 0x89, 0xe3, 0xf9, 0x2b, 0x5e, + 0x40, 0x62, 0x11, 0x60, 0x22, 0x92, 0xf4, 0x0a, 0x20, 0x4e, 0xf1, 0x74, 0xbf, 0x67, 0x57, 0x73, + 0xf9, 0x0b, 0x13, 0x43, 0x8c, 0x9a, 0xed, 0xf7, 0x2b, 0x0a, 0x8a, 0x35, 0x0a, 0xfb, 0x2a, 0x9c, + 0xad, 0x85, 0x6e, 0x2d, 0x8c, 0x92, 0xa5, 0x30, 0xba, 0xef, 0x44, 0xae, 0xfc, 0x7e, 0xd3, 0x32, + 0x37, 0x2c, 0xdd, 0x93, 0xfb, 0xb9, 0x87, 0xcd, 0xc8, 0xf5, 0xfa, 0x02, 0xdb, 0xf1, 0x7b, 0x8c, + 0xec, 0xff, 0x51, 0x09, 0x50, 0x8d, 0x85, 0x70, 0x18, 0x0f, 0x92, 0x6c, 0xc1, 0x58, 0x4c, 0x56, + 0xbc, 0xa0, 0xf5, 0x40, 0xb0, 0x2a, 0x76, 0x95, 0xa2, 0xbe, 0xa8, 0x97, 0xe1, 0xf7, 0x58, 0x4d, + 0x18, 0xce, 0xf0, 0xa5, 0x83, 0x19, 0xb5, 0x82, 0xb9, 0xf8, 0x76, 0x4c, 0x22, 0xf1, 0x00, 0x07, + 0x1b, 0x4c, 0x2c, 0x81, 0x38, 0xc5, 0x53, 0xe1, 0x61, 0x7f, 0x6e, 0x86, 0x01, 0x0e, 0xc3, 0x44, + 0x8a, 0x1b, 0x4b, 0xc8, 0xae, 0xc1, 0xb1, 0x41, 0x85, 0x96, 0x00, 0xc5, 0xad, 0x66, 0xd3, 0x67, + 0xa7, 0x62, 0x8e, 0x7f, 0x2d, 0x0a, 0x5b, 0x4d, 0x1e, 0xc5, 0x2b, 0x72, 0x99, 0xd7, 0xdb, 0xb0, + 0xb8, 0x43, 0x09, 0xba, 0x58, 0x6c, 0xc4, 0xec, 0xb7, 0xb8, 0xa7, 0xcb, 0xbd, 0x73, 0x75, 0x06, + 0xc2, 0x12, 0x67, 0x7f, 0x85, 0x6d, 0x70, 0xec, 0x65, 0x84, 0xa4, 0x15, 0x11, 0xb4, 0x0d, 0xa3, + 0x4d, 0xb6, 0x89, 0x25, 0x51, 0xe8, 0xfb, 0x44, 0xea, 0x97, 0x47, 0x0b, 0x22, 0xe1, 0xb9, 0xd0, + 0x75, 0x76, 0xd8, 0xe4, 0x6e, 0xff, 0x78, 0x98, 0xad, 0x55, 0xe2, 0x60, 0x72, 0x50, 0x84, 0x8a, + 0x0a, 0x4d, 0xee, 0x23, 0x45, 0xde, 0x38, 0x4a, 0xf7, 0x01, 0x11, 0x78, 0x8a, 0x25, 0x17, 0xf4, + 0x05, 0x16, 0x08, 0xcd, 0x17, 0x88, 0xe2, 0x4f, 0x94, 0x71, 0x7a, 0x23, 0x08, 0x5a, 0xb0, 0xc0, + 0x1a, 0x3b, 0xb4, 0x02, 0xa3, 0x22, 0x91, 0xbe, 0x70, 0x2f, 0x94, 0x0d, 0x13, 0x7b, 0x14, 0xeb, + 0xc8, 0x83, 0x2c, 0x00, 0x9b, 0x85, 0xd1, 0x26, 0x3c, 0xae, 0x3d, 0x14, 0xd3, 0x21, 0xe0, 0x89, + 0xaf, 0x3c, 0x4f, 0xec, 0xef, 0x4d, 0x3f, 0xbe, 0x76, 0x18, 0x21, 0x3e, 0x9c, 0x0f, 0xba, 0x05, + 0x67, 0x9d, 0x46, 0xe2, 0xed, 0x90, 0x2a, 0x71, 0x5c, 0xdf, 0x0b, 0x88, 0x79, 0x99, 0xfb, 0xd1, + 0xfd, 0xbd, 0xe9, 0xb3, 0x73, 0x9d, 0x08, 0x70, 0xe7, 0x72, 0xe8, 0x53, 0x50, 0x71, 0x83, 0x58, + 0x8c, 0xc1, 0x80, 0xf1, 0x2e, 0x52, 0xa5, 0x7a, 0xb3, 0xae, 0xfa, 0x9f, 0xfe, 0xc1, 0x69, 0x01, + 0xf4, 0x36, 0x7f, 0xe0, 0x5a, 0x59, 0x33, 0xfc, 0x3d, 0xae, 0x97, 0x0b, 0xd9, 0xcf, 0xc6, 0x25, + 0x0b, 0xee, 0x79, 0x53, 0x81, 0x85, 0xc6, 0xfd, 0x0b, 0xa3, 0x0a, 0xf4, 0x59, 0x40, 0x31, 0x89, + 0x76, 0xbc, 0x06, 0x99, 0x6b, 0xb0, 0x6c, 0x98, 0xec, 0x88, 0x6f, 0xc8, 0x88, 0xae, 0x47, 0xf5, + 0x36, 0x0a, 0xdc, 0xa1, 0x14, 0xba, 0x4e, 0x57, 0x1e, 0x1d, 0x2a, 0xe2, 0x40, 0xa5, 0x62, 0x38, + 0x59, 0x25, 0xcd, 0x88, 0x34, 0x9c, 0x84, 0xb8, 0x26, 0x47, 0x9c, 0x29, 0x47, 0xf7, 0x25, 0x95, + 0xf0, 0x1c, 0xcc, 0xe8, 0xc5, 0xf6, 0xa4, 0xe7, 0xd4, 0xce, 0xda, 0x0a, 0xe3, 0xe4, 0x26, 0x49, + 0xee, 0x87, 0xd1, 0x3d, 0xe6, 0xb1, 0x1f, 0xd2, 0x92, 0x8b, 0xa5, 0x28, 0xac, 0xd3, 0x51, 0x1d, + 0x8a, 0x1d, 0x15, 0x2d, 0x57, 0x99, 0x1f, 0x7e, 0x28, 0x9d, 0x3b, 0xd7, 0x39, 0x18, 0x4b, 0xbc, + 0x24, 0x5d, 0xae, 0x2d, 0x30, 0x9f, 0x7a, 0x86, 0x74, 0xb9, 0xb6, 0x80, 0x25, 0x1e, 0x85, 0xed, + 0xaf, 0x4f, 0x8d, 0x15, 0x39, 0xdf, 0x68, 0x5f, 0xc9, 0x0b, 0x3e, 0x40, 0xf5, 0x00, 0x26, 0xd4, + 0x0b, 0x58, 0x3c, 0xeb, 0x63, 0x3c, 0x39, 0x5e, 0xe4, 0x79, 0xed, 0x8e, 0xc9, 0x23, 0x55, 0xe0, + 0xef, 0x72, 0x86, 0x27, 0x6e, 0xab, 0xc5, 0x48, 0x4a, 0x30, 0x91, 0x9b, 0xc4, 0x7e, 0x16, 0x2a, + 0x71, 0x6b, 0xdd, 0x0d, 0xb7, 0x1d, 0x2f, 0x60, 0x8e, 0x6f, 0xfd, 0xb1, 0x68, 0x89, 0xc0, 0x29, + 0x0d, 0xaa, 0xc1, 0x90, 0x23, 0xdf, 0x49, 0x47, 0x45, 0x2e, 0x2d, 0xab, 0x07, 0xd2, 0x99, 0x57, + 0x54, 0xbd, 0x8c, 0xae, 0xb8, 0xa0, 0x57, 0x60, 0x54, 0xdc, 0xba, 0x21, 0x11, 0x6b, 0xf5, 0x69, + 0x33, 0xe4, 0xbb, 0x2e, 0x91, 0x4c, 0xc0, 0x4c, 0xda, 0xa9, 0x4f, 0xc3, 0xa9, 0xb6, 0x29, 0xd6, + 0x53, 0xe0, 0xdc, 0x7f, 0xe8, 0x83, 0x8a, 0xf2, 0x50, 0xa1, 0x59, 0xd3, 0x19, 0xf9, 0x68, 0xd6, + 0x19, 0x39, 0x44, 0x15, 0x02, 0xdd, 0xff, 0xf8, 0xc5, 0x0e, 0x8f, 0xd5, 0x3e, 0x9b, 0x2b, 0x53, + 0xc5, 0xef, 0xb1, 0xf4, 0xf0, 0xa4, 0x6f, 0x6a, 0xa5, 0xf4, 0x1d, 0x6a, 0xa5, 0x14, 0x7c, 0x97, + 0x8a, 0xda, 0x23, 0xcd, 0xd0, 0x5d, 0xae, 0x65, 0x9f, 0x5d, 0xa9, 0x51, 0x20, 0xe6, 0x38, 0xa6, + 0x47, 0xd2, 0x3d, 0x82, 0xe9, 0x91, 0x83, 0x47, 0xd4, 0x23, 0x25, 0x03, 0x9c, 0xf2, 0x42, 0x3b, + 0x70, 0xaa, 0x61, 0xbe, 0xa2, 0xa3, 0x6e, 0xa7, 0x3c, 0xdf, 0xc3, 0x2b, 0x36, 0x2d, 0xed, 0xc5, + 0x80, 0x85, 0x2c, 0x3f, 0xdc, 0x5e, 0x05, 0x7a, 0x05, 0x86, 0xde, 0x0e, 0xe3, 0x05, 0xdf, 0x89, + 0x63, 0xb1, 0x50, 0xca, 0x9b, 0x00, 0x43, 0xaf, 0xdd, 0xaa, 0x33, 0xf8, 0xc1, 0xde, 0xf4, 0x70, + 0x2d, 0x74, 0xe5, 0x5f, 0xac, 0x0a, 0xd8, 0xbf, 0xc3, 0xbd, 0x61, 0xc2, 0x3e, 0x26, 0x71, 0xcb, + 0x3f, 0x89, 0xc4, 0xd9, 0xb7, 0x0c, 0xd3, 0xfd, 0x21, 0xf8, 0x63, 0xff, 0x93, 0xc5, 0xfc, 0xb1, + 0x6b, 0x64, 0xbb, 0xe9, 0x3b, 0xc9, 0x49, 0x84, 0x34, 0x7e, 0x01, 0x86, 0x12, 0x51, 0x5b, 0xb1, + 0xac, 0xdf, 0x5a, 0xf3, 0x98, 0x9f, 0x5a, 0xad, 0x71, 0x12, 0x8a, 0x15, 0x43, 0xfb, 0xdf, 0xf0, + 0xaf, 0x22, 0x31, 0x27, 0x60, 0x74, 0xde, 0x34, 0x8d, 0xce, 0x67, 0x0a, 0xf7, 0xa5, 0x8b, 0xf1, + 0xf9, 0x3d, 0xb3, 0x07, 0x4c, 0x15, 0xfd, 0xd9, 0x39, 0x30, 0xb0, 0x6f, 0x81, 0xf9, 0xda, 0x10, + 0x7a, 0x95, 0x07, 0x09, 0xf3, 0x45, 0xf6, 0x52, 0xcf, 0x01, 0xc2, 0xf6, 0xaf, 0x97, 0xe0, 0x0c, + 0x77, 0x19, 0xce, 0xed, 0x84, 0x9e, 0x5b, 0x0b, 0x5d, 0x11, 0x32, 0xed, 0xc2, 0x48, 0x53, 0x33, + 0x15, 0x8a, 0xe5, 0x83, 0xd0, 0x8d, 0x8b, 0x54, 0x3d, 0xd3, 0xa1, 0xd8, 0xe0, 0x4a, 0x6b, 0x21, + 0x3b, 0x5e, 0x43, 0x79, 0xa0, 0x4a, 0x3d, 0xaf, 0x7b, 0xaa, 0x96, 0x45, 0x8d, 0x0f, 0x36, 0xb8, + 0x1e, 0x43, 0x82, 0x7a, 0xfb, 0x1f, 0x58, 0xf0, 0x48, 0x97, 0x9c, 0x11, 0xb4, 0xba, 0xfb, 0xcc, + 0x4d, 0x2b, 0x9e, 0xb3, 0x52, 0xd5, 0x71, 0xe7, 0x2d, 0x16, 0x58, 0xb4, 0x0e, 0xc0, 0x9d, 0xaf, + 0xec, 0x71, 0xe3, 0x52, 0x91, 0x58, 0x89, 0xb6, 0xbb, 0xd9, 0xda, 0xb5, 0x5d, 0xf5, 0x9c, 0xb1, + 0xc6, 0xd5, 0xfe, 0x56, 0x19, 0xfa, 0xf9, 0xab, 0xa9, 0x35, 0x18, 0xdc, 0xe2, 0x99, 0x2b, 0x7b, + 0x4b, 0x9c, 0x99, 0xaa, 0x82, 0x1c, 0x80, 0x25, 0x1b, 0xb4, 0x0a, 0xa7, 0xa9, 0xde, 0xe1, 0x39, + 0x7e, 0x95, 0xf8, 0xce, 0xae, 0xb4, 0x2d, 0x78, 0xd6, 0x72, 0x99, 0x60, 0xf7, 0xf4, 0x72, 0x3b, + 0x09, 0xee, 0x54, 0x0e, 0xbd, 0xda, 0x96, 0x72, 0x8a, 0x67, 0x04, 0x55, 0xb7, 0xbd, 0x0e, 0x4f, + 0x3b, 0x45, 0xb5, 0x9f, 0x66, 0x9b, 0x15, 0xa5, 0x3d, 0x4e, 0x69, 0x5a, 0x4e, 0x26, 0x2d, 0xaa, + 0xc2, 0x44, 0xdc, 0x62, 0x27, 0xd7, 0x6b, 0x5b, 0x11, 0x89, 0xb7, 0x42, 0xdf, 0x15, 0xef, 0xaa, + 0x29, 0x8d, 0xb1, 0x9e, 0xc1, 0xe3, 0xb6, 0x12, 0x94, 0xcb, 0x86, 0xe3, 0xf9, 0xad, 0x88, 0xa4, + 0x5c, 0x06, 0x4c, 0x2e, 0x4b, 0x19, 0x3c, 0x6e, 0x2b, 0x61, 0xff, 0xb1, 0x05, 0xa7, 0x3b, 0x84, + 0x77, 0xf0, 0xa0, 0xc3, 0x4d, 0x2f, 0x4e, 0x54, 0x6e, 0x6a, 0x2d, 0xe8, 0x90, 0xc3, 0xb1, 0xa2, + 0xa0, 0x52, 0xc8, 0x4d, 0xe3, 0xec, 0xb1, 0xa9, 0x38, 0xc0, 0x16, 0xd8, 0xde, 0x12, 0x48, 0xa1, + 0x0b, 0xd0, 0xd7, 0x8a, 0x49, 0x24, 0x9f, 0x69, 0x92, 0x4b, 0x14, 0xf3, 0x86, 0x30, 0x0c, 0x55, + 0x76, 0x36, 0x95, 0x23, 0x42, 0x53, 0x76, 0xb8, 0x2b, 0x82, 0xe3, 0xec, 0x6f, 0x94, 0x61, 0x3c, + 0x13, 0xe6, 0x45, 0x1b, 0xb2, 0x1d, 0x06, 0x5e, 0x12, 0xaa, 0xa4, 0x45, 0xfc, 0x65, 0x18, 0xd2, + 0xdc, 0x5a, 0x15, 0x70, 0xac, 0x28, 0xd0, 0xd3, 0xe6, 0x13, 0xd6, 0x69, 0x9b, 0xe7, 0xab, 0xc6, + 0x6b, 0x76, 0x45, 0xf3, 0xe5, 0x3f, 0x09, 0x7d, 0xcd, 0x50, 0xbd, 0x4c, 0xaa, 0x84, 0x1e, 0xcf, + 0x57, 0x6b, 0x61, 0xe8, 0x63, 0x86, 0x44, 0x4f, 0x89, 0xde, 0x67, 0xfc, 0xb7, 0xd8, 0x71, 0xc3, + 0x58, 0x1b, 0x82, 0x67, 0x60, 0xf0, 0x1e, 0xd9, 0x8d, 0xbc, 0x60, 0x33, 0xeb, 0xbd, 0xbe, 0xc1, + 0xc1, 0x58, 0xe2, 0xcd, 0x9c, 0xf8, 0x83, 0xc7, 0x9c, 0x13, 0x7f, 0x28, 0x37, 0x52, 0xf5, 0x37, + 0x2c, 0x18, 0x67, 0x99, 0xfc, 0xc4, 0x45, 0x5a, 0x2f, 0x0c, 0x4e, 0x60, 0x7b, 0x7c, 0x12, 0xfa, + 0x23, 0x5a, 0x69, 0x36, 0xad, 0x35, 0x6b, 0x09, 0xe6, 0x38, 0xf4, 0x18, 0xf4, 0xb1, 0x26, 0xd0, + 0xcf, 0x38, 0xc2, 0xd3, 0x04, 0x57, 0x9d, 0xc4, 0xc1, 0x0c, 0xca, 0x6e, 0x45, 0x60, 0xd2, 0xf4, + 0x3d, 0xde, 0xe8, 0xd4, 0xe9, 0xf4, 0x41, 0xbb, 0x15, 0xd1, 0xb1, 0x91, 0x0f, 0xeb, 0x56, 0x44, + 0x67, 0xe6, 0x87, 0xab, 0xa8, 0xff, 0xb3, 0x04, 0xe7, 0x3b, 0x96, 0x4b, 0xcf, 0xc1, 0x96, 0x8c, + 0x73, 0xb0, 0x2b, 0x99, 0x73, 0x30, 0xfb, 0xf0, 0xd2, 0x0f, 0xe7, 0x64, 0xac, 0xf3, 0x81, 0x55, + 0xf9, 0x04, 0x0f, 0xac, 0xfa, 0x8a, 0xaa, 0x0e, 0xfd, 0x39, 0xaa, 0xc3, 0xef, 0x5b, 0xf0, 0x68, + 0xc7, 0x21, 0xfb, 0xc0, 0x5d, 0x43, 0xe9, 0xd8, 0xca, 0x2e, 0x8a, 0xf5, 0x2f, 0x97, 0xbb, 0xf4, + 0x8a, 0xa9, 0xd8, 0x17, 0xe9, 0x2a, 0xc4, 0x90, 0xb1, 0x50, 0x8a, 0x46, 0xf8, 0x0a, 0xc4, 0x61, + 0x58, 0x61, 0x51, 0xac, 0x5d, 0xe3, 0xe0, 0x8d, 0x5c, 0x3c, 0xe2, 0x84, 0x9a, 0x31, 0xbd, 0x85, + 0xfa, 0xfd, 0xe0, 0xcc, 0xe5, 0x0e, 0x74, 0x57, 0x33, 0x9a, 0xca, 0x47, 0x31, 0x9a, 0x46, 0x3a, + 0x1b, 0x4c, 0x68, 0x0e, 0xc6, 0xb7, 0xbd, 0x80, 0x3d, 0xa5, 0x67, 0x6a, 0x25, 0xea, 0x2e, 0xdd, + 0xaa, 0x89, 0xc6, 0x59, 0xfa, 0xa9, 0x57, 0x60, 0xf4, 0xe8, 0x3e, 0x99, 0xf7, 0xca, 0xf0, 0xe1, + 0x43, 0x16, 0x05, 0xbe, 0x3b, 0x18, 0xdf, 0x45, 0xdb, 0x1d, 0xda, 0xbe, 0x4d, 0x0d, 0xce, 0x6c, + 0xb4, 0x7c, 0x7f, 0x97, 0x45, 0x91, 0x10, 0x57, 0x52, 0x08, 0x8d, 0x4f, 0x3d, 0x72, 0xbb, 0xd4, + 0x81, 0x06, 0x77, 0x2c, 0x89, 0x3e, 0x0b, 0x28, 0x5c, 0x67, 0xb9, 0x2e, 0xdd, 0xf4, 0xfe, 0x33, + 0xfb, 0x04, 0xe5, 0x74, 0xaa, 0xde, 0x6a, 0xa3, 0xc0, 0x1d, 0x4a, 0x51, 0xfd, 0x8f, 0xbd, 0x8f, + 0xab, 0x9a, 0x95, 0xd1, 0xff, 0xb0, 0x8e, 0xc4, 0x26, 0x2d, 0xba, 0x06, 0xa7, 0x9c, 0x1d, 0xc7, + 0xe3, 0xd9, 0x6b, 0x24, 0x03, 0xae, 0x00, 0x2a, 0xaf, 0xc7, 0x5c, 0x96, 0x00, 0xb7, 0x97, 0x41, + 0x4d, 0xc3, 0x8d, 0xc5, 0x73, 0x5b, 0x7f, 0xea, 0x08, 0x12, 0x5c, 0xd8, 0xb1, 0x65, 0xff, 0xd8, + 0xa2, 0x5b, 0x5f, 0x87, 0x57, 0xd7, 0x8c, 0xe7, 0xda, 0xb5, 0xab, 0x2d, 0xed, 0xcf, 0xb5, 0x73, + 0x7f, 0xa0, 0x41, 0xcb, 0x45, 0x23, 0x4e, 0x83, 0x51, 0x0d, 0x6d, 0x53, 0xdc, 0xe8, 0x52, 0x14, + 0xe8, 0x2e, 0x0c, 0xba, 0xde, 0x8e, 0x17, 0x87, 0x51, 0x81, 0x07, 0x92, 0xdb, 0x02, 0x1c, 0xd3, + 0xd5, 0xb2, 0xca, 0x99, 0x60, 0xc9, 0xcd, 0xfe, 0x95, 0x12, 0x8c, 0xca, 0xfa, 0x5e, 0x6b, 0x85, + 0x89, 0x73, 0x02, 0x1b, 0xfa, 0x6b, 0xc6, 0x86, 0x3e, 0x5b, 0xec, 0x7a, 0x1b, 0x6b, 0x5c, 0xd7, + 0x8d, 0xfc, 0x73, 0x99, 0x8d, 0xfc, 0x72, 0x2f, 0x4c, 0x0f, 0xdf, 0xc0, 0xff, 0x9d, 0x05, 0xa7, + 0x0c, 0xfa, 0x13, 0xd8, 0x47, 0x6a, 0xe6, 0x3e, 0xf2, 0x5c, 0x0f, 0xbd, 0xe9, 0xb2, 0x7f, 0x7c, + 0xab, 0x94, 0xe9, 0x05, 0xdb, 0x37, 0xbe, 0x0c, 0x7d, 0x5b, 0x4e, 0xe4, 0x16, 0x4b, 0xe3, 0xd6, + 0x56, 0x7c, 0xe6, 0xba, 0x13, 0xb9, 0x7c, 0xf5, 0xbf, 0xa4, 0xde, 0x84, 0x71, 0x22, 0x37, 0x37, + 0x42, 0x9b, 0x55, 0x8a, 0xae, 0xc2, 0x40, 0xdc, 0x08, 0x9b, 0x2a, 0x16, 0xee, 0x02, 0x7f, 0x2f, + 0x86, 0x42, 0x0e, 0xf6, 0xa6, 0x91, 0x59, 0x1d, 0x05, 0x63, 0x41, 0x3f, 0x45, 0xa0, 0xa2, 0xaa, + 0x3e, 0xc6, 0x58, 0xe0, 0xf7, 0xca, 0x70, 0xba, 0x83, 0xa4, 0xa0, 0xaf, 0x18, 0xa3, 0xf6, 0x4a, + 0xcf, 0xa2, 0xf6, 0x3e, 0xc7, 0xed, 0x2b, 0xcc, 0x4a, 0x72, 0x85, 0x6c, 0x1c, 0xa1, 0xfa, 0xdb, + 0x31, 0xc9, 0x56, 0x4f, 0x41, 0xf9, 0xd5, 0xd3, 0x6a, 0x4f, 0x68, 0xf0, 0x69, 0x35, 0xaa, 0x9d, + 0xc7, 0xf8, 0x8d, 0xdf, 0xed, 0x83, 0x33, 0x9d, 0x6e, 0xd0, 0xa2, 0x5f, 0xb4, 0x32, 0x59, 0xda, + 0x5f, 0xed, 0xfd, 0x1a, 0x2e, 0x4f, 0xdd, 0x2e, 0xb2, 0x4e, 0xcc, 0x98, 0x79, 0xdb, 0x73, 0x47, + 0x5b, 0xd4, 0xce, 0x6e, 0x55, 0x44, 0x3c, 0xdf, 0xbe, 0x5c, 0x0f, 0x3e, 0x73, 0x84, 0xa6, 0x88, + 0x94, 0xfd, 0x71, 0xe6, 0x56, 0x85, 0x04, 0xe7, 0xdf, 0xaa, 0x90, 0x6d, 0x98, 0xda, 0x84, 0x61, + 0xad, 0x5f, 0xc7, 0x28, 0x02, 0x1e, 0xdd, 0x9a, 0xb4, 0x56, 0x1f, 0xa3, 0x18, 0xfc, 0x6d, 0x0b, + 0x32, 0xe1, 0x2a, 0xca, 0x15, 0x63, 0x75, 0x75, 0xc5, 0x5c, 0x80, 0xbe, 0x28, 0xf4, 0x49, 0x36, + 0x7b, 0x38, 0x0e, 0x7d, 0x82, 0x19, 0x46, 0x3d, 0x0d, 0x59, 0xee, 0xf6, 0x34, 0x24, 0xb5, 0xcd, + 0x7d, 0xb2, 0x43, 0xa4, 0x63, 0x44, 0x2d, 0xde, 0x2b, 0x14, 0x88, 0x39, 0xce, 0xfe, 0xbd, 0x32, + 0x0c, 0x70, 0xef, 0xc3, 0x09, 0xec, 0xce, 0x35, 0xe1, 0x08, 0x28, 0x74, 0xab, 0x95, 0xb7, 0x6a, + 0xa6, 0xea, 0x24, 0x0e, 0x17, 0x2c, 0xd5, 0xc7, 0xd4, 0x79, 0x80, 0x66, 0x8c, 0x51, 0x98, 0xca, + 0xd8, 0xb7, 0xc0, 0x79, 0x68, 0x63, 0xb2, 0x05, 0x10, 0xb3, 0xc7, 0xc8, 0x28, 0x0f, 0x91, 0x73, + 0xef, 0xc5, 0x42, 0xed, 0xa8, 0xab, 0x62, 0xbc, 0x35, 0x69, 0xb2, 0x2f, 0x85, 0xc0, 0x1a, 0xef, + 0xa9, 0x97, 0xa1, 0xa2, 0x88, 0xf3, 0x14, 0xff, 0x11, 0x5d, 0x34, 0xff, 0x02, 0x8c, 0x67, 0xea, + 0xea, 0xc9, 0x6e, 0xf8, 0x6d, 0x0b, 0xc6, 0x33, 0xaf, 0x28, 0xa3, 0x77, 0x2d, 0x38, 0xe3, 0x77, + 0x70, 0x3e, 0x89, 0xcf, 0x7c, 0x14, 0xb7, 0x95, 0x32, 0x19, 0x3a, 0x61, 0x71, 0xc7, 0xda, 0xa8, + 0x29, 0xc9, 0x5f, 0x56, 0x74, 0x7c, 0x11, 0xfd, 0x37, 0xc2, 0x13, 0x84, 0x72, 0x18, 0x56, 0x58, + 0xfb, 0x27, 0x16, 0x9c, 0x6a, 0x7b, 0xa8, 0xf7, 0x83, 0xd2, 0x0d, 0x91, 0x0a, 0xb5, 0xd4, 0x25, + 0x15, 0xaa, 0xde, 0xcb, 0xf2, 0xa1, 0xbd, 0xfc, 0x75, 0x0b, 0x84, 0x84, 0x9e, 0x80, 0xde, 0xb7, + 0x6c, 0xea, 0x7d, 0x1f, 0x29, 0x22, 0xf4, 0x5d, 0x14, 0xbe, 0x3f, 0xb5, 0x00, 0x71, 0x82, 0xec, + 0x13, 0x8c, 0xdc, 0x79, 0xa9, 0x19, 0x2c, 0xe9, 0x2c, 0x51, 0x18, 0xac, 0x51, 0xf5, 0x98, 0x4f, + 0x5f, 0x3d, 0x5d, 0xd6, 0xb9, 0x61, 0xe8, 0x32, 0x0c, 0x8b, 0xa7, 0x8b, 0x56, 0xd3, 0x67, 0xc9, + 0xc6, 0xd9, 0x03, 0x99, 0x29, 0x18, 0xeb, 0x34, 0xc6, 0xd7, 0xea, 0x3b, 0xf4, 0x6b, 0xfd, 0x4e, + 0x19, 0xb2, 0x21, 0x2f, 0xe8, 0x2d, 0x18, 0x69, 0x38, 0x4d, 0x67, 0xdd, 0xf3, 0xbd, 0xc4, 0x23, + 0x71, 0xb1, 0xa3, 0xb6, 0x05, 0xad, 0x84, 0x70, 0x94, 0x6b, 0x10, 0x6c, 0x70, 0x44, 0x33, 0x00, + 0xcd, 0xc8, 0xdb, 0xf1, 0x7c, 0xb2, 0xc9, 0xf4, 0x32, 0x16, 0x33, 0xcb, 0x4f, 0x8d, 0x24, 0x14, + 0x6b, 0x14, 0x1d, 0x62, 0x2c, 0xcb, 0x27, 0x11, 0x63, 0xd9, 0xd7, 0x63, 0x8c, 0x65, 0x7f, 0xa1, + 0x18, 0x4b, 0x0c, 0xe7, 0xa4, 0x7f, 0x9b, 0xfe, 0x5f, 0xf2, 0x7c, 0xc2, 0xd3, 0x29, 0x8a, 0x98, + 0xda, 0xa9, 0xfd, 0xbd, 0xe9, 0x73, 0xb8, 0x23, 0x05, 0xee, 0x52, 0xd2, 0x6e, 0xc1, 0xe9, 0x3a, + 0x89, 0x3c, 0x96, 0xe5, 0xca, 0x4d, 0x27, 0xf5, 0x17, 0xa1, 0x12, 0x65, 0xd6, 0x93, 0x1e, 0x2f, + 0x3c, 0x6a, 0x79, 0x51, 0xe4, 0xfa, 0x91, 0xb2, 0xb4, 0xff, 0x6a, 0x09, 0x06, 0x45, 0x68, 0xd9, + 0x09, 0x6c, 0xb4, 0x37, 0x0c, 0x33, 0xf8, 0x99, 0xbc, 0xb9, 0xce, 0x9a, 0xd5, 0xd5, 0x00, 0xae, + 0x67, 0x0c, 0xe0, 0xe7, 0x8a, 0xb1, 0x3b, 0xdc, 0xf4, 0xfd, 0x41, 0x09, 0xc6, 0xcc, 0x50, 0xbb, + 0x13, 0x18, 0x96, 0xd7, 0x61, 0x30, 0x16, 0x71, 0x68, 0xa5, 0x22, 0x51, 0x34, 0xd9, 0x4f, 0xac, + 0x7c, 0x1d, 0x32, 0xf2, 0x4c, 0xb2, 0xeb, 0x18, 0xea, 0x56, 0x3e, 0x89, 0x50, 0x37, 0xfb, 0xfb, + 0x6c, 0x31, 0xd6, 0x07, 0xf2, 0x04, 0x36, 0x93, 0xd7, 0xcc, 0x65, 0xfb, 0x52, 0x21, 0x89, 0x10, + 0xcd, 0xeb, 0xb2, 0xa9, 0x7c, 0xc7, 0x82, 0x61, 0x41, 0x78, 0x02, 0x1d, 0xf8, 0xac, 0xd9, 0x81, + 0xa7, 0x0a, 0x75, 0xa0, 0x4b, 0xcb, 0xff, 0x6e, 0x49, 0xb5, 0xbc, 0x26, 0x9e, 0xb4, 0xcd, 0xcd, + 0xb6, 0x39, 0xd4, 0x8c, 0xc2, 0x24, 0x6c, 0x84, 0xbe, 0x50, 0x23, 0x1e, 0x4b, 0x2f, 0x37, 0x70, + 0xf8, 0x81, 0xf6, 0x1b, 0x2b, 0x6a, 0x16, 0x7b, 0x1f, 0x46, 0x89, 0xd8, 0xda, 0x3a, 0x3d, 0xa8, + 0xbb, 0x2e, 0x1f, 0x2c, 0xa7, 0x30, 0x71, 0x2f, 0xa8, 0xd7, 0x87, 0x7a, 0xd3, 0xbb, 0x0a, 0x8a, + 0x13, 0xd6, 0xb8, 0xca, 0x20, 0x58, 0x56, 0x43, 0xbf, 0xe9, 0x7b, 0xbe, 0x29, 0xe0, 0x58, 0x51, + 0xd8, 0x2f, 0xb3, 0x15, 0x97, 0x0d, 0x4f, 0x6f, 0xd7, 0x08, 0xfe, 0xca, 0x80, 0x1a, 0x58, 0xe6, + 0x52, 0xba, 0xa9, 0x5f, 0x56, 0x28, 0xba, 0xac, 0xd1, 0x26, 0xe8, 0x71, 0x7b, 0xe9, 0xdd, 0x06, + 0x44, 0xda, 0x0e, 0x2c, 0x5e, 0x2e, 0xbc, 0x52, 0xf6, 0x70, 0x44, 0xc1, 0x52, 0x14, 0xb1, 0xbc, + 0x2c, 0xcb, 0xb5, 0x6c, 0x86, 0xd4, 0x05, 0x89, 0xc0, 0x29, 0x0d, 0x9a, 0x15, 0x46, 0x8d, 0xf9, + 0xde, 0xb1, 0x34, 0x6a, 0xe4, 0x90, 0x68, 0x56, 0xcd, 0x65, 0x18, 0x56, 0x39, 0xe2, 0x6b, 0x3c, + 0xd5, 0x77, 0x85, 0xeb, 0x3d, 0x8b, 0x29, 0x18, 0xeb, 0x34, 0x68, 0x19, 0x4e, 0xbb, 0x2a, 0xe6, + 0xb9, 0xd6, 0x5a, 0xf7, 0xbd, 0x06, 0x2d, 0xca, 0xef, 0x2b, 0x3d, 0xb2, 0xbf, 0x37, 0x7d, 0xba, + 0xda, 0x8e, 0xc6, 0x9d, 0xca, 0xa0, 0x35, 0x18, 0x8f, 0x79, 0x2e, 0x7c, 0x19, 0xd8, 0x2a, 0x12, + 0x07, 0x3e, 0x2b, 0x4f, 0x4a, 0xea, 0x26, 0xfa, 0x80, 0x81, 0xf8, 0x9a, 0x20, 0x43, 0x61, 0xb3, + 0x2c, 0xd0, 0xab, 0x30, 0xe6, 0xeb, 0xcf, 0x7c, 0xd5, 0x44, 0xe8, 0xb7, 0x8a, 0x29, 0x31, 0x1e, + 0x01, 0xab, 0xe1, 0x0c, 0x35, 0x7a, 0x1d, 0x26, 0x75, 0x88, 0xc8, 0x9f, 0xe0, 0x04, 0x9b, 0x24, + 0x16, 0x49, 0xb8, 0x1f, 0xdb, 0xdf, 0x9b, 0x9e, 0x5c, 0xe9, 0x42, 0x83, 0xbb, 0x96, 0x46, 0x57, + 0x61, 0x44, 0x8e, 0xa4, 0x16, 0x06, 0x9e, 0x46, 0x33, 0x69, 0x38, 0x6c, 0x50, 0xbe, 0xbf, 0x03, + 0xa1, 0x2f, 0xd3, 0xc2, 0xda, 0xd6, 0x8a, 0xbe, 0x04, 0x23, 0x7a, 0x1b, 0xb3, 0x7b, 0x66, 0xfe, + 0xd3, 0x69, 0x62, 0x8b, 0x56, 0x2d, 0xd7, 0x71, 0xd8, 0xe0, 0x6d, 0xdf, 0x82, 0x81, 0xfa, 0x6e, + 0xdc, 0x48, 0xfc, 0x87, 0xf5, 0xd4, 0x75, 0x03, 0xc6, 0x33, 0x6f, 0x42, 0xab, 0xc7, 0xc5, 0xad, + 0x87, 0xf5, 0xb8, 0xb8, 0xfd, 0x55, 0x0b, 0xfa, 0xd7, 0x1c, 0x2f, 0xff, 0xf9, 0x8a, 0x22, 0x4d, + 0x46, 0x2f, 0xc1, 0x00, 0xd9, 0xd8, 0x20, 0x0d, 0xf9, 0x58, 0xf9, 0xe3, 0x52, 0xb5, 0x59, 0x64, + 0x50, 0x3a, 0x35, 0x59, 0x65, 0xfc, 0x2f, 0x16, 0xc4, 0xf6, 0x7f, 0xb4, 0x00, 0xd6, 0x42, 0x5f, + 0x9e, 0x75, 0xe5, 0xb4, 0x64, 0xbe, 0xed, 0x21, 0x8d, 0xa7, 0x3b, 0x3c, 0xa4, 0x81, 0x52, 0x86, + 0x1d, 0x9e, 0xd1, 0x50, 0xbd, 0x29, 0x17, 0xea, 0x4d, 0x5f, 0x2f, 0xbd, 0xf9, 0xba, 0x05, 0x22, + 0x0c, 0xa9, 0x80, 0x24, 0xb8, 0x32, 0xf9, 0xbd, 0x91, 0x19, 0xe5, 0xd9, 0x22, 0xd7, 0x85, 0x44, + 0x3e, 0x14, 0x25, 0x9b, 0x46, 0x16, 0x14, 0x83, 0xab, 0xfd, 0x9b, 0x16, 0x0c, 0x73, 0xf4, 0x2a, + 0xd3, 0x23, 0xf3, 0xdb, 0xd5, 0x53, 0x0e, 0x38, 0x96, 0x1b, 0x9e, 0x32, 0x56, 0xb9, 0xc0, 0xf4, + 0xdc, 0xf0, 0x12, 0x81, 0x53, 0x1a, 0xf4, 0x0c, 0x0c, 0xc6, 0xad, 0x75, 0x46, 0x9e, 0x89, 0x49, + 0xaa, 0x73, 0x30, 0x96, 0x78, 0xfb, 0x17, 0x10, 0x18, 0x5d, 0x33, 0xf2, 0x8e, 0x59, 0x0f, 0x3d, + 0xef, 0xd8, 0x1b, 0x30, 0x44, 0xb6, 0x9b, 0xc9, 0x6e, 0xd5, 0x8b, 0x8a, 0x65, 0x80, 0x5c, 0x14, + 0xd4, 0xed, 0xdc, 0x25, 0x06, 0x2b, 0x8e, 0x5d, 0xb2, 0xc8, 0x95, 0x3f, 0x10, 0x59, 0xe4, 0xfa, + 0x7e, 0x2a, 0x59, 0xe4, 0x5e, 0x87, 0xc1, 0x4d, 0x2f, 0xc1, 0xa4, 0x19, 0x8a, 0xfb, 0xa5, 0x39, + 0x87, 0x87, 0xd7, 0x38, 0x71, 0x7b, 0x6a, 0x28, 0x81, 0xc0, 0x92, 0x1d, 0x5a, 0x83, 0x01, 0x6e, + 0x7b, 0x88, 0xc4, 0x6c, 0x1f, 0x2b, 0xe2, 0xcf, 0x69, 0xcf, 0x51, 0x26, 0x02, 0xcf, 0x04, 0x2f, + 0x99, 0x35, 0x6e, 0xf0, 0xfd, 0x67, 0x8d, 0x53, 0xb9, 0xde, 0x86, 0x1e, 0x56, 0xae, 0x37, 0x23, + 0x67, 0x5e, 0xe5, 0x38, 0x72, 0xe6, 0x7d, 0xdd, 0x82, 0xb3, 0xcd, 0x4e, 0x19, 0x27, 0x45, 0xd6, + 0xb6, 0x4f, 0x1f, 0x21, 0x03, 0xa7, 0x51, 0x35, 0xbb, 0xb5, 0xd7, 0x91, 0x0c, 0x77, 0xae, 0x58, + 0x26, 0xdf, 0x1b, 0x7e, 0xff, 0xc9, 0xf7, 0x8e, 0x3b, 0xbd, 0x5b, 0x9a, 0x8a, 0x6f, 0xf4, 0x58, + 0x52, 0xf1, 0x8d, 0x3d, 0xc4, 0x54, 0x7c, 0x5a, 0x12, 0xbd, 0xf1, 0x87, 0x9b, 0x44, 0x6f, 0x0b, + 0x86, 0xdd, 0xf0, 0x7e, 0x70, 0xdf, 0x89, 0xdc, 0xb9, 0xda, 0xb2, 0xc8, 0xd9, 0x96, 0x93, 0x18, + 0xa4, 0x9a, 0x16, 0x30, 0x6a, 0xe0, 0x8e, 0xcb, 0x14, 0x89, 0x75, 0xd6, 0x22, 0x9d, 0xe0, 0xa9, + 0xf7, 0x99, 0x4e, 0xd0, 0x48, 0xca, 0x87, 0x8e, 0x23, 0x29, 0xdf, 0x5b, 0x2c, 0x43, 0xc0, 0x86, + 0xb7, 0xb9, 0xea, 0x34, 0xd9, 0xad, 0xb6, 0xdc, 0x1a, 0x16, 0x24, 0x79, 0x7b, 0x0d, 0x0a, 0x85, + 0x53, 0xa6, 0xed, 0x69, 0xff, 0xce, 0x9c, 0x74, 0xda, 0xbf, 0xb3, 0xc7, 0x98, 0xf6, 0xef, 0xdc, + 0x89, 0xa6, 0xfd, 0x7b, 0xe4, 0xa7, 0x92, 0xf6, 0xef, 0x2f, 0xc1, 0xf9, 0xc3, 0x3f, 0x47, 0x9a, + 0x56, 0xba, 0x96, 0xba, 0x0c, 0x32, 0x69, 0xa5, 0x99, 0xaa, 0xa3, 0x51, 0x15, 0xce, 0x3e, 0xf6, + 0x6d, 0x0b, 0x1e, 0xe9, 0x92, 0x9c, 0xa7, 0xf0, 0x85, 0x90, 0x26, 0x8c, 0x37, 0xcd, 0xa2, 0x85, + 0xaf, 0x70, 0x19, 0xc9, 0x80, 0x54, 0x70, 0x61, 0x06, 0x81, 0xb3, 0xec, 0xe7, 0x3f, 0xf2, 0xc3, + 0xf7, 0xce, 0x7f, 0xe8, 0x47, 0xef, 0x9d, 0xff, 0xd0, 0x1f, 0xbe, 0x77, 0xfe, 0x43, 0x3f, 0xb7, + 0x7f, 0xde, 0xfa, 0xe1, 0xfe, 0x79, 0xeb, 0x47, 0xfb, 0xe7, 0xad, 0x3f, 0xde, 0x3f, 0x6f, 0x7d, + 0xfd, 0x27, 0xe7, 0x3f, 0xf4, 0xf9, 0xd2, 0xce, 0xe5, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xac, + 0x63, 0x67, 0xe3, 0x01, 0xbb, 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 3196ae4dcb0..73dca3fec75 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 @@ -279,6 +279,10 @@ message ConfigMap { message ConfigMapEnvSource { // The ConfigMap to select from. optional LocalObjectReference localObjectReference = 1; + + // Specify whether the ConfigMap must be defined + // +optional + optional bool optional = 2; } // Selects a key from a ConfigMap. @@ -288,6 +292,10 @@ message ConfigMapKeySelector { // The key to select. optional string key = 2; + + // Specify whether the ConfigMap or it's key must be defined + // +optional + optional bool optional = 3; } // ConfigMapList is a resource containing a list of ConfigMap objects. @@ -314,8 +322,8 @@ message ConfigMapVolumeSource { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional repeated KeyToPath items = 2; @@ -326,6 +334,10 @@ message ConfigMapVolumeSource { // mode, like fsGroup, and the result can be other mode bits set. // +optional optional int32 defaultMode = 3; + + // Specify whether the ConfigMap or it's keys must be defined + // +optional + optional bool optional = 4; } // A single application container that you want to run within a pod. @@ -627,6 +639,8 @@ message DaemonEndpoint { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. +// +k8s:openapi-gen=false message DeleteOptions { // The duration in seconds before the object should be deleted. Value must be non-negative integer. // The value zero indicates delete immediately. If this value is nil, the default grace period for the @@ -2694,6 +2708,7 @@ message PodTemplateSpec { } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +// +k8s:openapi-gen=false message Preconditions { // Specifies the target UID. // +optional @@ -3106,6 +3121,10 @@ message Secret { message SecretEnvSource { // The Secret to select from. optional LocalObjectReference localObjectReference = 1; + + // Specify whether the Secret must be defined + // +optional + optional bool optional = 2; } // SecretKeySelector selects a key of a Secret. @@ -3115,6 +3134,10 @@ message SecretKeySelector { // The key of the secret to select from. Must be a valid secret key. optional string key = 2; + + // Specify whether the Secret or it's key must be defined + // +optional + optional bool optional = 3; } // SecretList is a list of Secret. @@ -3145,8 +3168,8 @@ message SecretVolumeSource { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the Secret, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional repeated KeyToPath items = 2; @@ -3157,6 +3180,10 @@ message SecretVolumeSource { // mode, like fsGroup, and the result can be other mode bits set. // +optional optional int32 defaultMode = 3; + + // Specify whether the Secret or it's keys must be defined + // +optional + optional bool optional = 4; } // SecurityContext holds security configuration that will be applied to a 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 7463e68ff74..00582f09b5c 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 @@ -47,7 +47,7 @@ func OpaqueIntResourceName(name string) ResourceName { // 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 &api.DeleteOptions{} directly. +// use &metav1.DeleteOptions{} directly. func NewDeleteOptions(grace int64) *DeleteOptions { return &DeleteOptions{GracePeriodSeconds: &grace} } 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 2ad0c4a975f..5c2dfddd112 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 @@ -74,10 +74,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PersistentVolumeList{}, &PersistentVolumeClaim{}, &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ListOptions{}, &PodAttachOptions{}, &PodLogOptions{}, &PodExecOptions{}, diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go b/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go index 07e024832f1..400186c1b60 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go @@ -14141,15 +14141,16 @@ func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [3]bool + var yyq2 [4]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.SecretName != "" yyq2[1] = len(x.Items) != 0 yyq2[2] = x.DefaultMode != nil + yyq2[3] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(3) + r.EncodeArrayStart(4) } else { yynn2 = 0 for _, b := range yyq2 { @@ -14253,6 +14254,41 @@ func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[3] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy15 := *x.Optional + yym16 := z.EncBinary() + _ = yym16 + if false { + } else { + r.EncodeBool(bool(yy15)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[3] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy17 := *x.Optional + yym18 := z.EncBinary() + _ = yym18 + if false { + } else { + r.EncodeBool(bool(yy17)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -14354,6 +14390,22 @@ func (x *SecretVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym11 := z.DecBinary() + _ = yym11 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -14365,16 +14417,16 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj10 int - var yyb10 bool - var yyhl10 bool = l >= 0 - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + var yyj12 int + var yyb12 bool + var yyhl12 bool = l >= 0 + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -14382,21 +14434,21 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.SecretName = "" } else { - yyv11 := &x.SecretName - yym12 := z.DecBinary() - _ = yym12 + yyv13 := &x.SecretName + yym14 := z.DecBinary() + _ = yym14 if false { } else { - *((*string)(yyv11)) = r.DecodeString() + *((*string)(yyv13)) = r.DecodeString() } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -14404,21 +14456,21 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.Items = nil } else { - yyv13 := &x.Items - yym14 := z.DecBinary() - _ = yym14 + yyv15 := &x.Items + yym16 := z.DecBinary() + _ = yym16 if false { } else { - h.decSliceKeyToPath((*[]KeyToPath)(yyv13), d) + h.decSliceKeyToPath((*[]KeyToPath)(yyv15), d) } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -14431,25 +14483,51 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if x.DefaultMode == nil { x.DefaultMode = new(int32) } - yym16 := z.DecBinary() - _ = yym16 + yym18 := z.DecBinary() + _ = yym18 if false { } else { *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } - for { - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l - } else { - yyb10 = r.CheckBreak() + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil } - if yyb10 { + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym20 := z.DecBinary() + _ = yym20 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj10-1, "") + z.DecStructFieldNotFound(yyj12-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -16810,15 +16888,16 @@ func (x *ConfigMapVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [3]bool + var yyq2 [4]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" yyq2[1] = len(x.Items) != 0 yyq2[2] = x.DefaultMode != nil + yyq2[3] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(3) + r.EncodeArrayStart(4) } else { yynn2 = 0 for _, b := range yyq2 { @@ -16922,6 +17001,41 @@ func (x *ConfigMapVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[3] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy15 := *x.Optional + yym16 := z.EncBinary() + _ = yym16 + if false { + } else { + r.EncodeBool(bool(yy15)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[3] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy17 := *x.Optional + yym18 := z.EncBinary() + _ = yym18 + if false { + } else { + r.EncodeBool(bool(yy17)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -17023,6 +17137,22 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decod *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym11 := z.DecBinary() + _ = yym11 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -17034,16 +17164,16 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj10 int - var yyb10 bool - var yyhl10 bool = l >= 0 - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + var yyj12 int + var yyb12 bool + var yyhl12 bool = l >= 0 + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -17051,21 +17181,21 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec if r.TryDecodeAsNil() { x.Name = "" } else { - yyv11 := &x.Name - yym12 := z.DecBinary() - _ = yym12 + yyv13 := &x.Name + yym14 := z.DecBinary() + _ = yym14 if false { } else { - *((*string)(yyv11)) = r.DecodeString() + *((*string)(yyv13)) = r.DecodeString() } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -17073,21 +17203,21 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec if r.TryDecodeAsNil() { x.Items = nil } else { - yyv13 := &x.Items - yym14 := z.DecBinary() - _ = yym14 + yyv15 := &x.Items + yym16 := z.DecBinary() + _ = yym16 if false { } else { - h.decSliceKeyToPath((*[]KeyToPath)(yyv13), d) + h.decSliceKeyToPath((*[]KeyToPath)(yyv15), d) } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -17100,25 +17230,51 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec if x.DefaultMode == nil { x.DefaultMode = new(int32) } - yym16 := z.DecBinary() - _ = yym16 + yym18 := z.DecBinary() + _ = yym18 if false { } else { *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } - for { - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l - } else { - yyb10 = r.CheckBreak() + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil } - if yyb10 { + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym20 := z.DecBinary() + _ = yym20 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj10-1, "") + z.DecStructFieldNotFound(yyj12-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -19360,13 +19516,14 @@ func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [2]bool + var yyq2 [3]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[2] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(2) + r.EncodeArrayStart(3) } else { yynn2 = 1 for _, b := range yyq2 { @@ -19421,6 +19578,41 @@ func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { r.EncodeString(codecSelferC_UTF81234, string(x.Key)) } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy10 := *x.Optional + yym11 := z.EncBinary() + _ = yym11 + if false { + } else { + r.EncodeBool(bool(yy10)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy12 := *x.Optional + yym13 := z.EncBinary() + _ = yym13 + if false { + } else { + r.EncodeBool(bool(yy12)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -19506,6 +19698,22 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decode *((*string)(yyv6)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym9 := z.DecBinary() + _ = yym9 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -19517,16 +19725,16 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Deco var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj8 int - var yyb8 bool - var yyhl8 bool = l >= 0 - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + var yyj10 int + var yyb10 bool + var yyhl10 bool = l >= 0 + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l } else { - yyb8 = r.CheckBreak() + yyb10 = r.CheckBreak() } - if yyb8 { + if yyb10 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -19534,29 +19742,7 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.Name = "" } else { - yyv9 := &x.Name - yym10 := z.DecBinary() - _ = yym10 - if false { - } else { - *((*string)(yyv9)) = r.DecodeString() - } - } - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l - } else { - yyb8 = r.CheckBreak() - } - if yyb8 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.Key = "" - } else { - yyv11 := &x.Key + yyv11 := &x.Name yym12 := z.DecBinary() _ = yym12 if false { @@ -19564,18 +19750,66 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Deco *((*string)(yyv11)) = r.DecodeString() } } - for { - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Key = "" + } else { + yyv13 := &x.Key + yym14 := z.DecBinary() + _ = yym14 + if false { } else { - yyb8 = r.CheckBreak() + *((*string)(yyv13)) = r.DecodeString() } - if yyb8 { + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym16 := z.DecBinary() + _ = yym16 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj8-1, "") + z.DecStructFieldNotFound(yyj10-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -19594,13 +19828,14 @@ func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [2]bool + var yyq2 [3]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[2] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(2) + r.EncodeArrayStart(3) } else { yynn2 = 1 for _, b := range yyq2 { @@ -19655,6 +19890,41 @@ func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { r.EncodeString(codecSelferC_UTF81234, string(x.Key)) } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy10 := *x.Optional + yym11 := z.EncBinary() + _ = yym11 + if false { + } else { + r.EncodeBool(bool(yy10)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy12 := *x.Optional + yym13 := z.EncBinary() + _ = yym13 + if false { + } else { + r.EncodeBool(bool(yy12)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -19740,6 +20010,22 @@ func (x *SecretKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) *((*string)(yyv6)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym9 := z.DecBinary() + _ = yym9 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -19751,16 +20037,16 @@ func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj8 int - var yyb8 bool - var yyhl8 bool = l >= 0 - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + var yyj10 int + var yyb10 bool + var yyhl10 bool = l >= 0 + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l } else { - yyb8 = r.CheckBreak() + yyb10 = r.CheckBreak() } - if yyb8 { + if yyb10 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -19768,29 +20054,7 @@ func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.Name = "" } else { - yyv9 := &x.Name - yym10 := z.DecBinary() - _ = yym10 - if false { - } else { - *((*string)(yyv9)) = r.DecodeString() - } - } - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l - } else { - yyb8 = r.CheckBreak() - } - if yyb8 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.Key = "" - } else { - yyv11 := &x.Key + yyv11 := &x.Name yym12 := z.DecBinary() _ = yym12 if false { @@ -19798,18 +20062,66 @@ func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder *((*string)(yyv11)) = r.DecodeString() } } - for { - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Key = "" + } else { + yyv13 := &x.Key + yym14 := z.DecBinary() + _ = yym14 + if false { } else { - yyb8 = r.CheckBreak() + *((*string)(yyv13)) = r.DecodeString() } - if yyb8 { + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym16 := z.DecBinary() + _ = yym16 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj8-1, "") + z.DecStructFieldNotFound(yyj10-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -20121,13 +20433,14 @@ func (x *ConfigMapEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [1]bool + var yyq2 [2]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[1] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(1) + r.EncodeArrayStart(2) } else { yynn2 = 0 for _, b := range yyq2 { @@ -20163,6 +20476,41 @@ func (x *ConfigMapEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy7 := *x.Optional + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + r.EncodeBool(bool(yy7)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy9 := *x.Optional + yym10 := z.EncBinary() + _ = yym10 + if false { + } else { + r.EncodeBool(bool(yy9)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -20236,6 +20584,22 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) *((*string)(yyv4)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -20247,16 +20611,16 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj6 int - var yyb6 bool - var yyhl6 bool = l >= 0 - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + var yyj8 int + var yyb8 bool + var yyhl8 bool = l >= 0 + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -20264,26 +20628,52 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.Name = "" } else { - yyv7 := &x.Name - yym8 := z.DecBinary() - _ = yym8 + yyv9 := &x.Name + yym10 := z.DecBinary() + _ = yym10 if false { } else { - *((*string)(yyv7)) = r.DecodeString() + *((*string)(yyv9)) = r.DecodeString() + } + } + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() } } for { - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj6-1, "") + z.DecStructFieldNotFound(yyj8-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -20302,13 +20692,14 @@ func (x *SecretEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [1]bool + var yyq2 [2]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[1] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(1) + r.EncodeArrayStart(2) } else { yynn2 = 0 for _, b := range yyq2 { @@ -20344,6 +20735,41 @@ func (x *SecretEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy7 := *x.Optional + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + r.EncodeBool(bool(yy7)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy9 := *x.Optional + yym10 := z.EncBinary() + _ = yym10 + if false { + } else { + r.EncodeBool(bool(yy9)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -20417,6 +20843,22 @@ func (x *SecretEnvSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { *((*string)(yyv4)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -20428,16 +20870,16 @@ func (x *SecretEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj6 int - var yyb6 bool - var yyhl6 bool = l >= 0 - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + var yyj8 int + var yyb8 bool + var yyhl8 bool = l >= 0 + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -20445,26 +20887,52 @@ func (x *SecretEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) if r.TryDecodeAsNil() { x.Name = "" } else { - yyv7 := &x.Name - yym8 := z.DecBinary() - _ = yym8 + yyv9 := &x.Name + yym10 := z.DecBinary() + _ = yym10 if false { } else { - *((*string)(yyv7)) = r.DecodeString() + *((*string)(yyv9)) = r.DecodeString() + } + } + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() } } for { - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj6-1, "") + z.DecStructFieldNotFound(yyj8-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } 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 3e58af4f768..d2dcfa9f931 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 @@ -924,8 +924,8 @@ type SecretVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the Secret, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` // Optional: mode bits to use on created files by default. Must be a @@ -935,6 +935,9 @@ type SecretVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 `json:"defaultMode,omitempty" protobuf:"bytes,3,opt,name=defaultMode"` + // Specify whether the Secret or it's keys must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"` } const ( @@ -1081,8 +1084,8 @@ type ConfigMapVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` // Optional: mode bits to use on created files by default. Must be a @@ -1092,6 +1095,9 @@ type ConfigMapVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 `json:"defaultMode,omitempty" protobuf:"varint,3,opt,name=defaultMode"` + // Specify whether the ConfigMap or it's keys must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"` } const ( @@ -1225,6 +1231,9 @@ type ConfigMapKeySelector struct { LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` // The key to select. Key string `json:"key" protobuf:"bytes,2,opt,name=key"` + // Specify whether the ConfigMap or it's key must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,3,opt,name=optional"` } // SecretKeySelector selects a key of a Secret. @@ -1233,6 +1242,9 @@ type SecretKeySelector struct { LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` // The key of the secret to select from. Must be a valid secret key. Key string `json:"key" protobuf:"bytes,2,opt,name=key"` + // Specify whether the Secret or it's key must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,3,opt,name=optional"` } // EnvFromSource represents the source of a set of ConfigMaps @@ -1256,6 +1268,9 @@ type EnvFromSource struct { type ConfigMapEnvSource struct { // The ConfigMap to select from. LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` + // Specify whether the ConfigMap must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,2,opt,name=optional"` } // SecretEnvSource selects a Secret to populate the environment @@ -1266,6 +1281,9 @@ type ConfigMapEnvSource struct { type SecretEnvSource struct { // The Secret to select from. LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` + // Specify whether the Secret must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,2,opt,name=optional"` } // HTTPHeader describes a custom header to be used in HTTP probes @@ -3279,6 +3297,7 @@ type Binding struct { } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +// +k8s:openapi-gen=false type Preconditions struct { // Specifies the target UID. // +optional @@ -3286,6 +3305,8 @@ type Preconditions struct { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. +// +k8s:openapi-gen=false type DeleteOptions struct { metav1.TypeMeta `json:",inline"` 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 9928598d0b2..6eb857660b1 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 @@ -181,7 +181,8 @@ func (ConfigMap) SwaggerDoc() map[string]string { } var map_ConfigMapEnvSource = map[string]string{ - "": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "optional": "Specify whether the ConfigMap must be defined", } func (ConfigMapEnvSource) SwaggerDoc() map[string]string { @@ -189,8 +190,9 @@ func (ConfigMapEnvSource) SwaggerDoc() map[string]string { } var map_ConfigMapKeySelector = map[string]string{ - "": "Selects a key from a ConfigMap.", - "key": "The key to select.", + "": "Selects a key from a ConfigMap.", + "key": "The key to select.", + "optional": "Specify whether the ConfigMap or it's key must be defined", } func (ConfigMapKeySelector) SwaggerDoc() map[string]string { @@ -209,8 +211,9 @@ func (ConfigMapList) SwaggerDoc() map[string]string { var map_ConfigMapVolumeSource = map[string]string{ "": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", - "items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'.", + "items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", "defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "optional": "Specify whether the ConfigMap or it's keys must be defined", } func (ConfigMapVolumeSource) SwaggerDoc() map[string]string { @@ -339,7 +342,7 @@ func (DaemonEndpoint) SwaggerDoc() map[string]string { } var map_DeleteOptions = map[string]string{ - "": "DeleteOptions may be provided when deleting an API object", + "": "DeleteOptions may be provided when deleting an API object DEPRECATED: This type has been moved to meta/v1 and will be removed soon.", "gracePeriodSeconds": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "preconditions": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", "orphanDependents": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", @@ -1600,7 +1603,8 @@ func (Secret) SwaggerDoc() map[string]string { } var map_SecretEnvSource = map[string]string{ - "": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "optional": "Specify whether the Secret must be defined", } func (SecretEnvSource) SwaggerDoc() map[string]string { @@ -1608,8 +1612,9 @@ func (SecretEnvSource) SwaggerDoc() map[string]string { } var map_SecretKeySelector = map[string]string{ - "": "SecretKeySelector selects a key of a Secret.", - "key": "The key of the secret to select from. Must be a valid secret key.", + "": "SecretKeySelector selects a key of a Secret.", + "key": "The key of the secret to select from. Must be a valid secret key.", + "optional": "Specify whether the Secret or it's key must be defined", } func (SecretKeySelector) SwaggerDoc() map[string]string { @@ -1629,8 +1634,9 @@ func (SecretList) SwaggerDoc() map[string]string { var map_SecretVolumeSource = map[string]string{ "": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", "secretName": "Name of the secret in the pod's namespace to use. More info: http://kubernetes.io/docs/user-guide/volumes#secrets", - "items": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'.", + "items": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", "defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "optional": "Specify whether the Secret or it's keys must be defined", } func (SecretVolumeSource) 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 44ce6d355ac..0796ae05218 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 @@ -674,6 +674,7 @@ func autoConvert_v1_ConfigMapEnvSource_To_api_ConfigMapEnvSource(in *ConfigMapEn if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -685,6 +686,7 @@ func autoConvert_api_ConfigMapEnvSource_To_v1_ConfigMapEnvSource(in *api.ConfigM if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -697,6 +699,7 @@ func autoConvert_v1_ConfigMapKeySelector_To_api_ConfigMapKeySelector(in *ConfigM return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -709,6 +712,7 @@ func autoConvert_api_ConfigMapKeySelector_To_v1_ConfigMapKeySelector(in *api.Con return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -742,6 +746,7 @@ func autoConvert_v1_ConfigMapVolumeSource_To_api_ConfigMapVolumeSource(in *Confi } out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -755,6 +760,7 @@ func autoConvert_api_ConfigMapVolumeSource_To_v1_ConfigMapVolumeSource(in *api.C } out.Items = *(*[]KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3790,6 +3796,7 @@ func autoConvert_v1_SecretEnvSource_To_api_SecretEnvSource(in *SecretEnvSource, if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3801,6 +3808,7 @@ func autoConvert_api_SecretEnvSource_To_v1_SecretEnvSource(in *api.SecretEnvSour if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3813,6 +3821,7 @@ func autoConvert_v1_SecretKeySelector_To_api_SecretKeySelector(in *SecretKeySele return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3825,6 +3834,7 @@ func autoConvert_api_SecretKeySelector_To_v1_SecretKeySelector(in *api.SecretKey return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3876,6 +3886,7 @@ func autoConvert_v1_SecretVolumeSource_To_api_SecretVolumeSource(in *SecretVolum out.SecretName = in.SecretName out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3887,6 +3898,7 @@ func autoConvert_api_SecretVolumeSource_To_v1_SecretVolumeSource(in *api.SecretV out.SecretName = in.SecretName out.Items = *(*[]KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) 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 6a04adcbf2a..9fa0625e9bd 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 @@ -431,6 +431,11 @@ func DeepCopy_v1_ConfigMapEnvSource(in interface{}, out interface{}, c *conversi in := in.(*ConfigMapEnvSource) out := out.(*ConfigMapEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -440,6 +445,11 @@ func DeepCopy_v1_ConfigMapKeySelector(in interface{}, out interface{}, c *conver in := in.(*ConfigMapKeySelector) out := out.(*ConfigMapKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -481,6 +491,11 @@ func DeepCopy_v1_ConfigMapVolumeSource(in interface{}, out interface{}, c *conve *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -861,12 +876,16 @@ func DeepCopy_v1_EnvFromSource(in interface{}, out interface{}, c *conversion.Cl if in.ConfigMapRef != nil { in, out := &in.ConfigMapRef, &out.ConfigMapRef *out = new(ConfigMapEnvSource) - **out = **in + if err := DeepCopy_v1_ConfigMapEnvSource(*in, *out, c); err != nil { + return err + } } if in.SecretRef != nil { in, out := &in.SecretRef, &out.SecretRef *out = new(SecretEnvSource) - **out = **in + if err := DeepCopy_v1_SecretEnvSource(*in, *out, c); err != nil { + return err + } } return nil } @@ -908,12 +927,16 @@ func DeepCopy_v1_EnvVarSource(in interface{}, out interface{}, c *conversion.Clo if in.ConfigMapKeyRef != nil { in, out := &in.ConfigMapKeyRef, &out.ConfigMapKeyRef *out = new(ConfigMapKeySelector) - **out = **in + if err := DeepCopy_v1_ConfigMapKeySelector(*in, *out, c); err != nil { + return err + } } if in.SecretKeyRef != nil { in, out := &in.SecretKeyRef, &out.SecretKeyRef *out = new(SecretKeySelector) - **out = **in + if err := DeepCopy_v1_SecretKeySelector(*in, *out, c); err != nil { + return err + } } return nil } @@ -2759,6 +2782,11 @@ func DeepCopy_v1_SecretEnvSource(in interface{}, out interface{}, c *conversion. in := in.(*SecretEnvSource) out := out.(*SecretEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2768,6 +2796,11 @@ func DeepCopy_v1_SecretKeySelector(in interface{}, out interface{}, c *conversio in := in.(*SecretKeySelector) out := out.(*SecretKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2809,6 +2842,11 @@ func DeepCopy_v1_SecretVolumeSource(in interface{}, out interface{}, c *conversi *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } diff --git a/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go index b489267e522..f4ccb1f8ce2 100644 --- a/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go @@ -434,6 +434,11 @@ func DeepCopy_api_ConfigMapEnvSource(in interface{}, out interface{}, c *convers in := in.(*ConfigMapEnvSource) out := out.(*ConfigMapEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -443,6 +448,11 @@ func DeepCopy_api_ConfigMapKeySelector(in interface{}, out interface{}, c *conve in := in.(*ConfigMapKeySelector) out := out.(*ConfigMapKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -484,6 +494,11 @@ func DeepCopy_api_ConfigMapVolumeSource(in interface{}, out interface{}, c *conv *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -889,12 +904,16 @@ func DeepCopy_api_EnvFromSource(in interface{}, out interface{}, c *conversion.C if in.ConfigMapRef != nil { in, out := &in.ConfigMapRef, &out.ConfigMapRef *out = new(ConfigMapEnvSource) - **out = **in + if err := DeepCopy_api_ConfigMapEnvSource(*in, *out, c); err != nil { + return err + } } if in.SecretRef != nil { in, out := &in.SecretRef, &out.SecretRef *out = new(SecretEnvSource) - **out = **in + if err := DeepCopy_api_SecretEnvSource(*in, *out, c); err != nil { + return err + } } return nil } @@ -936,12 +955,16 @@ func DeepCopy_api_EnvVarSource(in interface{}, out interface{}, c *conversion.Cl if in.ConfigMapKeyRef != nil { in, out := &in.ConfigMapKeyRef, &out.ConfigMapKeyRef *out = new(ConfigMapKeySelector) - **out = **in + if err := DeepCopy_api_ConfigMapKeySelector(*in, *out, c); err != nil { + return err + } } if in.SecretKeyRef != nil { in, out := &in.SecretKeyRef, &out.SecretKeyRef *out = new(SecretKeySelector) - **out = **in + if err := DeepCopy_api_SecretKeySelector(*in, *out, c); err != nil { + return err + } } return nil } @@ -2791,6 +2814,11 @@ func DeepCopy_api_SecretEnvSource(in interface{}, out interface{}, c *conversion in := in.(*SecretEnvSource) out := out.(*SecretEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2800,6 +2828,11 @@ func DeepCopy_api_SecretKeySelector(in interface{}, out interface{}, c *conversi in := in.(*SecretKeySelector) out := out.(*SecretKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2841,6 +2874,11 @@ func DeepCopy_api_SecretVolumeSource(in interface{}, out interface{}, c *convers *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } 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 fc1ea934882..639c1be48fa 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 @@ -19,7 +19,6 @@ package apps import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) var ( @@ -49,7 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &StatefulSet{}, &StatefulSetList{}, - &api.DeleteOptions{}, ) return nil } 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 bf5ae0c73cb..4e7829d94ba 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -44,9 +43,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &StatefulSet{}, &StatefulSetList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil 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 9233bf95b82..b0ac3c28bfb 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 @@ -17,10 +17,8 @@ limitations under the License. package authentication import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &TokenReview{}, ) return nil 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 91f7cb09956..ddaa1970210 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &TokenReview{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) 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 11da9c78a67..5693885e4e7 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,10 +17,8 @@ limitations under the License. package authorization import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &SelfSubjectAccessReview{}, &SubjectAccessReview{}, &LocalSubjectAccessReview{}, 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 fba266f5923..66549ed832a 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &SelfSubjectAccessReview{}, &SubjectAccessReview{}, &LocalSubjectAccessReview{}, 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 814c076b1c7..2bcea84b9bf 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 @@ -19,7 +19,6 @@ package autoscaling import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -49,7 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &Scale{}, &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, - &api.DeleteOptions{}, ) return nil } 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 2dbc47339de..adb1d767f47 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, &Scale{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil 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 a505582646e..4601ca4ec14 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 @@ -19,7 +19,6 @@ package batch import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -51,7 +50,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &JobTemplate{}, &CronJob{}, &CronJobList{}, - &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/register.go b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/register.go index 6463b62f7bb..4ba570d1b50 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -44,9 +43,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Job{}, &JobList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil 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 92318111708..e8e669ab6be 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -47,9 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &JobTemplate{}, &CronJob{}, &CronJobList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJob"), &CronJob{}) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJobList"), &CronJobList{}) 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 8eadfec3a1c..f9d228d00e7 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 @@ -19,7 +19,6 @@ package certificates import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) var ( @@ -48,7 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &CertificateSigningRequest{}, &CertificateSigningRequestList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/register.go index ecdcdfeaf36..6574de971b2 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -49,9 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &CertificateSigningRequest{}, &CertificateSigningRequestList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies 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 70cf601bc7a..23a9881efd9 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 @@ -17,10 +17,13 @@ limitations under the License. package componentconfig import ( + "fmt" + "sort" + "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/pkg/api" - utilconfig "k8s.io/client-go/pkg/util/config" ) type KubeProxyConfiguration struct { @@ -445,12 +448,12 @@ type KubeletConfiguration struct { // that describe resources reserved for non-kubernetes components. // Currently only cpu and memory are supported. [default=none] // See http://kubernetes.io/docs/user-guide/compute-resources for more detail. - SystemReserved utilconfig.ConfigurationMap + SystemReserved ConfigurationMap // A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs // that describe resources reserved for kubernetes system components. // Currently only cpu and memory are supported. [default=none] // See http://kubernetes.io/docs/user-guide/compute-resources for more detail. - KubeReserved utilconfig.ConfigurationMap + KubeReserved ConfigurationMap // Default behaviour for kernel tuning ProtectKernelDefaults bool // If true, Kubelet ensures a set of iptables rules are present on host. @@ -863,3 +866,33 @@ type AdmissionPluginConfiguration struct { // +optional Configuration runtime.Object } + +type ConfigurationMap map[string]string + +func (m *ConfigurationMap) String() string { + pairs := []string{} + for k, v := range *m { + pairs = append(pairs, fmt.Sprintf("%s=%s", k, v)) + } + sort.Strings(pairs) + return strings.Join(pairs, ",") +} + +func (m *ConfigurationMap) Set(value string) error { + for _, s := range strings.Split(value, ",") { + if len(s) == 0 { + continue + } + arr := strings.SplitN(s, "=", 2) + if len(arr) == 2 { + (*m)[strings.TrimSpace(arr[0])] = strings.TrimSpace(arr[1]) + } else { + (*m)[strings.TrimSpace(arr[0])] = "" + } + } + return nil +} + +func (*ConfigurationMap) Type() string { + return "mapStringString" +} 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 a413b81caf1..4d8c203be59 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 @@ -26,7 +26,6 @@ import ( api "k8s.io/client-go/pkg/api" v1 "k8s.io/client-go/pkg/api/v1" componentconfig "k8s.io/client-go/pkg/apis/componentconfig" - config "k8s.io/client-go/pkg/util/config" unsafe "unsafe" ) @@ -464,8 +463,8 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu if err := api.Convert_Pointer_bool_To_bool(&in.EnableControllerAttachDetach, &out.EnableControllerAttachDetach, s); err != nil { return err } - out.SystemReserved = *(*config.ConfigurationMap)(unsafe.Pointer(&in.SystemReserved)) - out.KubeReserved = *(*config.ConfigurationMap)(unsafe.Pointer(&in.KubeReserved)) + out.SystemReserved = *(*componentconfig.ConfigurationMap)(unsafe.Pointer(&in.SystemReserved)) + out.KubeReserved = *(*componentconfig.ConfigurationMap)(unsafe.Pointer(&in.KubeReserved)) out.ProtectKernelDefaults = in.ProtectKernelDefaults if err := api.Convert_Pointer_bool_To_bool(&in.MakeIPTablesUtilChains, &out.MakeIPTablesUtilChains, s); err != nil { return err 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 b50958f4c30..e58b21e4a5b 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 @@ -24,7 +24,6 @@ import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/client-go/pkg/api" - config "k8s.io/client-go/pkg/util/config" reflect "reflect" ) @@ -208,14 +207,14 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface } if in.SystemReserved != nil { in, out := &in.SystemReserved, &out.SystemReserved - *out = make(config.ConfigurationMap) + *out = make(ConfigurationMap) for key, val := range *in { (*out)[key] = val } } if in.KubeReserved != nil { in, out := &in.KubeReserved, &out.KubeReserved - *out = make(config.ConfigurationMap) + *out = make(ConfigurationMap) for key, val := range *in { (*out)[key] = val } 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 ff51b4bccc7..bd772f114f9 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 @@ -17,10 +17,8 @@ limitations under the License. package extensions import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/apis/autoscaling" ) @@ -64,11 +62,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ThirdPartyResourceDataList{}, &Ingress{}, &IngressList{}, - &api.DeleteOptions{}, &ReplicaSet{}, &ReplicaSetList{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, &PodSecurityPolicy{}, &PodSecurityPolicyList{}, &NetworkPolicy{}, 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 769f4737689..6b03fb02678 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -57,9 +56,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ThirdPartyResourceDataList{}, &Ingress{}, &IngressList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, &ReplicaSet{}, &ReplicaSetList{}, &PodSecurityPolicy{}, 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 4f1f6e0dab4..446aaf5ec89 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 @@ -17,10 +17,8 @@ limitations under the License. package imagepolicy import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ImageReview{}, ) // metav1.AddToGroupVersion(scheme, SchemeGroupVersion) 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 aa95b244c6e..81ac79a8a99 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name for this API. @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ImageReview{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) 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 34e2e07e64c..05a829c0aad 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 @@ -17,10 +17,8 @@ limitations under the License. package kubeadm import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -49,8 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &MasterConfiguration{}, &NodeConfiguration{}, &ClusterInfo{}, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, ) return nil } 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 3298cbbc6a4..31496f3c133 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -49,8 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &MasterConfiguration{}, &NodeConfiguration{}, &ClusterInfo{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil 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 1e3c7d30fd2..5aadc3f1b8e 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 @@ -17,10 +17,8 @@ limitations under the License. package policy import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -48,10 +46,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { // TODO this gets cleaned up when the types are fixed scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/types.go b/staging/src/k8s.io/client-go/pkg/apis/policy/types.go index 73cebeccfc6..f8ef4b5552d 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/types.go @@ -18,7 +18,6 @@ package policy import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/util/intstr" ) @@ -110,5 +109,5 @@ type Eviction struct { // DeleteOptions may be provided // +optional - DeleteOptions *api.DeleteOptions + DeleteOptions *metav1.DeleteOptions } 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 9128d6d116b..d50935ca9d5 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 @@ -39,8 +39,6 @@ import math "math" import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" -import k8s_io_kubernetes_pkg_api_v1 "k8s.io/client-go/pkg/api/v1" - import strings "strings" import reflect "reflect" import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" @@ -408,7 +406,7 @@ func (this *Eviction) String() string { } s := strings.Join([]string{`&Eviction{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, - `DeleteOptions:` + strings.Replace(fmt.Sprintf("%v", this.DeleteOptions), "DeleteOptions", "k8s_io_kubernetes_pkg_api_v1.DeleteOptions", 1) + `,`, + `DeleteOptions:` + strings.Replace(fmt.Sprintf("%v", this.DeleteOptions), "DeleteOptions", "k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions", 1) + `,`, `}`, }, "") return s @@ -566,7 +564,7 @@ func (m *Eviction) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.DeleteOptions == nil { - m.DeleteOptions = &k8s_io_kubernetes_pkg_api_v1.DeleteOptions{} + m.DeleteOptions = &k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions{} } if err := m.DeleteOptions.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1324,54 +1322,54 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 776 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x94, 0x4d, 0x6f, 0xe3, 0x44, - 0x18, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9a, 0x54, 0x65, 0xa0, 0x10, 0x22, 0xe1, 0xa2, 0x9c, 0x5a, - 0x5e, 0xc6, 0xa4, 0x20, 0x54, 0x38, 0x54, 0xd4, 0xa4, 0x82, 0x22, 0xaa, 0x54, 0x2e, 0x12, 0x12, - 0x02, 0x89, 0xb1, 0xfd, 0xe0, 0x0c, 0xf1, 0x9b, 0x66, 0xc6, 0x81, 0xdc, 0xf8, 0x08, 0x1c, 0xf8, - 0x50, 0x95, 0xb8, 0x54, 0x7b, 0xda, 0xc3, 0xaa, 0xda, 0x66, 0x3f, 0xc3, 0xde, 0x57, 0xb6, 0x27, - 0x2f, 0xce, 0x8b, 0x36, 0x52, 0x57, 0x7b, 0xcb, 0xcc, 0x3c, 0xbf, 0xff, 0xff, 0x79, 0x73, 0xd0, - 0x57, 0x83, 0x13, 0x41, 0x58, 0x64, 0x0c, 0x12, 0x1b, 0x78, 0x08, 0x12, 0x84, 0x11, 0x0f, 0x3c, - 0x83, 0xc6, 0x4c, 0x18, 0x71, 0xe4, 0x33, 0x67, 0x64, 0x0c, 0x3b, 0x36, 0x48, 0xda, 0x31, 0x3c, - 0x08, 0x81, 0x53, 0x09, 0x2e, 0x89, 0x79, 0x24, 0x23, 0x7c, 0x94, 0xa3, 0x64, 0x86, 0x92, 0x78, - 0xe0, 0x91, 0x14, 0x25, 0x39, 0x4a, 0x14, 0xda, 0xfa, 0xd4, 0x63, 0xb2, 0x9f, 0xd8, 0xc4, 0x89, - 0x02, 0xc3, 0x8b, 0xbc, 0xc8, 0xc8, 0x14, 0xec, 0xe4, 0x8f, 0xec, 0x94, 0x1d, 0xb2, 0x5f, 0xb9, - 0x72, 0xeb, 0x0b, 0x95, 0x14, 0x8d, 0x59, 0x40, 0x9d, 0x3e, 0x0b, 0x81, 0x8f, 0x66, 0x69, 0x05, - 0x20, 0xa9, 0x31, 0x5c, 0xca, 0xa7, 0x65, 0xac, 0xa3, 0x78, 0x12, 0x4a, 0x16, 0xc0, 0x12, 0xf0, - 0xe5, 0xcb, 0x00, 0xe1, 0xf4, 0x21, 0xa0, 0x4b, 0xdc, 0xf1, 0xda, 0x9e, 0x19, 0x1c, 0x44, 0x94, - 0x70, 0x67, 0xd9, 0xeb, 0x93, 0xf5, 0xcc, 0x8a, 0x52, 0x3a, 0xab, 0xa3, 0x13, 0xc9, 0x7c, 0x83, - 0x85, 0x52, 0x48, 0xbe, 0x88, 0xb4, 0x1f, 0x69, 0xa8, 0x76, 0x3e, 0x64, 0x8e, 0x64, 0x51, 0x88, - 0x7f, 0x47, 0xb5, 0xb4, 0x4b, 0x2e, 0x95, 0xb4, 0xa9, 0x7d, 0xa8, 0x1d, 0xee, 0x1c, 0x7f, 0x46, - 0xd4, 0xb4, 0xe6, 0x8b, 0x9d, 0xcd, 0x2b, 0x8d, 0x26, 0xc3, 0x0e, 0xe9, 0xd9, 0x7f, 0x82, 0x23, - 0x2f, 0x41, 0x52, 0x13, 0xdf, 0xdc, 0x1d, 0x94, 0xc6, 0x77, 0x07, 0x68, 0x76, 0x67, 0x4d, 0x55, - 0xb1, 0x8b, 0x1a, 0x2e, 0xf8, 0x20, 0xa1, 0x17, 0xa7, 0x8e, 0xa2, 0xb9, 0x95, 0xd9, 0x7c, 0x4c, - 0xd6, 0x2e, 0x45, 0x2a, 0xdf, 0x9d, 0x47, 0xcc, 0xb7, 0xc6, 0x77, 0x07, 0x8d, 0xc2, 0x95, 0x55, - 0x14, 0x6d, 0xff, 0xbf, 0x85, 0xde, 0xbe, 0x8a, 0xdc, 0x2e, 0x13, 0x3c, 0xc9, 0xae, 0xcc, 0xc4, - 0xf5, 0x40, 0xbe, 0x96, 0xfa, 0x2a, 0x22, 0x06, 0x47, 0x95, 0x65, 0x92, 0x8d, 0x77, 0x9d, 0xac, - 0xc8, 0xf7, 0x3a, 0x06, 0xc7, 0xac, 0x2b, 0xbf, 0x4a, 0x7a, 0xb2, 0x32, 0x75, 0xec, 0xa3, 0x6d, - 0x21, 0xa9, 0x4c, 0x44, 0xb3, 0x9c, 0xf9, 0x74, 0x1f, 0xe8, 0x93, 0x69, 0x99, 0xbb, 0xca, 0x69, - 0x3b, 0x3f, 0x5b, 0xca, 0xa3, 0xfd, 0x44, 0x43, 0xef, 0xad, 0xa0, 0x7e, 0x64, 0x42, 0xe2, 0x5f, - 0x97, 0x3a, 0x4a, 0x36, 0xeb, 0x68, 0x4a, 0x67, 0xfd, 0xdc, 0x53, 0xae, 0xb5, 0xc9, 0xcd, 0x5c, - 0x37, 0x1d, 0x54, 0x65, 0x12, 0x82, 0x74, 0x4b, 0xca, 0x87, 0x3b, 0xc7, 0xa7, 0x0f, 0x2b, 0xd3, - 0x6c, 0x28, 0xab, 0xea, 0x45, 0x2a, 0x6a, 0xe5, 0xda, 0xed, 0xf1, 0xea, 0xf2, 0xd2, 0x76, 0xe3, - 0x3e, 0xaa, 0x07, 0x2c, 0x3c, 0x1b, 0x52, 0xe6, 0x53, 0xdb, 0x87, 0xc5, 0x12, 0x17, 0xf2, 0x48, - 0xbf, 0x33, 0x92, 0x7f, 0x67, 0xe4, 0x22, 0x94, 0x3d, 0x7e, 0x2d, 0x39, 0x0b, 0x3d, 0xf3, 0x1d, - 0xe5, 0x5b, 0xbf, 0x9c, 0xd3, 0xb2, 0x0a, 0xca, 0xf8, 0x37, 0x54, 0x13, 0xe0, 0x83, 0x23, 0x23, - 0xae, 0x96, 0xe7, 0xf3, 0x0d, 0x1b, 0x49, 0x6d, 0xf0, 0xaf, 0x15, 0x6a, 0xd6, 0xd3, 0x4e, 0x4e, - 0x4e, 0xd6, 0x54, 0xb2, 0xfd, 0xbc, 0x82, 0xde, 0x5f, 0x3b, 0x79, 0xfc, 0x03, 0xc2, 0x91, 0x2d, - 0x80, 0x0f, 0xc1, 0xfd, 0x2e, 0xff, 0x7f, 0x60, 0x51, 0x98, 0x15, 0x5b, 0x36, 0x5b, 0x2a, 0x79, - 0xdc, 0x5b, 0x8a, 0xb0, 0x56, 0x50, 0xf8, 0x3f, 0x0d, 0x35, 0xdc, 0xdc, 0x06, 0xdc, 0xab, 0xc8, - 0x9d, 0x0c, 0xef, 0xe7, 0x57, 0xb1, 0xa3, 0xa4, 0x3b, 0xaf, 0x7c, 0x1e, 0x4a, 0x3e, 0x32, 0xf7, - 0x55, 0x82, 0x8d, 0xc2, 0x9b, 0x55, 0x4c, 0x02, 0x5f, 0x22, 0xec, 0x4e, 0x25, 0xc5, 0x99, 0xef, - 0x47, 0x7f, 0x81, 0x9b, 0x7d, 0x3e, 0x55, 0xf3, 0x03, 0xa5, 0xb0, 0x5f, 0xf0, 0x9d, 0x04, 0x59, - 0x2b, 0x40, 0x7c, 0x8a, 0x76, 0x9d, 0x84, 0x73, 0x08, 0xe5, 0xf7, 0x40, 0x7d, 0xd9, 0x1f, 0x35, - 0x2b, 0x99, 0xd4, 0xbb, 0x4a, 0x6a, 0xf7, 0xdb, 0xc2, 0xab, 0xb5, 0x10, 0x9d, 0xf2, 0x2e, 0x08, - 0xc6, 0xc1, 0x9d, 0xf0, 0xd5, 0x22, 0xdf, 0x2d, 0xbc, 0x5a, 0x0b, 0xd1, 0xf8, 0x04, 0xd5, 0xe1, - 0xef, 0x18, 0x9c, 0x49, 0x8f, 0xb7, 0x33, 0x7a, 0xba, 0x68, 0xe7, 0x73, 0x6f, 0x56, 0x21, 0xb2, - 0xe5, 0x23, 0xbc, 0xdc, 0x44, 0xbc, 0x87, 0xca, 0x03, 0x18, 0x65, 0x23, 0x7f, 0xd3, 0x4a, 0x7f, - 0xe2, 0x6f, 0x50, 0x75, 0x48, 0xfd, 0x04, 0xd4, 0x36, 0x7e, 0xb4, 0xd9, 0x36, 0xfe, 0xc4, 0x02, - 0xb0, 0x72, 0xf0, 0xeb, 0xad, 0x13, 0xcd, 0x3c, 0xba, 0xb9, 0xd7, 0x4b, 0xb7, 0xf7, 0x7a, 0xe9, - 0xf1, 0xbd, 0x5e, 0xfa, 0x67, 0xac, 0x6b, 0x37, 0x63, 0x5d, 0xbb, 0x1d, 0xeb, 0xda, 0xd3, 0xb1, - 0xae, 0xfd, 0xfb, 0x4c, 0x2f, 0xfd, 0xf2, 0x86, 0x1a, 0xfa, 0x8b, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x9b, 0xdc, 0x98, 0x55, 0x53, 0x08, 0x00, 0x00, + // 773 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x94, 0xcd, 0x6e, 0xeb, 0x44, + 0x14, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9a, 0x54, 0x65, 0xa0, 0x10, 0x22, 0xe1, 0xa2, 0xac, 0x5a, + 0x04, 0x63, 0x52, 0x10, 0x2a, 0x2c, 0x2a, 0x6a, 0x52, 0x41, 0x51, 0xab, 0x54, 0x2e, 0x12, 0x12, + 0x02, 0x89, 0xb1, 0x7d, 0x70, 0x86, 0xf8, 0x4b, 0x33, 0xe3, 0x40, 0x76, 0x3c, 0x02, 0x0b, 0x1e, + 0xaa, 0x12, 0x9b, 0x2e, 0x11, 0x42, 0x15, 0xcd, 0x7d, 0x86, 0xbb, 0xbf, 0xb2, 0x3d, 0xf9, 0x70, + 0x3e, 0x74, 0x73, 0xd5, 0xab, 0xbb, 0xf3, 0xcc, 0x9c, 0xdf, 0xff, 0x7f, 0xce, 0x99, 0x33, 0x46, + 0x9f, 0x0f, 0x4e, 0x04, 0x61, 0x91, 0x31, 0x48, 0x6c, 0xe0, 0x21, 0x48, 0x10, 0x46, 0x3c, 0xf0, + 0x0c, 0x1a, 0x33, 0x61, 0xc4, 0x91, 0xcf, 0x9c, 0x91, 0x31, 0xec, 0xd8, 0x20, 0x69, 0xc7, 0xf0, + 0x20, 0x04, 0x4e, 0x25, 0xb8, 0x24, 0xe6, 0x91, 0x8c, 0xf0, 0x51, 0x8e, 0x92, 0x19, 0x4a, 0xe2, + 0x81, 0x47, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0xeb, 0x23, 0x8f, 0xc9, 0x7e, 0x62, 0x13, 0x27, + 0x0a, 0x0c, 0x2f, 0xf2, 0x22, 0x23, 0x53, 0xb0, 0x93, 0x5f, 0xb2, 0x55, 0xb6, 0xc8, 0xbe, 0x72, + 0xe5, 0xd6, 0xa7, 0x2a, 0x29, 0x1a, 0xb3, 0x80, 0x3a, 0x7d, 0x16, 0x02, 0x1f, 0xcd, 0xd2, 0x0a, + 0x40, 0x52, 0x63, 0xb8, 0x94, 0x4f, 0xcb, 0x58, 0x47, 0xf1, 0x24, 0x94, 0x2c, 0x80, 0x25, 0xe0, + 0xb3, 0xe7, 0x01, 0xc2, 0xe9, 0x43, 0x40, 0x97, 0xb8, 0xe3, 0xb5, 0x3d, 0x33, 0x38, 0x88, 0x28, + 0xe1, 0xce, 0xb2, 0xd7, 0x87, 0xeb, 0x99, 0x15, 0xa5, 0x74, 0x56, 0x47, 0x27, 0x92, 0xf9, 0x06, + 0x0b, 0xa5, 0x90, 0x7c, 0x11, 0x69, 0xff, 0xab, 0xa1, 0xda, 0xf9, 0x90, 0x39, 0x92, 0x45, 0x21, + 0xfe, 0x19, 0xd5, 0xd2, 0x2e, 0xb9, 0x54, 0xd2, 0xa6, 0xf6, 0xbe, 0x76, 0xb8, 0x73, 0xfc, 0x31, + 0x51, 0xb7, 0x35, 0x5f, 0xec, 0xec, 0xbe, 0xd2, 0x68, 0x32, 0xec, 0x90, 0x9e, 0xfd, 0x2b, 0x38, + 0xf2, 0x0a, 0x24, 0x35, 0xf1, 0xed, 0xfd, 0x41, 0x69, 0x7c, 0x7f, 0x80, 0x66, 0x7b, 0xd6, 0x54, + 0x15, 0xfb, 0xa8, 0xe1, 0x82, 0x0f, 0x12, 0x7a, 0x71, 0xea, 0x28, 0x9a, 0x5b, 0x99, 0xcd, 0x27, + 0x9b, 0xd9, 0x74, 0xe7, 0x51, 0xf3, 0x8d, 0xf1, 0xfd, 0x41, 0xa3, 0xb0, 0x65, 0x15, 0xc5, 0xdb, + 0x7f, 0x6f, 0xa1, 0x37, 0xaf, 0x23, 0xb7, 0xcb, 0x04, 0x4f, 0xb2, 0x2d, 0x33, 0x71, 0x3d, 0x90, + 0xaf, 0xa0, 0x4e, 0x17, 0x55, 0x44, 0x0c, 0x8e, 0x2a, 0xcf, 0x24, 0x1b, 0xcf, 0x3c, 0x59, 0x91, + 0xef, 0x4d, 0x0c, 0x8e, 0x59, 0x57, 0x7e, 0x95, 0x74, 0x65, 0x65, 0xea, 0xd8, 0x47, 0xdb, 0x42, + 0x52, 0x99, 0x88, 0x66, 0x39, 0xf3, 0xe9, 0x3e, 0xd2, 0x27, 0xd3, 0x32, 0x77, 0x95, 0xd3, 0x76, + 0xbe, 0xb6, 0x94, 0x47, 0xfb, 0x3f, 0x0d, 0xbd, 0xb3, 0x82, 0xba, 0x64, 0x42, 0xe2, 0x1f, 0x97, + 0x3a, 0x4a, 0x36, 0xeb, 0x68, 0x4a, 0x67, 0xfd, 0xdc, 0x53, 0xae, 0xb5, 0xc9, 0xce, 0x5c, 0x37, + 0x1d, 0x54, 0x65, 0x12, 0x82, 0x74, 0x5a, 0xca, 0x87, 0x3b, 0xc7, 0xa7, 0x8f, 0x2b, 0xd3, 0x6c, + 0x28, 0xab, 0xea, 0x45, 0x2a, 0x6a, 0xe5, 0xda, 0xed, 0xf1, 0xea, 0xf2, 0xd2, 0x76, 0xe3, 0x3e, + 0xaa, 0x07, 0x2c, 0x3c, 0x1b, 0x52, 0xe6, 0x53, 0xdb, 0x87, 0xc5, 0x12, 0x17, 0xf2, 0x48, 0xdf, + 0x1b, 0xc9, 0xdf, 0x1b, 0xb9, 0x08, 0x65, 0x8f, 0xdf, 0x48, 0xce, 0x42, 0xcf, 0x7c, 0x4b, 0xf9, + 0xd6, 0xaf, 0xe6, 0xb4, 0xac, 0x82, 0x32, 0xfe, 0x09, 0xd5, 0x04, 0xf8, 0xe0, 0xc8, 0x88, 0xbf, + 0xd8, 0xdb, 0xb8, 0xa4, 0x36, 0xf8, 0x37, 0x0a, 0x35, 0xeb, 0x69, 0x27, 0x27, 0x2b, 0x6b, 0x2a, + 0xd9, 0x7e, 0x5a, 0x41, 0xef, 0xae, 0xbd, 0x79, 0xfc, 0x2d, 0xc2, 0x91, 0x2d, 0x80, 0x0f, 0xc1, + 0xfd, 0x3a, 0xff, 0x4f, 0xb0, 0x28, 0xcc, 0x8a, 0x2d, 0x9b, 0x2d, 0x95, 0x3c, 0xee, 0x2d, 0x45, + 0x58, 0x2b, 0x28, 0xfc, 0x97, 0x86, 0x1a, 0x6e, 0x6e, 0x03, 0xee, 0x75, 0xe4, 0x4e, 0x2e, 0xef, + 0xfb, 0x97, 0x31, 0xa3, 0xa4, 0x3b, 0xaf, 0x7c, 0x1e, 0x4a, 0x3e, 0x32, 0xf7, 0x55, 0x82, 0x8d, + 0xc2, 0x99, 0x55, 0x4c, 0x02, 0x5f, 0x21, 0xec, 0x4e, 0x25, 0xc5, 0x99, 0xef, 0x47, 0xbf, 0x81, + 0x9b, 0x3d, 0x9f, 0xaa, 0xf9, 0x9e, 0x52, 0xd8, 0x2f, 0xf8, 0x4e, 0x82, 0xac, 0x15, 0x20, 0x3e, + 0x45, 0xbb, 0x4e, 0xc2, 0x39, 0x84, 0xf2, 0x1b, 0xa0, 0xbe, 0xec, 0x8f, 0x9a, 0x95, 0x4c, 0xea, + 0x6d, 0x25, 0xb5, 0xfb, 0x55, 0xe1, 0xd4, 0x5a, 0x88, 0x4e, 0x79, 0x17, 0x04, 0xe3, 0xe0, 0x4e, + 0xf8, 0x6a, 0x91, 0xef, 0x16, 0x4e, 0xad, 0x85, 0x68, 0x7c, 0x82, 0xea, 0xf0, 0x7b, 0x0c, 0xce, + 0xa4, 0xc7, 0xdb, 0x19, 0x3d, 0x1d, 0xb4, 0xf3, 0xb9, 0x33, 0xab, 0x10, 0xd9, 0xf2, 0x11, 0x5e, + 0x6e, 0x22, 0xde, 0x43, 0xe5, 0x01, 0x8c, 0xb2, 0x2b, 0x7f, 0xdd, 0x4a, 0x3f, 0xf1, 0x97, 0xa8, + 0x3a, 0xa4, 0x7e, 0x02, 0x6a, 0x1a, 0x3f, 0xd8, 0x6c, 0x1a, 0xbf, 0x63, 0x01, 0x58, 0x39, 0xf8, + 0xc5, 0xd6, 0x89, 0x66, 0x1e, 0xdd, 0x3e, 0xe8, 0xa5, 0xbb, 0x07, 0xbd, 0xf4, 0xcf, 0x83, 0x5e, + 0xfa, 0x63, 0xac, 0x6b, 0xb7, 0x63, 0x5d, 0xbb, 0x1b, 0xeb, 0xda, 0xff, 0x63, 0x5d, 0xfb, 0xf3, + 0x89, 0x5e, 0xfa, 0xe1, 0x35, 0x75, 0xe9, 0xcf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xca, 0xf1, 0x55, + 0x25, 0x5b, 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 51e1451c447..4d74c13cbf0 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 @@ -39,7 +39,7 @@ message Eviction { optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // DeleteOptions may be provided - optional k8s.io.kubernetes.pkg.api.v1.DeleteOptions deleteOptions = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2; } // PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods 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 83493e2f6bc..52bd65c8ba4 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.generated.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.generated.go index cdd6db246f8..bdfd65a61c6 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.generated.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.generated.go @@ -27,7 +27,6 @@ import ( codec1978 "github.com/ugorji/go/codec" pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg3_types "k8s.io/apimachinery/pkg/types" - pkg4_v1 "k8s.io/client-go/pkg/api/v1" pkg1_intstr "k8s.io/client-go/pkg/util/intstr" "reflect" "runtime" @@ -66,10 +65,9 @@ func init() { if false { // reference the types, but skip this branch at build/run time var v0 pkg2_v1.LabelSelector var v1 pkg3_types.UID - var v2 pkg4_v1.DeleteOptions - var v3 pkg1_intstr.IntOrString - var v4 time.Time - _, _, _, _, _ = v0, v1, v2, v3, v4 + var v2 pkg1_intstr.IntOrString + var v3 time.Time + _, _, _, _ = v0, v1, v2, v3 } } @@ -1680,7 +1678,13 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) { if x.DeleteOptions == nil { r.EncodeNil() } else { - x.DeleteOptions.CodecEncodeSelf(e) + yym15 := z.EncBinary() + _ = yym15 + if false { + } else if z.HasExtensions() && z.EncExt(x.DeleteOptions) { + } else { + z.EncFallback(x.DeleteOptions) + } } } else { r.EncodeNil() @@ -1693,7 +1697,13 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) { if x.DeleteOptions == nil { r.EncodeNil() } else { - x.DeleteOptions.CodecEncodeSelf(e) + yym16 := z.EncBinary() + _ = yym16 + if false { + } else if z.HasExtensions() && z.EncExt(x.DeleteOptions) { + } else { + z.EncFallback(x.DeleteOptions) + } } } } @@ -1802,9 +1812,15 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } } else { if x.DeleteOptions == nil { - x.DeleteOptions = new(pkg4_v1.DeleteOptions) + x.DeleteOptions = new(pkg2_v1.DeleteOptions) + } + yym11 := z.DecBinary() + _ = yym11 + if false { + } else if z.HasExtensions() && z.DecExt(x.DeleteOptions) { + } else { + z.DecFallback(x.DeleteOptions, false) } - x.DeleteOptions.CodecDecodeSelf(d) } default: z.DecStructFieldNotFound(-1, yys3) @@ -1817,16 +1833,16 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj11 int - var yyb11 bool - var yyhl11 bool = l >= 0 - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + var yyj12 int + var yyb12 bool + var yyhl12 bool = l >= 0 + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1834,21 +1850,21 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.Kind = "" } else { - yyv12 := &x.Kind - yym13 := z.DecBinary() - _ = yym13 + yyv13 := &x.Kind + yym14 := z.DecBinary() + _ = yym14 if false { } else { - *((*string)(yyv12)) = r.DecodeString() + *((*string)(yyv13)) = r.DecodeString() } } - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1856,21 +1872,21 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.APIVersion = "" } else { - yyv14 := &x.APIVersion - yym15 := z.DecBinary() - _ = yym15 + yyv15 := &x.APIVersion + yym16 := z.DecBinary() + _ = yym16 if false { } else { - *((*string)(yyv14)) = r.DecodeString() + *((*string)(yyv15)) = r.DecodeString() } } - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1878,22 +1894,22 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.ObjectMeta = pkg2_v1.ObjectMeta{} } else { - yyv16 := &x.ObjectMeta - yym17 := z.DecBinary() - _ = yym17 + yyv17 := &x.ObjectMeta + yym18 := z.DecBinary() + _ = yym18 if false { - } else if z.HasExtensions() && z.DecExt(yyv16) { + } else if z.HasExtensions() && z.DecExt(yyv17) { } else { - z.DecFallback(yyv16, false) + z.DecFallback(yyv17, false) } } - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1904,22 +1920,28 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } } else { if x.DeleteOptions == nil { - x.DeleteOptions = new(pkg4_v1.DeleteOptions) + x.DeleteOptions = new(pkg2_v1.DeleteOptions) + } + yym20 := z.DecBinary() + _ = yym20 + if false { + } else if z.HasExtensions() && z.DecExt(x.DeleteOptions) { + } else { + z.DecFallback(x.DeleteOptions, false) } - x.DeleteOptions.CodecDecodeSelf(d) } for { - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj11-1, "") + z.DecStructFieldNotFound(yyj12-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.go index 0ec6b94c599..95b4f30680e 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/types.go @@ -18,7 +18,6 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/util/intstr" ) @@ -102,5 +101,5 @@ type Eviction struct { metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // DeleteOptions may be provided - DeleteOptions *v1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` + DeleteOptions *metav1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` } diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.conversion.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.conversion.go index 47facf7952c..cb4cbb6d653 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.conversion.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.conversion.go @@ -21,11 +21,9 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" policy "k8s.io/client-go/pkg/apis/policy" unsafe "unsafe" ) @@ -53,7 +51,7 @@ func RegisterConversions(scheme *runtime.Scheme) error { func autoConvert_v1beta1_Eviction_To_policy_Eviction(in *Eviction, out *policy.Eviction, s conversion.Scope) error { out.ObjectMeta = in.ObjectMeta - out.DeleteOptions = (*api.DeleteOptions)(unsafe.Pointer(in.DeleteOptions)) + out.DeleteOptions = (*v1.DeleteOptions)(unsafe.Pointer(in.DeleteOptions)) return nil } @@ -123,7 +121,7 @@ func Convert_policy_PodDisruptionBudgetList_To_v1beta1_PodDisruptionBudgetList(i func autoConvert_v1beta1_PodDisruptionBudgetSpec_To_policy_PodDisruptionBudgetSpec(in *PodDisruptionBudgetSpec, out *policy.PodDisruptionBudgetSpec, s conversion.Scope) error { out.MinAvailable = in.MinAvailable - out.Selector = (*meta_v1.LabelSelector)(unsafe.Pointer(in.Selector)) + out.Selector = (*v1.LabelSelector)(unsafe.Pointer(in.Selector)) return nil } @@ -133,7 +131,7 @@ func Convert_v1beta1_PodDisruptionBudgetSpec_To_policy_PodDisruptionBudgetSpec(i func autoConvert_policy_PodDisruptionBudgetSpec_To_v1beta1_PodDisruptionBudgetSpec(in *policy.PodDisruptionBudgetSpec, out *PodDisruptionBudgetSpec, s conversion.Scope) error { out.MinAvailable = in.MinAvailable - out.Selector = (*meta_v1.LabelSelector)(unsafe.Pointer(in.Selector)) + out.Selector = (*v1.LabelSelector)(unsafe.Pointer(in.Selector)) return nil } @@ -143,7 +141,7 @@ func Convert_policy_PodDisruptionBudgetSpec_To_v1beta1_PodDisruptionBudgetSpec(i func autoConvert_v1beta1_PodDisruptionBudgetStatus_To_policy_PodDisruptionBudgetStatus(in *PodDisruptionBudgetStatus, out *policy.PodDisruptionBudgetStatus, s conversion.Scope) error { out.ObservedGeneration = in.ObservedGeneration - out.DisruptedPods = *(*map[string]meta_v1.Time)(unsafe.Pointer(&in.DisruptedPods)) + out.DisruptedPods = *(*map[string]v1.Time)(unsafe.Pointer(&in.DisruptedPods)) out.PodDisruptionsAllowed = in.PodDisruptionsAllowed out.CurrentHealthy = in.CurrentHealthy out.DesiredHealthy = in.DesiredHealthy @@ -157,7 +155,7 @@ func Convert_v1beta1_PodDisruptionBudgetStatus_To_policy_PodDisruptionBudgetStat func autoConvert_policy_PodDisruptionBudgetStatus_To_v1beta1_PodDisruptionBudgetStatus(in *policy.PodDisruptionBudgetStatus, out *PodDisruptionBudgetStatus, s conversion.Scope) error { out.ObservedGeneration = in.ObservedGeneration - out.DisruptedPods = *(*map[string]meta_v1.Time)(unsafe.Pointer(&in.DisruptedPods)) + out.DisruptedPods = *(*map[string]v1.Time)(unsafe.Pointer(&in.DisruptedPods)) out.PodDisruptionsAllowed = in.PodDisruptionsAllowed out.CurrentHealthy = in.CurrentHealthy out.DesiredHealthy = in.DesiredHealthy diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go index 99b5378f35b..395e6689e34 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go @@ -24,7 +24,6 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - api_v1 "k8s.io/client-go/pkg/api/v1" reflect "reflect" ) @@ -56,9 +55,10 @@ func DeepCopy_v1beta1_Eviction(in interface{}, out interface{}, c *conversion.Cl } if in.DeleteOptions != nil { in, out := &in.DeleteOptions, &out.DeleteOptions - *out = new(api_v1.DeleteOptions) - if err := api_v1.DeepCopy_v1_DeleteOptions(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.DeleteOptions) } } return nil diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/apis/policy/zz_generated.deepcopy.go index c4dd58331f4..298ec5fdab2 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/zz_generated.deepcopy.go @@ -24,7 +24,6 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - api "k8s.io/client-go/pkg/api" reflect "reflect" ) @@ -56,9 +55,10 @@ func DeepCopy_policy_Eviction(in interface{}, out interface{}, c *conversion.Clo } if in.DeleteOptions != nil { in, out := &in.DeleteOptions, &out.DeleteOptions - *out = new(api.DeleteOptions) - if err := api.DeepCopy_api_DeleteOptions(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.DeleteOptions) } } return nil 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 8642b9d7cc0..a7403d34b51 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) const GroupName = "rbac.authorization.k8s.io" @@ -55,10 +54,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return 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 1395592f830..3977e99c51d 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) const GroupName = "rbac.authorization.k8s.io" @@ -50,10 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/register.go b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/register.go index bc3a694c644..cab2e77e4b9 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/register.go +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) const GroupName = "rbac.authorization.k8s.io" @@ -50,10 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil 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 65171364b8e..aaa619b4d97 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 @@ -17,10 +17,8 @@ limitations under the License. package storage import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &StorageClass{}, &StorageClassList{}, ) 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 6e87105c30b..70087f37970 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &StorageClass{}, &StorageClassList{}, ) 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 d8122aff8a2..78f54810bc1 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 @@ -19,7 +19,6 @@ package federation import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -47,7 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}, - &api.DeleteOptions{}, ) return nil } 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 bcad5cc57bc..0a772ff1187 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 @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -38,9 +37,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/staging/src/k8s.io/client-go/pkg/util/config/config.go b/staging/src/k8s.io/client-go/pkg/util/config/config.go deleted file mode 100644 index c789daa2283..00000000000 --- a/staging/src/k8s.io/client-go/pkg/util/config/config.go +++ /dev/null @@ -1,140 +0,0 @@ -/* -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 config - -import ( - "sync" - - "k8s.io/apimachinery/pkg/util/wait" -) - -type Merger interface { - // Invoked when a change from a source is received. May also function as an incremental - // merger if you wish to consume changes incrementally. Must be reentrant when more than - // one source is defined. - Merge(source string, update interface{}) error -} - -// MergeFunc implements the Merger interface -type MergeFunc func(source string, update interface{}) error - -func (f MergeFunc) Merge(source string, update interface{}) error { - return f(source, update) -} - -// Mux is a class for merging configuration from multiple sources. Changes are -// pushed via channels and sent to the merge function. -type Mux struct { - // Invoked when an update is sent to a source. - merger Merger - - // Sources and their lock. - sourceLock sync.RWMutex - // Maps source names to channels - sources map[string]chan interface{} -} - -// NewMux creates a new mux that can merge changes from multiple sources. -func NewMux(merger Merger) *Mux { - mux := &Mux{ - sources: make(map[string]chan interface{}), - merger: merger, - } - return mux -} - -// Channel returns a channel where a configuration source -// can send updates of new configurations. Multiple calls with the same -// source will return the same channel. This allows change and state based sources -// to use the same channel. Different source names however will be treated as a -// union. -func (m *Mux) Channel(source string) chan interface{} { - if len(source) == 0 { - panic("Channel given an empty name") - } - m.sourceLock.Lock() - defer m.sourceLock.Unlock() - channel, exists := m.sources[source] - if exists { - return channel - } - newChannel := make(chan interface{}) - m.sources[source] = newChannel - go wait.Until(func() { m.listen(source, newChannel) }, 0, wait.NeverStop) - return newChannel -} - -func (m *Mux) listen(source string, listenChannel <-chan interface{}) { - for update := range listenChannel { - m.merger.Merge(source, update) - } -} - -// Accessor is an interface for retrieving the current merge state. -type Accessor interface { - // MergedState returns a representation of the current merge state. - // Must be reentrant when more than one source is defined. - MergedState() interface{} -} - -// AccessorFunc implements the Accessor interface. -type AccessorFunc func() interface{} - -func (f AccessorFunc) MergedState() interface{} { - return f() -} - -type Listener interface { - // OnUpdate is invoked when a change is made to an object. - OnUpdate(instance interface{}) -} - -// ListenerFunc receives a representation of the change or object. -type ListenerFunc func(instance interface{}) - -func (f ListenerFunc) OnUpdate(instance interface{}) { - f(instance) -} - -type Broadcaster struct { - // Listeners for changes and their lock. - listenerLock sync.RWMutex - listeners []Listener -} - -// NewBroadcaster registers a set of listeners that support the Listener interface -// and notifies them all on changes. -func NewBroadcaster() *Broadcaster { - return &Broadcaster{} -} - -// Add registers listener to receive updates of changes. -func (b *Broadcaster) Add(listener Listener) { - b.listenerLock.Lock() - defer b.listenerLock.Unlock() - b.listeners = append(b.listeners, listener) -} - -// Notify notifies all listeners. -func (b *Broadcaster) Notify(instance interface{}) { - b.listenerLock.RLock() - listeners := b.listeners - b.listenerLock.RUnlock() - for _, listener := range listeners { - listener.OnUpdate(instance) - } -} diff --git a/staging/src/k8s.io/client-go/pkg/util/config/configuration_map.go b/staging/src/k8s.io/client-go/pkg/util/config/configuration_map.go deleted file mode 100644 index 0acbde56f8f..00000000000 --- a/staging/src/k8s.io/client-go/pkg/util/config/configuration_map.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -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 config - -import ( - "fmt" - "sort" - "strings" -) - -type ConfigurationMap map[string]string - -func (m *ConfigurationMap) String() string { - pairs := []string{} - for k, v := range *m { - pairs = append(pairs, fmt.Sprintf("%s=%s", k, v)) - } - sort.Strings(pairs) - return strings.Join(pairs, ",") -} - -func (m *ConfigurationMap) Set(value string) error { - for _, s := range strings.Split(value, ",") { - if len(s) == 0 { - continue - } - arr := strings.SplitN(s, "=", 2) - if len(arr) == 2 { - (*m)[strings.TrimSpace(arr[0])] = strings.TrimSpace(arr[1]) - } else { - (*m)[strings.TrimSpace(arr[0])] = "" - } - } - return nil -} - -func (*ConfigurationMap) Type() string { - return "mapStringString" -} 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 deleted file mode 100644 index ea01833fbe9..00000000000 --- a/staging/src/k8s.io/client-go/pkg/util/config/feature_gate.go +++ /dev/null @@ -1,260 +0,0 @@ -/* -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 config - -import ( - "fmt" - "sort" - "strconv" - "strings" - - "github.com/golang/glog" - "github.com/spf13/pflag" -) - -const ( - flagName = "feature-gates" - - // All known feature keys - // To add a new feature, define a key for it below and add - // a featureSpec entry to knownFeatures. - - // allAlphaGate is a global toggle for alpha features. Per-feature key - // values override the default set by allAlphaGate. Examples: - // AllAlpha=false,NewFeature=true will result in newFeature=true - // AllAlpha=true,NewFeature=false will result in newFeature=false - allAlphaGate = "AllAlpha" - externalTrafficLocalOnly = "AllowExtTrafficLocalEndpoints" - appArmor = "AppArmor" - 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: {true, beta}, - experimentalHostUserNamespaceDefaultingGate: {false, alpha}, - } - - // Special handling for a few gates. - specialFeatures = map[string]func(f *featureGate, val bool){ - allAlphaGate: setUnsetAlphaGates, - } - - // DefaultFeatureGate is a shared global FeatureGate. - DefaultFeatureGate = &featureGate{ - known: knownFeatures, - special: specialFeatures, - } -) - -type featureSpec struct { - enabled bool - prerelease prerelease -} - -type prerelease string - -const ( - // Values for prerelease. - alpha = prerelease("ALPHA") - beta = prerelease("BETA") - ga = prerelease("") -) - -// FeatureGate parses and stores flag gates for known features from -// a string like feature1=true,feature2=false,... -type FeatureGate interface { - AddFlag(fs *pflag.FlagSet) - Set(value string) error - KnownFeatures() []string - - // Every feature gate should add method here following this template: - // - // // owner: @username - // // alpha: v1.4 - // MyFeature() bool - - // owner: @timstclair - // beta: v1.4 - AppArmor() bool - - // owner: @girishkalele - // alpha: v1.4 - ExternalTrafficLocalOnly() bool - - // owner: @saad-ali - // alpha: v1.3 - DynamicVolumeProvisioning() bool - - // owner: @mtaufen - // alpha: v1.4 - DynamicKubeletConfig() bool - - // 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. -type featureGate struct { - known map[string]featureSpec - special map[string]func(*featureGate, bool) - enabled map[string]bool -} - -func setUnsetAlphaGates(f *featureGate, val bool) { - for k, v := range f.known { - if v.prerelease == alpha { - if _, found := f.enabled[k]; !found { - f.enabled[k] = val - } - } - } -} - -// Set, String, and Type implement pflag.Value - -// Set Parses a string of the form // "key1=value1,key2=value2,..." into a -// map[string]bool of known keys or returns an error. -func (f *featureGate) Set(value string) error { - f.enabled = make(map[string]bool) - for _, s := range strings.Split(value, ",") { - if len(s) == 0 { - continue - } - arr := strings.SplitN(s, "=", 2) - k := strings.TrimSpace(arr[0]) - _, ok := f.known[k] - if !ok { - return fmt.Errorf("unrecognized key: %s", k) - } - if len(arr) != 2 { - return fmt.Errorf("missing bool value for %s", k) - } - v := strings.TrimSpace(arr[1]) - boolValue, err := strconv.ParseBool(v) - if err != nil { - return fmt.Errorf("invalid value of %s: %s, err: %v", k, v, err) - } - f.enabled[k] = boolValue - - // Handle "special" features like "all alpha gates" - if fn, found := f.special[k]; found { - fn(f, boolValue) - } - } - - glog.Infof("feature gates: %v", f.enabled) - return nil -} - -func (f *featureGate) String() string { - pairs := []string{} - for k, v := range f.enabled { - pairs = append(pairs, fmt.Sprintf("%s=%t", k, v)) - } - sort.Strings(pairs) - return strings.Join(pairs, ",") -} - -func (f *featureGate) Type() string { - return "mapStringBool" -} - -// ExternalTrafficLocalOnly returns value for AllowExtTrafficLocalEndpoints -func (f *featureGate) ExternalTrafficLocalOnly() bool { - return f.lookup(externalTrafficLocalOnly) -} - -// AppArmor returns the value for the AppArmor feature gate. -func (f *featureGate) AppArmor() bool { - return f.lookup(appArmor) -} - -// DynamicKubeletConfig returns value for dynamicKubeletConfig -func (f *featureGate) DynamicKubeletConfig() bool { - return f.lookup(dynamicKubeletConfig) -} - -// DynamicVolumeProvisioning returns value for dynamicVolumeProvisioning -func (f *featureGate) DynamicVolumeProvisioning() bool { - return f.lookup(dynamicVolumeProvisioning) -} - -// StreamingProxyRedirects controls whether the apiserver should intercept (and follow) -// redirects from the backend (Kubelet) for streaming requests (exec/attach/port-forward). -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 { - if v, ok := f.enabled[key]; ok { - return v - } - } - return defaultValue - -} - -// AddFlag adds a flag for setting global feature gates to the specified FlagSet. -func (f *featureGate) AddFlag(fs *pflag.FlagSet) { - known := f.KnownFeatures() - fs.Var(f, flagName, ""+ - "A set of key=value pairs that describe feature gates for alpha/experimental features. "+ - "Options are:\n"+strings.Join(known, "\n")) -} - -// Returns a string describing the FeatureGate's known features. -func (f *featureGate) KnownFeatures() []string { - var known []string - for k, v := range f.known { - pre := "" - if v.prerelease != ga { - pre = fmt.Sprintf("%s - ", v.prerelease) - } - known = append(known, fmt.Sprintf("%s=true|false (%sdefault=%t)", k, pre, v.enabled)) - } - sort.Strings(known) - return known -} diff --git a/staging/src/k8s.io/client-go/pkg/util/config/namedcertkey_flag.go b/staging/src/k8s.io/client-go/pkg/util/config/namedcertkey_flag.go deleted file mode 100644 index 39f20f681f7..00000000000 --- a/staging/src/k8s.io/client-go/pkg/util/config/namedcertkey_flag.go +++ /dev/null @@ -1,113 +0,0 @@ -/* -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 config - -import ( - "errors" - "flag" - "strings" -) - -// NamedCertKey is a flag value parsing "certfile,keyfile" and "certfile,keyfile:name,name,name". -type NamedCertKey struct { - Names []string - CertFile, KeyFile string -} - -var _ flag.Value = &NamedCertKey{} - -func (nkc *NamedCertKey) String() string { - s := nkc.CertFile + "," + nkc.KeyFile - if len(nkc.Names) > 0 { - s = s + ":" + strings.Join(nkc.Names, ",") - } - return s -} - -func (nkc *NamedCertKey) Set(value string) error { - cs := strings.SplitN(value, ":", 2) - var keycert string - if len(cs) == 2 { - var names string - keycert, names = strings.TrimSpace(cs[0]), strings.TrimSpace(cs[1]) - if names == "" { - return errors.New("empty names list is not allowed") - } - nkc.Names = nil - for _, name := range strings.Split(names, ",") { - nkc.Names = append(nkc.Names, strings.TrimSpace(name)) - } - } else { - nkc.Names = nil - keycert = strings.TrimSpace(cs[0]) - } - cs = strings.Split(keycert, ",") - if len(cs) != 2 { - return errors.New("expected comma separated certificate and key file paths") - } - nkc.CertFile = strings.TrimSpace(cs[0]) - nkc.KeyFile = strings.TrimSpace(cs[1]) - return nil -} - -func (*NamedCertKey) Type() string { - return "namedCertKey" -} - -// NamedCertKeyArray is a flag value parsing NamedCertKeys, each passed with its own -// flag instance (in contrast to comma separated slices). -type NamedCertKeyArray struct { - value *[]NamedCertKey - changed bool -} - -var _ flag.Value = &NamedCertKey{} - -// NewNamedKeyCertArray creates a new NamedCertKeyArray with the internal value -// pointing to p. -func NewNamedCertKeyArray(p *[]NamedCertKey) *NamedCertKeyArray { - return &NamedCertKeyArray{ - value: p, - } -} - -func (a *NamedCertKeyArray) Set(val string) error { - nkc := NamedCertKey{} - err := nkc.Set(val) - if err != nil { - return err - } - if !a.changed { - *a.value = []NamedCertKey{nkc} - a.changed = true - } else { - *a.value = append(*a.value, nkc) - } - return nil -} - -func (a *NamedCertKeyArray) Type() string { - return "namedCertKey" -} - -func (a *NamedCertKeyArray) String() string { - nkcs := make([]string, 0, len(*a.value)) - for i := range *a.value { - nkcs = append(nkcs, (*a.value)[i].String()) - } - return "[" + strings.Join(nkcs, ";") + "]" -} diff --git a/staging/src/k8s.io/client-go/pkg/util/labels/.readonly b/staging/src/k8s.io/client-go/pkg/util/labels/.readonly new file mode 100644 index 00000000000..e69de29bb2d 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 8903a458a3c..a475b8317d6 100644 --- a/staging/src/k8s.io/client-go/rest/fake/fake.go +++ b/staging/src/k8s.io/client-go/rest/fake/fake.go @@ -22,11 +22,10 @@ import ( "net/http" "net/url" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/testapi" restclient "k8s.io/client-go/rest" "k8s.io/client-go/util/flowcontrol" ) @@ -48,6 +47,7 @@ type RESTClient struct { Client *http.Client NegotiatedSerializer runtime.NegotiatedSerializer GroupName string + APIRegistry *registered.APIRegistrationManager Req *http.Request Resp *http.Response @@ -79,7 +79,7 @@ func (c *RESTClient) Verb(verb string) *restclient.Request { } func (c *RESTClient) APIVersion() schema.GroupVersion { - return *(testapi.Default.GroupVersion()) + return c.APIRegistry.GroupOrDie("").GroupVersion } func (c *RESTClient) GetRateLimiter() flowcontrol.RateLimiter { @@ -88,24 +88,22 @@ func (c *RESTClient) GetRateLimiter() flowcontrol.RateLimiter { func (c *RESTClient) request(verb string) *restclient.Request { config := restclient.ContentConfig{ - ContentType: runtime.ContentTypeJSON, - GroupVersion: &api.Registry.GroupOrDie(api.GroupName).GroupVersion, + ContentType: runtime.ContentTypeJSON, + // TODO this was hardcoded before, but it doesn't look right + GroupVersion: &c.APIRegistry.GroupOrDie("").GroupVersion, NegotiatedSerializer: c.NegotiatedSerializer, } - groupName := api.GroupName - if c.GroupName != "" { - groupName = c.GroupName - } ns := c.NegotiatedSerializer info, _ := runtime.SerializerInfoForMediaType(ns.SupportedMediaTypes(), runtime.ContentTypeJSON) internalVersion := schema.GroupVersion{ - Group: api.Registry.GroupOrDie(groupName).GroupVersion.Group, + Group: c.APIRegistry.GroupOrDie(c.GroupName).GroupVersion.Group, Version: runtime.APIVersionInternal, } internalVersion.Version = runtime.APIVersionInternal serializers := restclient.Serializers{ - Encoder: ns.EncoderForVersion(info.Serializer, api.Registry.GroupOrDie(api.GroupName).GroupVersion), + // TODO this was hardcoded before, but it doesn't look right + Encoder: ns.EncoderForVersion(info.Serializer, c.APIRegistry.GroupOrDie("").GroupVersion), Decoder: ns.DecoderToVersion(info.Serializer, internalVersion), } if info.StreamSerializer != nil { diff --git a/pkg/client/cache/listwatch_test.go b/staging/src/k8s.io/client-go/tools/cache/listwatch_test.go similarity index 99% rename from pkg/client/cache/listwatch_test.go rename to staging/src/k8s.io/client-go/tools/cache/listwatch_test.go index 6e74fbafcdd..e174dd3ca93 100644 --- a/pkg/client/cache/listwatch_test.go +++ b/staging/src/k8s.io/client-go/tools/cache/listwatch_test.go @@ -27,11 +27,11 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + . "k8s.io/client-go/tools/cache" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - . "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" ) 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 77565d00f94..b46ade6ec86 100644 --- a/staging/src/k8s.io/client-go/tools/cache/reflector.go +++ b/staging/src/k8s.io/client-go/tools/cache/reflector.go @@ -110,7 +110,7 @@ func NewNamedReflector(name string, lw ListerWatcher, expectedType interface{}, // internalPackages are packages that ignored when creating a default reflector name. These packages are in the common // call chains to NewReflector, so they'd be low entropy names for reflectors -var internalPackages = []string{"kubernetes/pkg/client/cache/", "/runtime/asm_"} +var internalPackages = []string{"client-go/tools/cache/", "/runtime/asm_"} // getDefaultReflectorName walks back through the call stack until we find a caller from outside of the ignoredPackages // it returns back a shortpath/filename:line to aid in identification of this reflector when it starts logging diff --git a/test/e2e/BUILD b/test/e2e/BUILD index 8eb6d0379eb..726901e6d2a 100644 --- a/test/e2e/BUILD +++ b/test/e2e/BUILD @@ -115,7 +115,6 @@ go_library( "//pkg/apis/storage/util:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", @@ -197,6 +196,7 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/pkg/util/intstr", "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/transport", "//vendor:k8s.io/client-go/util/flowcontrol", ], diff --git a/test/e2e/daemon_restart.go b/test/e2e/daemon_restart.go index 990d7824f8f..f17888f5500 100644 --- a/test/e2e/daemon_restart.go +++ b/test/e2e/daemon_restart.go @@ -27,8 +27,8 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/util/uuid" diff --git a/test/e2e/density.go b/test/e2e/density.go index 8a55e006d6e..47c6b08cd1d 100644 --- a/test/e2e/density.go +++ b/test/e2e/density.go @@ -32,12 +32,12 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" utiluuid "k8s.io/kubernetes/pkg/util/uuid" diff --git a/test/e2e/network_partition.go b/test/e2e/network_partition.go index 8d4c07b5d2e..41997edc022 100644 --- a/test/e2e/network_partition.go +++ b/test/e2e/network_partition.go @@ -27,9 +27,9 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/opaque_resource.go b/test/e2e/opaque_resource.go index 8d63acd7cf7..a6d353716a3 100644 --- a/test/e2e/opaque_resource.go +++ b/test/e2e/opaque_resource.go @@ -28,9 +28,9 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/util/system" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/service_latency.go b/test/e2e/service_latency.go index 868a9ddb725..5779f49eb1d 100644 --- a/test/e2e/service_latency.go +++ b/test/e2e/service_latency.go @@ -27,9 +27,9 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/flowcontrol" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e_node/BUILD b/test/e2e_node/BUILD index 0e01e1374ca..a58287f0b1d 100644 --- a/test/e2e_node/BUILD +++ b/test/e2e_node/BUILD @@ -78,7 +78,6 @@ go_test( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", @@ -114,6 +113,7 @@ go_test( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/test/e2e_node/density_test.go b/test/e2e_node/density_test.go index b1f3968586f..e5cb6fc7206 100644 --- a/test/e2e_node/density_test.go +++ b/test/e2e_node/density_test.go @@ -29,8 +29,8 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" kubemetrics "k8s.io/kubernetes/pkg/kubelet/metrics" "k8s.io/kubernetes/pkg/metrics" diff --git a/test/integration/evictions/evictions_test.go b/test/integration/evictions/evictions_test.go index b8ca98fa59b..5fa6c689c8e 100644 --- a/test/integration/evictions/evictions_test.go +++ b/test/integration/evictions/evictions_test.go @@ -31,9 +31,9 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/disruption" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/test/integration/replicaset/replicaset_test.go b/test/integration/replicaset/replicaset_test.go index 987d49becdf..8d2943cf6fd 100644 --- a/test/integration/replicaset/replicaset_test.go +++ b/test/integration/replicaset/replicaset_test.go @@ -29,9 +29,9 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/replicaset" diff --git a/test/integration/replicationcontroller/replicationcontroller_test.go b/test/integration/replicationcontroller/replicationcontroller_test.go index c5aca7927aa..6ea78efab17 100644 --- a/test/integration/replicationcontroller/replicationcontroller_test.go +++ b/test/integration/replicationcontroller/replicationcontroller_test.go @@ -29,8 +29,8 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/replication" diff --git a/test/integration/scheduler/scheduler_test.go b/test/integration/scheduler/scheduler_test.go index a3ecc414fbd..48b729648f6 100644 --- a/test/integration/scheduler/scheduler_test.go +++ b/test/integration/scheduler/scheduler_test.go @@ -29,10 +29,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" diff --git a/test/integration/volume/attach_detach_test.go b/test/integration/volume/attach_detach_test.go index bd25edcd202..34efa51b370 100644 --- a/test/integration/volume/attach_detach_test.go +++ b/test/integration/volume/attach_detach_test.go @@ -26,9 +26,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/fake" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/test/utils/BUILD b/test/utils/BUILD index 147e7e8beb7..6a071b57ec1 100644 --- a/test/utils/BUILD +++ b/test/utils/BUILD @@ -25,7 +25,6 @@ go_library( "//pkg/apis/batch/v1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/util/uuid:go_default_library", @@ -41,6 +40,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/tools/cache", ], ) diff --git a/test/utils/pod_store.go b/test/utils/pod_store.go index 76763181c5d..230d11fdfd4 100644 --- a/test/utils/pod_store.go +++ b/test/utils/pod_store.go @@ -22,8 +22,8 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" ) diff --git a/vendor/BUILD b/vendor/BUILD index e7975ee00ca..ce2609f64fb 100644 --- a/vendor/BUILD +++ b/vendor/BUILD @@ -10822,7 +10822,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/apps/v1beta1", "//vendor:k8s.io/client-go/rest", ], @@ -10843,7 +10842,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/apps/v1beta1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -10947,7 +10945,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/autoscaling/v1", "//vendor:k8s.io/client-go/rest", ], @@ -10968,7 +10965,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/autoscaling/v1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -10991,7 +10987,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/batch/v1", "//vendor:k8s.io/client-go/rest", ], @@ -11012,7 +11007,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/batch/v1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/batch/v1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11036,7 +11030,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/batch/v2alpha1", "//vendor:k8s.io/client-go/rest", ], @@ -11058,7 +11051,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/batch/v2alpha1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11180,7 +11172,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1", "//vendor:k8s.io/client-go/rest", ], @@ -11209,7 +11200,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11234,7 +11224,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/rest", ], @@ -11257,7 +11246,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11283,7 +11271,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac/v1alpha1", "//vendor:k8s.io/client-go/rest", ], @@ -11307,7 +11294,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac/v1alpha1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11330,7 +11316,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/storage/v1beta1", "//vendor:k8s.io/client-go/rest", ], @@ -11351,7 +11336,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/storage/v1beta1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -11596,7 +11580,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -11640,7 +11623,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/authentication", ], ) @@ -11659,7 +11641,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -11703,7 +11684,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/authorization", ], ) @@ -11722,7 +11702,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -11763,7 +11742,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/autoscaling", ], ) @@ -11880,7 +11858,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -11916,7 +11893,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/net", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/util/config", ], ) @@ -11957,7 +11933,6 @@ go_library( "//vendor:k8s.io/client-go/pkg/kubelet/qos", "//vendor:k8s.io/client-go/pkg/kubelet/types", "//vendor:k8s.io/client-go/pkg/master/ports", - "//vendor:k8s.io/client-go/pkg/util/config", ], ) @@ -12046,7 +12021,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -12088,7 +12062,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/imagepolicy", ], ) @@ -12106,7 +12079,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -12141,7 +12113,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api/v1", ], ) @@ -12159,7 +12130,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", "//vendor:k8s.io/client-go/pkg/util/intstr", ], ) @@ -12200,8 +12170,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/policy", "//vendor:k8s.io/client-go/pkg/util/intstr", ], @@ -12223,7 +12191,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/sets", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -12268,7 +12235,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac", ], ) @@ -12287,7 +12253,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/client-go/pkg/api", ], ) @@ -12329,7 +12294,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/storage", ], ) @@ -12493,23 +12457,6 @@ go_library( deps = ["//vendor:github.com/golang/glog"], ) -go_library( - name = "k8s.io/client-go/pkg/util/config", - srcs = [ - "k8s.io/client-go/pkg/util/config/config.go", - "k8s.io/client-go/pkg/util/config/configuration_map.go", - "k8s.io/client-go/pkg/util/config/doc.go", - "k8s.io/client-go/pkg/util/config/feature_gate.go", - "k8s.io/client-go/pkg/util/config/namedcertkey_flag.go", - ], - tags = ["automanaged"], - deps = [ - "//vendor:github.com/golang/glog", - "//vendor:github.com/spf13/pflag", - "//vendor:k8s.io/apimachinery/pkg/util/wait", - ], -) - go_library( name = "k8s.io/client-go/pkg/util/httpstream", srcs = [ @@ -12788,11 +12735,10 @@ go_library( srcs = ["k8s.io/client-go/rest/fake/fake.go"], tags = ["automanaged"], deps = [ + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/testapi", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/util/flowcontrol", ], @@ -13362,7 +13308,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac/v1beta1", "//vendor:k8s.io/client-go/rest", ], @@ -13386,7 +13331,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac/v1beta1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -13417,7 +13361,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/rbac", ], ) @@ -13517,7 +13460,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/certificates/v1beta1", "//vendor:k8s.io/client-go/rest", ], @@ -13539,7 +13481,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/certificates/v1beta1", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/testing", @@ -13572,7 +13513,6 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/client-go/pkg/api", - "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/certificates", ], ) @@ -14006,3 +13946,22 @@ go_library( "//vendor:k8s.io/client-go/pkg/apis/authorization/v1beta1", ], ) + +go_test( + name = "k8s.io/client-go/tools/cache_xtest", + srcs = ["k8s.io/client-go/tools/cache/listwatch_test.go"], + tags = ["automanaged"], + deps = [ + "//pkg/api:go_default_library", + "//pkg/api/testapi:go_default_library", + "//pkg/api/v1:go_default_library", + "//pkg/client/clientset_generated/internalclientset:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/fields", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/client-go/rest", + "//vendor:k8s.io/client-go/tools/cache", + "//vendor:k8s.io/client-go/util/testing", + ], +)