From 702f55e61d0fd07a80af83f6683dbb1bb077768f Mon Sep 17 00:00:00 2001 From: mbohlool Date: Thu, 25 Aug 2016 14:58:23 -0700 Subject: [PATCH] Add +k8s:openapi-gen tag to API types --- .../test_apis/testgroup.k8s.io/v1/doc.go | 18 ++++++++++++++++++ .../test_apis/testgroup.k8s.io/v1/types.go | 8 ++++++-- federation/apis/federation/v1beta1/doc.go | 2 +- pkg/api/resource/amount.go | 1 + pkg/api/resource/quantity.go | 1 + pkg/api/unversioned/doc.go | 1 + pkg/api/v1/doc.go | 1 + pkg/apis/abac/types.go | 1 + pkg/apis/abac/v0/types.go | 1 + pkg/apis/abac/v1beta1/types.go | 1 + pkg/apis/apps/doc.go | 1 + pkg/apis/apps/v1alpha1/doc.go | 1 + pkg/apis/authentication/doc.go | 1 + pkg/apis/authentication/v1beta1/doc.go | 1 + pkg/apis/authorization/doc.go | 1 + pkg/apis/authorization/v1beta1/doc.go | 1 + pkg/apis/autoscaling/doc.go | 1 + pkg/apis/autoscaling/v1/doc.go | 1 + pkg/apis/batch/doc.go | 1 + pkg/apis/batch/v1/doc.go | 1 + pkg/apis/batch/v2alpha1/doc.go | 1 + pkg/apis/certificates/doc.go | 1 + pkg/apis/certificates/v1alpha1/doc.go | 1 + pkg/apis/componentconfig/doc.go | 1 + pkg/apis/componentconfig/v1alpha1/doc.go | 1 + pkg/apis/extensions/doc.go | 1 + pkg/apis/extensions/v1beta1/doc.go | 1 + pkg/apis/imagepolicy/doc.go | 1 + pkg/apis/imagepolicy/v1alpha1/doc.go | 1 + pkg/apis/policy/doc.go | 1 + pkg/apis/policy/v1alpha1/doc.go | 1 + pkg/apis/rbac/doc.go | 1 + pkg/apis/rbac/v1alpha1/doc.go | 1 + pkg/apis/storage/doc.go | 1 + pkg/apis/storage/v1beta1/doc.go | 1 + pkg/runtime/types.go | 3 +++ pkg/version/doc.go | 1 + pkg/watch/versioned/types.go | 1 + 38 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/doc.go diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/doc.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/doc.go new file mode 100644 index 00000000000..1d860307451 --- /dev/null +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/doc.go @@ -0,0 +1,18 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// +k8s:openapi-gen=true +package v1 diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/types.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/types.go index d27caf27038..54465c32d82 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/types.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io/v1/types.go @@ -25,8 +25,12 @@ import ( type TestType struct { unversioned.TypeMeta `json:",inline"` - api.ObjectMeta `json:"metadata,omitempty"` - Status TestTypeStatus `json:"status,omitempty"` + // --- + // the next tag removes the field from openapi spec. Adding unversioned objectMeta bring in a whole set of + // unversioned objects in the generate file that is not used anywhere other than this test type. + // +k8s:openapi-gen=false + api.ObjectMeta `json:"metadata,omitempty"` + Status TestTypeStatus `json:"status,omitempty"` } type TestTypeList struct { diff --git a/federation/apis/federation/v1beta1/doc.go b/federation/apis/federation/v1beta1/doc.go index 63a9aac120a..7f62d4cd5f1 100644 --- a/federation/apis/federation/v1beta1/doc.go +++ b/federation/apis/federation/v1beta1/doc.go @@ -16,5 +16,5 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/federation/apis/federation - +// +k8s:openapi-gen=true package v1beta1 // import "k8s.io/kubernetes/federation/apis/federation/v1beta1" diff --git a/pkg/api/resource/amount.go b/pkg/api/resource/amount.go index 2d3012c875e..a8866a43e10 100644 --- a/pkg/api/resource/amount.go +++ b/pkg/api/resource/amount.go @@ -54,6 +54,7 @@ var ( // int64Amount represents a fixed precision numerator and arbitrary scale exponent. It is faster // than operations on inf.Dec for values that can be represented as int64. +// +k8s:openapi-gen=true type int64Amount struct { value int64 scale Scale diff --git a/pkg/api/resource/quantity.go b/pkg/api/resource/quantity.go index 0bb8250ca36..8c74569fc04 100644 --- a/pkg/api/resource/quantity.go +++ b/pkg/api/resource/quantity.go @@ -93,6 +93,7 @@ import ( // +protobuf.embed=string // +protobuf.options.marshal=false // +protobuf.options.(gogoproto.goproto_stringer)=false +// +k8s:openapi-gen=true type Quantity struct { // i is the quantity in int64 scaled form, if d.Dec == nil i int64Amount diff --git a/pkg/api/unversioned/doc.go b/pkg/api/unversioned/doc.go index afb2391acde..c08dc3e1931 100644 --- a/pkg/api/unversioned/doc.go +++ b/pkg/api/unversioned/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package +// +k8s:openapi-gen=true package unversioned // import "k8s.io/kubernetes/pkg/api/unversioned" diff --git a/pkg/api/v1/doc.go b/pkg/api/v1/doc.go index 10dc479a3c9..d9680b63de1 100644 --- a/pkg/api/v1/doc.go +++ b/pkg/api/v1/doc.go @@ -16,6 +16,7 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/api +// +k8s:openapi-gen=true // Package v1 is the v1 version of the API. package v1 // import "k8s.io/kubernetes/pkg/api/v1" diff --git a/pkg/apis/abac/types.go b/pkg/apis/abac/types.go index 49d59ce50c7..dffb9925a42 100644 --- a/pkg/apis/abac/types.go +++ b/pkg/apis/abac/types.go @@ -14,6 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ +// +k8s:openapi-gen=true package abac import "k8s.io/kubernetes/pkg/api/unversioned" diff --git a/pkg/apis/abac/v0/types.go b/pkg/apis/abac/v0/types.go index 5462add3dc0..d4ebe085eb7 100644 --- a/pkg/apis/abac/v0/types.go +++ b/pkg/apis/abac/v0/types.go @@ -14,6 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ +// +k8s:openapi-gen=true package v0 import "k8s.io/kubernetes/pkg/api/unversioned" diff --git a/pkg/apis/abac/v1beta1/types.go b/pkg/apis/abac/v1beta1/types.go index ecf988de051..c589bf4d604 100644 --- a/pkg/apis/abac/v1beta1/types.go +++ b/pkg/apis/abac/v1beta1/types.go @@ -14,6 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ +// +k8s:openapi-gen=true package v1beta1 import "k8s.io/kubernetes/pkg/api/unversioned" diff --git a/pkg/apis/apps/doc.go b/pkg/apis/apps/doc.go index e216ed6fd8d..caac3a7e6b4 100644 --- a/pkg/apis/apps/doc.go +++ b/pkg/apis/apps/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true package apps // import "k8s.io/kubernetes/pkg/apis/apps" diff --git a/pkg/apis/apps/v1alpha1/doc.go b/pkg/apis/apps/v1alpha1/doc.go index 1b6819c2a97..16c1b593010 100644 --- a/pkg/apis/apps/v1alpha1/doc.go +++ b/pkg/apis/apps/v1alpha1/doc.go @@ -16,5 +16,6 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/apps +// +k8s:openapi-gen=true package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/apps/v1alpha1" diff --git a/pkg/apis/authentication/doc.go b/pkg/apis/authentication/doc.go index 88bdf625b73..8f2bf397faa 100644 --- a/pkg/apis/authentication/doc.go +++ b/pkg/apis/authentication/doc.go @@ -16,4 +16,5 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +groupName=authentication.k8s.io +// +k8s:openapi-gen=true package authentication // import "k8s.io/kubernetes/pkg/apis/authentication" diff --git a/pkg/apis/authentication/v1beta1/doc.go b/pkg/apis/authentication/v1beta1/doc.go index 2b985104cf4..bfb6aabc7b6 100644 --- a/pkg/apis/authentication/v1beta1/doc.go +++ b/pkg/apis/authentication/v1beta1/doc.go @@ -17,4 +17,5 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/authentication // +groupName=authentication.k8s.io +// +k8s:openapi-gen=true package v1beta1 // import "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" diff --git a/pkg/apis/authorization/doc.go b/pkg/apis/authorization/doc.go index a6c011cbf61..70b6be93d45 100644 --- a/pkg/apis/authorization/doc.go +++ b/pkg/apis/authorization/doc.go @@ -15,6 +15,7 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true // +groupName=authorization.k8s.io package authorization // import "k8s.io/kubernetes/pkg/apis/authorization" diff --git a/pkg/apis/authorization/v1beta1/doc.go b/pkg/apis/authorization/v1beta1/doc.go index 690ab217add..b51da351d48 100644 --- a/pkg/apis/authorization/v1beta1/doc.go +++ b/pkg/apis/authorization/v1beta1/doc.go @@ -16,6 +16,7 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/authorization +// +k8s:openapi-gen=true // +groupName=authorization.k8s.io package v1beta1 // import "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" diff --git a/pkg/apis/autoscaling/doc.go b/pkg/apis/autoscaling/doc.go index d9e11576f92..3e0aba31af3 100644 --- a/pkg/apis/autoscaling/doc.go +++ b/pkg/apis/autoscaling/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true package autoscaling // import "k8s.io/kubernetes/pkg/apis/autoscaling" diff --git a/pkg/apis/autoscaling/v1/doc.go b/pkg/apis/autoscaling/v1/doc.go index 5ce82c96390..e8cacc8c869 100644 --- a/pkg/apis/autoscaling/v1/doc.go +++ b/pkg/apis/autoscaling/v1/doc.go @@ -16,5 +16,6 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/autoscaling +// +k8s:openapi-gen=true package v1 // import "k8s.io/kubernetes/pkg/apis/autoscaling/v1" diff --git a/pkg/apis/batch/doc.go b/pkg/apis/batch/doc.go index 9b2b792bd51..ac8c43f8e18 100644 --- a/pkg/apis/batch/doc.go +++ b/pkg/apis/batch/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true package batch // import "k8s.io/kubernetes/pkg/apis/batch" diff --git a/pkg/apis/batch/v1/doc.go b/pkg/apis/batch/v1/doc.go index 31a944c401e..32ae7506354 100644 --- a/pkg/apis/batch/v1/doc.go +++ b/pkg/apis/batch/v1/doc.go @@ -16,5 +16,6 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/batch +// +k8s:openapi-gen=true package v1 // import "k8s.io/kubernetes/pkg/apis/batch/v1" diff --git a/pkg/apis/batch/v2alpha1/doc.go b/pkg/apis/batch/v2alpha1/doc.go index 2b2d603145c..edf699838be 100644 --- a/pkg/apis/batch/v2alpha1/doc.go +++ b/pkg/apis/batch/v2alpha1/doc.go @@ -16,5 +16,6 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/batch +// +k8s:openapi-gen=true package v2alpha1 // import "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" diff --git a/pkg/apis/certificates/doc.go b/pkg/apis/certificates/doc.go index 801141b8245..d133160c6c3 100644 --- a/pkg/apis/certificates/doc.go +++ b/pkg/apis/certificates/doc.go @@ -15,6 +15,7 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true // +groupName=certificates.k8s.io package certificates // import "k8s.io/kubernetes/pkg/apis/certificates" diff --git a/pkg/apis/certificates/v1alpha1/doc.go b/pkg/apis/certificates/v1alpha1/doc.go index fc797123756..8518ad5a34a 100644 --- a/pkg/apis/certificates/v1alpha1/doc.go +++ b/pkg/apis/certificates/v1alpha1/doc.go @@ -17,5 +17,6 @@ limitations under the License. // +groupName=certificates.k8s.io // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/certificates +// +k8s:openapi-gen=true package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" diff --git a/pkg/apis/componentconfig/doc.go b/pkg/apis/componentconfig/doc.go index 8fe8d52edcb..2982d246c9b 100644 --- a/pkg/apis/componentconfig/doc.go +++ b/pkg/apis/componentconfig/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true package componentconfig // import "k8s.io/kubernetes/pkg/apis/componentconfig" diff --git a/pkg/apis/componentconfig/v1alpha1/doc.go b/pkg/apis/componentconfig/v1alpha1/doc.go index 0ae8b2a9998..d0049c6fe62 100644 --- a/pkg/apis/componentconfig/v1alpha1/doc.go +++ b/pkg/apis/componentconfig/v1alpha1/doc.go @@ -16,5 +16,6 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/componentconfig +// +k8s:openapi-gen=true package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" diff --git a/pkg/apis/extensions/doc.go b/pkg/apis/extensions/doc.go index fbce8ee707d..9760521169e 100644 --- a/pkg/apis/extensions/doc.go +++ b/pkg/apis/extensions/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true package extensions // import "k8s.io/kubernetes/pkg/apis/extensions" diff --git a/pkg/apis/extensions/v1beta1/doc.go b/pkg/apis/extensions/v1beta1/doc.go index bd4087f6b2a..51e577ae829 100644 --- a/pkg/apis/extensions/v1beta1/doc.go +++ b/pkg/apis/extensions/v1beta1/doc.go @@ -18,5 +18,6 @@ limitations under the License. // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/extensions // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/autoscaling // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/batch +// +k8s:openapi-gen=true package v1beta1 // import "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" diff --git a/pkg/apis/imagepolicy/doc.go b/pkg/apis/imagepolicy/doc.go index cf47b047ec0..0b898862e2b 100644 --- a/pkg/apis/imagepolicy/doc.go +++ b/pkg/apis/imagepolicy/doc.go @@ -16,5 +16,6 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +groupName=imagepolicy.k8s.io +// +k8s:openapi-gen=true package imagepolicy // import "k8s.io/kubernetes/pkg/apis/imagepolicy" diff --git a/pkg/apis/imagepolicy/v1alpha1/doc.go b/pkg/apis/imagepolicy/v1alpha1/doc.go index d325b7dfb8e..6c3da92b9b6 100644 --- a/pkg/apis/imagepolicy/v1alpha1/doc.go +++ b/pkg/apis/imagepolicy/v1alpha1/doc.go @@ -17,5 +17,6 @@ limitations under the License. // +groupName=imagepolicy.k8s.io // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/imagepolicy +// +k8s:openapi-gen=true package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1" diff --git a/pkg/apis/policy/doc.go b/pkg/apis/policy/doc.go index 86f4cd56079..d7cd7a9b7a5 100644 --- a/pkg/apis/policy/doc.go +++ b/pkg/apis/policy/doc.go @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true package policy // import "k8s.io/kubernetes/pkg/apis/policy" diff --git a/pkg/apis/policy/v1alpha1/doc.go b/pkg/apis/policy/v1alpha1/doc.go index 8bd6c3a522e..b5f2a064a35 100644 --- a/pkg/apis/policy/v1alpha1/doc.go +++ b/pkg/apis/policy/v1alpha1/doc.go @@ -20,4 +20,5 @@ limitations under the License. // Package policy is for any kind of policy object. Suitable examples, even if // they aren't all here, are PodDisruptionBudget, PodSecurityPolicy, // NetworkPolicy, etc. +// +k8s:openapi-gen=true package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" diff --git a/pkg/apis/rbac/doc.go b/pkg/apis/rbac/doc.go index ac9920c6073..b0251805bd2 100644 --- a/pkg/apis/rbac/doc.go +++ b/pkg/apis/rbac/doc.go @@ -15,6 +15,7 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register +// +k8s:openapi-gen=true // +groupName=rbac.authorization.k8s.io package rbac // import "k8s.io/kubernetes/pkg/apis/rbac" diff --git a/pkg/apis/rbac/v1alpha1/doc.go b/pkg/apis/rbac/v1alpha1/doc.go index 86ddb241afd..975d07939cc 100644 --- a/pkg/apis/rbac/v1alpha1/doc.go +++ b/pkg/apis/rbac/v1alpha1/doc.go @@ -17,5 +17,6 @@ limitations under the License. // +groupName=rbac.authorization.k8s.io // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/rbac +// +k8s:openapi-gen=true package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" diff --git a/pkg/apis/storage/doc.go b/pkg/apis/storage/doc.go index 51dbb344c74..5fab4777b08 100644 --- a/pkg/apis/storage/doc.go +++ b/pkg/apis/storage/doc.go @@ -16,4 +16,5 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +groupName=storage.k8s.io +// +g8k:openapi-gen=true package storage // import "k8s.io/kubernetes/pkg/apis/storage" diff --git a/pkg/apis/storage/v1beta1/doc.go b/pkg/apis/storage/v1beta1/doc.go index 13d14635deb..ccd5598dbac 100644 --- a/pkg/apis/storage/v1beta1/doc.go +++ b/pkg/apis/storage/v1beta1/doc.go @@ -17,4 +17,5 @@ limitations under the License. // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/storage // +groupName=storage.k8s.io +// +k8s:openapi-gen=true package v1beta1 // import "k8s.io/kubernetes/pkg/apis/storage/v1beta1" diff --git a/pkg/runtime/types.go b/pkg/runtime/types.go index 960bbef92a2..f112c5fbf39 100644 --- a/pkg/runtime/types.go +++ b/pkg/runtime/types.go @@ -43,6 +43,7 @@ import ( // // +k8s:deepcopy-gen=true // +protobuf=true +// +k8s:openapi-gen=true type TypeMeta struct { APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty" protobuf:"bytes,1,opt,name=apiVersion"` Kind string `json:"kind,omitempty" yaml:"kind,omitempty" protobuf:"bytes,2,opt,name=kind"` @@ -96,6 +97,7 @@ const ( // // +k8s:deepcopy-gen=true // +protobuf=true +// +k8s:openapi-gen=true type RawExtension struct { // Raw is the underlying serialization of this object. // @@ -114,6 +116,7 @@ type RawExtension struct { // // +k8s:deepcopy-gen=true // +protobuf=true +// +k8s:openapi-gen=true type Unknown struct { TypeMeta `json:",inline" protobuf:"bytes,1,opt,name=typeMeta"` // Raw will hold the complete serialized object which couldn't be matched diff --git a/pkg/version/doc.go b/pkg/version/doc.go index 3cb84338d04..e4d68bc9f49 100644 --- a/pkg/version/doc.go +++ b/pkg/version/doc.go @@ -16,4 +16,5 @@ limitations under the License. // Package version supplies version information collected at build time to // kubernetes components. +// +k8s:openapi-gen=true package version // import "k8s.io/kubernetes/pkg/version" diff --git a/pkg/watch/versioned/types.go b/pkg/watch/versioned/types.go index f8e968ccc02..430c357b54f 100644 --- a/pkg/watch/versioned/types.go +++ b/pkg/watch/versioned/types.go @@ -25,6 +25,7 @@ import ( // Event represents a single event to a watched resource. // // +protobuf=true +// +k8s:openapi-gen=true type Event struct { Type string `json:"type" protobuf:"bytes,1,opt,name=type"`