From fca7e00608c13bd28da632757e5b24fec50895f9 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Mon, 23 Jan 2017 23:59:17 -0500 Subject: [PATCH] Move all *Options to metav1 --- .../apis/apiregistration/v1alpha1/register.go | 4 --- cmd/kubeadm/app/apis/kubeadm/register.go | 4 --- .../app/apis/kubeadm/v1alpha1/register.go | 3 -- .../test_apis/testgroup/v1/register.go | 3 -- federation/apis/core/register.go | 2 -- federation/apis/core/v1/register.go | 1 - federation/apis/federation/register.go | 2 -- .../apis/federation/v1beta1/register.go | 4 --- pkg/api/helpers.go | 22 -------------- pkg/api/register.go | 2 -- pkg/api/serialization_test.go | 2 ++ pkg/api/types.go | 1 + pkg/api/v1/register.go | 4 --- pkg/api/v1/types.go | 3 ++ pkg/apis/apps/register.go | 2 -- pkg/apis/apps/v1beta1/register.go | 4 --- pkg/apis/authentication/register.go | 6 ---- pkg/apis/authentication/v1beta1/register.go | 5 ---- pkg/apis/authorization/register.go | 6 ---- pkg/apis/authorization/v1beta1/register.go | 5 ---- pkg/apis/autoscaling/register.go | 2 -- pkg/apis/autoscaling/v1/register.go | 4 --- pkg/apis/batch/register.go | 2 -- pkg/apis/batch/v1/register.go | 4 --- pkg/apis/batch/v2alpha1/register.go | 4 --- pkg/apis/certificates/register.go | 2 -- pkg/apis/certificates/v1beta1/register.go | 4 --- pkg/apis/extensions/register.go | 5 ---- pkg/apis/extensions/v1beta1/register.go | 4 --- pkg/apis/imagepolicy/register.go | 6 ---- pkg/apis/imagepolicy/v1alpha1/register.go | 5 ---- pkg/apis/policy/register.go | 6 ---- pkg/apis/policy/types.go | 3 +- pkg/apis/policy/v1alpha1/register.go | 4 --- pkg/apis/policy/v1alpha1/types.go | 3 +- pkg/apis/policy/v1beta1/register.go | 4 --- pkg/apis/policy/v1beta1/types.go | 3 +- pkg/apis/rbac/register.go | 5 ---- pkg/apis/rbac/v1alpha1/register.go | 5 ---- pkg/apis/rbac/v1beta1/register.go | 5 ---- pkg/apis/storage/register.go | 6 ---- pkg/apis/storage/v1beta1/register.go | 5 ---- .../endpoints/apiserver_test.go | 6 ++-- .../server/genericapiserver_test.go | 8 ++--- pkg/master/import_known_versions_test.go | 1 + .../apimachinery/pkg/apis/meta/v1/helpers.go | 22 ++++++++++++++ .../apimachinery/pkg/apis/meta/v1/register.go | 7 ++++- .../apimachinery/pkg/apis/meta/v1/types.go | 29 +++++++++++++++++++ 48 files changed, 72 insertions(+), 177 deletions(-) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go index c27ec268d9e..f056093e3a9 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) const GroupName = "apiregistration.k8s.io" @@ -38,9 +37,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &APIService{}, &APIServiceList{}, - - &v1.DeleteOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/cmd/kubeadm/app/apis/kubeadm/register.go b/cmd/kubeadm/app/apis/kubeadm/register.go index f9e2b094b29..05a829c0aad 100644 --- a/cmd/kubeadm/app/apis/kubeadm/register.go +++ b/cmd/kubeadm/app/apis/kubeadm/register.go @@ -17,10 +17,8 @@ limitations under the License. package kubeadm import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -49,8 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &MasterConfiguration{}, &NodeConfiguration{}, &ClusterInfo{}, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, ) return nil } diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go index f308501d3d4..31496f3c133 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -49,8 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &MasterConfiguration{}, &NodeConfiguration{}, &ClusterInfo{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go index 664157276f4..95463b15937 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) var SchemeGroupVersion = schema.GroupVersion{Group: "testgroup.k8s.io", Version: "v1"} @@ -38,9 +37,7 @@ func addKnownTypes(scheme *runtime.Scheme) error { ) scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, &metav1.Status{}, - &metav1.ExportOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/federation/apis/core/register.go b/federation/apis/core/register.go index 49f8f3c1824..195d8b992d7 100644 --- a/federation/apis/core/register.go +++ b/federation/apis/core/register.go @@ -67,7 +67,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &api.Service{}, &api.Namespace{}, &api.NamespaceList{}, - &api.DeleteOptions{}, &api.Secret{}, &api.SecretList{}, &api.Event{}, @@ -78,7 +77,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { // Register Unversioned types under their own special group scheme.AddUnversionedTypes(Unversioned, - &metav1.ExportOptions{}, &metav1.Status{}, &metav1.APIVersions{}, &metav1.APIGroupList{}, diff --git a/federation/apis/core/v1/register.go b/federation/apis/core/v1/register.go index 47845d03fc4..4c6af575c39 100644 --- a/federation/apis/core/v1/register.go +++ b/federation/apis/core/v1/register.go @@ -41,7 +41,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &v1.Namespace{}, &v1.NamespaceList{}, &v1.ServiceList{}, - &v1.DeleteOptions{}, &v1.Secret{}, &v1.SecretList{}, &v1.Event{}, diff --git a/federation/apis/federation/register.go b/federation/apis/federation/register.go index bb65fb625ff..78f54810bc1 100644 --- a/federation/apis/federation/register.go +++ b/federation/apis/federation/register.go @@ -19,7 +19,6 @@ package federation import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -47,7 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/federation/apis/federation/v1beta1/register.go b/federation/apis/federation/v1beta1/register.go index 785dd5ecd7c..0a772ff1187 100644 --- a/federation/apis/federation/v1beta1/register.go +++ b/federation/apis/federation/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -38,9 +37,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index ca5ee50a613..7dcf93bac80 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -31,7 +31,6 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/selection" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/resource" ) @@ -228,27 +227,6 @@ func IsIntegerResourceName(str string) bool { return integerResources.Has(str) || IsOpaqueIntResourceName(ResourceName(str)) } -// NewDeleteOptions returns a DeleteOptions indicating the resource should -// be deleted within the specified grace period. Use zero to indicate -// immediate deletion. If you would prefer to use the default grace period, -// use &api.DeleteOptions{} directly. -func NewDeleteOptions(grace int64) *DeleteOptions { - return &DeleteOptions{GracePeriodSeconds: &grace} -} - -// NewPreconditionDeleteOptions returns a DeleteOptions with a UID precondition set. -func NewPreconditionDeleteOptions(uid string) *DeleteOptions { - u := types.UID(uid) - p := Preconditions{UID: &u} - return &DeleteOptions{Preconditions: &p} -} - -// NewUIDPreconditions returns a Preconditions with UID set. -func NewUIDPreconditions(uid string) *Preconditions { - u := types.UID(uid) - return &Preconditions{UID: &u} -} - // this function aims to check if the service's ClusterIP is set or not // the objective is not to perform validation here func IsServiceIPSet(service *Service) bool { diff --git a/pkg/api/register.go b/pkg/api/register.go index 0e0809c72f4..e9d9b4142e9 100644 --- a/pkg/api/register.go +++ b/pkg/api/register.go @@ -124,8 +124,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PersistentVolumeList{}, &PersistentVolumeClaim{}, &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &ListOptions{}, &PodAttachOptions{}, &PodLogOptions{}, &PodExecOptions{}, diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index a45ec3f3bd6..29b9d989995 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -182,6 +182,8 @@ var nonRoundTrippableTypes = sets.NewString( "WatchEvent", // ListOptions is now part of the meta group "ListOptions", + // Delete options is only read in metav1 + "DeleteOptions", ) var commonKinds = []string{"Status", "ListOptions", "DeleteOptions", "ExportOptions"} diff --git a/pkg/api/types.go b/pkg/api/types.go index 0dac64e8fdb..c2f933a88ff 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -2863,6 +2863,7 @@ type Preconditions struct { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. type DeleteOptions struct { metav1.TypeMeta diff --git a/pkg/api/v1/register.go b/pkg/api/v1/register.go index 2ad0c4a975f..5c2dfddd112 100644 --- a/pkg/api/v1/register.go +++ b/pkg/api/v1/register.go @@ -74,10 +74,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PersistentVolumeList{}, &PersistentVolumeClaim{}, &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ListOptions{}, &PodAttachOptions{}, &PodLogOptions{}, &PodExecOptions{}, diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index 297dda69e53..8483e701337 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -3297,6 +3297,7 @@ type Binding struct { } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +// +k8s:openapi-gen=false type Preconditions struct { // Specifies the target UID. // +optional @@ -3304,6 +3305,8 @@ type Preconditions struct { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. +// +k8s:openapi-gen=false type DeleteOptions struct { metav1.TypeMeta `json:",inline"` diff --git a/pkg/apis/apps/register.go b/pkg/apis/apps/register.go index 19558e99d79..639c1be48fa 100644 --- a/pkg/apis/apps/register.go +++ b/pkg/apis/apps/register.go @@ -19,7 +19,6 @@ package apps import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) var ( @@ -49,7 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &StatefulSet{}, &StatefulSetList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/apis/apps/v1beta1/register.go b/pkg/apis/apps/v1beta1/register.go index 24ef544de76..4e7829d94ba 100644 --- a/pkg/apis/apps/v1beta1/register.go +++ b/pkg/apis/apps/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -44,9 +43,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &StatefulSet{}, &StatefulSetList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/authentication/register.go b/pkg/apis/authentication/register.go index 2cc56eed6c3..b0ac3c28bfb 100644 --- a/pkg/apis/authentication/register.go +++ b/pkg/apis/authentication/register.go @@ -17,10 +17,8 @@ limitations under the License. package authentication import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &TokenReview{}, ) return nil diff --git a/pkg/apis/authentication/v1beta1/register.go b/pkg/apis/authentication/v1beta1/register.go index a0ff1c2cd20..ddaa1970210 100644 --- a/pkg/apis/authentication/v1beta1/register.go +++ b/pkg/apis/authentication/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &TokenReview{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/authorization/register.go b/pkg/apis/authorization/register.go index ff8c9fa482a..5693885e4e7 100644 --- a/pkg/apis/authorization/register.go +++ b/pkg/apis/authorization/register.go @@ -17,10 +17,8 @@ limitations under the License. package authorization import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &SelfSubjectAccessReview{}, &SubjectAccessReview{}, &LocalSubjectAccessReview{}, diff --git a/pkg/apis/authorization/v1beta1/register.go b/pkg/apis/authorization/v1beta1/register.go index 7fb5ea8f9cd..66549ed832a 100644 --- a/pkg/apis/authorization/v1beta1/register.go +++ b/pkg/apis/authorization/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &SelfSubjectAccessReview{}, &SubjectAccessReview{}, &LocalSubjectAccessReview{}, diff --git a/pkg/apis/autoscaling/register.go b/pkg/apis/autoscaling/register.go index 069b7c96cfb..2bcea84b9bf 100644 --- a/pkg/apis/autoscaling/register.go +++ b/pkg/apis/autoscaling/register.go @@ -19,7 +19,6 @@ package autoscaling import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -49,7 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &Scale{}, &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/apis/autoscaling/v1/register.go b/pkg/apis/autoscaling/v1/register.go index 7b885b32e41..adb1d767f47 100644 --- a/pkg/apis/autoscaling/v1/register.go +++ b/pkg/apis/autoscaling/v1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, &Scale{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/batch/register.go b/pkg/apis/batch/register.go index 563809f517e..4601ca4ec14 100644 --- a/pkg/apis/batch/register.go +++ b/pkg/apis/batch/register.go @@ -19,7 +19,6 @@ package batch import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -51,7 +50,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &JobTemplate{}, &CronJob{}, &CronJobList{}, - &api.DeleteOptions{}, ) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJob"), &CronJob{}) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJobList"), &CronJobList{}) diff --git a/pkg/apis/batch/v1/register.go b/pkg/apis/batch/v1/register.go index 3177c146ac3..4ba570d1b50 100644 --- a/pkg/apis/batch/v1/register.go +++ b/pkg/apis/batch/v1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -44,9 +43,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Job{}, &JobList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/batch/v2alpha1/register.go b/pkg/apis/batch/v2alpha1/register.go index 281050a9cf1..e8e669ab6be 100644 --- a/pkg/apis/batch/v2alpha1/register.go +++ b/pkg/apis/batch/v2alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -47,9 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &JobTemplate{}, &CronJob{}, &CronJobList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJob"), &CronJob{}) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJobList"), &CronJobList{}) diff --git a/pkg/apis/certificates/register.go b/pkg/apis/certificates/register.go index c0e8d4a14b4..f9d228d00e7 100644 --- a/pkg/apis/certificates/register.go +++ b/pkg/apis/certificates/register.go @@ -19,7 +19,6 @@ package certificates import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) var ( @@ -48,7 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &CertificateSigningRequest{}, &CertificateSigningRequestList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/apis/certificates/v1beta1/register.go b/pkg/apis/certificates/v1beta1/register.go index fee09fae21d..6574de971b2 100644 --- a/pkg/apis/certificates/v1beta1/register.go +++ b/pkg/apis/certificates/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -49,9 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &CertificateSigningRequest{}, &CertificateSigningRequestList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies diff --git a/pkg/apis/extensions/register.go b/pkg/apis/extensions/register.go index 2009257c5bb..192addffe97 100644 --- a/pkg/apis/extensions/register.go +++ b/pkg/apis/extensions/register.go @@ -17,10 +17,8 @@ limitations under the License. package extensions import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" ) @@ -64,11 +62,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ThirdPartyResourceDataList{}, &Ingress{}, &IngressList{}, - &api.DeleteOptions{}, &ReplicaSet{}, &ReplicaSetList{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, &PodSecurityPolicy{}, &PodSecurityPolicyList{}, &NetworkPolicy{}, diff --git a/pkg/apis/extensions/v1beta1/register.go b/pkg/apis/extensions/v1beta1/register.go index 9a0be6c246a..6b03fb02678 100644 --- a/pkg/apis/extensions/v1beta1/register.go +++ b/pkg/apis/extensions/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -57,9 +56,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ThirdPartyResourceDataList{}, &Ingress{}, &IngressList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, &ReplicaSet{}, &ReplicaSetList{}, &PodSecurityPolicy{}, diff --git a/pkg/apis/imagepolicy/register.go b/pkg/apis/imagepolicy/register.go index 62a10e7444b..446aaf5ec89 100644 --- a/pkg/apis/imagepolicy/register.go +++ b/pkg/apis/imagepolicy/register.go @@ -17,10 +17,8 @@ limitations under the License. package imagepolicy import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ImageReview{}, ) // metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/imagepolicy/v1alpha1/register.go b/pkg/apis/imagepolicy/v1alpha1/register.go index afe3e140046..81ac79a8a99 100644 --- a/pkg/apis/imagepolicy/v1alpha1/register.go +++ b/pkg/apis/imagepolicy/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name for this API. @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ImageReview{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/policy/register.go b/pkg/apis/policy/register.go index 4dfe64242e4..5aadc3f1b8e 100644 --- a/pkg/apis/policy/register.go +++ b/pkg/apis/policy/register.go @@ -17,10 +17,8 @@ limitations under the License. package policy import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -48,10 +46,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { // TODO this gets cleaned up when the types are fixed scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, diff --git a/pkg/apis/policy/types.go b/pkg/apis/policy/types.go index 5a677b0ed05..22a56773ee1 100644 --- a/pkg/apis/policy/types.go +++ b/pkg/apis/policy/types.go @@ -18,7 +18,6 @@ package policy import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/util/intstr" ) @@ -110,5 +109,5 @@ type Eviction struct { // DeleteOptions may be provided // +optional - DeleteOptions *api.DeleteOptions + DeleteOptions *metav1.DeleteOptions } diff --git a/pkg/apis/policy/v1alpha1/register.go b/pkg/apis/policy/v1alpha1/register.go index 18ad5eb3a14..6f515361dad 100644 --- a/pkg/apis/policy/v1alpha1/register.go +++ b/pkg/apis/policy/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/policy/v1alpha1/types.go b/pkg/apis/policy/v1alpha1/types.go index d419949539d..8ce3aba99b4 100644 --- a/pkg/apis/policy/v1alpha1/types.go +++ b/pkg/apis/policy/v1alpha1/types.go @@ -18,7 +18,6 @@ package v1alpha1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/intstr" ) @@ -89,5 +88,5 @@ type Eviction struct { // DeleteOptions may be provided // +optional - DeleteOptions *v1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` + DeleteOptions *metav1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` } diff --git a/pkg/apis/policy/v1beta1/register.go b/pkg/apis/policy/v1beta1/register.go index 17f6bfd8e9f..52bd65c8ba4 100644 --- a/pkg/apis/policy/v1beta1/register.go +++ b/pkg/apis/policy/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/policy/v1beta1/types.go b/pkg/apis/policy/v1beta1/types.go index 346108989ab..7177a0c2132 100644 --- a/pkg/apis/policy/v1beta1/types.go +++ b/pkg/apis/policy/v1beta1/types.go @@ -18,7 +18,6 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/intstr" ) @@ -102,5 +101,5 @@ type Eviction struct { metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // DeleteOptions may be provided - DeleteOptions *v1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` + DeleteOptions *metav1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` } diff --git a/pkg/apis/rbac/register.go b/pkg/apis/rbac/register.go index f1b2102870b..a7403d34b51 100644 --- a/pkg/apis/rbac/register.go +++ b/pkg/apis/rbac/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) const GroupName = "rbac.authorization.k8s.io" @@ -55,10 +54,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/rbac/v1alpha1/register.go b/pkg/apis/rbac/v1alpha1/register.go index 7c462510206..3977e99c51d 100644 --- a/pkg/apis/rbac/v1alpha1/register.go +++ b/pkg/apis/rbac/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) const GroupName = "rbac.authorization.k8s.io" @@ -50,10 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/rbac/v1beta1/register.go b/pkg/apis/rbac/v1beta1/register.go index 314e661227d..cab2e77e4b9 100644 --- a/pkg/apis/rbac/v1beta1/register.go +++ b/pkg/apis/rbac/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) const GroupName = "rbac.authorization.k8s.io" @@ -50,10 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/storage/register.go b/pkg/apis/storage/register.go index a35f4e262d8..aaa619b4d97 100644 --- a/pkg/apis/storage/register.go +++ b/pkg/apis/storage/register.go @@ -17,10 +17,8 @@ limitations under the License. package storage import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &StorageClass{}, &StorageClassList{}, ) diff --git a/pkg/apis/storage/v1beta1/register.go b/pkg/apis/storage/v1beta1/register.go index 759ab44600a..70087f37970 100644 --- a/pkg/apis/storage/v1beta1/register.go +++ b/pkg/apis/storage/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &StorageClass{}, &StorageClassList{}, ) diff --git a/pkg/genericapiserver/endpoints/apiserver_test.go b/pkg/genericapiserver/endpoints/apiserver_test.go index f20b2959401..1d13425e2eb 100644 --- a/pkg/genericapiserver/endpoints/apiserver_test.go +++ b/pkg/genericapiserver/endpoints/apiserver_test.go @@ -120,7 +120,7 @@ func newMapper() *meta.DefaultRESTMapper { func addGrouplessTypes() { api.Scheme.AddKnownTypes(grouplessGroupVersion, &genericapitesting.Simple{}, &genericapitesting.SimpleList{}, &metav1.ListOptions{}, &metav1.ExportOptions{}, - &v1.DeleteOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}) + &metav1.DeleteOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}) api.Scheme.AddKnownTypes(grouplessInternalGroupVersion, &genericapitesting.Simple{}, &genericapitesting.SimpleList{}, &metav1.ExportOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}) @@ -138,7 +138,7 @@ func addTestTypes() { } api.Scheme.AddKnownTypes(testGroupVersion, &genericapitesting.Simple{}, &genericapitesting.SimpleList{}, &metav1.ExportOptions{}, - &v1.DeleteOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}, + &metav1.DeleteOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}, &SimpleXGSubresource{}) api.Scheme.AddKnownTypes(testGroupVersion, &v1.Pod{}) api.Scheme.AddKnownTypes(testInternalGroupVersion, @@ -157,7 +157,7 @@ func addTestTypes() { func addNewTestTypes() { api.Scheme.AddKnownTypes(newGroupVersion, &genericapitesting.Simple{}, &genericapitesting.SimpleList{}, &metav1.ExportOptions{}, - &api.DeleteOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}, + &metav1.DeleteOptions{}, &genericapitesting.SimpleGetOptions{}, &genericapitesting.SimpleRoot{}, &v1.Pod{}, ) metav1.AddToGroupVersion(api.Scheme, newGroupVersion) diff --git a/pkg/genericapiserver/server/genericapiserver_test.go b/pkg/genericapiserver/server/genericapiserver_test.go index 19a154dfc38..26e9bf2a215 100644 --- a/pkg/genericapiserver/server/genericapiserver_test.go +++ b/pkg/genericapiserver/server/genericapiserver_test.go @@ -119,12 +119,8 @@ func TestInstallAPIGroups(t *testing.T) { scheme := runtime.NewScheme() scheme.AddKnownTypeWithName(gv.WithKind("Getter"), getter.New()) scheme.AddKnownTypeWithName(gv.WithKind("NoVerb"), noVerbs.New()) - scheme.AddKnownTypes(v1.SchemeGroupVersion, - &metav1.ListOptions{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.Status{}, - ) + scheme.AddKnownTypes(v1.SchemeGroupVersion, &metav1.Status{}) + metav1.AddToGroupVersion(scheme, v1.SchemeGroupVersion) interfacesFor := func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { return &meta.VersionInterfaces{ diff --git a/pkg/master/import_known_versions_test.go b/pkg/master/import_known_versions_test.go index 9fd797d2b37..68d64a270fb 100644 --- a/pkg/master/import_known_versions_test.go +++ b/pkg/master/import_known_versions_test.go @@ -82,6 +82,7 @@ var typesAllowedTags = map[reflect.Type]bool{ reflect.TypeOf(metav1.GetOptions{}): true, reflect.TypeOf(metav1.ExportOptions{}): true, reflect.TypeOf(metav1.ListOptions{}): true, + reflect.TypeOf(metav1.DeleteOptions{}): true, } func ensureNoTags(t *testing.T, gvk schema.GroupVersionKind, tp reflect.Type, parents []reflect.Type) { diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go index 5836bb32ac8..877aa193d34 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go @@ -22,6 +22,7 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/types" ) // LabelSelectorAsSelector converts the LabelSelector api type into a struct that implements @@ -204,3 +205,24 @@ func SingleObject(meta ObjectMeta) ListOptions { ResourceVersion: meta.ResourceVersion, } } + +// NewDeleteOptions returns a DeleteOptions indicating the resource should +// be deleted within the specified grace period. Use zero to indicate +// immediate deletion. If you would prefer to use the default grace period, +// use &metav1.DeleteOptions{} directly. +func NewDeleteOptions(grace int64) *DeleteOptions { + return &DeleteOptions{GracePeriodSeconds: &grace} +} + +// NewPreconditionDeleteOptions returns a DeleteOptions with a UID precondition set. +func NewPreconditionDeleteOptions(uid string) *DeleteOptions { + u := types.UID(uid) + p := Preconditions{UID: &u} + return &DeleteOptions{Preconditions: &p} +} + +// NewUIDPreconditions returns a Preconditions with UID set. +func NewUIDPreconditions(uid string) *Preconditions { + u := types.UID(uid) + return &Preconditions{UID: &u} +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go index ec3c221d603..735f5e6cad8 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go @@ -42,7 +42,12 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), &InternalEvent{}, ) - scheme.AddKnownTypes(groupVersion, &ListOptions{}) + scheme.AddKnownTypes(groupVersion, + &ListOptions{}, + &ExportOptions{}, + &GetOptions{}, + &DeleteOptions{}, + ) scheme.AddConversionFuncs( Convert_versioned_Event_to_watch_Event, Convert_versioned_InternalEvent_to_versioned_Event, diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index dd096ffaff5..feb5e72e99c 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -298,6 +298,35 @@ type GetOptions struct { ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,1,opt,name=resourceVersion"` } +// DeleteOptions may be provided when deleting an API object. +type DeleteOptions struct { + TypeMeta `json:",inline"` + + // The duration in seconds before the object should be deleted. Value must be non-negative integer. + // The value zero indicates delete immediately. If this value is nil, the default grace period for the + // specified type will be used. + // Defaults to a per object value if not specified. zero means delete immediately. + // +optional + GracePeriodSeconds *int64 `json:"gracePeriodSeconds,omitempty" protobuf:"varint,1,opt,name=gracePeriodSeconds"` + + // Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be + // returned. + // +optional + Preconditions *Preconditions `json:"preconditions,omitempty" protobuf:"bytes,2,opt,name=preconditions"` + + // Should the dependent objects be orphaned. If true/false, the "orphan" + // finalizer will be added to/removed from the object's finalizers list. + // +optional + OrphanDependents *bool `json:"orphanDependents,omitempty" protobuf:"varint,3,opt,name=orphanDependents"` +} + +// Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +type Preconditions struct { + // Specifies the target UID. + // +optional + UID *types.UID `json:"uid,omitempty" protobuf:"bytes,1,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"` +} + // Status is a return value for calls that don't return other objects. type Status struct { TypeMeta `json:",inline"`