mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-02-23 01:42:51 +08:00
Merge pull request #63346 from roycaihw/bump-kube-openapi
Automatic merge from submit-queue (batch tested with PRs 61455, 63346, 63130, 63404). 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>. Bump kube-openapi dependency **What this PR does / why we need it**: Pick up https://github.com/kubernetes/kube-openapi/pull/64 **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes #63218 **Special notes for your reviewer**: **Release note**: ```release-note NONE ``` /sig api-machinery /cc @mbohlool @liggitt Kubernetes-commit: 89e6895e1c550658b7c145436868b70fb3cabbcd
This commit is contained in:
commit
3c94deb4df
326
Godeps/Godeps.json
generated
326
Godeps/Godeps.json
generated
@ -268,655 +268,655 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||||
"Rev": "6426d21f392c6d0e710af98bdfe6fb7334b3e11a"
|
"Rev": "bd236513a4e35622d9007dff11eab07631645cd5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/discovery",
|
"ImportPath": "k8s.io/client-go/discovery",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/discovery/fake",
|
"ImportPath": "k8s.io/client-go/discovery/fake",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers",
|
"ImportPath": "k8s.io/client-go/informers",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps",
|
"ImportPath": "k8s.io/client-go/informers/apps",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps/v1",
|
"ImportPath": "k8s.io/client-go/informers/apps/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
|
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/autoscaling",
|
"ImportPath": "k8s.io/client-go/informers/autoscaling",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
|
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch",
|
"ImportPath": "k8s.io/client-go/informers/batch",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch/v1",
|
"ImportPath": "k8s.io/client-go/informers/batch/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
|
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/certificates",
|
"ImportPath": "k8s.io/client-go/informers/certificates",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/core",
|
"ImportPath": "k8s.io/client-go/informers/core",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/core/v1",
|
"ImportPath": "k8s.io/client-go/informers/core/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/events",
|
"ImportPath": "k8s.io/client-go/informers/events",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/events/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/events/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/extensions",
|
"ImportPath": "k8s.io/client-go/informers/extensions",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/internalinterfaces",
|
"ImportPath": "k8s.io/client-go/informers/internalinterfaces",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/networking",
|
"ImportPath": "k8s.io/client-go/informers/networking",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/networking/v1",
|
"ImportPath": "k8s.io/client-go/informers/networking/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/policy",
|
"ImportPath": "k8s.io/client-go/informers/policy",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac",
|
"ImportPath": "k8s.io/client-go/informers/rbac",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1",
|
"ImportPath": "k8s.io/client-go/informers/rbac/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/scheduling",
|
"ImportPath": "k8s.io/client-go/informers/scheduling",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/settings",
|
"ImportPath": "k8s.io/client-go/informers/settings",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage",
|
"ImportPath": "k8s.io/client-go/informers/storage",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage/v1",
|
"ImportPath": "k8s.io/client-go/informers/storage/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes",
|
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/apps/v1",
|
"ImportPath": "k8s.io/client-go/listers/apps/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
|
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
|
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/batch/v1",
|
"ImportPath": "k8s.io/client-go/listers/batch/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
|
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/events/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/events/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/networking/v1",
|
"ImportPath": "k8s.io/client-go/listers/networking/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1",
|
"ImportPath": "k8s.io/client-go/listers/rbac/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/storage/v1",
|
"ImportPath": "k8s.io/client-go/listers/storage/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication",
|
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1",
|
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/pkg/version",
|
"ImportPath": "k8s.io/client-go/pkg/version",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec",
|
"ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/rest",
|
"ImportPath": "k8s.io/client-go/rest",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/rest/watch",
|
"ImportPath": "k8s.io/client-go/rest/watch",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/testing",
|
"ImportPath": "k8s.io/client-go/testing",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/auth",
|
"ImportPath": "k8s.io/client-go/tools/auth",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/cache",
|
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/metrics",
|
"ImportPath": "k8s.io/client-go/tools/metrics",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/pager",
|
"ImportPath": "k8s.io/client-go/tools/pager",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/record",
|
"ImportPath": "k8s.io/client-go/tools/record",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/reference",
|
"ImportPath": "k8s.io/client-go/tools/reference",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/transport",
|
"ImportPath": "k8s.io/client-go/transport",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/buffer",
|
"ImportPath": "k8s.io/client-go/util/buffer",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/cert",
|
"ImportPath": "k8s.io/client-go/util/cert",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/homedir",
|
"ImportPath": "k8s.io/client-go/util/homedir",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/integer",
|
"ImportPath": "k8s.io/client-go/util/integer",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/retry",
|
"ImportPath": "k8s.io/client-go/util/retry",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/workqueue",
|
"ImportPath": "k8s.io/client-go/util/workqueue",
|
||||||
"Rev": "01d6a1350dd5c61a498fd3a5bdafd9151cac4e9a"
|
"Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
|
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
|
||||||
"Rev": "50ae88d24ede7b8bad68e23c805b5d3da5c8abaf"
|
"Rev": "f08db293d3ef80052d6513ece19792642a289fea"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
44
vendor/k8s.io/apimachinery/pkg/util/diff/diff.go
generated
vendored
44
vendor/k8s.io/apimachinery/pkg/util/diff/diff.go
generated
vendored
@ -89,20 +89,52 @@ func ObjectReflectDiff(a, b interface{}) string {
|
|||||||
}
|
}
|
||||||
out := []string{""}
|
out := []string{""}
|
||||||
for _, d := range diffs {
|
for _, d := range diffs {
|
||||||
|
elidedA, elidedB := limit(d.a, d.b, 80)
|
||||||
out = append(out,
|
out = append(out,
|
||||||
fmt.Sprintf("%s:", d.path),
|
fmt.Sprintf("%s:", d.path),
|
||||||
limit(fmt.Sprintf(" a: %#v", d.a), 80),
|
fmt.Sprintf(" a: %s", elidedA),
|
||||||
limit(fmt.Sprintf(" b: %#v", d.b), 80),
|
fmt.Sprintf(" b: %s", elidedB),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return strings.Join(out, "\n")
|
return strings.Join(out, "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
func limit(s string, max int) string {
|
// limit:
|
||||||
if len(s) > max {
|
// 1. stringifies aObj and bObj
|
||||||
return s[:max]
|
// 2. elides identical prefixes if either is too long
|
||||||
|
// 3. elides remaining content from the end if either is too long
|
||||||
|
func limit(aObj, bObj interface{}, max int) (string, string) {
|
||||||
|
elidedPrefix := ""
|
||||||
|
elidedASuffix := ""
|
||||||
|
elidedBSuffix := ""
|
||||||
|
a, b := fmt.Sprintf("%#v", aObj), fmt.Sprintf("%#v", bObj)
|
||||||
|
for {
|
||||||
|
switch {
|
||||||
|
case len(a) > max && len(a) > 4 && len(b) > 4 && a[:4] == b[:4]:
|
||||||
|
// a is too long, b has data, and the first several characters are the same
|
||||||
|
elidedPrefix = "..."
|
||||||
|
a = a[2:]
|
||||||
|
b = b[2:]
|
||||||
|
|
||||||
|
case len(b) > max && len(b) > 4 && len(a) > 4 && a[:4] == b[:4]:
|
||||||
|
// b is too long, a has data, and the first several characters are the same
|
||||||
|
elidedPrefix = "..."
|
||||||
|
a = a[2:]
|
||||||
|
b = b[2:]
|
||||||
|
|
||||||
|
case len(a) > max:
|
||||||
|
a = a[:max]
|
||||||
|
elidedASuffix = "..."
|
||||||
|
|
||||||
|
case len(b) > max:
|
||||||
|
b = b[:max]
|
||||||
|
elidedBSuffix = "..."
|
||||||
|
|
||||||
|
default:
|
||||||
|
// both are short enough
|
||||||
|
return elidedPrefix + a + elidedASuffix, elidedPrefix + b + elidedBSuffix
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return s
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func public(s string) bool {
|
func public(s string) bool {
|
||||||
|
4
vendor/k8s.io/code-generator/Godeps/Godeps.json
generated
vendored
4
vendor/k8s.io/code-generator/Godeps/Godeps.json
generated
vendored
@ -260,11 +260,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
||||||
"Rev": "50ae88d24ede7b8bad68e23c805b5d3da5c8abaf"
|
"Rev": "f08db293d3ef80052d6513ece19792642a289fea"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/kube-openapi/pkg/generators",
|
"ImportPath": "k8s.io/kube-openapi/pkg/generators",
|
||||||
"Rev": "50ae88d24ede7b8bad68e23c805b5d3da5c8abaf"
|
"Rev": "f08db293d3ef80052d6513ece19792642a289fea"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
2
vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/common/common.go
generated
vendored
2
vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/common/common.go
generated
vendored
@ -32,7 +32,7 @@ type OpenAPIDefinition struct {
|
|||||||
|
|
||||||
type ReferenceCallback func(path string) spec.Ref
|
type ReferenceCallback func(path string) spec.Ref
|
||||||
|
|
||||||
// OpenAPIDefinitions is collection of all definitions.
|
// GetOpenAPIDefinitions is collection of all definitions.
|
||||||
type GetOpenAPIDefinitions func(ReferenceCallback) map[string]OpenAPIDefinition
|
type GetOpenAPIDefinitions func(ReferenceCallback) map[string]OpenAPIDefinition
|
||||||
|
|
||||||
// OpenAPIDefinitionGetter gets openAPI definitions for a given type. If a type implements this interface,
|
// OpenAPIDefinitionGetter gets openAPI definitions for a given type. If a type implements this interface,
|
||||||
|
128
vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/extension.go
generated
vendored
Normal file
128
vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/extension.go
generated
vendored
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package generators
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"k8s.io/gengo/examples/set-gen/sets"
|
||||||
|
"k8s.io/gengo/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
const extensionPrefix = "x-kubernetes-"
|
||||||
|
|
||||||
|
// Extension tag to openapi extension
|
||||||
|
var tagToExtension = map[string]string{
|
||||||
|
"patchMergeKey": "x-kubernetes-patch-merge-key",
|
||||||
|
"patchStrategy": "x-kubernetes-patch-strategy",
|
||||||
|
"listType": "x-kubernetes-list-type",
|
||||||
|
"listMapKey": "x-kubernetes-list-map-keys",
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enum values per extension
|
||||||
|
var allowedExtensionValues = map[string]sets.String{
|
||||||
|
"x-kubernetes-patch-strategy": sets.NewString("merge", "retainKeys"),
|
||||||
|
"x-kubernetes-list-type": sets.NewString("atomic", "set", "map"),
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extension encapsulates information necessary to generate an OpenAPI extension.
|
||||||
|
type extension struct {
|
||||||
|
idlTag string // Example: listType
|
||||||
|
xName string // Example: x-kubernetes-list-type
|
||||||
|
values []string // Example: [atomic]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e extension) validateAllowedValues() error {
|
||||||
|
// allowedValues not set means no restrictions on values.
|
||||||
|
allowedValues, exists := allowedExtensionValues[e.xName]
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
// Check for missing value.
|
||||||
|
if len(e.values) == 0 {
|
||||||
|
return fmt.Errorf("%s needs a value, none given.", e.idlTag)
|
||||||
|
}
|
||||||
|
// For each extension value, validate that it is allowed.
|
||||||
|
if !allowedValues.HasAll(e.values...) {
|
||||||
|
return fmt.Errorf("%v not allowed for %s. Allowed values: %v",
|
||||||
|
e.values, e.idlTag, allowedValues.List())
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e extension) hasMultipleValues() bool {
|
||||||
|
return len(e.values) > 1
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns sorted list of map keys. Needed for deterministic testing.
|
||||||
|
func sortedMapKeys(m map[string][]string) []string {
|
||||||
|
keys := make([]string, len(m))
|
||||||
|
i := 0
|
||||||
|
for k := range m {
|
||||||
|
keys[i] = k
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
sort.Strings(keys)
|
||||||
|
return keys
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parses comments to return openapi extensions.
|
||||||
|
// NOTE: Non-empty errors does not mean extensions is empty.
|
||||||
|
func parseExtensions(comments []string) ([]extension, []error) {
|
||||||
|
extensions := []extension{}
|
||||||
|
errors := []error{}
|
||||||
|
// First, generate extensions from "+k8s:openapi-gen=x-kubernetes-*" annotations.
|
||||||
|
values := getOpenAPITagValue(comments)
|
||||||
|
for _, val := range values {
|
||||||
|
// Example: x-kubernetes-member-tag:member_test
|
||||||
|
if strings.HasPrefix(val, extensionPrefix) {
|
||||||
|
parts := strings.SplitN(val, ":", 2)
|
||||||
|
if len(parts) != 2 {
|
||||||
|
errors = append(errors, fmt.Errorf("invalid extension value: %v", val))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
e := extension{
|
||||||
|
idlTag: tagName, // Example: k8s:openapi-gen
|
||||||
|
xName: parts[0], // Example: x-kubernetes-member-tag
|
||||||
|
values: []string{parts[1]}, // Example: member_test
|
||||||
|
}
|
||||||
|
extensions = append(extensions, e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Next, generate extensions from "idlTags" (e.g. +listType)
|
||||||
|
tagValues := types.ExtractCommentTags("+", comments)
|
||||||
|
for _, idlTag := range sortedMapKeys(tagValues) {
|
||||||
|
xName, exists := tagToExtension[idlTag]
|
||||||
|
if !exists {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
values := tagValues[idlTag]
|
||||||
|
e := extension{
|
||||||
|
idlTag: idlTag, // listType
|
||||||
|
xName: xName, // x-kubernetes-list-type
|
||||||
|
values: values, // [atomic]
|
||||||
|
}
|
||||||
|
if err := e.validateAllowedValues(); err != nil {
|
||||||
|
// For now, only log the extension validation errors.
|
||||||
|
errors = append(errors, err)
|
||||||
|
}
|
||||||
|
extensions = append(extensions, e)
|
||||||
|
}
|
||||||
|
return extensions, errors
|
||||||
|
}
|
181
vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go
generated
vendored
181
vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go
generated
vendored
@ -40,15 +40,17 @@ const tagOptional = "optional"
|
|||||||
|
|
||||||
// Known values for the tag.
|
// Known values for the tag.
|
||||||
const (
|
const (
|
||||||
tagValueTrue = "true"
|
tagValueTrue = "true"
|
||||||
tagValueFalse = "false"
|
tagValueFalse = "false"
|
||||||
tagExtensionPrefix = "x-kubernetes-"
|
|
||||||
tagPatchStrategy = "patchStrategy"
|
|
||||||
tagPatchMergeKey = "patchMergeKey"
|
|
||||||
patchStrategyExtensionName = "patch-strategy"
|
|
||||||
patchMergeKeyExtensionName = "patch-merge-key"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Used for temporary validation of patch struct tags.
|
||||||
|
// TODO: Remove patch struct tag validation because they we are now consuming OpenAPI on server.
|
||||||
|
var tempPatchTags = [...]string{
|
||||||
|
"patchMergeKey",
|
||||||
|
"patchStrategy",
|
||||||
|
}
|
||||||
|
|
||||||
func getOpenAPITagValue(comments []string) []string {
|
func getOpenAPITagValue(comments []string) []string {
|
||||||
return types.ExtractCommentTags("+", comments)[tagName]
|
return types.ExtractCommentTags("+", comments)[tagName]
|
||||||
}
|
}
|
||||||
@ -155,6 +157,7 @@ type openAPIGen struct {
|
|||||||
// TargetPackage is the package that will get GetOpenAPIDefinitions function returns all open API definitions.
|
// TargetPackage is the package that will get GetOpenAPIDefinitions function returns all open API definitions.
|
||||||
targetPackage string
|
targetPackage string
|
||||||
imports namer.ImportTracker
|
imports namer.ImportTracker
|
||||||
|
types []*types.Type
|
||||||
context *generator.Context
|
context *generator.Context
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,10 +172,18 @@ func NewOpenAPIGen(sanitizedName string, targetPackage string, context *generato
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const nameTmpl = "schema_$.type|private$"
|
||||||
|
|
||||||
func (g *openAPIGen) Namers(c *generator.Context) namer.NameSystems {
|
func (g *openAPIGen) Namers(c *generator.Context) namer.NameSystems {
|
||||||
// Have the raw namer for this file track what it imports.
|
// Have the raw namer for this file track what it imports.
|
||||||
return namer.NameSystems{
|
return namer.NameSystems{
|
||||||
"raw": namer.NewRawNamer(g.targetPackage, g.imports),
|
"raw": namer.NewRawNamer(g.targetPackage, g.imports),
|
||||||
|
"private": &namer.NameStrategy{
|
||||||
|
Join: func(pre string, in []string, post string) string {
|
||||||
|
return strings.Join(in, "_")
|
||||||
|
},
|
||||||
|
PrependPackageNames: 4, // enough to fully qualify from k8s.io/api/...
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,6 +192,7 @@ func (g *openAPIGen) Filter(c *generator.Context, t *types.Type) bool {
|
|||||||
if strings.HasPrefix(t.Name.Name, "codecSelfer") {
|
if strings.HasPrefix(t.Name.Name, "codecSelfer") {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
g.types = append(g.types, t)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,13 +227,17 @@ func (g *openAPIGen) Init(c *generator.Context, w io.Writer) error {
|
|||||||
sw := generator.NewSnippetWriter(w, c, "$", "$")
|
sw := generator.NewSnippetWriter(w, c, "$", "$")
|
||||||
sw.Do("func GetOpenAPIDefinitions(ref $.ReferenceCallback|raw$) map[string]$.OpenAPIDefinition|raw$ {\n", argsFromType(nil))
|
sw.Do("func GetOpenAPIDefinitions(ref $.ReferenceCallback|raw$) map[string]$.OpenAPIDefinition|raw$ {\n", argsFromType(nil))
|
||||||
sw.Do("return map[string]$.OpenAPIDefinition|raw${\n", argsFromType(nil))
|
sw.Do("return map[string]$.OpenAPIDefinition|raw${\n", argsFromType(nil))
|
||||||
return sw.Error()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (g *openAPIGen) Finalize(c *generator.Context, w io.Writer) error {
|
for _, t := range g.types {
|
||||||
sw := generator.NewSnippetWriter(w, c, "$", "$")
|
err := newOpenAPITypeWriter(sw).generateCall(t)
|
||||||
sw.Do("}\n", nil)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sw.Do("}\n", nil)
|
sw.Do("}\n", nil)
|
||||||
|
sw.Do("}\n\n", nil)
|
||||||
|
|
||||||
return sw.Error()
|
return sw.Error()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,10 +259,6 @@ func getJsonTags(m *types.Member) []string {
|
|||||||
return strings.Split(jsonTag, ",")
|
return strings.Split(jsonTag, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
func getPatchTags(m *types.Member) (string, string) {
|
|
||||||
return reflect.StructTag(m.Tags).Get(tagPatchMergeKey), reflect.StructTag(m.Tags).Get(tagPatchStrategy)
|
|
||||||
}
|
|
||||||
|
|
||||||
func getReferableName(m *types.Member) string {
|
func getReferableName(m *types.Member) string {
|
||||||
jsonTags := getJsonTags(m)
|
jsonTags := getJsonTags(m)
|
||||||
if len(jsonTags) > 0 {
|
if len(jsonTags) > 0 {
|
||||||
@ -342,7 +354,7 @@ func (g openAPITypeWriter) generateMembers(t *types.Type, required []string) ([]
|
|||||||
return required, nil
|
return required, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g openAPITypeWriter) generate(t *types.Type) error {
|
func (g openAPITypeWriter) generateCall(t *types.Type) error {
|
||||||
// Only generate for struct type and ignore the rest
|
// Only generate for struct type and ignore the rest
|
||||||
switch t.Kind {
|
switch t.Kind {
|
||||||
case types.Struct:
|
case types.Struct:
|
||||||
@ -350,31 +362,36 @@ func (g openAPITypeWriter) generate(t *types.Type) error {
|
|||||||
g.Do("\"$.$\": ", t.Name)
|
g.Do("\"$.$\": ", t.Name)
|
||||||
if hasOpenAPIDefinitionMethod(t) {
|
if hasOpenAPIDefinitionMethod(t) {
|
||||||
g.Do("$.type|raw${}.OpenAPIDefinition(),\n", args)
|
g.Do("$.type|raw${}.OpenAPIDefinition(),\n", args)
|
||||||
|
} else {
|
||||||
|
g.Do(nameTmpl+"(ref),\n", args)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return g.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g openAPITypeWriter) generate(t *types.Type) error {
|
||||||
|
// Only generate for struct type and ignore the rest
|
||||||
|
switch t.Kind {
|
||||||
|
case types.Struct:
|
||||||
|
if hasOpenAPIDefinitionMethod(t) {
|
||||||
|
// already invoked directly
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
args := argsFromType(t)
|
||||||
|
g.Do("func "+nameTmpl+"(ref $.ReferenceCallback|raw$) $.OpenAPIDefinition|raw$ {\n", args)
|
||||||
if hasOpenAPIDefinitionMethods(t) {
|
if hasOpenAPIDefinitionMethods(t) {
|
||||||
// Since this generated snippet is part of a map:
|
g.Do("return $.OpenAPIDefinition|raw${\n"+
|
||||||
//
|
|
||||||
// map[string]common.OpenAPIDefinition: {
|
|
||||||
// "TYPE_NAME": {
|
|
||||||
// Schema: spec.Schema{ ... },
|
|
||||||
// },
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// For compliance with gofmt -s it's important we elide the
|
|
||||||
// struct type. The type is implied by the map and will be
|
|
||||||
// removed otherwise.
|
|
||||||
g.Do("{\n"+
|
|
||||||
"Schema: spec.Schema{\n"+
|
"Schema: spec.Schema{\n"+
|
||||||
"SchemaProps: spec.SchemaProps{\n"+
|
"SchemaProps: spec.SchemaProps{\n"+
|
||||||
"Type:$.type|raw${}.OpenAPISchemaType(),\n"+
|
"Type:$.type|raw${}.OpenAPISchemaType(),\n"+
|
||||||
"Format:$.type|raw${}.OpenAPISchemaFormat(),\n"+
|
"Format:$.type|raw${}.OpenAPISchemaFormat(),\n"+
|
||||||
"},\n"+
|
"},\n"+
|
||||||
"},\n"+
|
"},\n"+
|
||||||
"},\n", args)
|
"}\n}\n\n", args)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
g.Do("{\nSchema: spec.Schema{\nSchemaProps: spec.SchemaProps{\n", nil)
|
g.Do("return $.OpenAPIDefinition|raw${\nSchema: spec.Schema{\nSchemaProps: spec.SchemaProps{\n", args)
|
||||||
g.generateDescription(t.CommentLines)
|
g.generateDescription(t.CommentLines)
|
||||||
g.Do("Properties: map[string]$.SpecSchemaType|raw${\n", args)
|
g.Do("Properties: map[string]$.SpecSchemaType|raw${\n", args)
|
||||||
required, err := g.generateMembers(t, []string{})
|
required, err := g.generateMembers(t, []string{})
|
||||||
@ -386,7 +403,7 @@ func (g openAPITypeWriter) generate(t *types.Type) error {
|
|||||||
g.Do("Required: []string{\"$.$\"},\n", strings.Join(required, "\",\""))
|
g.Do("Required: []string{\"$.$\"},\n", strings.Join(required, "\",\""))
|
||||||
}
|
}
|
||||||
g.Do("},\n", nil)
|
g.Do("},\n", nil)
|
||||||
if err := g.generateExtensions(t.CommentLines); err != nil {
|
if err := g.generateStructExtensions(t); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
g.Do("},\n", nil)
|
g.Do("},\n", nil)
|
||||||
@ -406,70 +423,74 @@ func (g openAPITypeWriter) generate(t *types.Type) error {
|
|||||||
}
|
}
|
||||||
g.Do("\"$.$\",", k)
|
g.Do("\"$.$\",", k)
|
||||||
}
|
}
|
||||||
g.Do("},\n},\n", nil)
|
g.Do("},\n}\n}\n\n", nil)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g openAPITypeWriter) generateExtensions(CommentLines []string) error {
|
func (g openAPITypeWriter) generateStructExtensions(t *types.Type) error {
|
||||||
tagValues := getOpenAPITagValue(CommentLines)
|
extensions, errors := parseExtensions(t.CommentLines)
|
||||||
type NameValue struct {
|
// Initially, we will only log struct extension errors.
|
||||||
Name, Value string
|
if len(errors) > 0 {
|
||||||
}
|
for e := range errors {
|
||||||
extensions := []NameValue{}
|
glog.V(2).Infof("[%s]: %s\n", t.String(), e)
|
||||||
for _, val := range tagValues {
|
|
||||||
if strings.HasPrefix(val, tagExtensionPrefix) {
|
|
||||||
parts := strings.SplitN(val, ":", 2)
|
|
||||||
if len(parts) != 2 {
|
|
||||||
return fmt.Errorf("invalid extension value: %v", val)
|
|
||||||
}
|
|
||||||
extensions = append(extensions, NameValue{parts[0], parts[1]})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
patchMergeKeyTag, err := getSingleTagsValue(CommentLines, tagPatchMergeKey)
|
// TODO(seans3): Validate struct extensions here.
|
||||||
if err != nil {
|
g.emitExtensions(extensions)
|
||||||
return err
|
return nil
|
||||||
}
|
}
|
||||||
if len(patchMergeKeyTag) > 0 {
|
|
||||||
extensions = append(extensions, NameValue{tagExtensionPrefix + patchMergeKeyExtensionName, patchMergeKeyTag})
|
func (g openAPITypeWriter) generateMemberExtensions(m *types.Member, parent *types.Type) error {
|
||||||
}
|
extensions, errors := parseExtensions(m.CommentLines)
|
||||||
patchStrategyTag, err := getSingleTagsValue(CommentLines, tagPatchStrategy)
|
// Initially, we will only log member extension errors.
|
||||||
if err != nil {
|
if len(errors) > 0 {
|
||||||
return err
|
errorPrefix := fmt.Sprintf("[%s] %s:", parent.String(), m.String())
|
||||||
}
|
for e := range errors {
|
||||||
if len(patchStrategyTag) > 0 {
|
glog.V(2).Infof("%s %s\n", errorPrefix, e)
|
||||||
extensions = append(extensions, NameValue{tagExtensionPrefix + patchStrategyExtensionName, patchStrategyTag})
|
}
|
||||||
}
|
}
|
||||||
|
// TODO(seans3): Validate member extensions here.
|
||||||
|
// Example: listType extension is only on a Slice.
|
||||||
|
// Example: cross-extension validation - listMapKey only makes sense with listType=map
|
||||||
|
g.emitExtensions(extensions)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g openAPITypeWriter) emitExtensions(extensions []extension) {
|
||||||
|
// If any extensions exist, then emit code to create them.
|
||||||
if len(extensions) == 0 {
|
if len(extensions) == 0 {
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
g.Do("VendorExtensible: spec.VendorExtensible{\nExtensions: spec.Extensions{\n", nil)
|
g.Do("VendorExtensible: spec.VendorExtensible{\nExtensions: spec.Extensions{\n", nil)
|
||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
g.Do("\"$.$\": ", extension.Name)
|
g.Do("\"$.$\": ", extension.xName)
|
||||||
g.Do("\"$.$\",\n", extension.Value)
|
if extension.hasMultipleValues() {
|
||||||
|
g.Do("[]string{\n", nil)
|
||||||
|
}
|
||||||
|
for _, value := range extension.values {
|
||||||
|
g.Do("\"$.$\",\n", value)
|
||||||
|
}
|
||||||
|
if extension.hasMultipleValues() {
|
||||||
|
g.Do("},\n", nil)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
g.Do("},\n},\n", nil)
|
g.Do("},\n},\n", nil)
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(#44005): Move this validation outside of this generator (probably to policy verifier)
|
// TODO(#44005): Move this validation outside of this generator (probably to policy verifier)
|
||||||
func (g openAPITypeWriter) validatePatchTags(m *types.Member, parent *types.Type) error {
|
func (g openAPITypeWriter) validatePatchTags(m *types.Member, parent *types.Type) error {
|
||||||
patchMergeKeyStructTag, patchStrategyStructTag := getPatchTags(m)
|
// TODO: Remove patch struct tag validation because they we are now consuming OpenAPI on server.
|
||||||
patchMergeKeyCommentTag, err := getSingleTagsValue(m.CommentLines, tagPatchMergeKey)
|
for _, tagKey := range tempPatchTags {
|
||||||
if err != nil {
|
structTagValue := reflect.StructTag(m.Tags).Get(tagKey)
|
||||||
return err
|
commentTagValue, err := getSingleTagsValue(m.CommentLines, tagKey)
|
||||||
}
|
if err != nil {
|
||||||
patchStrategyCommentTag, err := getSingleTagsValue(m.CommentLines, tagPatchStrategy)
|
return err
|
||||||
if err != nil {
|
}
|
||||||
return err
|
if structTagValue != commentTagValue {
|
||||||
}
|
return fmt.Errorf("Tags in comment and struct should match for member (%s) of (%s)",
|
||||||
if patchMergeKeyStructTag != patchMergeKeyCommentTag {
|
m.Name, parent.Name.String())
|
||||||
return fmt.Errorf("patchMergeKey in comment and struct tags should match for member (%s) of (%s)",
|
}
|
||||||
m.Name, parent.Name.String())
|
|
||||||
}
|
|
||||||
if patchStrategyStructTag != patchStrategyCommentTag {
|
|
||||||
return fmt.Errorf("patchStrategy in comment and struct tags should match for member (%s) of (%s)",
|
|
||||||
m.Name, parent.Name.String())
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -526,7 +547,7 @@ func (g openAPITypeWriter) generateProperty(m *types.Member, parent *types.Type)
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
g.Do("\"$.$\": {\n", name)
|
g.Do("\"$.$\": {\n", name)
|
||||||
if err := g.generateExtensions(m.CommentLines); err != nil {
|
if err := g.generateMemberExtensions(m, parent); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
g.Do("SchemaProps: spec.SchemaProps{\n", nil)
|
g.Do("SchemaProps: spec.SchemaProps{\n", nil)
|
||||||
|
Loading…
Reference in New Issue
Block a user