diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index c33d0a30..9afd5b94 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -112,7 +112,7 @@ }, { "ImportPath": "golang.org/x/crypto/ssh/terminal", - "Rev": "49796115aa4b964c318aad4f3084fdb41e9aa067" + "Rev": "de0752318171da717af4ce24d0a2e8626afaeb11" }, { "ImportPath": "golang.org/x/net/context", @@ -172,935 +172,935 @@ }, { "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/coordination/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/scheduling/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "183f3326a9353bd6d41430fc80f96259331d029c" + "Rev": "91bfdbcf0c2cab32ec1236cee4c300793abea68a" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/naming", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9" + "Rev": "720795f37ef04a6d63ba53b0b43233b3f851c149" }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/coordination", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/coordination/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/coordination/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/coordination/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/coordination/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1beta1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/record", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/buffer", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/connrotation", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/client-go/util/workqueue", - "Rev": "739dd8f9d4801eb23e2bc43423c0b4acaaded29a" + "Rev": "791991630fd377ae686a6c439e87b78aec68cabd" }, { "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go index 199b27af..4d094f39 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go @@ -108,9 +108,7 @@ func ReadPassword(fd int) ([]byte, error) { return nil, err } - defer func() { - unix.IoctlSetTermios(fd, ioctlWriteTermios, termios) - }() + defer unix.IoctlSetTermios(fd, ioctlWriteTermios, termios) return readPasswordLine(passwordReader(fd)) } diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go b/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go index 7fd881c7..1e300533 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go @@ -14,7 +14,7 @@ import ( // State contains the state of a terminal. type State struct { - state *unix.Termios + termios unix.Termios } // IsTerminal returns true if the given file descriptor is a terminal. @@ -75,47 +75,43 @@ func ReadPassword(fd int) ([]byte, error) { // restored. // see http://cr.illumos.org/~webrev/andy_js/1060/ func MakeRaw(fd int) (*State, error) { - oldTermiosPtr, err := unix.IoctlGetTermios(fd, unix.TCGETS) + termios, err := unix.IoctlGetTermios(fd, unix.TCGETS) if err != nil { return nil, err } - oldTermios := *oldTermiosPtr - newTermios := oldTermios - newTermios.Iflag &^= syscall.IGNBRK | syscall.BRKINT | syscall.PARMRK | syscall.ISTRIP | syscall.INLCR | syscall.IGNCR | syscall.ICRNL | syscall.IXON - newTermios.Oflag &^= syscall.OPOST - newTermios.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | syscall.ISIG | syscall.IEXTEN - newTermios.Cflag &^= syscall.CSIZE | syscall.PARENB - newTermios.Cflag |= syscall.CS8 - newTermios.Cc[unix.VMIN] = 1 - newTermios.Cc[unix.VTIME] = 0 + oldState := State{termios: *termios} - if err := unix.IoctlSetTermios(fd, unix.TCSETS, &newTermios); err != nil { + termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON + termios.Oflag &^= unix.OPOST + termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN + termios.Cflag &^= unix.CSIZE | unix.PARENB + termios.Cflag |= unix.CS8 + termios.Cc[unix.VMIN] = 1 + termios.Cc[unix.VTIME] = 0 + + if err := unix.IoctlSetTermios(fd, unix.TCSETS, termios); err != nil { return nil, err } - return &State{ - state: oldTermiosPtr, - }, nil + return &oldState, nil } // Restore restores the terminal connected to the given file descriptor to a // previous state. func Restore(fd int, oldState *State) error { - return unix.IoctlSetTermios(fd, unix.TCSETS, oldState.state) + return unix.IoctlSetTermios(fd, unix.TCSETS, &oldState.termios) } // GetState returns the current state of a terminal which may be useful to // restore the terminal after a signal. func GetState(fd int) (*State, error) { - oldTermiosPtr, err := unix.IoctlGetTermios(fd, unix.TCGETS) + termios, err := unix.IoctlGetTermios(fd, unix.TCGETS) if err != nil { return nil, err } - return &State{ - state: oldTermiosPtr, - }, nil + return &State{termios: *termios}, nil } // GetSize returns the dimensions of the given terminal. diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go index 4933ac36..8618955d 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go @@ -89,9 +89,7 @@ func ReadPassword(fd int) ([]byte, error) { return nil, err } - defer func() { - windows.SetConsoleMode(windows.Handle(fd), old) - }() + defer windows.SetConsoleMode(windows.Handle(fd), old) var h windows.Handle p, _ := windows.GetCurrentProcess() diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto index f0029a8d..8726cce2 100644 --- a/vendor/k8s.io/api/core/v1/generated.proto +++ b/vendor/k8s.io/api/core/v1/generated.proto @@ -3025,7 +3025,7 @@ message PodSpec { // in the same pod, and the first process in each container will not be assigned PID 1. // HostPID and ShareProcessNamespace cannot both be set. // Optional: Default to false. - // This field is alpha-level and is honored only by servers that enable the PodShareProcessNamespace feature. + // This field is beta-level and may be disabled with the PodShareProcessNamespace feature. // +k8s:conversion-gen=false // +optional optional bool shareProcessNamespace = 27; diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go index c8777260..c2204e01 100644 --- a/vendor/k8s.io/api/core/v1/types.go +++ b/vendor/k8s.io/api/core/v1/types.go @@ -2798,7 +2798,7 @@ type PodSpec struct { // in the same pod, and the first process in each container will not be assigned PID 1. // HostPID and ShareProcessNamespace cannot both be set. // Optional: Default to false. - // This field is alpha-level and is honored only by servers that enable the PodShareProcessNamespace feature. + // This field is beta-level and may be disabled with the PodShareProcessNamespace feature. // +k8s:conversion-gen=false // +optional ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"` diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go index dcff6a1f..c06cb9f6 100644 --- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1512,7 +1512,7 @@ var map_PodSpec = map[string]string{ "hostNetwork": "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.", "hostPID": "Use the host's pid namespace. Optional: Default to false.", "hostIPC": "Use the host's ipc namespace. Optional: Default to false.", - "shareProcessNamespace": "Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. This field is alpha-level and is honored only by servers that enable the PodShareProcessNamespace feature.", + "shareProcessNamespace": "Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. This field is beta-level and may be disabled with the PodShareProcessNamespace feature.", "securityContext": "SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.", "imagePullSecrets": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod", "hostname": "Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.", diff --git a/vendor/k8s.io/api/extensions/v1beta1/generated.proto b/vendor/k8s.io/api/extensions/v1beta1/generated.proto index 3a87fbe5..07a1d4ee 100644 --- a/vendor/k8s.io/api/extensions/v1beta1/generated.proto +++ b/vendor/k8s.io/api/extensions/v1beta1/generated.proto @@ -353,8 +353,8 @@ message DeploymentSpec { // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will - // not be estimated during the time a deployment is paused. This is not set - // by default. + // not be estimated during the time a deployment is paused. This is set to + // the max value of int32 (i.e. 2147483647) by default, which means "no deadline". // +optional optional int32 progressDeadlineSeconds = 9; } diff --git a/vendor/k8s.io/api/extensions/v1beta1/types.go b/vendor/k8s.io/api/extensions/v1beta1/types.go index 3a86ef43..a2b17822 100644 --- a/vendor/k8s.io/api/extensions/v1beta1/types.go +++ b/vendor/k8s.io/api/extensions/v1beta1/types.go @@ -168,8 +168,8 @@ type DeploymentSpec struct { // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will - // not be estimated during the time a deployment is paused. This is not set - // by default. + // not be estimated during the time a deployment is paused. This is set to + // the max value of int32 (i.e. 2147483647) by default, which means "no deadline". // +optional ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"` } diff --git a/vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go index d261b424..c9ffadec 100644 --- a/vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go @@ -196,7 +196,7 @@ var map_DeploymentSpec = map[string]string{ "revisionHistoryLimit": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.", "paused": "Indicates that the deployment is paused and will not be processed by the deployment controller.", "rollbackTo": "DEPRECATED. The config this deployment is rolling back to. Will be cleared after rollback is done.", - "progressDeadlineSeconds": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. This is not set by default.", + "progressDeadlineSeconds": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. This is set to the max value of int32 (i.e. 2147483647) by default, which means \"no deadline\".", } func (DeploymentSpec) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 59fe4aa9..0437e4c7 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -129,8 +129,9 @@ message APIVersions { message CreateOptions { // When present, indicates that modifications should not be // persisted. An invalid or unrecognized dryRun directive will - // result in a BadRequest response and no further processing of - // the request. + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed // +optional repeated string dryRun = 1; @@ -173,8 +174,9 @@ message DeleteOptions { // When present, indicates that modifications should not be // persisted. An invalid or unrecognized dryRun directive will - // result in a BadRequest response and no further processing of - // the request. + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed // +optional repeated string dryRun = 5; } @@ -836,8 +838,9 @@ message TypeMeta { message UpdateOptions { // When present, indicates that modifications should not be // persisted. An invalid or unrecognized dryRun directive will - // result in a BadRequest response and no further processing of - // the request. + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed // +optional repeated string dryRun = 1; } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index 91a7c8bb..caaee1b1 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -418,6 +418,12 @@ const ( DeletePropagationForeground DeletionPropagation = "Foreground" ) +const ( + // DryRunAll means to complete all processing stages, but don't + // persist changes to storage. + DryRunAll = "All" +) + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // DeleteOptions may be provided when deleting an API object. @@ -456,8 +462,9 @@ type DeleteOptions struct { // When present, indicates that modifications should not be // persisted. An invalid or unrecognized dryRun directive will - // result in a BadRequest response and no further processing of - // the request. + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed // +optional DryRun []string `json:"dryRun,omitempty" protobuf:"bytes,5,rep,name=dryRun"` } @@ -470,8 +477,9 @@ type CreateOptions struct { // When present, indicates that modifications should not be // persisted. An invalid or unrecognized dryRun directive will - // result in a BadRequest response and no further processing of - // the request. + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed // +optional DryRun []string `json:"dryRun,omitempty" protobuf:"bytes,1,rep,name=dryRun"` @@ -488,8 +496,9 @@ type UpdateOptions struct { // When present, indicates that modifications should not be // persisted. An invalid or unrecognized dryRun directive will - // result in a BadRequest response and no further processing of - // the request. + // result in an error response and no further processing of the + // request. Valid values are: + // - All: all dry run stages will be processed // +optional DryRun []string `json:"dryRun,omitempty" protobuf:"bytes,1,rep,name=dryRun"` } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go index ce65aed1..71b048c7 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go @@ -87,7 +87,7 @@ func (APIVersions) SwaggerDoc() map[string]string { var map_CreateOptions = map[string]string{ "": "CreateOptions may be provided when creating an API object.", - "dryRun": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in a BadRequest response and no further processing of the request.", + "dryRun": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", "includeUninitialized": "If IncludeUninitialized is specified, the object may be returned without completing initialization.", } @@ -101,7 +101,7 @@ var map_DeleteOptions = map[string]string{ "preconditions": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", "orphanDependents": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "propagationPolicy": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", - "dryRun": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in a BadRequest response and no further processing of the request.", + "dryRun": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", } func (DeleteOptions) SwaggerDoc() map[string]string { @@ -340,7 +340,7 @@ func (TypeMeta) SwaggerDoc() map[string]string { var map_UpdateOptions = map[string]string{ "": "UpdateOptions may be provided when updating an API object.", - "dryRun": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in a BadRequest response and no further processing of the request.", + "dryRun": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", } func (UpdateOptions) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/apimachinery/pkg/labels/selector.go b/vendor/k8s.io/apimachinery/pkg/labels/selector.go index b301b428..374d2ef1 100644 --- a/vendor/k8s.io/apimachinery/pkg/labels/selector.go +++ b/vendor/k8s.io/apimachinery/pkg/labels/selector.go @@ -166,7 +166,6 @@ func NewRequirement(key string, op selection.Operator, vals []string) (*Requirem return nil, err } } - sort.Strings(vals) return &Requirement{key: key, operator: op, strValues: vals}, nil } @@ -299,7 +298,9 @@ func (r *Requirement) String() string { if len(r.strValues) == 1 { buffer.WriteString(r.strValues[0]) } else { // only > 1 since == 0 prohibited by NewRequirement - buffer.WriteString(strings.Join(r.strValues, ",")) + // normalizes value order on output, without mutating the in-memory selector representation + // also avoids normalization when it is not required, and ensures we do not mutate shared data + buffer.WriteString(strings.Join(safeSort(r.strValues), ",")) } switch r.operator { @@ -309,6 +310,17 @@ func (r *Requirement) String() string { return buffer.String() } +// safeSort sort input strings without modification +func safeSort(in []string) []string { + if sort.StringsAreSorted(in) { + return in + } + out := make([]string, len(in)) + copy(out, in) + sort.Strings(out) + return out +} + // Add adds requirements to the selector. It copies the current selector returning a new one func (lsel internalSelector) Add(reqs ...Requirement) Selector { var sel internalSelector diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go index 058ac5b4..5c7d57be 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go @@ -159,7 +159,7 @@ func (s *Scheme) AddUnversionedTypes(version schema.GroupVersion, types ...Objec gvk := version.WithKind(t.Name()) s.unversionedTypes[t] = gvk if old, ok := s.unversionedKinds[gvk.Kind]; ok && t != old { - panic(fmt.Sprintf("%v.%v has already been registered as unversioned kind %q - kind name must be unique", old.PkgPath(), old.Name(), gvk)) + panic(fmt.Sprintf("%v.%v has already been registered as unversioned kind %q - kind name must be unique in scheme %q", old.PkgPath(), old.Name(), gvk, s.schemeName)) } s.unversionedKinds[gvk.Kind] = t } @@ -200,7 +200,7 @@ func (s *Scheme) AddKnownTypeWithName(gvk schema.GroupVersionKind, obj Object) { } if oldT, found := s.gvkToType[gvk]; found && oldT != t { - panic(fmt.Sprintf("Double registration of different types for %v: old=%v.%v, new=%v.%v", gvk, oldT.PkgPath(), oldT.Name(), t.PkgPath(), t.Name())) + panic(fmt.Sprintf("Double registration of different types for %v: old=%v.%v, new=%v.%v in scheme %q", gvk, oldT.PkgPath(), oldT.Name(), t.PkgPath(), t.Name(), s.schemeName)) } s.gvkToType[gvk] = t diff --git a/vendor/k8s.io/client-go/discovery/round_tripper.go b/vendor/k8s.io/client-go/discovery/round_tripper.go index a195d2a2..75b7f520 100644 --- a/vendor/k8s.io/client-go/discovery/round_tripper.go +++ b/vendor/k8s.io/client-go/discovery/round_tripper.go @@ -20,6 +20,7 @@ import ( "net/http" "path/filepath" + "github.com/golang/glog" "github.com/gregjones/httpcache" "github.com/gregjones/httpcache/diskcache" "github.com/peterbourgon/diskv" @@ -47,4 +48,15 @@ func (rt *cacheRoundTripper) RoundTrip(req *http.Request) (*http.Response, error return rt.rt.RoundTrip(req) } +func (rt *cacheRoundTripper) CancelRequest(req *http.Request) { + type canceler interface { + CancelRequest(*http.Request) + } + if cr, ok := rt.rt.Transport.(canceler); ok { + cr.CancelRequest(req) + } else { + glog.Errorf("CancelRequest not implemented by %T", rt.rt.Transport) + } +} + func (rt *cacheRoundTripper) WrappedRoundTripper() http.RoundTripper { return rt.rt.Transport } diff --git a/vendor/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_subjectaccessreview_expansion.go b/vendor/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_subjectaccessreview_expansion.go index 7ddc58ff..a2a2f069 100644 --- a/vendor/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_subjectaccessreview_expansion.go +++ b/vendor/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_subjectaccessreview_expansion.go @@ -23,5 +23,8 @@ import ( func (c *FakeSubjectAccessReviews) Create(sar *authorizationapi.SubjectAccessReview) (result *authorizationapi.SubjectAccessReview, err error) { obj, err := c.Fake.Invokes(core.NewRootCreateAction(authorizationapi.SchemeGroupVersion.WithResource("subjectaccessreviews"), sar), &authorizationapi.SubjectAccessReview{}) + if obj == nil { + return nil, err + } return obj.(*authorizationapi.SubjectAccessReview), err } diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go b/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go index c7a86f18..cae9d0d6 100644 --- a/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go +++ b/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go @@ -20,6 +20,7 @@ import ( "bytes" "context" "crypto/tls" + "errors" "fmt" "io" "net" @@ -179,21 +180,10 @@ func (a *Authenticator) UpdateTransportConfig(c *transport.Config) error { return &roundTripper{a, rt} } - getCert := c.TLS.GetCert - c.TLS.GetCert = func() (*tls.Certificate, error) { - // If previous GetCert is present and returns a valid non-nil - // certificate, use that. Otherwise use cert from exec plugin. - if getCert != nil { - cert, err := getCert() - if err != nil { - return nil, err - } - if cert != nil { - return cert, nil - } - } - return a.cert() + if c.TLS.GetCert != nil { + return errors.New("can't add TLS certificate callback: transport.Config.TLS.GetCert already set") } + c.TLS.GetCert = a.cert var dial func(ctx context.Context, network, addr string) (net.Conn, error) if c.Dial != nil { diff --git a/vendor/k8s.io/client-go/tools/clientcmd/config.go b/vendor/k8s.io/client-go/tools/clientcmd/config.go index 7092c5b1..9495849b 100644 --- a/vendor/k8s.io/client-go/tools/clientcmd/config.go +++ b/vendor/k8s.io/client-go/tools/clientcmd/config.go @@ -220,6 +220,9 @@ func ModifyConfig(configAccess ConfigAccess, newConfig clientcmdapi.Config, rela } } + // seenConfigs stores a map of config source filenames to computed config objects + seenConfigs := map[string]*clientcmdapi.Config{} + for key, context := range newConfig.Contexts { startingContext, exists := startingConfig.Contexts[key] if !reflect.DeepEqual(context, startingContext) || !exists { @@ -228,15 +231,28 @@ func ModifyConfig(configAccess ConfigAccess, newConfig clientcmdapi.Config, rela destinationFile = configAccess.GetDefaultFilename() } - configToWrite, err := getConfigFromFile(destinationFile) - if err != nil { - return err + // we only obtain a fresh config object from its source file + // if we have not seen it already - this prevents us from + // reading and writing to the same number of files repeatedly + // when multiple / all contexts share the same destination file. + configToWrite, seen := seenConfigs[destinationFile] + if !seen { + var err error + configToWrite, err = getConfigFromFile(destinationFile) + if err != nil { + return err + } + seenConfigs[destinationFile] = configToWrite } - configToWrite.Contexts[key] = context - if err := WriteToFile(*configToWrite, destinationFile); err != nil { - return err - } + configToWrite.Contexts[key] = context + } + } + + // actually persist config object changes + for destinationFile, configToWrite := range seenConfigs { + if err := WriteToFile(*configToWrite, destinationFile); err != nil { + return err } } diff --git a/vendor/k8s.io/client-go/transport/round_trippers.go b/vendor/k8s.io/client-go/transport/round_trippers.go index 459a9376..0ebcbbc8 100644 --- a/vendor/k8s.io/client-go/transport/round_trippers.go +++ b/vendor/k8s.io/client-go/transport/round_trippers.go @@ -129,7 +129,7 @@ func SetAuthProxyHeaders(req *http.Request, username string, groups []string, ex } for key, values := range extra { for _, value := range values { - req.Header.Add("X-Remote-Extra-"+key, value) + req.Header.Add("X-Remote-Extra-"+headerKeyEscape(key), value) } } } @@ -138,7 +138,7 @@ func (rt *authProxyRoundTripper) CancelRequest(req *http.Request) { if canceler, ok := rt.rt.(requestCanceler); ok { canceler.CancelRequest(req) } else { - glog.Errorf("CancelRequest not implemented") + glog.Errorf("CancelRequest not implemented by %T", rt.rt) } } @@ -166,7 +166,7 @@ func (rt *userAgentRoundTripper) CancelRequest(req *http.Request) { if canceler, ok := rt.rt.(requestCanceler); ok { canceler.CancelRequest(req) } else { - glog.Errorf("CancelRequest not implemented") + glog.Errorf("CancelRequest not implemented by %T", rt.rt) } } @@ -197,7 +197,7 @@ func (rt *basicAuthRoundTripper) CancelRequest(req *http.Request) { if canceler, ok := rt.rt.(requestCanceler); ok { canceler.CancelRequest(req) } else { - glog.Errorf("CancelRequest not implemented") + glog.Errorf("CancelRequest not implemented by %T", rt.rt) } } @@ -246,7 +246,7 @@ func (rt *impersonatingRoundTripper) RoundTrip(req *http.Request) (*http.Respons } for k, vv := range rt.impersonate.Extra { for _, v := range vv { - req.Header.Add(ImpersonateUserExtraHeaderPrefix+k, v) + req.Header.Add(ImpersonateUserExtraHeaderPrefix+headerKeyEscape(k), v) } } @@ -257,7 +257,7 @@ func (rt *impersonatingRoundTripper) CancelRequest(req *http.Request) { if canceler, ok := rt.delegate.(requestCanceler); ok { canceler.CancelRequest(req) } else { - glog.Errorf("CancelRequest not implemented") + glog.Errorf("CancelRequest not implemented by %T", rt.delegate) } } @@ -288,7 +288,7 @@ func (rt *bearerAuthRoundTripper) CancelRequest(req *http.Request) { if canceler, ok := rt.rt.(requestCanceler); ok { canceler.CancelRequest(req) } else { - glog.Errorf("CancelRequest not implemented") + glog.Errorf("CancelRequest not implemented by %T", rt.rt) } } @@ -372,7 +372,7 @@ func (rt *debuggingRoundTripper) CancelRequest(req *http.Request) { if canceler, ok := rt.delegatedRoundTripper.(requestCanceler); ok { canceler.CancelRequest(req) } else { - glog.Errorf("CancelRequest not implemented") + glog.Errorf("CancelRequest not implemented by %T", rt.delegatedRoundTripper) } } @@ -422,3 +422,110 @@ func (rt *debuggingRoundTripper) RoundTrip(req *http.Request) (*http.Response, e func (rt *debuggingRoundTripper) WrappedRoundTripper() http.RoundTripper { return rt.delegatedRoundTripper } + +func legalHeaderByte(b byte) bool { + return int(b) < len(legalHeaderKeyBytes) && legalHeaderKeyBytes[b] +} + +func shouldEscape(b byte) bool { + // url.PathUnescape() returns an error if any '%' is not followed by two + // hexadecimal digits, so we'll intentionally encode it. + return !legalHeaderByte(b) || b == '%' +} + +func headerKeyEscape(key string) string { + buf := strings.Builder{} + for i := 0; i < len(key); i++ { + b := key[i] + if shouldEscape(b) { + // %-encode bytes that should be escaped: + // https://tools.ietf.org/html/rfc3986#section-2.1 + fmt.Fprintf(&buf, "%%%02X", b) + continue + } + buf.WriteByte(b) + } + return buf.String() +} + +// legalHeaderKeyBytes was copied from net/http/lex.go's isTokenTable. +// See https://httpwg.github.io/specs/rfc7230.html#rule.token.separators +var legalHeaderKeyBytes = [127]bool{ + '%': true, + '!': true, + '#': true, + '$': true, + '&': true, + '\'': true, + '*': true, + '+': true, + '-': true, + '.': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'W': true, + 'V': true, + 'X': true, + 'Y': true, + 'Z': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '|': true, + '~': true, +} diff --git a/vendor/k8s.io/code-generator/Godeps/Godeps.json b/vendor/k8s.io/code-generator/Godeps/Godeps.json index 6f8c16ea..affc13ce 100644 --- a/vendor/k8s.io/code-generator/Godeps/Godeps.json +++ b/vendor/k8s.io/code-generator/Godeps/Godeps.json @@ -1,6 +1,6 @@ { "ImportPath": "k8s.io/code-generator", - "GoVersion": "go1.9", + "GoVersion": "go1.10", "GodepVersion": "v80", "Packages": [ "./..." diff --git a/vendor/k8s.io/code-generator/cmd/register-gen/args/args.go b/vendor/k8s.io/code-generator/cmd/register-gen/args/args.go new file mode 100644 index 00000000..2e3ab084 --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/register-gen/args/args.go @@ -0,0 +1,39 @@ +/* +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 args + +import ( + "fmt" + + "k8s.io/gengo/args" +) + +// NewDefaults returns default arguments for the generator. +func NewDefaults() *args.GeneratorArgs { + genericArgs := args.Default().WithoutDefaultFlagParsing() + genericArgs.OutputFileBaseName = "zz_generated.register" + return genericArgs +} + +// Validate checks the given arguments. +func Validate(genericArgs *args.GeneratorArgs) error { + if len(genericArgs.OutputFileBaseName) == 0 { + return fmt.Errorf("output file base name cannot be empty") + } + + return nil +} diff --git a/vendor/k8s.io/code-generator/cmd/register-gen/generators/packages.go b/vendor/k8s.io/code-generator/cmd/register-gen/generators/packages.go new file mode 100644 index 00000000..ca13ca85 --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/register-gen/generators/packages.go @@ -0,0 +1,137 @@ +/* +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" + "os" + "path" + "strings" + + "github.com/golang/glog" + + clientgentypes "k8s.io/code-generator/cmd/client-gen/types" + "k8s.io/gengo/args" + "k8s.io/gengo/generator" + "k8s.io/gengo/namer" + "k8s.io/gengo/types" +) + +// NameSystems returns the name system used by the generators in this package. +func NameSystems() namer.NameSystems { + return namer.NameSystems{} +} + +// DefaultNameSystem returns the default name system for ordering the types to be +// processed by the generators in this package. +func DefaultNameSystem() string { + return "public" +} + +// Packages makes packages to generate. +func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages { + boilerplate, err := arguments.LoadGoBoilerplate() + if err != nil { + glog.Fatalf("Failed loading boilerplate: %v", err) + } + + packages := generator.Packages{} + for _, inputDir := range arguments.InputDirs { + pkg := context.Universe.Package(inputDir) + internal, err := isInternal(pkg) + if err != nil { + glog.V(5).Infof("skipping the generation of %s file, due to err %v", arguments.OutputFileBaseName, err) + continue + } + if internal { + glog.V(5).Infof("skipping the generation of %s file because %s package contains internal types, note that internal types don't have \"json\" tags", arguments.OutputFileBaseName, pkg.Name) + continue + } + registerFileName := "register.go" + searchPath := path.Join(args.DefaultSourceTree(), inputDir, registerFileName) + if _, err := os.Stat(path.Join(searchPath)); err == nil { + glog.V(5).Infof("skipping the generation of %s file because %s already exists in the path %s", arguments.OutputFileBaseName, registerFileName, searchPath) + continue + } else if err != nil && !os.IsNotExist(err) { + glog.Fatalf("an error %v has occurred while checking if %s exists", err, registerFileName) + } + + gv := clientgentypes.GroupVersion{} + { + pathParts := strings.Split(pkg.Path, "/") + if len(pathParts) < 2 { + glog.Errorf("the path of the package must contain the group name and the version, path = %s", pkg.Path) + continue + } + gv.Group = clientgentypes.Group(pathParts[len(pathParts)-2]) + gv.Version = clientgentypes.Version(pathParts[len(pathParts)-1]) + + // if there is a comment of the form "// +groupName=somegroup" or "// +groupName=somegroup.foo.bar.io", + // extract the fully qualified API group name from it and overwrite the group inferred from the package path + if override := types.ExtractCommentTags("+", pkg.DocComments)["groupName"]; override != nil { + groupName := override[0] + glog.V(5).Infof("overriding the group name with = %s", groupName) + gv.Group = clientgentypes.Group(groupName) + } + } + + typesToRegister := []*types.Type{} + for _, t := range pkg.Types { + glog.V(5).Infof("considering type = %s", t.Name.String()) + for _, typeMember := range t.Members { + if typeMember.Name == "TypeMeta" && typeMember.Embedded == true { + typesToRegister = append(typesToRegister, t) + } + } + } + + packages = append(packages, + &generator.DefaultPackage{ + PackageName: pkg.Name, + PackagePath: pkg.Path, + HeaderText: boilerplate, + GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) { + return []generator.Generator{ + ®isterExternalGenerator{ + DefaultGen: generator.DefaultGen{ + OptionalName: arguments.OutputFileBaseName, + }, + gv: gv, + typesToGenerate: typesToRegister, + outputPackage: pkg.Path, + imports: generator.NewImportTracker(), + }, + } + }, + }) + } + + return packages +} + +// isInternal determines whether the given package +// contains the internal types or not +func isInternal(p *types.Package) (bool, error) { + for _, t := range p.Types { + for _, member := range t.Members { + if member.Name == "TypeMeta" { + return !strings.Contains(member.Tags, "json"), nil + } + } + } + return false, fmt.Errorf("unable to find TypeMeta for any types in package %s", p.Path) +} diff --git a/vendor/k8s.io/code-generator/cmd/register-gen/generators/register_external.go b/vendor/k8s.io/code-generator/cmd/register-gen/generators/register_external.go new file mode 100644 index 00000000..c831c575 --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/register-gen/generators/register_external.go @@ -0,0 +1,117 @@ +/* +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 ( + "io" + "sort" + + clientgentypes "k8s.io/code-generator/cmd/client-gen/types" + "k8s.io/gengo/generator" + "k8s.io/gengo/namer" + "k8s.io/gengo/types" +) + +type registerExternalGenerator struct { + generator.DefaultGen + outputPackage string + gv clientgentypes.GroupVersion + typesToGenerate []*types.Type + imports namer.ImportTracker +} + +var _ generator.Generator = ®isterExternalGenerator{} + +func (g *registerExternalGenerator) Filter(_ *generator.Context, _ *types.Type) bool { + return false +} + +func (g *registerExternalGenerator) Imports(c *generator.Context) (imports []string) { + return g.imports.ImportLines() +} + +func (g *registerExternalGenerator) Namers(_ *generator.Context) namer.NameSystems { + return namer.NameSystems{ + "raw": namer.NewRawNamer(g.outputPackage, g.imports), + } +} + +func (g *registerExternalGenerator) Finalize(context *generator.Context, w io.Writer) error { + typesToGenerateOnlyNames := make([]string, len(g.typesToGenerate)) + for index, typeToGenerate := range g.typesToGenerate { + typesToGenerateOnlyNames[index] = typeToGenerate.Name.Name + } + + // sort the list of types to register, so that the generator produces stable output + sort.Strings(typesToGenerateOnlyNames) + + sw := generator.NewSnippetWriter(w, context, "$", "$") + m := map[string]interface{}{ + "groupName": g.gv.Group, + "version": g.gv.Version, + "types": typesToGenerateOnlyNames, + "addToGroupVersion": context.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}), + "groupVersion": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GroupVersion"}), + } + sw.Do(registerExternalTypesTemplate, m) + return sw.Error() +} + +var registerExternalTypesTemplate = ` +// GroupName specifies the group name used to register the objects. +const GroupName = "$.groupName$" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = $.groupVersion|raw${Group: GroupName, Version: "$.version$"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "$.version$"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Depreciated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + $range .types -$ + &$.${}, + $end$ + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + $.addToGroupVersion|raw$(scheme, SchemeGroupVersion) + return nil +} +` diff --git a/vendor/k8s.io/code-generator/cmd/register-gen/main.go b/vendor/k8s.io/code-generator/cmd/register-gen/main.go new file mode 100644 index 00000000..db02a4af --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/register-gen/main.go @@ -0,0 +1,52 @@ +/* +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 main + +import ( + "flag" + "path/filepath" + + "github.com/golang/glog" + "github.com/spf13/pflag" + + generatorargs "k8s.io/code-generator/cmd/register-gen/args" + "k8s.io/code-generator/cmd/register-gen/generators" + "k8s.io/code-generator/pkg/util" + "k8s.io/gengo/args" +) + +func main() { + genericArgs := generatorargs.NewDefaults() + genericArgs.GoHeaderFilePath = filepath.Join(args.DefaultSourceTree(), util.BoilerplatePath()) + genericArgs.AddFlags(pflag.CommandLine) + flag.Set("logtostderr", "true") + pflag.CommandLine.AddGoFlagSet(flag.CommandLine) + + pflag.Parse() + if err := generatorargs.Validate(genericArgs); err != nil { + glog.Fatalf("Error: %v", err) + } + + if err := genericArgs.Execute( + generators.NameSystems(), + generators.DefaultNameSystem(), + generators.Packages, + ); err != nil { + glog.Fatalf("Error: %v", err) + } + glog.V(2).Info("Completed successfully.") +}