diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 1baa44de..d1fd4990 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -156,767 +156,767 @@ }, { "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d" + "Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "bd236513a4e35622d9007dff11eab07631645cd5" + "Rev": "5937a4130a6bf81b86b03a6c6e7cd974a5018f59" }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/record", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/buffer", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/client-go/util/workqueue", - "Rev": "7e5a9c2cb47b6f7eaf18e4a0484c48ea3932e7d3" + "Rev": "62c4633c17ed12226e4dad9d21e856df3c737862" }, { "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", - "Rev": "f08db293d3ef80052d6513ece19792642a289fea" + "Rev": "61db125d227fc9d4e373819a059516f32f7f23c7" } ] } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/deepcopy.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/deepcopy.go index 2dd440bb..3b2bedd9 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/deepcopy.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/deepcopy.go @@ -16,6 +16,8 @@ limitations under the License. package v1beta1 +import "k8s.io/apimachinery/pkg/runtime" + func (in *TableRow) DeepCopy() *TableRow { if in == nil { return nil @@ -26,7 +28,7 @@ func (in *TableRow) DeepCopy() *TableRow { if in.Cells != nil { out.Cells = make([]interface{}, len(in.Cells)) for i := range in.Cells { - out.Cells[i] = deepCopyJSON(in.Cells[i]) + out.Cells[i] = runtime.DeepCopyJSONValue(in.Cells[i]) } } @@ -40,22 +42,3 @@ func (in *TableRow) DeepCopy() *TableRow { in.Object.DeepCopyInto(&out.Object) return out } - -func deepCopyJSON(x interface{}) interface{} { - switch x := x.(type) { - case map[string]interface{}: - clone := make(map[string]interface{}, len(x)) - for k, v := range x { - clone[k] = deepCopyJSON(v) - } - return clone - case []interface{}: - clone := make([]interface{}, len(x)) - for i := range x { - clone[i] = deepCopyJSON(x[i]) - } - return clone - default: - return x - } -} diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/converter.go b/vendor/k8s.io/apimachinery/pkg/runtime/converter.go index 91920535..291d7a4e 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/converter.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/converter.go @@ -73,7 +73,6 @@ var ( mapStringInterfaceType = reflect.TypeOf(map[string]interface{}{}) stringType = reflect.TypeOf(string("")) int64Type = reflect.TypeOf(int64(0)) - uint64Type = reflect.TypeOf(uint64(0)) float64Type = reflect.TypeOf(float64(0)) boolType = reflect.TypeOf(bool(false)) fieldCache = newFieldsCache() @@ -438,13 +437,15 @@ func (c *unstructuredConverter) ToUnstructured(obj interface{}) (map[string]inte } // DeepCopyJSON deep copies the passed value, assuming it is a valid JSON representation i.e. only contains -// types produced by json.Unmarshal(). +// types produced by json.Unmarshal() and also int64. +// bool, int64, float64, string, []interface{}, map[string]interface{}, json.Number and nil func DeepCopyJSON(x map[string]interface{}) map[string]interface{} { return DeepCopyJSONValue(x).(map[string]interface{}) } // DeepCopyJSONValue deep copies the passed value, assuming it is a valid JSON representation i.e. only contains -// types produced by json.Unmarshal(). +// types produced by json.Unmarshal() and also int64. +// bool, int64, float64, string, []interface{}, map[string]interface{}, json.Number and nil func DeepCopyJSONValue(x interface{}) interface{} { switch x := x.(type) { case map[string]interface{}: @@ -591,10 +592,14 @@ func toUnstructured(sv, dv reflect.Value) error { dv.Set(reflect.ValueOf(sv.Int())) return nil case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { - dv.Set(reflect.New(uint64Type)) + uVal := sv.Uint() + if uVal > math.MaxInt64 { + return fmt.Errorf("unsigned value %d does not fit into int64 (overflow)", uVal) } - dv.Set(reflect.ValueOf(sv.Uint())) + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + dv.Set(reflect.New(int64Type)) + } + dv.Set(reflect.ValueOf(int64(uVal))) return nil case reflect.Float32, reflect.Float64: if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go index 3d94a304..450011f1 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go @@ -21,8 +21,11 @@ import ( "net/url" "reflect" + "strings" + "k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" ) // Scheme defines methods for serializing and deserializing API objects, a type @@ -68,6 +71,13 @@ type Scheme struct { // converter stores all registered conversion functions. It also has // default coverting behavior. converter *conversion.Converter + + // versionPriority is a map of groups to ordered lists of versions for those groups indicating the + // default priorities of these versions as registered in the scheme + versionPriority map[string][]string + + // observedVersions keeps track of the order we've seen versions during type registration + observedVersions []schema.GroupVersion } // Function to convert a field selector to internal representation. @@ -82,6 +92,7 @@ func NewScheme() *Scheme { unversionedKinds: map[string]reflect.Type{}, fieldLabelConversionFuncs: map[string]map[string]FieldLabelConversionFunc{}, defaulterFuncs: map[reflect.Type]func(interface{}){}, + versionPriority: map[string][]string{}, } s.converter = conversion.NewConverter(s.nameFunc) @@ -141,6 +152,7 @@ func (s *Scheme) Converter() *conversion.Converter { // TODO: there is discussion about removing unversioned and replacing it with objects that are manifest into // every version with particular schemas. Resolve this method at that point. func (s *Scheme) AddUnversionedTypes(version schema.GroupVersion, types ...Object) { + s.addObservedVersion(version) s.AddKnownTypes(version, types...) for _, obj := range types { t := reflect.TypeOf(obj).Elem() @@ -158,6 +170,7 @@ func (s *Scheme) AddUnversionedTypes(version schema.GroupVersion, types ...Objec // the struct becomes the "kind" field when encoding. Version may not be empty - use the // APIVersionInternal constant if you have a type that does not have a formal version. func (s *Scheme) AddKnownTypes(gv schema.GroupVersion, types ...Object) { + s.addObservedVersion(gv) for _, obj := range types { t := reflect.TypeOf(obj) if t.Kind() != reflect.Ptr { @@ -173,6 +186,7 @@ func (s *Scheme) AddKnownTypes(gv schema.GroupVersion, types ...Object) { // your structs. Version may not be empty - use the APIVersionInternal constant if you have a // type that does not have a formal version. func (s *Scheme) AddKnownTypeWithName(gvk schema.GroupVersionKind, obj Object) { + s.addObservedVersion(gvk.GroupVersion()) t := reflect.TypeOf(obj) if len(gvk.Version) == 0 { panic(fmt.Sprintf("version is required on all types: %s %v", gvk, t)) @@ -620,3 +634,133 @@ func setTargetKind(obj Object, kind schema.GroupVersionKind) { } obj.GetObjectKind().SetGroupVersionKind(kind) } + +// SetVersionPriority allows specifying a precise order of priority. All specified versions must be in the same group, +// and the specified order overwrites any previously specified order for this group +func (s *Scheme) SetVersionPriority(versions ...schema.GroupVersion) error { + groups := sets.String{} + order := []string{} + for _, version := range versions { + if len(version.Version) == 0 || version.Version == APIVersionInternal { + return fmt.Errorf("internal versions cannot be prioritized: %v", version) + } + + groups.Insert(version.Group) + order = append(order, version.Version) + } + if len(groups) != 1 { + return fmt.Errorf("must register versions for exactly one group: %v", strings.Join(groups.List(), ", ")) + } + + s.versionPriority[groups.List()[0]] = order + return nil +} + +// PrioritizedVersionsForGroup returns versions for a single group in priority order +func (s *Scheme) PrioritizedVersionsForGroup(group string) []schema.GroupVersion { + ret := []schema.GroupVersion{} + for _, version := range s.versionPriority[group] { + ret = append(ret, schema.GroupVersion{Group: group, Version: version}) + } + for _, observedVersion := range s.observedVersions { + if observedVersion.Group != group { + continue + } + found := false + for _, existing := range ret { + if existing == observedVersion { + found = true + break + } + } + if !found { + ret = append(ret, observedVersion) + } + } + + return ret +} + +// PrioritizedVersionsAllGroups returns all known versions in their priority order. Groups are random, but +// versions for a single group are prioritized +func (s *Scheme) PrioritizedVersionsAllGroups() []schema.GroupVersion { + ret := []schema.GroupVersion{} + for group, versions := range s.versionPriority { + for _, version := range versions { + ret = append(ret, schema.GroupVersion{Group: group, Version: version}) + } + } + for _, observedVersion := range s.observedVersions { + found := false + for _, existing := range ret { + if existing == observedVersion { + found = true + break + } + } + if !found { + ret = append(ret, observedVersion) + } + } + return ret +} + +// PreferredVersionAllGroups returns the most preferred version for every group. +// group ordering is random. +func (s *Scheme) PreferredVersionAllGroups() []schema.GroupVersion { + ret := []schema.GroupVersion{} + for group, versions := range s.versionPriority { + for _, version := range versions { + ret = append(ret, schema.GroupVersion{Group: group, Version: version}) + break + } + } + for _, observedVersion := range s.observedVersions { + found := false + for _, existing := range ret { + if existing.Group == observedVersion.Group { + found = true + break + } + } + if !found { + ret = append(ret, observedVersion) + } + } + + return ret +} + +// IsGroupRegistered returns true if types for the group have been registered with the scheme +func (s *Scheme) IsGroupRegistered(group string) bool { + for _, observedVersion := range s.observedVersions { + if observedVersion.Group == group { + return true + } + } + return false +} + +// IsVersionRegistered returns true if types for the version have been registered with the scheme +func (s *Scheme) IsVersionRegistered(version schema.GroupVersion) bool { + for _, observedVersion := range s.observedVersions { + if observedVersion == version { + return true + } + } + + return false +} + +func (s *Scheme) addObservedVersion(version schema.GroupVersion) { + if len(version.Version) == 0 || version.Version == APIVersionInternal { + return + } + for _, observedVersion := range s.observedVersions { + if observedVersion == version { + return + } + } + + s.observedVersions = append(s.observedVersions, version) +} diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go b/vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go index 2b795b5b..f7738d11 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go @@ -75,11 +75,6 @@ func init() { case jsoniter.NumberValue: var number json.Number iter.ReadVal(&number) - u64, err := strconv.ParseUint(string(number), 10, 64) - if err == nil { - *(*interface{})(ptr) = u64 - return - } i64, err := strconv.ParseInt(string(number), 10, 64) if err == nil { *(*interface{})(ptr) = i64 diff --git a/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go b/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go index c3cb9c03..da32fe12 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go +++ b/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go @@ -160,3 +160,10 @@ func RecoverFromPanic(err *error) { callers) } } + +// Must panics on non-nil errors. Useful to handling programmer level errors. +func Must(err error) { + if err != nil { + panic(err) + } +} diff --git a/vendor/k8s.io/client-go/discovery/discovery_client.go b/vendor/k8s.io/client-go/discovery/discovery_client.go index 8beecb2f..d59e8a02 100644 --- a/vendor/k8s.io/client-go/discovery/discovery_client.go +++ b/vendor/k8s.io/client-go/discovery/discovery_client.go @@ -250,6 +250,11 @@ func IsGroupDiscoveryFailedError(err error) bool { // serverPreferredResources returns the supported resources with the version preferred by the server. func (d *DiscoveryClient) serverPreferredResources() ([]*metav1.APIResourceList, error) { + return ServerPreferredResources(d) +} + +// ServerPreferredResources uses the provided discovery interface to look up preferred resources +func ServerPreferredResources(d DiscoveryInterface) ([]*metav1.APIResourceList, error) { serverGroupList, err := d.ServerGroups() if err != nil { return nil, err @@ -319,7 +324,12 @@ func (d *DiscoveryClient) ServerPreferredResources() ([]*metav1.APIResourceList, // ServerPreferredNamespacedResources returns the supported namespaced resources with the // version preferred by the server. func (d *DiscoveryClient) ServerPreferredNamespacedResources() ([]*metav1.APIResourceList, error) { - all, err := d.ServerPreferredResources() + return ServerPreferredNamespacedResources(d) +} + +// ServerPreferredNamespacedResources uses the provided discovery interface to look up preferred namespaced resources +func ServerPreferredNamespacedResources(d DiscoveryInterface) ([]*metav1.APIResourceList, error) { + all, err := ServerPreferredResources(d) return FilteredBy(ResourcePredicateFunc(func(groupVersion string, r *metav1.APIResource) bool { return r.Namespaced }), all), err diff --git a/vendor/k8s.io/client-go/discovery/restmapper.go b/vendor/k8s.io/client-go/discovery/restmapper.go deleted file mode 100644 index 17ddc6c5..00000000 --- a/vendor/k8s.io/client-go/discovery/restmapper.go +++ /dev/null @@ -1,336 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package discovery - -import ( - "fmt" - "strings" - "sync" - - "k8s.io/apimachinery/pkg/api/meta" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime/schema" - - "github.com/golang/glog" -) - -// APIGroupResources is an API group with a mapping of versions to -// resources. -type APIGroupResources struct { - Group metav1.APIGroup - // A mapping of version string to a slice of APIResources for - // that version. - VersionedResources map[string][]metav1.APIResource -} - -// NewRESTMapper returns a PriorityRESTMapper based on the discovered -// groups and resources passed in. -func NewRESTMapper(groupResources []*APIGroupResources) meta.RESTMapper { - unionMapper := meta.MultiRESTMapper{} - - var groupPriority []string - // /v1 is special. It should always come first - resourcePriority := []schema.GroupVersionResource{{Group: "", Version: "v1", Resource: meta.AnyResource}} - kindPriority := []schema.GroupVersionKind{{Group: "", Version: "v1", Kind: meta.AnyKind}} - - for _, group := range groupResources { - groupPriority = append(groupPriority, group.Group.Name) - - // Make sure the preferred version comes first - if len(group.Group.PreferredVersion.Version) != 0 { - preferred := group.Group.PreferredVersion.Version - if _, ok := group.VersionedResources[preferred]; ok { - resourcePriority = append(resourcePriority, schema.GroupVersionResource{ - Group: group.Group.Name, - Version: group.Group.PreferredVersion.Version, - Resource: meta.AnyResource, - }) - - kindPriority = append(kindPriority, schema.GroupVersionKind{ - Group: group.Group.Name, - Version: group.Group.PreferredVersion.Version, - Kind: meta.AnyKind, - }) - } - } - - for _, discoveryVersion := range group.Group.Versions { - resources, ok := group.VersionedResources[discoveryVersion.Version] - if !ok { - continue - } - - // Add non-preferred versions after the preferred version, in case there are resources that only exist in those versions - if discoveryVersion.Version != group.Group.PreferredVersion.Version { - resourcePriority = append(resourcePriority, schema.GroupVersionResource{ - Group: group.Group.Name, - Version: discoveryVersion.Version, - Resource: meta.AnyResource, - }) - - kindPriority = append(kindPriority, schema.GroupVersionKind{ - Group: group.Group.Name, - Version: discoveryVersion.Version, - Kind: meta.AnyKind, - }) - } - - gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} - versionMapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{gv}) - - for _, resource := range resources { - scope := meta.RESTScopeNamespace - if !resource.Namespaced { - scope = meta.RESTScopeRoot - } - - // this is for legacy resources and servers which don't list singular forms. For those we must still guess. - if len(resource.SingularName) == 0 { - versionMapper.Add(gv.WithKind(resource.Kind), scope) - // TODO this is producing unsafe guesses that don't actually work, but it matches previous behavior - versionMapper.Add(gv.WithKind(resource.Kind+"List"), scope) - continue - } - - plural := gv.WithResource(resource.Name) - singular := gv.WithResource(resource.SingularName) - versionMapper.AddSpecific(gv.WithKind(resource.Kind), plural, singular, scope) - versionMapper.AddSpecific(gv.WithKind(strings.ToLower(resource.Kind)), plural, singular, scope) - // TODO this is producing unsafe guesses that don't actually work, but it matches previous behavior - versionMapper.Add(gv.WithKind(resource.Kind+"List"), scope) - } - // TODO why is this type not in discovery (at least for "v1") - versionMapper.Add(gv.WithKind("List"), meta.RESTScopeRoot) - unionMapper = append(unionMapper, versionMapper) - } - } - - for _, group := range groupPriority { - resourcePriority = append(resourcePriority, schema.GroupVersionResource{ - Group: group, - Version: meta.AnyVersion, - Resource: meta.AnyResource, - }) - kindPriority = append(kindPriority, schema.GroupVersionKind{ - Group: group, - Version: meta.AnyVersion, - Kind: meta.AnyKind, - }) - } - - return meta.PriorityRESTMapper{ - Delegate: unionMapper, - ResourcePriority: resourcePriority, - KindPriority: kindPriority, - } -} - -// GetAPIGroupResources uses the provided discovery client to gather -// discovery information and populate a slice of APIGroupResources. -func GetAPIGroupResources(cl DiscoveryInterface) ([]*APIGroupResources, error) { - apiGroups, err := cl.ServerGroups() - if err != nil { - if apiGroups == nil || len(apiGroups.Groups) == 0 { - return nil, err - } - // TODO track the errors and update callers to handle partial errors. - } - var result []*APIGroupResources - for _, group := range apiGroups.Groups { - groupResources := &APIGroupResources{ - Group: group, - VersionedResources: make(map[string][]metav1.APIResource), - } - for _, version := range group.Versions { - resources, err := cl.ServerResourcesForGroupVersion(version.GroupVersion) - if err != nil { - // continue as best we can - // TODO track the errors and update callers to handle partial errors. - if resources == nil || len(resources.APIResources) == 0 { - continue - } - } - groupResources.VersionedResources[version.Version] = resources.APIResources - } - result = append(result, groupResources) - } - return result, nil -} - -// DeferredDiscoveryRESTMapper is a RESTMapper that will defer -// initialization of the RESTMapper until the first mapping is -// requested. -type DeferredDiscoveryRESTMapper struct { - initMu sync.Mutex - delegate meta.RESTMapper - cl CachedDiscoveryInterface -} - -// NewDeferredDiscoveryRESTMapper returns a -// DeferredDiscoveryRESTMapper that will lazily query the provided -// client for discovery information to do REST mappings. -func NewDeferredDiscoveryRESTMapper(cl CachedDiscoveryInterface) *DeferredDiscoveryRESTMapper { - return &DeferredDiscoveryRESTMapper{ - cl: cl, - } -} - -func (d *DeferredDiscoveryRESTMapper) getDelegate() (meta.RESTMapper, error) { - d.initMu.Lock() - defer d.initMu.Unlock() - - if d.delegate != nil { - return d.delegate, nil - } - - groupResources, err := GetAPIGroupResources(d.cl) - if err != nil { - return nil, err - } - - d.delegate = NewRESTMapper(groupResources) - return d.delegate, err -} - -// Reset resets the internally cached Discovery information and will -// cause the next mapping request to re-discover. -func (d *DeferredDiscoveryRESTMapper) Reset() { - glog.V(5).Info("Invalidating discovery information") - - d.initMu.Lock() - defer d.initMu.Unlock() - - d.cl.Invalidate() - d.delegate = nil -} - -// KindFor takes a partial resource and returns back the single match. -// It returns an error if there are multiple matches. -func (d *DeferredDiscoveryRESTMapper) KindFor(resource schema.GroupVersionResource) (gvk schema.GroupVersionKind, err error) { - del, err := d.getDelegate() - if err != nil { - return schema.GroupVersionKind{}, err - } - gvk, err = del.KindFor(resource) - if err != nil && !d.cl.Fresh() { - d.Reset() - gvk, err = d.KindFor(resource) - } - return -} - -// KindsFor takes a partial resource and returns back the list of -// potential kinds in priority order. -func (d *DeferredDiscoveryRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvks []schema.GroupVersionKind, err error) { - del, err := d.getDelegate() - if err != nil { - return nil, err - } - gvks, err = del.KindsFor(resource) - if len(gvks) == 0 && !d.cl.Fresh() { - d.Reset() - gvks, err = d.KindsFor(resource) - } - return -} - -// ResourceFor takes a partial resource and returns back the single -// match. It returns an error if there are multiple matches. -func (d *DeferredDiscoveryRESTMapper) ResourceFor(input schema.GroupVersionResource) (gvr schema.GroupVersionResource, err error) { - del, err := d.getDelegate() - if err != nil { - return schema.GroupVersionResource{}, err - } - gvr, err = del.ResourceFor(input) - if err != nil && !d.cl.Fresh() { - d.Reset() - gvr, err = d.ResourceFor(input) - } - return -} - -// ResourcesFor takes a partial resource and returns back the list of -// potential resource in priority order. -func (d *DeferredDiscoveryRESTMapper) ResourcesFor(input schema.GroupVersionResource) (gvrs []schema.GroupVersionResource, err error) { - del, err := d.getDelegate() - if err != nil { - return nil, err - } - gvrs, err = del.ResourcesFor(input) - if len(gvrs) == 0 && !d.cl.Fresh() { - d.Reset() - gvrs, err = d.ResourcesFor(input) - } - return -} - -// RESTMapping identifies a preferred resource mapping for the -// provided group kind. -func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (m *meta.RESTMapping, err error) { - del, err := d.getDelegate() - if err != nil { - return nil, err - } - m, err = del.RESTMapping(gk, versions...) - if err != nil && !d.cl.Fresh() { - d.Reset() - m, err = d.RESTMapping(gk, versions...) - } - return -} - -// RESTMappings returns the RESTMappings for the provided group kind -// in a rough internal preferred order. If no kind is found, it will -// return a NoResourceMatchError. -func (d *DeferredDiscoveryRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) (ms []*meta.RESTMapping, err error) { - del, err := d.getDelegate() - if err != nil { - return nil, err - } - ms, err = del.RESTMappings(gk, versions...) - if len(ms) == 0 && !d.cl.Fresh() { - d.Reset() - ms, err = d.RESTMappings(gk, versions...) - } - return -} - -// ResourceSingularizer converts a resource name from plural to -// singular (e.g., from pods to pod). -func (d *DeferredDiscoveryRESTMapper) ResourceSingularizer(resource string) (singular string, err error) { - del, err := d.getDelegate() - if err != nil { - return resource, err - } - singular, err = del.ResourceSingularizer(resource) - if err != nil && !d.cl.Fresh() { - d.Reset() - singular, err = d.ResourceSingularizer(resource) - } - return -} - -func (d *DeferredDiscoveryRESTMapper) String() string { - del, err := d.getDelegate() - if err != nil { - return fmt.Sprintf("DeferredDiscoveryRESTMapper{%v}", err) - } - return fmt.Sprintf("DeferredDiscoveryRESTMapper{\n\t%v\n}", del) -} - -// Make sure it satisfies the interface -var _ meta.RESTMapper = &DeferredDiscoveryRESTMapper{} diff --git a/vendor/k8s.io/client-go/discovery/unstructured.go b/vendor/k8s.io/client-go/discovery/unstructured.go index fa7f2ec0..81913a41 100644 --- a/vendor/k8s.io/client-go/discovery/unstructured.go +++ b/vendor/k8s.io/client-go/discovery/unstructured.go @@ -26,31 +26,17 @@ import ( // UnstructuredObjectTyper provides a runtime.ObjectTyper implementation for // runtime.Unstructured object based on discovery information. type UnstructuredObjectTyper struct { - registered map[schema.GroupVersionKind]bool - typers []runtime.ObjectTyper + typers []runtime.ObjectTyper } // NewUnstructuredObjectTyper returns a runtime.ObjectTyper for // unstructured objects based on discovery information. It accepts a list of fallback typers // for handling objects that are not runtime.Unstructured. It does not delegate the Recognizes // check, only ObjectKinds. -func NewUnstructuredObjectTyper(groupResources []*APIGroupResources, typers ...runtime.ObjectTyper) *UnstructuredObjectTyper { +// TODO this only works for the apiextensions server and doesn't recognize any types. Move to point of use. +func NewUnstructuredObjectTyper(typers ...runtime.ObjectTyper) *UnstructuredObjectTyper { dot := &UnstructuredObjectTyper{ - registered: make(map[schema.GroupVersionKind]bool), - typers: typers, - } - for _, group := range groupResources { - for _, discoveryVersion := range group.Group.Versions { - resources, ok := group.VersionedResources[discoveryVersion.Version] - if !ok { - continue - } - - gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version} - for _, resource := range resources { - dot.registered[gv.WithKind(resource.Kind)] = true - } - } + typers: typers, } return dot } @@ -89,7 +75,7 @@ func (d *UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) (gvks []schema // Recognizes returns true if the provided group,version,kind was in the // discovery information. func (d *UnstructuredObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { - return d.registered[gvk] + return false } var _ runtime.ObjectTyper = &UnstructuredObjectTyper{} diff --git a/vendor/k8s.io/client-go/testing/actions.go b/vendor/k8s.io/client-go/testing/actions.go index 0210b678..232cf21e 100644 --- a/vendor/k8s.io/client-go/testing/actions.go +++ b/vendor/k8s.io/client-go/testing/actions.go @@ -58,6 +58,16 @@ func NewGetSubresourceAction(resource schema.GroupVersionResource, namespace, su return action } +func NewRootGetSubresourceAction(resource schema.GroupVersionResource, subresource, name string) GetActionImpl { + action := GetActionImpl{} + action.Verb = "get" + action.Resource = resource + action.Subresource = subresource + action.Name = name + + return action +} + func NewRootListAction(resource schema.GroupVersionResource, kind schema.GroupVersionKind, opts interface{}) ListActionImpl { action := ListActionImpl{} action.Verb = "list" @@ -81,20 +91,6 @@ func NewListAction(resource schema.GroupVersionResource, kind schema.GroupVersio return action } -func NewListSubresourceAction(resource schema.GroupVersionResource, name, subresource string, kind schema.GroupVersionKind, namespace string, opts interface{}) ListActionImpl { - action := ListActionImpl{} - action.Verb = "list" - action.Resource = resource - action.Subresource = subresource - action.Kind = kind - action.Namespace = namespace - action.Name = name - labelSelector, fieldSelector, _ := ExtractFromListOptions(opts) - action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector} - - return action -} - func NewRootCreateAction(resource schema.GroupVersionResource, object runtime.Object) CreateActionImpl { action := CreateActionImpl{} action.Verb = "create" @@ -114,12 +110,23 @@ func NewCreateAction(resource schema.GroupVersionResource, namespace string, obj return action } -func NewCreateSubresourceAction(resource schema.GroupVersionResource, name, subresource string, namespace string, object runtime.Object) CreateActionImpl { +func NewRootCreateSubresourceAction(resource schema.GroupVersionResource, name, subresource string, object runtime.Object) CreateActionImpl { action := CreateActionImpl{} action.Verb = "create" action.Resource = resource action.Subresource = subresource + action.Name = name + action.Object = object + + return action +} + +func NewCreateSubresourceAction(resource schema.GroupVersionResource, name, subresource, namespace string, object runtime.Object) CreateActionImpl { + action := CreateActionImpl{} + action.Verb = "create" + action.Resource = resource action.Namespace = namespace + action.Subresource = subresource action.Name = name action.Object = object diff --git a/vendor/k8s.io/code-generator/Godeps/Godeps.json b/vendor/k8s.io/code-generator/Godeps/Godeps.json index 1b3cb3e5..52d8085c 100644 --- a/vendor/k8s.io/code-generator/Godeps/Godeps.json +++ b/vendor/k8s.io/code-generator/Godeps/Godeps.json @@ -260,11 +260,11 @@ }, { "ImportPath": "k8s.io/kube-openapi/pkg/common", - "Rev": "f08db293d3ef80052d6513ece19792642a289fea" + "Rev": "61db125d227fc9d4e373819a059516f32f7f23c7" }, { "ImportPath": "k8s.io/kube-openapi/pkg/generators", - "Rev": "f08db293d3ef80052d6513ece19792642a289fea" + "Rev": "61db125d227fc9d4e373819a059516f32f7f23c7" } ] } diff --git a/vendor/k8s.io/code-generator/_examples/apiserver/apis/example/install/install.go b/vendor/k8s.io/code-generator/_examples/apiserver/apis/example/install/install.go index 307cab45..d056c5b7 100644 --- a/vendor/k8s.io/code-generator/_examples/apiserver/apis/example/install/install.go +++ b/vendor/k8s.io/code-generator/_examples/apiserver/apis/example/install/install.go @@ -19,25 +19,15 @@ limitations under the License. package install import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/code-generator/_examples/apiserver/apis/example" "k8s.io/code-generator/_examples/apiserver/apis/example/v1" ) // Install registers the API group and adds types to a scheme -func Install(registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: example.SchemeGroupVersion.Group, - VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version}, - AddInternalObjectsToScheme: example.AddToScheme, - }, - announced.VersionToSchemeFunc{ - v1.SchemeGroupVersion.Version: v1.AddToScheme, - }, - ).Register(registry, scheme); err != nil { - panic(err) - } +func Install(scheme *runtime.Scheme) { + utilruntime.Must(example.AddToScheme(scheme)) + utilruntime.Must(v1.AddToScheme(scheme)) + utilruntime.Must(scheme.SetVersionPriority(v1.SchemeGroupVersion)) } diff --git a/vendor/k8s.io/code-generator/_examples/apiserver/apis/example2/install/install.go b/vendor/k8s.io/code-generator/_examples/apiserver/apis/example2/install/install.go index 9fc20da1..1e786f5c 100644 --- a/vendor/k8s.io/code-generator/_examples/apiserver/apis/example2/install/install.go +++ b/vendor/k8s.io/code-generator/_examples/apiserver/apis/example2/install/install.go @@ -19,25 +19,15 @@ limitations under the License. package install import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/code-generator/_examples/apiserver/apis/example2" "k8s.io/code-generator/_examples/apiserver/apis/example2/v1" ) // Install registers the API group and adds types to a scheme -func Install(registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: example2.SchemeGroupVersion.Group, - VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version}, - AddInternalObjectsToScheme: example2.AddToScheme, - }, - announced.VersionToSchemeFunc{ - v1.SchemeGroupVersion.Version: v1.AddToScheme, - }, - ).Register(registry, scheme); err != nil { - panic(err) - } +func Install(scheme *runtime.Scheme) { + utilruntime.Must(example2.AddToScheme(scheme)) + utilruntime.Must(v1.AddToScheme(scheme)) + utilruntime.Must(scheme.SetVersionPriority(v1.SchemeGroupVersion)) } diff --git a/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/scheme/register.go b/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/scheme/register.go index da5d1267..97b03068 100644 --- a/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/scheme/register.go +++ b/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/scheme/register.go @@ -19,7 +19,6 @@ limitations under the License. package scheme import ( - registered "k8s.io/apimachinery/pkg/apimachinery/registered" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" @@ -32,15 +31,13 @@ var Scheme = runtime.NewScheme() var Codecs = serializer.NewCodecFactory(Scheme) var ParameterCodec = runtime.NewParameterCodec(Scheme) -var Registry = registered.NewAPIRegistrationManager() - func init() { v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) - Install(Registry, Scheme) + Install(Scheme) } // Install registers the API group and adds types to a scheme -func Install(registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - example.Install(registry, scheme) - secondexample.Install(registry, scheme) +func Install(scheme *runtime.Scheme) { + example.Install(scheme) + secondexample.Install(scheme) } diff --git a/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example/internalversion/example_client.go b/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example/internalversion/example_client.go index 36bf92cb..61d99cad 100644 --- a/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example/internalversion/example_client.go +++ b/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example/internalversion/example_client.go @@ -66,17 +66,12 @@ func New(c rest.Interface) *ExampleClient { } func setConfigDefaults(config *rest.Config) error { - g, err := scheme.Registry.Group("example.apiserver.code-generator.k8s.io") - if err != nil { - return err - } - config.APIPath = "/apis" if config.UserAgent == "" { config.UserAgent = rest.DefaultKubernetesUserAgent() } - if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersions[0].Group { - gv := g.GroupVersions[0] + if config.GroupVersion == nil || config.GroupVersion.Group != scheme.Scheme.PrioritizedVersionsForGroup("example.apiserver.code-generator.k8s.io")[0].Group { + gv := scheme.Scheme.PrioritizedVersionsForGroup("example.apiserver.code-generator.k8s.io")[0] config.GroupVersion = &gv } config.NegotiatedSerializer = scheme.Codecs diff --git a/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example2/internalversion/example2_client.go b/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example2/internalversion/example2_client.go index 682148d9..0fcc7baa 100644 --- a/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example2/internalversion/example2_client.go +++ b/vendor/k8s.io/code-generator/_examples/apiserver/clientset/internalversion/typed/example2/internalversion/example2_client.go @@ -66,17 +66,12 @@ func New(c rest.Interface) *SecondExampleClient { } func setConfigDefaults(config *rest.Config) error { - g, err := scheme.Registry.Group("example.test.apiserver.code-generator.k8s.io") - if err != nil { - return err - } - config.APIPath = "/apis" if config.UserAgent == "" { config.UserAgent = rest.DefaultKubernetesUserAgent() } - if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersions[0].Group { - gv := g.GroupVersions[0] + if config.GroupVersion == nil || config.GroupVersion.Group != scheme.Scheme.PrioritizedVersionsForGroup("example.test.apiserver.code-generator.k8s.io")[0].Group { + gv := scheme.Scheme.PrioritizedVersionsForGroup("example.test.apiserver.code-generator.k8s.io")[0] config.GroupVersion = &gv } config.NegotiatedSerializer = scheme.Codecs diff --git a/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/types.go b/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/types.go index 5c2ebc4d..d79ea38b 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/types.go +++ b/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/types.go @@ -45,3 +45,30 @@ type TestTypeList struct { type TestTypeStatus struct { Blah string } + +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type ClusterTestTypeList struct { + metav1.TypeMeta + metav1.ListMeta + Items []ClusterTestType +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/kubernetes/pkg/apis/autoscaling.Scale +// +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/kubernetes/pkg/apis/autoscaling.Scale,result=k8s.io/kubernetes/pkg/apis/autoscaling.Scale + +type ClusterTestType struct { + metav1.TypeMeta `json:",inline"` + // +optional + metav1.ObjectMeta `json:"metadata,omitempty"` + // +optional + Status ClusterTestTypeStatus `json:"status,omitempty"` +} + +type ClusterTestTypeStatus struct { + Blah string +} diff --git a/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/zz_generated.deepcopy.go b/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/zz_generated.deepcopy.go index dae52ff1..a3b4bfa9 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/code-generator/_examples/crd/apis/example/v1/zz_generated.deepcopy.go @@ -24,6 +24,82 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterTestType) DeepCopyInto(out *ClusterTestType) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTestType. +func (in *ClusterTestType) DeepCopy() *ClusterTestType { + if in == nil { + return nil + } + out := new(ClusterTestType) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterTestType) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterTestTypeList) DeepCopyInto(out *ClusterTestTypeList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterTestType, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTestTypeList. +func (in *ClusterTestTypeList) DeepCopy() *ClusterTestTypeList { + if in == nil { + return nil + } + out := new(ClusterTestTypeList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterTestTypeList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterTestTypeStatus) DeepCopyInto(out *ClusterTestTypeStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTestTypeStatus. +func (in *ClusterTestTypeStatus) DeepCopy() *ClusterTestTypeStatus { + if in == nil { + return nil + } + out := new(ClusterTestTypeStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TestType) DeepCopyInto(out *TestType) { *out = *in diff --git a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/clustertesttype.go b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/clustertesttype.go new file mode 100644 index 00000000..a55b859e --- /dev/null +++ b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/clustertesttype.go @@ -0,0 +1,193 @@ +/* +Copyright 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" + v1 "k8s.io/code-generator/_examples/crd/apis/example/v1" + scheme "k8s.io/code-generator/_examples/crd/clientset/versioned/scheme" + autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" +) + +// ClusterTestTypesGetter has a method to return a ClusterTestTypeInterface. +// A group's client should implement this interface. +type ClusterTestTypesGetter interface { + ClusterTestTypes() ClusterTestTypeInterface +} + +// ClusterTestTypeInterface has methods to work with ClusterTestType resources. +type ClusterTestTypeInterface interface { + Create(*v1.ClusterTestType) (*v1.ClusterTestType, error) + Update(*v1.ClusterTestType) (*v1.ClusterTestType, error) + UpdateStatus(*v1.ClusterTestType) (*v1.ClusterTestType, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ClusterTestType, error) + List(opts meta_v1.ListOptions) (*v1.ClusterTestTypeList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterTestType, err error) + GetScale(clusterTestTypeName string, options meta_v1.GetOptions) (*autoscaling.Scale, error) + UpdateScale(clusterTestTypeName string, scale *autoscaling.Scale) (*autoscaling.Scale, error) + + ClusterTestTypeExpansion +} + +// clusterTestTypes implements ClusterTestTypeInterface +type clusterTestTypes struct { + client rest.Interface +} + +// newClusterTestTypes returns a ClusterTestTypes +func newClusterTestTypes(c *ExampleV1Client) *clusterTestTypes { + return &clusterTestTypes{ + client: c.RESTClient(), + } +} + +// Get takes name of the clusterTestType, and returns the corresponding clusterTestType object, and an error if there is any. +func (c *clusterTestTypes) Get(name string, options meta_v1.GetOptions) (result *v1.ClusterTestType, err error) { + result = &v1.ClusterTestType{} + err = c.client.Get(). + Resource("clustertesttypes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ClusterTestTypes that match those selectors. +func (c *clusterTestTypes) List(opts meta_v1.ListOptions) (result *v1.ClusterTestTypeList, err error) { + result = &v1.ClusterTestTypeList{} + err = c.client.Get(). + Resource("clustertesttypes"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested clusterTestTypes. +func (c *clusterTestTypes) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("clustertesttypes"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a clusterTestType and creates it. Returns the server's representation of the clusterTestType, and an error, if there is any. +func (c *clusterTestTypes) Create(clusterTestType *v1.ClusterTestType) (result *v1.ClusterTestType, err error) { + result = &v1.ClusterTestType{} + err = c.client.Post(). + Resource("clustertesttypes"). + Body(clusterTestType). + Do(). + Into(result) + return +} + +// Update takes the representation of a clusterTestType and updates it. Returns the server's representation of the clusterTestType, and an error, if there is any. +func (c *clusterTestTypes) Update(clusterTestType *v1.ClusterTestType) (result *v1.ClusterTestType, err error) { + result = &v1.ClusterTestType{} + err = c.client.Put(). + Resource("clustertesttypes"). + Name(clusterTestType.Name). + Body(clusterTestType). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *clusterTestTypes) UpdateStatus(clusterTestType *v1.ClusterTestType) (result *v1.ClusterTestType, err error) { + result = &v1.ClusterTestType{} + err = c.client.Put(). + Resource("clustertesttypes"). + Name(clusterTestType.Name). + SubResource("status"). + Body(clusterTestType). + Do(). + Into(result) + return +} + +// Delete takes name of the clusterTestType and deletes it. Returns an error if one occurs. +func (c *clusterTestTypes) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("clustertesttypes"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *clusterTestTypes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("clustertesttypes"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched clusterTestType. +func (c *clusterTestTypes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterTestType, err error) { + result = &v1.ClusterTestType{} + err = c.client.Patch(pt). + Resource("clustertesttypes"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} + +// GetScale takes name of the clusterTestType, and returns the corresponding autoscaling.Scale object, and an error if there is any. +func (c *clusterTestTypes) GetScale(clusterTestTypeName string, options meta_v1.GetOptions) (result *autoscaling.Scale, err error) { + result = &autoscaling.Scale{} + err = c.client.Get(). + Resource("clustertesttypes"). + Name(clusterTestTypeName). + SubResource("scale"). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any. +func (c *clusterTestTypes) UpdateScale(clusterTestTypeName string, scale *autoscaling.Scale) (result *autoscaling.Scale, err error) { + result = &autoscaling.Scale{} + err = c.client.Put(). + Resource("clustertesttypes"). + Name(clusterTestTypeName). + SubResource("scale"). + Body(scale). + Do(). + Into(result) + return +} diff --git a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/example_client.go b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/example_client.go index ea644545..25d80728 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/example_client.go +++ b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/example_client.go @@ -27,6 +27,7 @@ import ( type ExampleV1Interface interface { RESTClient() rest.Interface + ClusterTestTypesGetter TestTypesGetter } @@ -35,6 +36,10 @@ type ExampleV1Client struct { restClient rest.Interface } +func (c *ExampleV1Client) ClusterTestTypes() ClusterTestTypeInterface { + return newClusterTestTypes(c) +} + func (c *ExampleV1Client) TestTypes(namespace string) TestTypeInterface { return newTestTypes(c, namespace) } diff --git a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_clustertesttype.go b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_clustertesttype.go new file mode 100644 index 00000000..ba468d71 --- /dev/null +++ b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_clustertesttype.go @@ -0,0 +1,152 @@ +/* +Copyright 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" + example_v1 "k8s.io/code-generator/_examples/crd/apis/example/v1" + autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" +) + +// FakeClusterTestTypes implements ClusterTestTypeInterface +type FakeClusterTestTypes struct { + Fake *FakeExampleV1 +} + +var clustertesttypesResource = schema.GroupVersionResource{Group: "example.crd.code-generator.k8s.io", Version: "v1", Resource: "clustertesttypes"} + +var clustertesttypesKind = schema.GroupVersionKind{Group: "example.crd.code-generator.k8s.io", Version: "v1", Kind: "ClusterTestType"} + +// Get takes name of the clusterTestType, and returns the corresponding clusterTestType object, and an error if there is any. +func (c *FakeClusterTestTypes) Get(name string, options v1.GetOptions) (result *example_v1.ClusterTestType, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(clustertesttypesResource, name), &example_v1.ClusterTestType{}) + if obj == nil { + return nil, err + } + return obj.(*example_v1.ClusterTestType), err +} + +// List takes label and field selectors, and returns the list of ClusterTestTypes that match those selectors. +func (c *FakeClusterTestTypes) List(opts v1.ListOptions) (result *example_v1.ClusterTestTypeList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(clustertesttypesResource, clustertesttypesKind, opts), &example_v1.ClusterTestTypeList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &example_v1.ClusterTestTypeList{} + for _, item := range obj.(*example_v1.ClusterTestTypeList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested clusterTestTypes. +func (c *FakeClusterTestTypes) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(clustertesttypesResource, opts)) +} + +// Create takes the representation of a clusterTestType and creates it. Returns the server's representation of the clusterTestType, and an error, if there is any. +func (c *FakeClusterTestTypes) Create(clusterTestType *example_v1.ClusterTestType) (result *example_v1.ClusterTestType, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(clustertesttypesResource, clusterTestType), &example_v1.ClusterTestType{}) + if obj == nil { + return nil, err + } + return obj.(*example_v1.ClusterTestType), err +} + +// Update takes the representation of a clusterTestType and updates it. Returns the server's representation of the clusterTestType, and an error, if there is any. +func (c *FakeClusterTestTypes) Update(clusterTestType *example_v1.ClusterTestType) (result *example_v1.ClusterTestType, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(clustertesttypesResource, clusterTestType), &example_v1.ClusterTestType{}) + if obj == nil { + return nil, err + } + return obj.(*example_v1.ClusterTestType), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeClusterTestTypes) UpdateStatus(clusterTestType *example_v1.ClusterTestType) (*example_v1.ClusterTestType, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(clustertesttypesResource, "status", clusterTestType), &example_v1.ClusterTestType{}) + if obj == nil { + return nil, err + } + return obj.(*example_v1.ClusterTestType), err +} + +// Delete takes name of the clusterTestType and deletes it. Returns an error if one occurs. +func (c *FakeClusterTestTypes) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(clustertesttypesResource, name), &example_v1.ClusterTestType{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeClusterTestTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(clustertesttypesResource, listOptions) + + _, err := c.Fake.Invokes(action, &example_v1.ClusterTestTypeList{}) + return err +} + +// Patch applies the patch and returns the patched clusterTestType. +func (c *FakeClusterTestTypes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *example_v1.ClusterTestType, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(clustertesttypesResource, name, data, subresources...), &example_v1.ClusterTestType{}) + if obj == nil { + return nil, err + } + return obj.(*example_v1.ClusterTestType), err +} + +// GetScale takes name of the clusterTestType, and returns the corresponding scale object, and an error if there is any. +func (c *FakeClusterTestTypes) GetScale(clusterTestTypeName string, options v1.GetOptions) (result *autoscaling.Scale, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetSubresourceAction(clustertesttypesResource, clusterTestTypeName), &autoscaling.Scale{}) + if obj == nil { + return nil, err + } + return obj.(*autoscaling.Scale), err +} + +// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any. +func (c *FakeClusterTestTypes) UpdateScale(clusterTestTypeName string, scale *autoscaling.Scale) (result *autoscaling.Scale, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(clustertesttypesResource, "scale", scale), &autoscaling.Scale{}) + if obj == nil { + return nil, err + } + return obj.(*autoscaling.Scale), err +} diff --git a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_example_client.go b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_example_client.go index 647f5e12..e6aa9999 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_example_client.go +++ b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/fake/fake_example_client.go @@ -28,6 +28,10 @@ type FakeExampleV1 struct { *testing.Fake } +func (c *FakeExampleV1) ClusterTestTypes() v1.ClusterTestTypeInterface { + return &FakeClusterTestTypes{c} +} + func (c *FakeExampleV1) TestTypes(namespace string) v1.TestTypeInterface { return &FakeTestTypes{c, namespace} } diff --git a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/generated_expansion.go b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/generated_expansion.go index d513810d..3059734a 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/generated_expansion.go +++ b/vendor/k8s.io/code-generator/_examples/crd/clientset/versioned/typed/example/v1/generated_expansion.go @@ -18,4 +18,6 @@ limitations under the License. package v1 +type ClusterTestTypeExpansion interface{} + type TestTypeExpansion interface{} diff --git a/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/clustertesttype.go b/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/clustertesttype.go new file mode 100644 index 00000000..cef599f4 --- /dev/null +++ b/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/clustertesttype.go @@ -0,0 +1,88 @@ +/* +Copyright 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" + example_v1 "k8s.io/code-generator/_examples/crd/apis/example/v1" + versioned "k8s.io/code-generator/_examples/crd/clientset/versioned" + internalinterfaces "k8s.io/code-generator/_examples/crd/informers/externalversions/internalinterfaces" + v1 "k8s.io/code-generator/_examples/crd/listers/example/v1" +) + +// ClusterTestTypeInformer provides access to a shared informer and lister for +// ClusterTestTypes. +type ClusterTestTypeInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ClusterTestTypeLister +} + +type clusterTestTypeInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewClusterTestTypeInformer constructs a new informer for ClusterTestType type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ExampleV1().ClusterTestTypes().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ExampleV1().ClusterTestTypes().Watch(options) + }, + }, + &example_v1.ClusterTestType{}, + resyncPeriod, + indexers, + ) +} + +func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&example_v1.ClusterTestType{}, f.defaultInformer) +} + +func (f *clusterTestTypeInformer) Lister() v1.ClusterTestTypeLister { + return v1.NewClusterTestTypeLister(f.Informer().GetIndexer()) +} diff --git a/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/interface.go b/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/interface.go index 02435228..1e17b132 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/interface.go +++ b/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/example/v1/interface.go @@ -24,6 +24,8 @@ import ( // Interface provides access to all the informers in this group version. type Interface interface { + // ClusterTestTypes returns a ClusterTestTypeInformer. + ClusterTestTypes() ClusterTestTypeInformer // TestTypes returns a TestTypeInformer. TestTypes() TestTypeInformer } @@ -39,6 +41,11 @@ func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakList return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} } +// ClusterTestTypes returns a ClusterTestTypeInformer. +func (v *version) ClusterTestTypes() ClusterTestTypeInformer { + return &clusterTestTypeInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + // TestTypes returns a TestTypeInformer. func (v *version) TestTypes() TestTypeInformer { return &testTypeInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} diff --git a/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/generic.go b/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/generic.go index df63a41e..d89bd2a7 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/generic.go +++ b/vendor/k8s.io/code-generator/_examples/crd/informers/externalversions/generic.go @@ -54,6 +54,8 @@ func (f *genericInformer) Lister() cache.GenericLister { func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { switch resource { // Group=example.crd.code-generator.k8s.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("clustertesttypes"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Example().V1().ClusterTestTypes().Informer()}, nil case v1.SchemeGroupVersion.WithResource("testtypes"): return &genericInformer{resource: resource.GroupResource(), informer: f.Example().V1().TestTypes().Informer()}, nil diff --git a/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/clustertesttype.go b/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/clustertesttype.go new file mode 100644 index 00000000..584b3b27 --- /dev/null +++ b/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/clustertesttype.go @@ -0,0 +1,65 @@ +/* +Copyright 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" + v1 "k8s.io/code-generator/_examples/crd/apis/example/v1" +) + +// ClusterTestTypeLister helps list ClusterTestTypes. +type ClusterTestTypeLister interface { + // List lists all ClusterTestTypes in the indexer. + List(selector labels.Selector) (ret []*v1.ClusterTestType, err error) + // Get retrieves the ClusterTestType from the index for a given name. + Get(name string) (*v1.ClusterTestType, error) + ClusterTestTypeListerExpansion +} + +// clusterTestTypeLister implements the ClusterTestTypeLister interface. +type clusterTestTypeLister struct { + indexer cache.Indexer +} + +// NewClusterTestTypeLister returns a new ClusterTestTypeLister. +func NewClusterTestTypeLister(indexer cache.Indexer) ClusterTestTypeLister { + return &clusterTestTypeLister{indexer: indexer} +} + +// List lists all ClusterTestTypes in the indexer. +func (s *clusterTestTypeLister) List(selector labels.Selector) (ret []*v1.ClusterTestType, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ClusterTestType)) + }) + return ret, err +} + +// Get retrieves the ClusterTestType from the index for a given name. +func (s *clusterTestTypeLister) Get(name string) (*v1.ClusterTestType, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("clustertesttype"), name) + } + return obj.(*v1.ClusterTestType), nil +} diff --git a/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/expansion_generated.go b/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/expansion_generated.go index 0192e05f..2681a29f 100644 --- a/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/expansion_generated.go +++ b/vendor/k8s.io/code-generator/_examples/crd/listers/example/v1/expansion_generated.go @@ -18,6 +18,10 @@ limitations under the License. package v1 +// ClusterTestTypeListerExpansion allows custom methods to be added to +// ClusterTestTypeLister. +type ClusterTestTypeListerExpansion interface{} + // TestTypeListerExpansion allows custom methods to be added to // TestTypeLister. type TestTypeListerExpansion interface{} diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/generators/fake/generator_fake_for_type.go b/vendor/k8s.io/code-generator/cmd/client-gen/generators/fake/generator_fake_for_type.go index c129a5f4..3cbade87 100644 --- a/vendor/k8s.io/code-generator/cmd/client-gen/generators/fake/generator_fake_for_type.go +++ b/vendor/k8s.io/code-generator/cmd/client-gen/generators/fake/generator_fake_for_type.go @@ -146,9 +146,10 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. "NewRootWatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootWatchAction"}), "NewWatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewWatchAction"}), "NewCreateSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewCreateSubresourceAction"}), + "NewRootCreateSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootCreateSubresourceAction"}), "NewUpdateSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewUpdateSubresourceAction"}), "NewGetSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewGetSubresourceAction"}), - "NewListSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewListSubresourceAction"}), + "NewRootGetSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootGetSubresourceAction"}), "NewRootUpdateSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootUpdateSubresourceAction"}), "NewRootPatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootPatchAction"}), "NewPatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewPatchAction"}), @@ -235,11 +236,8 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. } if e.HasVerb("list") { - if e.IsSubresource() { - sw.Do(adjustTemplate(e.VerbName, e.VerbType, listSubresourceTemplate), m) - } else { - sw.Do(adjustTemplate(e.VerbName, e.VerbType, listTemplate), m) - } + + sw.Do(adjustTemplate(e.VerbName, e.VerbType, listTemplate), m) } // TODO: Figure out schemantic for watching a sub-resource. @@ -322,19 +320,6 @@ func (c *Fake$.type|publicPlural$) List(opts $.ListOptions|raw$) (result *$.type } ` -var listSubresourceTemplate = ` -// List takes label and field selectors, and returns the list of $.resultType|publicPlural$ that match those selectors. -func (c *Fake$.type|publicPlural$) List($.type|private$Name string, opts $.ListOptions|raw$) (result *$.resultType|raw$List, err error) { - obj, err := c.Fake. - $if .namespaced$Invokes($.NewListSubresourceAction|raw$($.type|allLowercasePlural$Resource, $.type|private$Name, "$.subresourcePath$", $.type|allLowercasePlural$Kind, c.ns, opts), &$.resultType|raw$List{}) - $else$Invokes($.NewRootListAction|raw$($.type|allLowercasePlural$Resource, $.type|allLowercasePlural$Kind, opts), &$.resultType|raw$List{})$end$ - if obj == nil { - return nil, err - } - return obj.(*$.resultType|raw$List), err -} -` - var listUsingOptionsTemplate = ` // List takes label and field selectors, and returns the list of $.type|publicPlural$ that match those selectors. func (c *Fake$.type|publicPlural$) List(opts $.ListOptions|raw$) (result *$.type|raw$List, err error) { @@ -377,7 +362,7 @@ var getSubresourceTemplate = ` func (c *Fake$.type|publicPlural$) Get($.type|private$Name string, options $.GetOptions|raw$) (result *$.resultType|raw$, err error) { obj, err := c.Fake. $if .namespaced$Invokes($.NewGetSubresourceAction|raw$($.type|allLowercasePlural$Resource, c.ns, "$.subresourcePath$", $.type|private$Name), &$.resultType|raw${}) - $else$Invokes($.NewRootGetAction|raw$($.type|allLowercasePlural$Resource, $.type|private$Name), &$.resultType|raw${})$end$ + $else$Invokes($.NewRootGetSubresourceAction|raw$($.type|allLowercasePlural$Resource, $.type|private$Name), &$.resultType|raw${})$end$ if obj == nil { return nil, err } @@ -423,7 +408,7 @@ var createSubresourceTemplate = ` func (c *Fake$.type|publicPlural$) Create($.type|private$Name string, $.inputType|private$ *$.inputType|raw$) (result *$.resultType|raw$, err error) { obj, err := c.Fake. $if .namespaced$Invokes($.NewCreateSubresourceAction|raw$($.type|allLowercasePlural$Resource, $.type|private$Name, "$.subresourcePath$", c.ns, $.inputType|private$), &$.resultType|raw${}) - $else$Invokes($.NewRootCreateAction|raw$($.inputType|allLowercasePlural$Resource, $.inputType|private$), &$.resultType|raw${})$end$ + $else$Invokes($.NewRootCreateSubresourceAction|raw$($.type|allLowercasePlural$Resource, "$.subresourcePath$", $.inputType|private$), &$.resultType|raw${})$end$ if obj == nil { return nil, err } @@ -449,7 +434,7 @@ var updateSubresourceTemplate = ` func (c *Fake$.type|publicPlural$) Update($.type|private$Name string, $.inputType|private$ *$.inputType|raw$) (result *$.resultType|raw$, err error) { obj, err := c.Fake. $if .namespaced$Invokes($.NewUpdateSubresourceAction|raw$($.type|allLowercasePlural$Resource, "$.subresourcePath$", c.ns, $.inputType|private$), &$.inputType|raw${}) - $else$Invokes($.NewRootUpdateAction|raw$($.type|allLowercasePlural$Resource, $.type|private$), &$.type|raw${})$end$ + $else$Invokes($.NewRootUpdateSubresourceAction|raw$($.type|allLowercasePlural$Resource, "$.subresourcePath$", $.inputType|private$), &$.resultType|raw${})$end$ if obj == nil { return nil, err } diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/generators/generator_for_group.go b/vendor/k8s.io/code-generator/cmd/client-gen/generators/generator_for_group.go index 6c4cd9bf..fd59715c 100644 --- a/vendor/k8s.io/code-generator/cmd/client-gen/generators/generator_for_group.go +++ b/vendor/k8s.io/code-generator/cmd/client-gen/generators/generator_for_group.go @@ -210,17 +210,12 @@ func New(c $.restRESTClientInterface|raw$) *$.GroupGoName$$.Version$Client { var setInternalVersionClientDefaultsTemplate = ` func setConfigDefaults(config *$.restConfig|raw$) error { - g, err := scheme.Registry.Group("$.groupName$") - if err != nil { - return err - } - config.APIPath = $.apiPath$ if config.UserAgent == "" { config.UserAgent = $.restDefaultKubernetesUserAgent|raw$() } - if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersions[0].Group { - gv := g.GroupVersions[0] + if config.GroupVersion == nil || config.GroupVersion.Group != scheme.Scheme.PrioritizedVersionsForGroup("$.groupName$")[0].Group { + gv := scheme.Scheme.PrioritizedVersionsForGroup("$.groupName$")[0] config.GroupVersion = &gv } config.NegotiatedSerializer = scheme.Codecs diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/generators/scheme/generator_for_scheme.go b/vendor/k8s.io/code-generator/cmd/client-gen/generators/scheme/generator_for_scheme.go index a7e33553..dd9afadb 100644 --- a/vendor/k8s.io/code-generator/cmd/client-gen/generators/scheme/generator_for_scheme.go +++ b/vendor/k8s.io/code-generator/cmd/client-gen/generators/scheme/generator_for_scheme.go @@ -86,17 +86,15 @@ func (g *GenScheme) GenerateType(c *generator.Context, t *types.Type, w io.Write allInstallGroups := clientgentypes.ToGroupInstallPackages(g.Groups, g.GroupGoNames) m := map[string]interface{}{ - "allGroupVersions": allGroupVersions, - "allInstallGroups": allInstallGroups, - "customRegister": false, - "runtimeNewParameterCodec": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewParameterCodec"}), - "runtimeNewScheme": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewScheme"}), - "serializerNewCodecFactory": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/serializer", Name: "NewCodecFactory"}), - "runtimeScheme": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Scheme"}), - "schemaGroupVersion": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}), - "metav1AddToGroupVersion": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}), - "registeredNew": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apimachinery/registered", Name: "NewAPIRegistrationManager"}), - "registeredAPIRegistrationManager": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apimachinery/registered", Name: "APIRegistrationManager"}), + "allGroupVersions": allGroupVersions, + "allInstallGroups": allInstallGroups, + "customRegister": false, + "runtimeNewParameterCodec": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewParameterCodec"}), + "runtimeNewScheme": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewScheme"}), + "serializerNewCodecFactory": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/serializer", Name: "NewCodecFactory"}), + "runtimeScheme": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Scheme"}), + "schemaGroupVersion": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}), + "metav1AddToGroupVersion": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}), } globals := map[string]string{ "Scheme": "Scheme", @@ -136,20 +134,18 @@ var $.ParameterCodec$ = $.runtimeNewParameterCodec|raw$($.Scheme$) ` var registryRegistration = ` -var $.Registry$ = $.registeredNew|raw$() - func init() { $.metav1AddToGroupVersion|raw$($.Scheme$, $.schemaGroupVersion|raw${Version: "v1"}) - Install($.Registry$, $.Scheme$) + Install($.Scheme$) } // Install registers the API group and adds types to a scheme -func Install(registry *$.registeredAPIRegistrationManager|raw$, scheme *$.runtimeScheme|raw$) { +func Install(scheme *$.runtimeScheme|raw$) { $- range .allInstallGroups$ - $.InstallPackageAlias$.Install(registry, scheme) + $.InstallPackageAlias$.Install(scheme) $- end$ $if .customRegister$ - ExtraInstall(registry, scheme) + ExtraInstall(scheme) $end -$ } `