Merge pull request #66512 from jennybuckley/openapi-ignore-prefix

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Skip building openapi for ignored paths

alternative to #66286

/kind bug
Fixes #66285

```release-note
NONE
```

Kubernetes-commit: 235badbe5ae46a3105ba5eb6a0ad3044696b52d2
This commit is contained in:
Kubernetes Publisher 2018-08-06 19:08:08 -07:00
commit 40d7aee31f
2 changed files with 179 additions and 105 deletions

252
Godeps/Godeps.json generated
View File

@ -852,339 +852,339 @@
},
{
"ImportPath": "k8s.io/api/admission/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/coordination/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/scheduling/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "70491ec73e10be2989242c913738f049a37e72c7"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/validation",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/validation/path",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/rand",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/uuid",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "cd53e6e3b3a5f792de51f8d95fb17f46f0627abf"
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/discovery",
@ -1194,10 +1194,6 @@
"ImportPath": "k8s.io/client-go/discovery/fake",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/informers",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
@ -1370,10 +1366,6 @@
"ImportPath": "k8s.io/client-go/kubernetes",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/fake",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
@ -1762,10 +1754,6 @@
"ImportPath": "k8s.io/client-go/tools/cache",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
@ -1841,6 +1829,78 @@
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
"Rev": "0cf8f7e6ed1d2e3d47d02e3b6e559369af24d803"
},
{
"ImportPath": "k8s.io/client-go/discovery",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/informers",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/fake",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/listers/core/v1",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/rest",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/testing",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/tools/cache",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/util/cert",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
},
{
"ImportPath": "k8s.io/client-go/util/flowcontrol",
"Rev": "bdfc4cfc125f556bfe46fff68207767a605b64ed"
}
]
}

View File

@ -41,6 +41,8 @@ import (
genericfilters "k8s.io/apiserver/pkg/server/filters"
utilopenapi "k8s.io/apiserver/pkg/util/openapi"
openapibuilder "k8s.io/kube-openapi/pkg/builder"
openapiutil "k8s.io/kube-openapi/pkg/util"
openapiproto "k8s.io/kube-openapi/pkg/util/proto"
)
const (
@ -498,15 +500,9 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
if a.group.MetaGroupVersion != nil {
reqScope.MetaGroupVersion = *a.group.MetaGroupVersion
}
if a.group.OpenAPIConfig != nil {
openAPIDefinitions, err := openapibuilder.BuildOpenAPIDefinitionsForResource(defaultVersionedObject, a.group.OpenAPIConfig)
if err != nil {
return nil, fmt.Errorf("unable to build openapi definitions for %v: %v", fqKindToRegister, err)
}
reqScope.OpenAPISchema, err = utilopenapi.ToProtoSchema(openAPIDefinitions, fqKindToRegister)
if err != nil {
return nil, fmt.Errorf("unable to get openapi schema for %v: %v", fqKindToRegister, err)
}
reqScope.OpenAPISchema, err = a.getOpenAPISchema(ws.RootPath(), resource, fqKindToRegister, defaultVersionedObject)
if err != nil {
return nil, fmt.Errorf("unable to get openapi schema for %v: %v", fqKindToRegister, err)
}
for _, action := range actions {
producedObject := storageMeta.ProducesObject(action.Verb)
@ -852,6 +848,24 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
return &apiResource, nil
}
// getOpenAPISchema builds the openapi schema for a single resource model to be given to each handler. It will
// return nil if the apiserver doesn't have openapi enabled, or if the specific path should be ignored by openapi.
func (a *APIInstaller) getOpenAPISchema(rootPath, resource string, kind schema.GroupVersionKind, sampleObject interface{}) (openapiproto.Schema, error) {
path := gpath.Join(rootPath, resource)
if a.group.OpenAPIConfig == nil {
return nil, nil
}
pathsToIgnore := openapiutil.NewTrie(a.group.OpenAPIConfig.IgnorePrefixes)
if pathsToIgnore.HasPrefix(path) {
return nil, nil
}
openAPIDefinitions, err := openapibuilder.BuildOpenAPIDefinitionsForResource(sampleObject, a.group.OpenAPIConfig)
if err != nil {
return nil, err
}
return utilopenapi.ToProtoSchema(openAPIDefinitions, kind)
}
// indirectArbitraryPointer returns *ptrToObject for an arbitrary pointer
func indirectArbitraryPointer(ptrToObject interface{}) interface{} {
return reflect.Indirect(reflect.ValueOf(ptrToObject)).Interface()