Merge pull request #39890 from deads2k/generic-23-post-client-go-update
Automatic merge from submit-queue move name generation to generic api server storage helpers Move name generation to the genericapiserver since only the server needs to know about it. @kubernetes/sig-api-machinery-misc @sttts
This commit is contained in:
		| @@ -22,6 +22,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	kapi "k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| 	"k8s.io/kubernetes/pkg/registry/generic" | ||||
| @@ -34,10 +35,10 @@ import ( | ||||
|  | ||||
| type apiServerStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	kapi.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| var Strategy = apiServerStrategy{kapi.Scheme, kapi.SimpleNameGenerator} | ||||
| var Strategy = apiServerStrategy{kapi.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (apiServerStrategy) NamespaceScoped() bool { | ||||
| 	return false | ||||
|   | ||||
| @@ -22,6 +22,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -61,7 +62,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { | ||||
|  | ||||
| type fakeStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| func (*fakeStrategy) NamespaceScoped() bool                                              { return false } | ||||
| @@ -71,7 +72,7 @@ func (*fakeStrategy) Validate(ctx genericapirequest.Context, obj runtime.Object) | ||||
| } | ||||
| func (*fakeStrategy) Canonicalize(obj runtime.Object) {} | ||||
|  | ||||
| var strategy = &fakeStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var strategy = &fakeStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func getAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { | ||||
| 	testType, ok := obj.(*testgroup.TestType) | ||||
|   | ||||
| @@ -29,6 +29,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/federation/apis/federation" | ||||
| 	"k8s.io/kubernetes/federation/apis/federation/validation" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| @@ -33,10 +34,10 @@ import ( | ||||
|  | ||||
| type clusterStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| var Strategy = clusterStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = clusterStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (clusterStrategy) NamespaceScoped() bool { | ||||
| 	return false | ||||
|   | ||||
| @@ -265,6 +265,7 @@ pkg/util/logs | ||||
| pkg/util/maps | ||||
| pkg/util/metrics | ||||
| pkg/util/netsh | ||||
| pkg/util/rand | ||||
| pkg/util/ratelimit | ||||
| pkg/util/replicaset | ||||
| pkg/util/restoptions | ||||
|   | ||||
| @@ -15,7 +15,6 @@ go_library( | ||||
|         "defaults.go", | ||||
|         "doc.go", | ||||
|         "field_constants.go", | ||||
|         "generate.go", | ||||
|         "helpers.go", | ||||
|         "mapper.go", | ||||
|         "meta.go", | ||||
| @@ -31,7 +30,6 @@ go_library( | ||||
|         "//pkg/fields:go_default_library", | ||||
|         "//pkg/util/intstr:go_default_library", | ||||
|         "//pkg/util/labels:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:github.com/davecgh/go-spew/spew", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/api/meta", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", | ||||
| @@ -51,7 +49,6 @@ go_library( | ||||
| go_test( | ||||
|     name = "go_default_test", | ||||
|     srcs = [ | ||||
|         "generate_test.go", | ||||
|         "helpers_test.go", | ||||
|         "ref_test.go", | ||||
|         "resource_helpers_test.go", | ||||
|   | ||||
| @@ -34,6 +34,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -22,6 +22,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation/genericvalidation" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation/path" | ||||
| @@ -34,7 +35,7 @@ type RESTCreateStrategy interface { | ||||
| 	runtime.ObjectTyper | ||||
| 	// The name generate is used when the standard GenerateName field is set. | ||||
| 	// The NameGenerator will be invoked prior to validation. | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
|  | ||||
| 	// NamespaceScoped returns true if the object must be within a namespace. | ||||
| 	NamespaceScoped() bool | ||||
| @@ -71,7 +72,9 @@ func BeforeCreate(strategy RESTCreateStrategy, ctx genericapirequest.Context, ob | ||||
| 	objectMeta.DeletionGracePeriodSeconds = nil | ||||
| 	strategy.PrepareForCreate(ctx, obj) | ||||
| 	FillObjectMetaSystemFields(ctx, objectMeta) | ||||
| 	api.GenerateName(strategy, objectMeta) | ||||
| 	if len(objectMeta.GenerateName) > 0 && len(objectMeta.Name) == 0 { | ||||
| 		objectMeta.Name = strategy.GenerateName(objectMeta.GenerateName) | ||||
| 	} | ||||
|  | ||||
| 	// ClusterName is ignored and should not be saved | ||||
| 	objectMeta.ClusterName = "" | ||||
|   | ||||
| @@ -37,7 +37,6 @@ go_library( | ||||
|         "//pkg/util:go_default_library", | ||||
|         "//pkg/util/intstr:go_default_library", | ||||
|         "//pkg/util/parsers:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:github.com/gogo/protobuf/proto", | ||||
|         "//vendor:github.com/gogo/protobuf/sortkeys", | ||||
|         "//vendor:github.com/ugorji/go/codec", | ||||
| @@ -49,6 +48,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime/schema", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/selection", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/types", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/sets", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|     ], | ||||
|   | ||||
| @@ -19,7 +19,7 @@ package v1 | ||||
| import ( | ||||
| 	"fmt" | ||||
|  | ||||
| 	utilrand "k8s.io/kubernetes/pkg/util/rand" | ||||
| 	utilrand "k8s.io/apimachinery/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| // NameGenerator generates names for objects. Some backends may have more information | ||||
|   | ||||
| @@ -69,10 +69,10 @@ go_test( | ||||
|     deps = [ | ||||
|         "//pkg/api/v1:go_default_library", | ||||
|         "//pkg/cloudprovider:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:github.com/rackspace/gophercloud", | ||||
|         "//vendor:github.com/rackspace/gophercloud/openstack/compute/v2/servers", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/types", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -27,8 +27,8 @@ import ( | ||||
| 	"github.com/rackspace/gophercloud" | ||||
| 	"github.com/rackspace/gophercloud/openstack/compute/v2/servers" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/api/v1" | ||||
| 	"k8s.io/kubernetes/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| const volumeAvailableStatus = "available" | ||||
|   | ||||
| @@ -29,8 +29,8 @@ go_test( | ||||
|     tags = ["automanaged"], | ||||
|     deps = [ | ||||
|         "//pkg/cloudprovider:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/types", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,8 +24,8 @@ import ( | ||||
| 	"testing" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| 	"k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/cloudprovider" | ||||
| 	"k8s.io/kubernetes/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| func configFromEnv() (TestVM string, TestFlavor string, cfg PCConfig, ok bool) { | ||||
|   | ||||
| @@ -39,9 +39,9 @@ go_test( | ||||
|     tags = ["automanaged"], | ||||
|     deps = [ | ||||
|         "//pkg/cloudprovider:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:golang.org/x/net/context", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/types", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -25,8 +25,8 @@ import ( | ||||
|  | ||||
| 	"golang.org/x/net/context" | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| 	"k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/cloudprovider" | ||||
| 	"k8s.io/kubernetes/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| func configFromEnv() (cfg VSphereConfig, ok bool) { | ||||
|   | ||||
| @@ -55,8 +55,8 @@ go_test( | ||||
|         "//pkg/client/testing/core:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
|         "//pkg/controller/informers:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/wait", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|     ], | ||||
|   | ||||
| @@ -22,6 +22,7 @@ import ( | ||||
| 	"time" | ||||
|  | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	"k8s.io/apimachinery/pkg/watch" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| @@ -34,7 +35,6 @@ import ( | ||||
| 	"k8s.io/kubernetes/pkg/client/testing/core" | ||||
| 	"k8s.io/kubernetes/pkg/controller" | ||||
| 	"k8s.io/kubernetes/pkg/controller/informers" | ||||
| 	"k8s.io/kubernetes/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| var alwaysReady = func() bool { return true } | ||||
|   | ||||
| @@ -65,12 +65,12 @@ go_test( | ||||
|         "//pkg/client/testing/core:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
|         "//pkg/controller/informers:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//vendor:github.com/davecgh/go-spew/spew", | ||||
|         "//vendor:github.com/golang/glog", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/api/errors", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime/schema", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/sets", | ||||
|     ], | ||||
| ) | ||||
|   | ||||
| @@ -28,11 +28,11 @@ import ( | ||||
| 	apierrors "k8s.io/apimachinery/pkg/api/errors" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||
| 	utilrand "k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/v1" | ||||
| 	"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" | ||||
| 	"k8s.io/kubernetes/pkg/client/testing/core" | ||||
| 	utilrand "k8s.io/kubernetes/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| type testGenerator struct { | ||||
|   | ||||
| @@ -184,7 +184,6 @@ go_test( | ||||
|         "//pkg/util/clock:go_default_library", | ||||
|         "//pkg/util/flowcontrol:go_default_library", | ||||
|         "//pkg/util/mount:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//pkg/util/strategicpatch:go_default_library", | ||||
|         "//pkg/util/testing:go_default_library", | ||||
|         "//pkg/util/uuid:go_default_library", | ||||
| @@ -203,6 +202,7 @@ go_test( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/types", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/diff", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/sets", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/wait", | ||||
|   | ||||
| @@ -32,6 +32,7 @@ import ( | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/diff" | ||||
| 	"k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/resource" | ||||
| @@ -40,7 +41,6 @@ import ( | ||||
| 	"k8s.io/kubernetes/pkg/client/testing/core" | ||||
| 	kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" | ||||
| 	"k8s.io/kubernetes/pkg/kubelet/util/sliceutils" | ||||
| 	"k8s.io/kubernetes/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/util/strategicpatch" | ||||
| 	"k8s.io/kubernetes/pkg/util/uuid" | ||||
| 	"k8s.io/kubernetes/pkg/version" | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/apps" | ||||
| 	"k8s.io/kubernetes/pkg/apis/apps/validation" | ||||
| @@ -35,11 +36,11 @@ import ( | ||||
| // statefulSetStrategy implements verification logic for Replication StatefulSets. | ||||
| type statefulSetStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Replication StatefulSet objects. | ||||
| var Strategy = statefulSetStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = statefulSetStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all StatefulSet' need to be within a namespace. | ||||
| func (statefulSetStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -25,6 +25,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/autoscaling" | ||||
| 	"k8s.io/kubernetes/pkg/apis/autoscaling/validation" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // autoscalerStrategy implements behavior for HorizontalPodAutoscalers | ||||
| type autoscalerStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating HorizontalPodAutoscaler | ||||
| // objects via the REST API. | ||||
| var Strategy = autoscalerStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = autoscalerStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for autoscaler. | ||||
| func (autoscalerStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/batch" | ||||
| 	"k8s.io/kubernetes/pkg/apis/batch/validation" | ||||
| @@ -34,11 +35,11 @@ import ( | ||||
| // scheduledJobStrategy implements verification logic for Replication Controllers. | ||||
| type scheduledJobStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating CronJob objects. | ||||
| var Strategy = scheduledJobStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = scheduledJobStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all scheduled jobs need to be within a namespace. | ||||
| func (scheduledJobStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -27,6 +27,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -25,6 +25,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/batch" | ||||
| 	"k8s.io/kubernetes/pkg/apis/batch/validation" | ||||
| @@ -36,11 +37,11 @@ import ( | ||||
| // jobStrategy implements verification logic for Replication Controllers. | ||||
| type jobStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Replication Controller objects. | ||||
| var Strategy = jobStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = jobStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all jobs need to be within a namespace. | ||||
| func (jobStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -30,6 +30,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/certificates" | ||||
| 	"k8s.io/kubernetes/pkg/apis/certificates/validation" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // csrStrategy implements behavior for CSRs | ||||
| type csrStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // csrStrategy is the default logic that applies when creating and updating | ||||
| // CSR objects. | ||||
| var Strategy = csrStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = csrStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for CSRs. | ||||
| func (csrStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -29,6 +29,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // strategy implements behavior for ConfigMap objects | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating ConfigMap | ||||
| // objects via the REST API. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // Strategy should implement rest.RESTCreateStrategy | ||||
| var _ rest.RESTCreateStrategy = Strategy | ||||
|   | ||||
| @@ -29,6 +29,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -27,6 +27,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| @@ -38,11 +39,11 @@ import ( | ||||
| // rcStrategy implements verification logic for Replication Controllers. | ||||
| type rcStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Replication Controller objects. | ||||
| var Strategy = rcStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = rcStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // DefaultGarbageCollectionPolicy returns Orphan because that was the default | ||||
| // behavior before the server-side garbage collection was implemented. | ||||
|   | ||||
| @@ -30,6 +30,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	endptspkg "k8s.io/kubernetes/pkg/api/endpoints" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // endpointsStrategy implements behavior for Endpoints | ||||
| type endpointsStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Endpoint | ||||
| // objects via the REST API. | ||||
| var Strategy = endpointsStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = endpointsStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for endpoints. | ||||
| func (endpointsStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -25,6 +25,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -32,12 +33,12 @@ import ( | ||||
|  | ||||
| type eventStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that pplies when creating and updating | ||||
| // Event objects via the REST API. | ||||
| var Strategy = eventStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = eventStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (eventStrategy) NamespaceScoped() bool { | ||||
| 	return true | ||||
|   | ||||
| @@ -25,6 +25,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -32,12 +33,12 @@ import ( | ||||
|  | ||||
| type limitrangeStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating | ||||
| // LimitRange objects via the REST API. | ||||
| var Strategy = limitrangeStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = limitrangeStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (limitrangeStrategy) NamespaceScoped() bool { | ||||
| 	return true | ||||
|   | ||||
| @@ -29,6 +29,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // namespaceStrategy implements behavior for Namespaces | ||||
| type namespaceStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Namespace | ||||
| // objects via the REST API. | ||||
| var Strategy = namespaceStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = namespaceStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is false for namespaces. | ||||
| func (namespaceStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -33,6 +33,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -30,6 +30,7 @@ import ( | ||||
| 	utilnet "k8s.io/apimachinery/pkg/util/net" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -41,12 +42,12 @@ import ( | ||||
| // nodeStrategy implements behavior for nodes | ||||
| type nodeStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Nodes is the default logic that applies when creating and updating Node | ||||
| // objects. | ||||
| var Strategy = nodeStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = nodeStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is false for nodes. | ||||
| func (nodeStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -25,6 +25,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // persistentvolumeStrategy implements behavior for PersistentVolume objects | ||||
| type persistentvolumeStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating PersistentVolume | ||||
| // objects via the REST API. | ||||
| var Strategy = persistentvolumeStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = persistentvolumeStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (persistentvolumeStrategy) NamespaceScoped() bool { | ||||
| 	return false | ||||
|   | ||||
| @@ -25,6 +25,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // persistentvolumeclaimStrategy implements behavior for PersistentVolumeClaim objects | ||||
| type persistentvolumeclaimStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating PersistentVolumeClaim | ||||
| // objects via the REST API. | ||||
| var Strategy = persistentvolumeclaimStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = persistentvolumeclaimStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (persistentvolumeclaimStrategy) NamespaceScoped() bool { | ||||
| 	return true | ||||
|   | ||||
| @@ -31,6 +31,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/net", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -33,6 +33,7 @@ import ( | ||||
| 	utilnet "k8s.io/apimachinery/pkg/util/net" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -45,12 +46,12 @@ import ( | ||||
| // podStrategy implements behavior for Pods | ||||
| type podStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Pod | ||||
| // objects via the REST API. | ||||
| var Strategy = podStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = podStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for pods. | ||||
| func (podStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -24,6 +24,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -32,12 +33,12 @@ import ( | ||||
| // podTemplateStrategy implements behavior for PodTemplates | ||||
| type podTemplateStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating PodTemplate | ||||
| // objects via the REST API. | ||||
| var Strategy = podTemplateStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = podTemplateStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for pod templates. | ||||
| func (podTemplateStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -25,6 +25,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // resourcequotaStrategy implements behavior for ResourceQuota objects | ||||
| type resourcequotaStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating ResourceQuota | ||||
| // objects via the REST API. | ||||
| var Strategy = resourcequotaStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = resourcequotaStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for resourcequotas. | ||||
| func (resourcequotaStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -30,6 +30,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| @@ -35,12 +36,12 @@ import ( | ||||
| // strategy implements behavior for Secret objects | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Secret | ||||
| // objects via the REST API. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| var _ = rest.RESTCreateStrategy(Strategy) | ||||
|  | ||||
|   | ||||
| @@ -42,6 +42,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // svcStrategy implements behavior for Services | ||||
| type svcStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Services is the default logic that applies when creating and updating Service | ||||
| // objects. | ||||
| var Strategy = svcStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = svcStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped is true for services. | ||||
| func (svcStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -29,6 +29,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/validation" | ||||
| 	"k8s.io/kubernetes/pkg/fields" | ||||
| @@ -33,12 +34,12 @@ import ( | ||||
| // strategy implements behavior for ServiceAccount objects | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating ServiceAccount | ||||
| // objects via the REST API. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (strategy) NamespaceScoped() bool { | ||||
| 	return true | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions/validation" | ||||
| @@ -35,11 +36,11 @@ import ( | ||||
| // daemonSetStrategy implements verification logic for daemon sets. | ||||
| type daemonSetStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating DaemonSet objects. | ||||
| var Strategy = daemonSetStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = daemonSetStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all DaemonSets need to be within a namespace. | ||||
| func (daemonSetStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -30,6 +30,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -26,6 +26,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| @@ -39,12 +40,12 @@ import ( | ||||
| // deploymentStrategy implements behavior for Deployments. | ||||
| type deploymentStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Deployment | ||||
| // objects via the REST API. | ||||
| var Strategy = deploymentStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = deploymentStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // DefaultGarbageCollectionPolicy returns Orphan because that's the default | ||||
| // behavior before the server-side garbage collection is implemented. | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions/validation" | ||||
| @@ -35,11 +36,11 @@ import ( | ||||
| // ingressStrategy implements verification logic for Replication Ingresss. | ||||
| type ingressStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating Replication Ingress objects. | ||||
| var Strategy = ingressStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = ingressStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all Ingress' need to be within a namespace. | ||||
| func (ingressStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions/validation" | ||||
| @@ -35,11 +36,11 @@ import ( | ||||
| // networkPolicyStrategy implements verification logic for NetworkPolicys. | ||||
| type networkPolicyStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating NetworkPolicy objects. | ||||
| var Strategy = networkPolicyStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = networkPolicyStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all NetworkPolicys need to be within a namespace. | ||||
| func (networkPolicyStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| @@ -35,12 +36,12 @@ import ( | ||||
| // strategy implements behavior for PodSecurityPolicy objects | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating PodSecurityPolicy | ||||
| // objects via the REST API. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| var _ = rest.RESTCreateStrategy(Strategy) | ||||
|  | ||||
|   | ||||
| @@ -30,6 +30,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -27,6 +27,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| @@ -39,11 +40,11 @@ import ( | ||||
| // rsStrategy implements verification logic for ReplicaSets. | ||||
| type rsStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating ReplicaSet objects. | ||||
| var Strategy = rsStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = rsStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // DefaultGarbageCollectionPolicy returns Orphan because that's the default | ||||
| // behavior before the server-side garbage collection is implemented. | ||||
|   | ||||
| @@ -37,6 +37,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/yaml", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // strategy implements behavior for ThirdPartyResource objects | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating ThirdPartyResource | ||||
| // objects via the REST API. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| var _ = rest.RESTCreateStrategy(Strategy) | ||||
|  | ||||
|   | ||||
| @@ -74,6 +74,7 @@ go_test( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/wait", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -35,6 +35,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| @@ -68,7 +69,7 @@ func (t *testOrphanDeleteStrategy) DefaultGarbageCollectionPolicy() rest.Garbage | ||||
|  | ||||
| type testRESTStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| 	namespaceScoped          bool | ||||
| 	allowCreateOnUpdate      bool | ||||
| 	allowUnconditionalUpdate bool | ||||
| @@ -640,7 +641,7 @@ func TestGracefulStoreCanDeleteIfExistingGracePeriodZero(t *testing.T) { | ||||
| 	testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test") | ||||
| 	destroyFunc, registry := NewTestGenericStoreRegistry(t) | ||||
| 	registry.EnableGarbageCollection = false | ||||
| 	defaultDeleteStrategy := testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} | ||||
| 	defaultDeleteStrategy := testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} | ||||
| 	registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy} | ||||
| 	defer destroyFunc() | ||||
|  | ||||
| @@ -666,7 +667,7 @@ func TestGracefulStoreHandleFinalizers(t *testing.T) { | ||||
| 	testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test") | ||||
| 	destroyFunc, registry := NewTestGenericStoreRegistry(t) | ||||
| 	registry.EnableGarbageCollection = true | ||||
| 	defaultDeleteStrategy := testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} | ||||
| 	defaultDeleteStrategy := testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} | ||||
| 	registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy} | ||||
| 	defer destroyFunc() | ||||
| 	// create pod | ||||
| @@ -823,7 +824,7 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) { | ||||
| 	nilOrphanOptions := &api.DeleteOptions{} | ||||
|  | ||||
| 	// defaultDeleteStrategy doesn't implement rest.GarbageCollectionDeleteStrategy. | ||||
| 	defaultDeleteStrategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} | ||||
| 	defaultDeleteStrategy := &testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} | ||||
| 	// orphanDeleteStrategy indicates the default garbage collection policy is | ||||
| 	// to orphan dependentes. | ||||
| 	orphanDeleteStrategy := &testOrphanDeleteStrategy{defaultDeleteStrategy} | ||||
| @@ -1233,7 +1234,7 @@ func TestStoreWatch(t *testing.T) { | ||||
| func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.DestroyFunc, *Store) { | ||||
| 	podPrefix := "/pods" | ||||
| 	server, sc := etcdtesting.NewUnsecuredEtcd3TestClientServer(t) | ||||
| 	strategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true} | ||||
| 	strategy := &testRESTStrategy{api.Scheme, names.SimpleNameGenerator, true, false, true} | ||||
|  | ||||
| 	sc.Codec = testapi.Default.StorageCodec() | ||||
| 	s, dFunc, err := factory.Create(*sc) | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/policy" | ||||
| 	"k8s.io/kubernetes/pkg/apis/policy/validation" | ||||
| @@ -35,11 +36,11 @@ import ( | ||||
| // podDisruptionBudgetStrategy implements verification logic for PodDisruptionBudgets. | ||||
| type podDisruptionBudgetStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating PodDisruptionBudget objects. | ||||
| var Strategy = podDisruptionBudgetStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = podDisruptionBudgetStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // NamespaceScoped returns true because all PodDisruptionBudget' need to be within a namespace. | ||||
| func (podDisruptionBudgetStrategy) NamespaceScoped() bool { | ||||
|   | ||||
| @@ -28,6 +28,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/rbac" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // strategy implements behavior for ClusterRoles | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // strategy is the default logic that applies when creating and updating | ||||
| // ClusterRole objects. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // Strategy should implement rest.RESTCreateStrategy | ||||
| var _ rest.RESTCreateStrategy = Strategy | ||||
|   | ||||
| @@ -28,6 +28,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/rbac" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // strategy implements behavior for ClusterRoleBindings | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // strategy is the default logic that applies when creating and updating | ||||
| // ClusterRoleBinding objects. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // Strategy should implement rest.RESTCreateStrategy | ||||
| var _ rest.RESTCreateStrategy = Strategy | ||||
|   | ||||
| @@ -28,6 +28,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/rbac" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // strategy implements behavior for Roles | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // strategy is the default logic that applies when creating and updating | ||||
| // Role objects. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // Strategy should implement rest.RESTCreateStrategy | ||||
| var _ rest.RESTCreateStrategy = Strategy | ||||
|   | ||||
| @@ -28,6 +28,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/rest" | ||||
| 	"k8s.io/kubernetes/pkg/apis/rbac" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // strategy implements behavior for RoleBindings | ||||
| type strategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // strategy is the default logic that applies when creating and updating | ||||
| // RoleBinding objects. | ||||
| var Strategy = strategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = strategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| // Strategy should implement rest.RESTCreateStrategy | ||||
| var _ rest.RESTCreateStrategy = Strategy | ||||
|   | ||||
| @@ -26,6 +26,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/validation/field", | ||||
|         "//vendor:k8s.io/apiserver/pkg/request", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/validation/field" | ||||
| 	genericapirequest "k8s.io/apiserver/pkg/request" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/apis/storage" | ||||
| 	"k8s.io/kubernetes/pkg/apis/storage/validation" | ||||
| @@ -34,12 +35,12 @@ import ( | ||||
| // storageClassStrategy implements behavior for StorageClass objects | ||||
| type storageClassStrategy struct { | ||||
| 	runtime.ObjectTyper | ||||
| 	api.NameGenerator | ||||
| 	names.NameGenerator | ||||
| } | ||||
|  | ||||
| // Strategy is the default logic that applies when creating and updating | ||||
| // StorageClass objects via the REST API. | ||||
| var Strategy = storageClassStrategy{api.Scheme, api.SimpleNameGenerator} | ||||
| var Strategy = storageClassStrategy{api.Scheme, names.SimpleNameGenerator} | ||||
|  | ||||
| func (storageClassStrategy) NamespaceScoped() bool { | ||||
| 	return false | ||||
|   | ||||
| @@ -5,19 +5,11 @@ licenses(["notice"]) | ||||
| load( | ||||
|     "@io_bazel_rules_go//go:def.bzl", | ||||
|     "go_library", | ||||
|     "go_test", | ||||
| ) | ||||
|  | ||||
| go_library( | ||||
|     name = "go_default_library", | ||||
|     srcs = ["rand.go"], | ||||
|     tags = ["automanaged"], | ||||
| ) | ||||
|  | ||||
| go_test( | ||||
|     name = "go_default_test", | ||||
|     srcs = ["rand_test.go"], | ||||
|     library = ":go_default_library", | ||||
|     srcs = ["doc.go"], | ||||
|     tags = ["automanaged"], | ||||
| ) | ||||
|  | ||||
|   | ||||
							
								
								
									
										21
									
								
								pkg/util/rand/doc.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								pkg/util/rand/doc.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // Package rand needed for godep. | ||||
| // TODO genericapiserver remove this empty package.  Godep fails without this because heapster relies | ||||
| // on this package.  This will allow us to start splitting packages, but will force | ||||
| // heapster to update on their next kube rebase. | ||||
| package rand | ||||
| @@ -12,7 +12,7 @@ go_library( | ||||
|     name = "go_default_library", | ||||
|     srcs = ["slice.go"], | ||||
|     tags = ["automanaged"], | ||||
|     deps = ["//pkg/util/rand:go_default_library"], | ||||
|     deps = ["//vendor:k8s.io/apimachinery/pkg/util/rand"], | ||||
| ) | ||||
|  | ||||
| go_test( | ||||
|   | ||||
| @@ -20,7 +20,7 @@ package slice | ||||
| import ( | ||||
| 	"sort" | ||||
|  | ||||
| 	utilrand "k8s.io/kubernetes/pkg/util/rand" | ||||
| 	utilrand "k8s.io/apimachinery/pkg/util/rand" | ||||
| ) | ||||
|  | ||||
| // CopyStrings copies the contents of the specified string slice | ||||
|   | ||||
| @@ -22,13 +22,13 @@ go_library( | ||||
|         "//pkg/api/v1:go_default_library", | ||||
|         "//pkg/util/env:go_default_library", | ||||
|         "//pkg/util/mount:go_default_library", | ||||
|         "//pkg/util/rand:go_default_library", | ||||
|         "//pkg/util/strings:go_default_library", | ||||
|         "//pkg/volume:go_default_library", | ||||
|         "//pkg/volume/util:go_default_library", | ||||
|         "//vendor:github.com/clusterhq/flocker-go", | ||||
|         "//vendor:github.com/golang/glog", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/types", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/rand", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -20,8 +20,8 @@ import ( | ||||
| 	"fmt" | ||||
| 	"time" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/api/v1" | ||||
| 	"k8s.io/kubernetes/pkg/util/rand" | ||||
| 	"k8s.io/kubernetes/pkg/volume" | ||||
|  | ||||
| 	flockerapi "github.com/clusterhq/flocker-go" | ||||
|   | ||||
| @@ -31,6 +31,7 @@ go_library( | ||||
|         "//vendor:k8s.io/apimachinery/pkg/runtime/schema", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/util/sets", | ||||
|         "//vendor:k8s.io/apimachinery/pkg/watch", | ||||
|         "//vendor:k8s.io/apiserver/pkg/storage/names", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -29,6 +29,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||
| 	"k8s.io/apimachinery/pkg/util/sets" | ||||
| 	"k8s.io/apimachinery/pkg/watch" | ||||
| 	"k8s.io/apiserver/pkg/storage/names" | ||||
| 	"k8s.io/kubernetes/pkg/admission" | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| 	"k8s.io/kubernetes/pkg/api/v1" | ||||
| @@ -428,7 +429,7 @@ func (s *serviceAccount) mountServiceAccountToken(serviceAccount *api.ServiceAcc | ||||
| 		// Try naming the volume the same as the serviceAccountToken, and uniquify if needed | ||||
| 		tokenVolumeName = serviceAccountToken | ||||
| 		if allVolumeNames.Has(tokenVolumeName) { | ||||
| 			tokenVolumeName = api.SimpleNameGenerator.GenerateName(fmt.Sprintf("%s-", serviceAccountToken)) | ||||
| 			tokenVolumeName = names.SimpleNameGenerator.GenerateName(fmt.Sprintf("%s-", serviceAccountToken)) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Kubernetes Submit Queue
					Kubernetes Submit Queue