mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
move name generation to generic api server storage helpers
This commit is contained in:
parent
8686d67c80
commit
a3e71b2cef
@ -22,6 +22,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
kapi "k8s.io/kubernetes/pkg/api"
|
kapi "k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
"k8s.io/kubernetes/pkg/registry/generic"
|
"k8s.io/kubernetes/pkg/registry/generic"
|
||||||
@ -34,10 +35,10 @@ import (
|
|||||||
|
|
||||||
type apiServerStrategy struct {
|
type apiServerStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
kapi.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
var Strategy = apiServerStrategy{kapi.Scheme, kapi.SimpleNameGenerator}
|
var Strategy = apiServerStrategy{kapi.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (apiServerStrategy) NamespaceScoped() bool {
|
func (apiServerStrategy) NamespaceScoped() bool {
|
||||||
return false
|
return false
|
||||||
|
@ -22,6 +22,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
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/cmd/libs/go2idl/client-gen/test_apis/testgroup"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -61,7 +62,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
|||||||
|
|
||||||
type fakeStrategy struct {
|
type fakeStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*fakeStrategy) NamespaceScoped() bool { return false }
|
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) {}
|
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) {
|
func getAttrs(obj runtime.Object) (labels.Set, fields.Set, error) {
|
||||||
testType, ok := obj.(*testgroup.TestType)
|
testType, ok := obj.(*testgroup.TestType)
|
||||||
|
@ -29,6 +29,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/federation/apis/federation"
|
"k8s.io/kubernetes/federation/apis/federation"
|
||||||
"k8s.io/kubernetes/federation/apis/federation/validation"
|
"k8s.io/kubernetes/federation/apis/federation/validation"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
@ -33,10 +34,10 @@ import (
|
|||||||
|
|
||||||
type clusterStrategy struct {
|
type clusterStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
var Strategy = clusterStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = clusterStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (clusterStrategy) NamespaceScoped() bool {
|
func (clusterStrategy) NamespaceScoped() bool {
|
||||||
return false
|
return false
|
||||||
|
@ -265,6 +265,7 @@ pkg/util/logs
|
|||||||
pkg/util/maps
|
pkg/util/maps
|
||||||
pkg/util/metrics
|
pkg/util/metrics
|
||||||
pkg/util/netsh
|
pkg/util/netsh
|
||||||
|
pkg/util/rand
|
||||||
pkg/util/ratelimit
|
pkg/util/ratelimit
|
||||||
pkg/util/replicaset
|
pkg/util/replicaset
|
||||||
pkg/util/restoptions
|
pkg/util/restoptions
|
||||||
|
@ -15,7 +15,6 @@ go_library(
|
|||||||
"defaults.go",
|
"defaults.go",
|
||||||
"doc.go",
|
"doc.go",
|
||||||
"field_constants.go",
|
"field_constants.go",
|
||||||
"generate.go",
|
|
||||||
"helpers.go",
|
"helpers.go",
|
||||||
"mapper.go",
|
"mapper.go",
|
||||||
"meta.go",
|
"meta.go",
|
||||||
@ -42,7 +41,6 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
|
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/selection",
|
"//vendor:k8s.io/apimachinery/pkg/selection",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/types",
|
"//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/sets",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
],
|
],
|
||||||
@ -51,7 +49,6 @@ go_library(
|
|||||||
go_test(
|
go_test(
|
||||||
name = "go_default_test",
|
name = "go_default_test",
|
||||||
srcs = [
|
srcs = [
|
||||||
"generate_test.go",
|
|
||||||
"helpers_test.go",
|
"helpers_test.go",
|
||||||
"ref_test.go",
|
"ref_test.go",
|
||||||
"resource_helpers_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/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation/genericvalidation"
|
"k8s.io/kubernetes/pkg/api/validation/genericvalidation"
|
||||||
"k8s.io/kubernetes/pkg/api/validation/path"
|
"k8s.io/kubernetes/pkg/api/validation/path"
|
||||||
@ -34,7 +35,7 @@ type RESTCreateStrategy interface {
|
|||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
// The name generate is used when the standard GenerateName field is set.
|
// The name generate is used when the standard GenerateName field is set.
|
||||||
// The NameGenerator will be invoked prior to validation.
|
// The NameGenerator will be invoked prior to validation.
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
|
|
||||||
// NamespaceScoped returns true if the object must be within a namespace.
|
// NamespaceScoped returns true if the object must be within a namespace.
|
||||||
NamespaceScoped() bool
|
NamespaceScoped() bool
|
||||||
@ -71,7 +72,9 @@ func BeforeCreate(strategy RESTCreateStrategy, ctx genericapirequest.Context, ob
|
|||||||
objectMeta.DeletionGracePeriodSeconds = nil
|
objectMeta.DeletionGracePeriodSeconds = nil
|
||||||
strategy.PrepareForCreate(ctx, obj)
|
strategy.PrepareForCreate(ctx, obj)
|
||||||
FillObjectMetaSystemFields(ctx, objectMeta)
|
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
|
// ClusterName is ignored and should not be saved
|
||||||
objectMeta.ClusterName = ""
|
objectMeta.ClusterName = ""
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/apps"
|
"k8s.io/kubernetes/pkg/apis/apps"
|
||||||
"k8s.io/kubernetes/pkg/apis/apps/validation"
|
"k8s.io/kubernetes/pkg/apis/apps/validation"
|
||||||
@ -35,11 +36,11 @@ import (
|
|||||||
// statefulSetStrategy implements verification logic for Replication StatefulSets.
|
// statefulSetStrategy implements verification logic for Replication StatefulSets.
|
||||||
type statefulSetStrategy struct {
|
type statefulSetStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Replication StatefulSet objects.
|
// 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.
|
// NamespaceScoped returns true because all StatefulSet' need to be within a namespace.
|
||||||
func (statefulSetStrategy) NamespaceScoped() bool {
|
func (statefulSetStrategy) NamespaceScoped() bool {
|
||||||
|
@ -25,6 +25,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/autoscaling"
|
"k8s.io/kubernetes/pkg/apis/autoscaling"
|
||||||
"k8s.io/kubernetes/pkg/apis/autoscaling/validation"
|
"k8s.io/kubernetes/pkg/apis/autoscaling/validation"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// autoscalerStrategy implements behavior for HorizontalPodAutoscalers
|
// autoscalerStrategy implements behavior for HorizontalPodAutoscalers
|
||||||
type autoscalerStrategy struct {
|
type autoscalerStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating HorizontalPodAutoscaler
|
// Strategy is the default logic that applies when creating and updating HorizontalPodAutoscaler
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = autoscalerStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = autoscalerStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is true for autoscaler.
|
// NamespaceScoped is true for autoscaler.
|
||||||
func (autoscalerStrategy) NamespaceScoped() bool {
|
func (autoscalerStrategy) NamespaceScoped() bool {
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch/validation"
|
"k8s.io/kubernetes/pkg/apis/batch/validation"
|
||||||
@ -34,11 +35,11 @@ import (
|
|||||||
// scheduledJobStrategy implements verification logic for Replication Controllers.
|
// scheduledJobStrategy implements verification logic for Replication Controllers.
|
||||||
type scheduledJobStrategy struct {
|
type scheduledJobStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating CronJob objects.
|
// 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.
|
// NamespaceScoped returns true because all scheduled jobs need to be within a namespace.
|
||||||
func (scheduledJobStrategy) NamespaceScoped() bool {
|
func (scheduledJobStrategy) NamespaceScoped() bool {
|
||||||
|
@ -27,6 +27,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch/validation"
|
"k8s.io/kubernetes/pkg/apis/batch/validation"
|
||||||
@ -36,11 +37,11 @@ import (
|
|||||||
// jobStrategy implements verification logic for Replication Controllers.
|
// jobStrategy implements verification logic for Replication Controllers.
|
||||||
type jobStrategy struct {
|
type jobStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Replication Controller objects.
|
// 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.
|
// NamespaceScoped returns true because all jobs need to be within a namespace.
|
||||||
func (jobStrategy) NamespaceScoped() bool {
|
func (jobStrategy) NamespaceScoped() bool {
|
||||||
|
@ -30,6 +30,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates"
|
"k8s.io/kubernetes/pkg/apis/certificates"
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates/validation"
|
"k8s.io/kubernetes/pkg/apis/certificates/validation"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// csrStrategy implements behavior for CSRs
|
// csrStrategy implements behavior for CSRs
|
||||||
type csrStrategy struct {
|
type csrStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// csrStrategy is the default logic that applies when creating and updating
|
// csrStrategy is the default logic that applies when creating and updating
|
||||||
// CSR objects.
|
// CSR objects.
|
||||||
var Strategy = csrStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = csrStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is true for CSRs.
|
// NamespaceScoped is true for CSRs.
|
||||||
func (csrStrategy) NamespaceScoped() bool {
|
func (csrStrategy) NamespaceScoped() bool {
|
||||||
|
@ -29,6 +29,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// strategy implements behavior for ConfigMap objects
|
// strategy implements behavior for ConfigMap objects
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating ConfigMap
|
// Strategy is the default logic that applies when creating and updating ConfigMap
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// Strategy should implement rest.RESTCreateStrategy
|
// Strategy should implement rest.RESTCreateStrategy
|
||||||
var _ rest.RESTCreateStrategy = Strategy
|
var _ rest.RESTCreateStrategy = Strategy
|
||||||
|
@ -29,6 +29,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
@ -38,11 +39,11 @@ import (
|
|||||||
// rcStrategy implements verification logic for Replication Controllers.
|
// rcStrategy implements verification logic for Replication Controllers.
|
||||||
type rcStrategy struct {
|
type rcStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Replication Controller objects.
|
// 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
|
// DefaultGarbageCollectionPolicy returns Orphan because that was the default
|
||||||
// behavior before the server-side garbage collection was implemented.
|
// 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/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
endptspkg "k8s.io/kubernetes/pkg/api/endpoints"
|
endptspkg "k8s.io/kubernetes/pkg/api/endpoints"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// endpointsStrategy implements behavior for Endpoints
|
// endpointsStrategy implements behavior for Endpoints
|
||||||
type endpointsStrategy struct {
|
type endpointsStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Endpoint
|
// Strategy is the default logic that applies when creating and updating Endpoint
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = endpointsStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = endpointsStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is true for endpoints.
|
// NamespaceScoped is true for endpoints.
|
||||||
func (endpointsStrategy) NamespaceScoped() bool {
|
func (endpointsStrategy) NamespaceScoped() bool {
|
||||||
|
@ -25,6 +25,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -32,12 +33,12 @@ import (
|
|||||||
|
|
||||||
type eventStrategy struct {
|
type eventStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that pplies when creating and updating
|
// Strategy is the default logic that pplies when creating and updating
|
||||||
// Event objects via the REST API.
|
// Event objects via the REST API.
|
||||||
var Strategy = eventStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = eventStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (eventStrategy) NamespaceScoped() bool {
|
func (eventStrategy) NamespaceScoped() bool {
|
||||||
return true
|
return true
|
||||||
|
@ -25,6 +25,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -32,12 +33,12 @@ import (
|
|||||||
|
|
||||||
type limitrangeStrategy struct {
|
type limitrangeStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating
|
// Strategy is the default logic that applies when creating and updating
|
||||||
// LimitRange objects via the REST API.
|
// LimitRange objects via the REST API.
|
||||||
var Strategy = limitrangeStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = limitrangeStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (limitrangeStrategy) NamespaceScoped() bool {
|
func (limitrangeStrategy) NamespaceScoped() bool {
|
||||||
return true
|
return true
|
||||||
|
@ -29,6 +29,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// namespaceStrategy implements behavior for Namespaces
|
// namespaceStrategy implements behavior for Namespaces
|
||||||
type namespaceStrategy struct {
|
type namespaceStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Namespace
|
// Strategy is the default logic that applies when creating and updating Namespace
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = namespaceStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = namespaceStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is false for namespaces.
|
// NamespaceScoped is false for namespaces.
|
||||||
func (namespaceStrategy) NamespaceScoped() bool {
|
func (namespaceStrategy) NamespaceScoped() bool {
|
||||||
|
@ -33,6 +33,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -41,12 +42,12 @@ import (
|
|||||||
// nodeStrategy implements behavior for nodes
|
// nodeStrategy implements behavior for nodes
|
||||||
type nodeStrategy struct {
|
type nodeStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nodes is the default logic that applies when creating and updating Node
|
// Nodes is the default logic that applies when creating and updating Node
|
||||||
// objects.
|
// objects.
|
||||||
var Strategy = nodeStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = nodeStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is false for nodes.
|
// NamespaceScoped is false for nodes.
|
||||||
func (nodeStrategy) NamespaceScoped() bool {
|
func (nodeStrategy) NamespaceScoped() bool {
|
||||||
|
@ -25,6 +25,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// persistentvolumeStrategy implements behavior for PersistentVolume objects
|
// persistentvolumeStrategy implements behavior for PersistentVolume objects
|
||||||
type persistentvolumeStrategy struct {
|
type persistentvolumeStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating PersistentVolume
|
// Strategy is the default logic that applies when creating and updating PersistentVolume
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = persistentvolumeStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = persistentvolumeStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (persistentvolumeStrategy) NamespaceScoped() bool {
|
func (persistentvolumeStrategy) NamespaceScoped() bool {
|
||||||
return false
|
return false
|
||||||
|
@ -25,6 +25,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// persistentvolumeclaimStrategy implements behavior for PersistentVolumeClaim objects
|
// persistentvolumeclaimStrategy implements behavior for PersistentVolumeClaim objects
|
||||||
type persistentvolumeclaimStrategy struct {
|
type persistentvolumeclaimStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating PersistentVolumeClaim
|
// Strategy is the default logic that applies when creating and updating PersistentVolumeClaim
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = persistentvolumeclaimStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = persistentvolumeclaimStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (persistentvolumeclaimStrategy) NamespaceScoped() bool {
|
func (persistentvolumeclaimStrategy) NamespaceScoped() bool {
|
||||||
return true
|
return true
|
||||||
|
@ -31,6 +31,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/net",
|
"//vendor:k8s.io/apimachinery/pkg/util/net",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -45,12 +46,12 @@ import (
|
|||||||
// podStrategy implements behavior for Pods
|
// podStrategy implements behavior for Pods
|
||||||
type podStrategy struct {
|
type podStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Pod
|
// Strategy is the default logic that applies when creating and updating Pod
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = podStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = podStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is true for pods.
|
// NamespaceScoped is true for pods.
|
||||||
func (podStrategy) NamespaceScoped() bool {
|
func (podStrategy) NamespaceScoped() bool {
|
||||||
|
@ -24,6 +24,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -32,12 +33,12 @@ import (
|
|||||||
// podTemplateStrategy implements behavior for PodTemplates
|
// podTemplateStrategy implements behavior for PodTemplates
|
||||||
type podTemplateStrategy struct {
|
type podTemplateStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating PodTemplate
|
// Strategy is the default logic that applies when creating and updating PodTemplate
|
||||||
// objects via the REST API.
|
// 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.
|
// NamespaceScoped is true for pod templates.
|
||||||
func (podTemplateStrategy) NamespaceScoped() bool {
|
func (podTemplateStrategy) NamespaceScoped() bool {
|
||||||
|
@ -25,6 +25,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// resourcequotaStrategy implements behavior for ResourceQuota objects
|
// resourcequotaStrategy implements behavior for ResourceQuota objects
|
||||||
type resourcequotaStrategy struct {
|
type resourcequotaStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating ResourceQuota
|
// Strategy is the default logic that applies when creating and updating ResourceQuota
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = resourcequotaStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = resourcequotaStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is true for resourcequotas.
|
// NamespaceScoped is true for resourcequotas.
|
||||||
func (resourcequotaStrategy) NamespaceScoped() bool {
|
func (resourcequotaStrategy) NamespaceScoped() bool {
|
||||||
|
@ -30,6 +30,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
@ -35,12 +36,12 @@ import (
|
|||||||
// strategy implements behavior for Secret objects
|
// strategy implements behavior for Secret objects
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Secret
|
// Strategy is the default logic that applies when creating and updating Secret
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
var _ = rest.RESTCreateStrategy(Strategy)
|
var _ = rest.RESTCreateStrategy(Strategy)
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// svcStrategy implements behavior for Services
|
// svcStrategy implements behavior for Services
|
||||||
type svcStrategy struct {
|
type svcStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Services is the default logic that applies when creating and updating Service
|
// Services is the default logic that applies when creating and updating Service
|
||||||
// objects.
|
// objects.
|
||||||
var Strategy = svcStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = svcStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// NamespaceScoped is true for services.
|
// NamespaceScoped is true for services.
|
||||||
func (svcStrategy) NamespaceScoped() bool {
|
func (svcStrategy) NamespaceScoped() bool {
|
||||||
|
@ -29,6 +29,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
@ -33,12 +34,12 @@ import (
|
|||||||
// strategy implements behavior for ServiceAccount objects
|
// strategy implements behavior for ServiceAccount objects
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating ServiceAccount
|
// Strategy is the default logic that applies when creating and updating ServiceAccount
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (strategy) NamespaceScoped() bool {
|
func (strategy) NamespaceScoped() bool {
|
||||||
return true
|
return true
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions/validation"
|
"k8s.io/kubernetes/pkg/apis/extensions/validation"
|
||||||
@ -35,11 +36,11 @@ import (
|
|||||||
// daemonSetStrategy implements verification logic for daemon sets.
|
// daemonSetStrategy implements verification logic for daemon sets.
|
||||||
type daemonSetStrategy struct {
|
type daemonSetStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating DaemonSet objects.
|
// 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.
|
// NamespaceScoped returns true because all DaemonSets need to be within a namespace.
|
||||||
func (daemonSetStrategy) NamespaceScoped() bool {
|
func (daemonSetStrategy) NamespaceScoped() bool {
|
||||||
|
@ -30,6 +30,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
@ -39,12 +40,12 @@ import (
|
|||||||
// deploymentStrategy implements behavior for Deployments.
|
// deploymentStrategy implements behavior for Deployments.
|
||||||
type deploymentStrategy struct {
|
type deploymentStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Deployment
|
// Strategy is the default logic that applies when creating and updating Deployment
|
||||||
// objects via the REST API.
|
// 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
|
// DefaultGarbageCollectionPolicy returns Orphan because that's the default
|
||||||
// behavior before the server-side garbage collection is implemented.
|
// 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/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions/validation"
|
"k8s.io/kubernetes/pkg/apis/extensions/validation"
|
||||||
@ -35,11 +36,11 @@ import (
|
|||||||
// ingressStrategy implements verification logic for Replication Ingresss.
|
// ingressStrategy implements verification logic for Replication Ingresss.
|
||||||
type ingressStrategy struct {
|
type ingressStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating Replication Ingress objects.
|
// 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.
|
// NamespaceScoped returns true because all Ingress' need to be within a namespace.
|
||||||
func (ingressStrategy) NamespaceScoped() bool {
|
func (ingressStrategy) NamespaceScoped() bool {
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions/validation"
|
"k8s.io/kubernetes/pkg/apis/extensions/validation"
|
||||||
@ -35,11 +36,11 @@ import (
|
|||||||
// networkPolicyStrategy implements verification logic for NetworkPolicys.
|
// networkPolicyStrategy implements verification logic for NetworkPolicys.
|
||||||
type networkPolicyStrategy struct {
|
type networkPolicyStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating NetworkPolicy objects.
|
// 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.
|
// NamespaceScoped returns true because all NetworkPolicys need to be within a namespace.
|
||||||
func (networkPolicyStrategy) NamespaceScoped() bool {
|
func (networkPolicyStrategy) NamespaceScoped() bool {
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
@ -35,12 +36,12 @@ import (
|
|||||||
// strategy implements behavior for PodSecurityPolicy objects
|
// strategy implements behavior for PodSecurityPolicy objects
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating PodSecurityPolicy
|
// Strategy is the default logic that applies when creating and updating PodSecurityPolicy
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
var _ = rest.RESTCreateStrategy(Strategy)
|
var _ = rest.RESTCreateStrategy(Strategy)
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
@ -39,11 +40,11 @@ import (
|
|||||||
// rsStrategy implements verification logic for ReplicaSets.
|
// rsStrategy implements verification logic for ReplicaSets.
|
||||||
type rsStrategy struct {
|
type rsStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating ReplicaSet objects.
|
// 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
|
// DefaultGarbageCollectionPolicy returns Orphan because that's the default
|
||||||
// behavior before the server-side garbage collection is implemented.
|
// 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/util/yaml",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// strategy implements behavior for ThirdPartyResource objects
|
// strategy implements behavior for ThirdPartyResource objects
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating ThirdPartyResource
|
// Strategy is the default logic that applies when creating and updating ThirdPartyResource
|
||||||
// objects via the REST API.
|
// objects via the REST API.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
var _ = rest.RESTCreateStrategy(Strategy)
|
var _ = rest.RESTCreateStrategy(Strategy)
|
||||||
|
|
||||||
|
@ -74,6 +74,7 @@ go_test(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/validation/field"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
@ -68,7 +69,7 @@ func (t *testOrphanDeleteStrategy) DefaultGarbageCollectionPolicy() rest.Garbage
|
|||||||
|
|
||||||
type testRESTStrategy struct {
|
type testRESTStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
namespaceScoped bool
|
namespaceScoped bool
|
||||||
allowCreateOnUpdate bool
|
allowCreateOnUpdate bool
|
||||||
allowUnconditionalUpdate bool
|
allowUnconditionalUpdate bool
|
||||||
@ -640,7 +641,7 @@ func TestGracefulStoreCanDeleteIfExistingGracePeriodZero(t *testing.T) {
|
|||||||
testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test")
|
testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test")
|
||||||
destroyFunc, registry := NewTestGenericStoreRegistry(t)
|
destroyFunc, registry := NewTestGenericStoreRegistry(t)
|
||||||
registry.EnableGarbageCollection = false
|
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}
|
registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy}
|
||||||
defer destroyFunc()
|
defer destroyFunc()
|
||||||
|
|
||||||
@ -666,7 +667,7 @@ func TestGracefulStoreHandleFinalizers(t *testing.T) {
|
|||||||
testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test")
|
testContext := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test")
|
||||||
destroyFunc, registry := NewTestGenericStoreRegistry(t)
|
destroyFunc, registry := NewTestGenericStoreRegistry(t)
|
||||||
registry.EnableGarbageCollection = true
|
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}
|
registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy}
|
||||||
defer destroyFunc()
|
defer destroyFunc()
|
||||||
// create pod
|
// create pod
|
||||||
@ -823,7 +824,7 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) {
|
|||||||
nilOrphanOptions := &api.DeleteOptions{}
|
nilOrphanOptions := &api.DeleteOptions{}
|
||||||
|
|
||||||
// defaultDeleteStrategy doesn't implement rest.GarbageCollectionDeleteStrategy.
|
// 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
|
// orphanDeleteStrategy indicates the default garbage collection policy is
|
||||||
// to orphan dependentes.
|
// to orphan dependentes.
|
||||||
orphanDeleteStrategy := &testOrphanDeleteStrategy{defaultDeleteStrategy}
|
orphanDeleteStrategy := &testOrphanDeleteStrategy{defaultDeleteStrategy}
|
||||||
@ -1233,7 +1234,7 @@ func TestStoreWatch(t *testing.T) {
|
|||||||
func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.DestroyFunc, *Store) {
|
func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.DestroyFunc, *Store) {
|
||||||
podPrefix := "/pods"
|
podPrefix := "/pods"
|
||||||
server, sc := etcdtesting.NewUnsecuredEtcd3TestClientServer(t)
|
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()
|
sc.Codec = testapi.Default.StorageCodec()
|
||||||
s, dFunc, err := factory.Create(*sc)
|
s, dFunc, err := factory.Create(*sc)
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/policy"
|
"k8s.io/kubernetes/pkg/apis/policy"
|
||||||
"k8s.io/kubernetes/pkg/apis/policy/validation"
|
"k8s.io/kubernetes/pkg/apis/policy/validation"
|
||||||
@ -35,11 +36,11 @@ import (
|
|||||||
// podDisruptionBudgetStrategy implements verification logic for PodDisruptionBudgets.
|
// podDisruptionBudgetStrategy implements verification logic for PodDisruptionBudgets.
|
||||||
type podDisruptionBudgetStrategy struct {
|
type podDisruptionBudgetStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating PodDisruptionBudget objects.
|
// 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.
|
// NamespaceScoped returns true because all PodDisruptionBudget' need to be within a namespace.
|
||||||
func (podDisruptionBudgetStrategy) NamespaceScoped() bool {
|
func (podDisruptionBudgetStrategy) NamespaceScoped() bool {
|
||||||
|
@ -28,6 +28,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// strategy implements behavior for ClusterRoles
|
// strategy implements behavior for ClusterRoles
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// strategy is the default logic that applies when creating and updating
|
// strategy is the default logic that applies when creating and updating
|
||||||
// ClusterRole objects.
|
// ClusterRole objects.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// Strategy should implement rest.RESTCreateStrategy
|
// Strategy should implement rest.RESTCreateStrategy
|
||||||
var _ rest.RESTCreateStrategy = Strategy
|
var _ rest.RESTCreateStrategy = Strategy
|
||||||
|
@ -28,6 +28,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// strategy implements behavior for ClusterRoleBindings
|
// strategy implements behavior for ClusterRoleBindings
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// strategy is the default logic that applies when creating and updating
|
// strategy is the default logic that applies when creating and updating
|
||||||
// ClusterRoleBinding objects.
|
// ClusterRoleBinding objects.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// Strategy should implement rest.RESTCreateStrategy
|
// Strategy should implement rest.RESTCreateStrategy
|
||||||
var _ rest.RESTCreateStrategy = Strategy
|
var _ rest.RESTCreateStrategy = Strategy
|
||||||
|
@ -28,6 +28,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// strategy implements behavior for Roles
|
// strategy implements behavior for Roles
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// strategy is the default logic that applies when creating and updating
|
// strategy is the default logic that applies when creating and updating
|
||||||
// Role objects.
|
// Role objects.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// Strategy should implement rest.RESTCreateStrategy
|
// Strategy should implement rest.RESTCreateStrategy
|
||||||
var _ rest.RESTCreateStrategy = Strategy
|
var _ rest.RESTCreateStrategy = Strategy
|
||||||
|
@ -28,6 +28,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/rest"
|
"k8s.io/kubernetes/pkg/api/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// strategy implements behavior for RoleBindings
|
// strategy implements behavior for RoleBindings
|
||||||
type strategy struct {
|
type strategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// strategy is the default logic that applies when creating and updating
|
// strategy is the default logic that applies when creating and updating
|
||||||
// RoleBinding objects.
|
// RoleBinding objects.
|
||||||
var Strategy = strategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// Strategy should implement rest.RESTCreateStrategy
|
// Strategy should implement rest.RESTCreateStrategy
|
||||||
var _ rest.RESTCreateStrategy = Strategy
|
var _ rest.RESTCreateStrategy = Strategy
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
"//vendor:k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"//vendor:k8s.io/apiserver/pkg/request",
|
"//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/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/request"
|
genericapirequest "k8s.io/apiserver/pkg/request"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/storage"
|
"k8s.io/kubernetes/pkg/apis/storage"
|
||||||
"k8s.io/kubernetes/pkg/apis/storage/validation"
|
"k8s.io/kubernetes/pkg/apis/storage/validation"
|
||||||
@ -34,12 +35,12 @@ import (
|
|||||||
// storageClassStrategy implements behavior for StorageClass objects
|
// storageClassStrategy implements behavior for StorageClass objects
|
||||||
type storageClassStrategy struct {
|
type storageClassStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
api.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating
|
// Strategy is the default logic that applies when creating and updating
|
||||||
// StorageClass objects via the REST API.
|
// StorageClass objects via the REST API.
|
||||||
var Strategy = storageClassStrategy{api.Scheme, api.SimpleNameGenerator}
|
var Strategy = storageClassStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
func (storageClassStrategy) NamespaceScoped() bool {
|
func (storageClassStrategy) NamespaceScoped() bool {
|
||||||
return false
|
return false
|
||||||
|
@ -31,6 +31,7 @@ go_library(
|
|||||||
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/sets",
|
"//vendor:k8s.io/apimachinery/pkg/util/sets",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//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/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
|
"k8s.io/apiserver/pkg/storage/names"
|
||||||
"k8s.io/kubernetes/pkg/admission"
|
"k8s.io/kubernetes/pkg/admission"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"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
|
// Try naming the volume the same as the serviceAccountToken, and uniquify if needed
|
||||||
tokenVolumeName = serviceAccountToken
|
tokenVolumeName = serviceAccountToken
|
||||||
if allVolumeNames.Has(tokenVolumeName) {
|
if allVolumeNames.Has(tokenVolumeName) {
|
||||||
tokenVolumeName = api.SimpleNameGenerator.GenerateName(fmt.Sprintf("%s-", serviceAccountToken))
|
tokenVolumeName = names.SimpleNameGenerator.GenerateName(fmt.Sprintf("%s-", serviceAccountToken))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package api
|
package names
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -31,16 +31,6 @@ type NameGenerator interface {
|
|||||||
GenerateName(base string) string
|
GenerateName(base string) string
|
||||||
}
|
}
|
||||||
|
|
||||||
// GenerateName will resolve the object name of the provided ObjectMeta to a generated version if
|
|
||||||
// necessary. It expects that validation for ObjectMeta has already completed (that Base is a
|
|
||||||
// valid name) and that the NameGenerator generates a name that is also valid.
|
|
||||||
func GenerateName(u NameGenerator, meta *ObjectMeta) {
|
|
||||||
if len(meta.GenerateName) == 0 || len(meta.Name) != 0 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
meta.Name = u.GenerateName(meta.GenerateName)
|
|
||||||
}
|
|
||||||
|
|
||||||
// simpleNameGenerator generates random names.
|
// simpleNameGenerator generates random names.
|
||||||
type simpleNameGenerator struct{}
|
type simpleNameGenerator struct{}
|
||||||
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package api
|
package names
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
14
vendor/BUILD
vendored
14
vendor/BUILD
vendored
@ -13354,3 +13354,17 @@ go_library(
|
|||||||
srcs = ["k8s.io/apimachinery/pkg/util/rand/rand.go"],
|
srcs = ["k8s.io/apimachinery/pkg/util/rand/rand.go"],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
go_test(
|
||||||
|
name = "k8s.io/apiserver/pkg/storage/names_test",
|
||||||
|
srcs = ["k8s.io/apiserver/pkg/storage/names/generate_test.go"],
|
||||||
|
library = ":k8s.io/apiserver/pkg/storage/names",
|
||||||
|
tags = ["automanaged"],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "k8s.io/apiserver/pkg/storage/names",
|
||||||
|
srcs = ["k8s.io/apiserver/pkg/storage/names/generate.go"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
deps = ["//vendor:k8s.io/apimachinery/pkg/util/rand"],
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user