From 860a38335d7fb2eb6bd196994c8dc26a7653c15e Mon Sep 17 00:00:00 2001 From: Antonio Murdaca Date: Tue, 2 May 2017 11:11:51 +0200 Subject: [PATCH] manifest.json: stick to k8s v1.6.1 Signed-off-by: Antonio Murdaca --- lock.json | 46 +- manifest.json | 5 +- vendor/k8s.io/apimachinery/Godeps/Godeps.json | 181 + vendor/k8s.io/apimachinery/Godeps/Readme | 5 + vendor/k8s.io/apimachinery/filter-branch-sha | 1 - vendor/k8s.io/apimachinery/hack/godep-deps.sh | 66 + .../apimachinery/hack/sync-from-kubernetes.sh | 4 + vendor/k8s.io/apimachinery/kubernetes-sha | 2 +- vendor/k8s.io/apimachinery/pkg/OWNERS | 1 + .../k8s.io/apimachinery/pkg/api/meta/meta.go | 14 + .../apimachinery/pkg/api/testing/codec.go | 86 + .../apimachinery/pkg/api/testing/fuzzer.go | 47 +- .../apimachinery/pkg/api/testing/register.go | 57 - .../apimachinery/pkg/api/testing/roundtrip.go | 295 + .../apimachinery/pkg/api/testing/valuefuzz.go | 86 + .../pkg/api/testing/valuefuzz_test.go | 73 + .../pkg/api/validation/objectmeta.go | 261 + .../pkg/api/validation/objectmeta_test.go | 500 + .../apimachinery/announced/group_factory.go | 10 +- .../meta/internalversion/register_test.go | 4 +- .../pkg/apis/meta/v1/conversion.go | 264 + .../pkg/apis/meta/v1/generated.pb.go | 345 +- .../pkg/apis/meta/v1/generated.proto | 17 + .../apimachinery/pkg/apis/meta/v1/helpers.go | 6 + .../apimachinery/pkg/apis/meta/v1/meta.go | 8 + .../apimachinery/pkg/apis/meta/v1/register.go | 9 + .../apimachinery/pkg/apis/meta/v1/types.go | 42 + .../meta/v1/types_swagger_doc_generated.go | 16 +- .../apis/meta/v1/unstructured/unstructured.go | 55 +- .../meta/v1/unstructured/unstructured_test.go | 36 + .../pkg/apis/meta/v1/validation/validation.go | 16 + .../pkg/apis/meta/v1/zz_generated.deepcopy.go | 10 + .../pkg/conversion/unstructured/converter.go | 681 + .../conversion/unstructured/converter_test.go | 462 + .../pkg/conversion/unstructured/doc.go | 19 + .../apimachinery/pkg/fields/selector.go | 5 + .../k8s.io/apimachinery/pkg/openapi/common.go | 21 +- .../k8s.io/apimachinery/pkg/runtime/codec.go | 9 +- .../k8s.io/apimachinery/pkg/runtime/scheme.go | 21 +- .../apimachinery/pkg/runtime/scheme_test.go | 73 + .../pkg/util/httpstream/spdy/upgrade.go | 2 +- .../pkg/util/jsonmergepatch/patch.go | 144 + .../pkg/util/jsonmergepatch/patch_test.go | 663 + .../pkg/util/mergepatch/errors.go | 66 + .../apimachinery/pkg/util/mergepatch/util.go | 126 + .../pkg/util/mergepatch/util_test.go | 84 + .../pkg/util/strategicpatch/patch.go | 236 +- .../pkg/util/strategicpatch/patch_test.go | 578 +- .../pkg/util/validation/field/errors.go | 35 +- .../pkg/util/validation/field/errors_test.go | 11 +- vendor/k8s.io/apimachinery/pkg/watch/until.go | 6 +- vendor/k8s.io/kubernetes/.bazelrc | 4 +- vendor/k8s.io/kubernetes/.generated_files | 2 +- .../kubernetes/.github/ISSUE_TEMPLATE.md | 2 +- .../.github/PULL_REQUEST_TEMPLATE.md | 6 +- vendor/k8s.io/kubernetes/.gitignore | 3 + vendor/k8s.io/kubernetes/BUILD.bazel | 7 + vendor/k8s.io/kubernetes/CHANGELOG.md | 1478 +- vendor/k8s.io/kubernetes/CONTRIBUTING.md | 133 +- vendor/k8s.io/kubernetes/Godeps/Godeps.json | 998 +- vendor/k8s.io/kubernetes/Godeps/LICENSES | 13553 ++++-- vendor/k8s.io/kubernetes/Makefile | 25 +- vendor/k8s.io/kubernetes/OWNERS | 1 + vendor/k8s.io/kubernetes/OWNERS_ALIASES | 19 + vendor/k8s.io/kubernetes/README.md | 100 +- vendor/k8s.io/kubernetes/WORKSPACE | 14 +- .../kubernetes/api/openapi-spec/swagger.json | 15983 ++++--- .../api/swagger-spec/apps_v1alpha1.json | 2 +- .../api/swagger-spec/apps_v1beta1.json | 1975 +- .../authentication.k8s.io_v1.json | 341 +- .../authentication.k8s.io_v1beta1.json | 11 + .../swagger-spec/authorization.k8s.io_v1.json | 553 + .../authorization.k8s.io_v1beta1.json | 11 + .../api/swagger-spec/autoscaling_v1.json | 31 +- .../swagger-spec/autoscaling_v2alpha1.json | 104 + .../kubernetes/api/swagger-spec/batch_v1.json | 272 +- .../api/swagger-spec/batch_v2alpha1.json | 7 + .../certificates.k8s.io_v1alpha1.json | 1173 - .../certificates.k8s.io_v1beta1.json | 45 +- .../api/swagger-spec/extensions_v1beta1.json | 1525 +- .../api/swagger-spec/policy_v1beta1.json | 31 +- .../rbac.authorization.k8s.io_v1alpha1.json | 63 +- .../rbac.authorization.k8s.io_v1beta1.json | 65 +- .../api/swagger-spec/resourceListing.json | 36 +- .../api/swagger-spec/settings.k8s.io.json | 114 + .../settings.k8s.io_v1alpha1.json | 2427 + .../api/swagger-spec/storage.k8s.io_v1.json | 1024 + .../swagger-spec/storage.k8s.io_v1beta1.json | 31 +- .../kubernetes/api/swagger-spec/v1.json | 666 +- vendor/k8s.io/kubernetes/build/BUILD | 4 - vendor/k8s.io/kubernetes/build/OWNERS | 3 +- .../kubernetes/build/build-image/Dockerfile | 2 +- .../kubernetes/build/build-image/VERSION | 2 +- .../build/build-image/cross/Dockerfile | 27 +- .../build/build-image/cross/VERSION | 2 +- .../CL28857-go1.7.1-luxas.patch | 390 - vendor/k8s.io/kubernetes/build/cni/Makefile | 5 +- vendor/k8s.io/kubernetes/build/common.sh | 31 +- .../kubernetes/build/debian-base/Dockerfile | 19 + .../build/debian-base/Dockerfile.build | 102 + .../kubernetes/build/debian-base/Makefile | 76 + .../kubernetes/build/debian-base/README.md | 12 + .../build/debian-base/clean-install | 34 + .../kubernetes/build/debian-base/excludes | 10 + .../build/debian-iptables/Dockerfile | 11 +- .../kubernetes/build/debian-iptables/Makefile | 16 +- vendor/k8s.io/kubernetes/build/lib/release.sh | 3 +- .../kubernetes/build/release-tars/BUILD | 48 +- .../kubernetes/cluster/addons/README.md | 63 +- .../cluster/addons/addon-manager/CHANGELOG.md | 15 + .../cluster/addons/addon-manager/Makefile | 6 +- .../cluster/addons/addon-manager/README.md | 33 +- .../addons/addon-manager/kube-addons.sh | 79 +- .../calico-etcd-service.yaml | 1 + .../calico-etcd-statefulset.yaml | 1 + .../calico-policy-controller.yaml | 1 + .../glbc/default-svc-controller.yaml | 3 +- .../glbc/default-svc.yaml | 1 + .../google/heapster-controller.yaml | 25 +- .../google/heapster-service.yaml | 1 + .../heapster-controller-combined.yaml | 25 +- .../influxdb/grafana-service.yaml | 1 + .../influxdb/heapster-controller.yaml | 26 +- .../influxdb/heapster-service.yaml | 1 + .../influxdb/influxdb-grafana-controller.yaml | 5 +- .../influxdb/influxdb-service.yaml | 1 + .../standalone/heapster-controller.yaml | 19 +- .../standalone/heapster-service.yaml | 1 + .../dashboard/dashboard-controller.yaml | 7 +- .../addons/dashboard/dashboard-service.yaml | 1 + .../dns-horizontal-autoscaler.yaml | 10 +- .../cluster/addons/dns/kubedns-cm.yaml | 21 + .../addons/dns/kubedns-controller.yaml.base | 38 +- .../addons/dns/kubedns-controller.yaml.in | 38 +- .../addons/dns/kubedns-controller.yaml.sed | 38 +- .../cluster/addons/dns/kubedns-sa.yaml | 7 + .../cluster/addons/dns/kubedns-svc.yaml.base | 1 + .../cluster/addons/dns/kubedns-svc.yaml.in | 1 + .../cluster/addons/dns/kubedns-svc.yaml.sed | 1 + .../e2e-rbac-bindings/kubelet-binding.yaml | 5 +- .../random-addon-grabbag.yaml | 3 +- .../etcd-empty-dir-cleanup.yaml | 2 +- .../addons/fluentd-elasticsearch/OWNERS | 4 +- .../addons/fluentd-elasticsearch/README.md | 11 + .../fluentd-elasticsearch/es-controller.yaml | 3 +- .../fluentd-elasticsearch/es-image/Dockerfile | 4 +- .../fluentd-elasticsearch/es-image/Makefile | 2 +- .../elasticsearch_logging_discovery.go | 8 +- .../fluentd-elasticsearch/es-image/run.sh | 2 +- .../fluentd-elasticsearch/es-service.yaml | 1 + .../fluentd-elasticsearch/fluentd-es-ds.yaml | 11 +- .../kibana-controller.yaml | 1 + .../fluentd-elasticsearch/kibana-service.yaml | 1 + .../cluster/addons/fluentd-gcp/OWNERS | 4 +- .../cluster/addons/fluentd-gcp/README.md | 11 + .../fluentd-gcp/fluentd-gcp-configmap.yaml | 391 + .../addons/fluentd-gcp/fluentd-gcp-ds.yaml | 39 +- .../fluentd-gcp/fluentd-gcp-image/Dockerfile | 60 - .../fluentd-gcp/fluentd-gcp-image/Makefile | 36 - .../fluentd-gcp/fluentd-gcp-image/README.md | 9 +- .../fluentd-gcp/fluentd-gcp-image/fluent.conf | 306 - .../fluentd-gcp/fluentd-gcp-image/run.sh | 23 - .../node-problem-detector/MAINTAINERS.md | 2 +- .../node-problem-detector.yaml | 38 - .../addons/node-problem-detector/npd.yaml | 79 + .../standalone/npd-binding.yaml | 15 + ...e-apiserver-kubelet-api-admin-binding.yaml | 16 + .../addons/rbac/kubelet-api-admin-role.yaml | 19 + .../addons/registry/registry-pv.yaml.in | 1 + .../addons/registry/registry-pvc.yaml.in | 1 + .../cluster/addons/registry/registry-rc.yaml | 1 + .../cluster/addons/registry/registry-svc.yaml | 1 + .../addons/storage-class/aws/default.yaml | 3 +- .../addons/storage-class/azure/default.yaml | 10 + .../addons/storage-class/gce/default.yaml | 3 +- .../storage-class/openstack/default.yaml | 3 +- .../addons/storage-class/vsphere/default.yaml | 11 + .../kubernetes/cluster/aws/common/common.sh | 49 - .../kubernetes/cluster/aws/config-default.sh | 167 - .../kubernetes/cluster/aws/config-test.sh | 153 - .../kubernetes/cluster/aws/jessie/util.sh | 46 - .../k8s.io/kubernetes/cluster/aws/options.md | 157 - .../cluster/aws/templates/configure-vm-aws.sh | 132 - .../cluster/aws/templates/format-disks.sh | 226 - .../iam/kubernetes-master-policy.json | 27 - .../templates/iam/kubernetes-master-role.json | 10 - .../iam/kubernetes-minion-policy.json | 45 - .../templates/iam/kubernetes-minion-role.json | 10 - vendor/k8s.io/kubernetes/cluster/aws/util.sh | 1610 +- .../kubernetes/cluster/aws/wily/util.sh | 86 - .../cluster/azure-legacy/.gitignore | 2 - .../cluster/azure-legacy/config-default.sh | 60 - .../cluster/azure-legacy/templates/common.sh | 58 - .../templates/create-dynamic-salt-files.sh | 30 - .../templates/create-kubeconfig.sh | 77 - .../templates/download-release.sh | 35 - .../azure-legacy/templates/salt-master.sh | 92 - .../azure-legacy/templates/salt-minion.sh | 75 - .../kubernetes/cluster/azure-legacy/util.sh | 540 - .../kubernetes/cluster/azure/.gitignore | 2 - .../cluster/azure/config-default.sh | 41 - .../k8s.io/kubernetes/cluster/azure/util.sh | 288 - .../kubernetes/cluster/centos/.gitignore | 1 + .../cluster/centos/config-default.sh | 80 +- .../kubernetes/cluster/centos/deployAddons.sh | 2 + .../centos/master/scripts/apiserver.sh | 6 +- .../master/scripts/controller-manager.sh | 6 +- .../cluster/centos/master/scripts/etcd.sh | 23 +- .../centos/master/scripts/post-etcd.sh | 23 + .../centos/master/scripts/scheduler.sh | 4 + .../k8s.io/kubernetes/cluster/centos/util.sh | 118 +- vendor/k8s.io/kubernetes/cluster/clientbin.sh | 105 + vendor/k8s.io/kubernetes/cluster/common.sh | 60 +- vendor/k8s.io/kubernetes/cluster/gce/BUILD | 1 - vendor/k8s.io/kubernetes/cluster/gce/OWNERS | 8 + .../kubernetes/cluster/gce/config-default.sh | 32 +- .../kubernetes/cluster/gce/config-test.sh | 46 +- .../kubernetes/cluster/gce/configure-vm.sh | 402 +- .../gce/container-linux/configure-helper.sh | 106 +- .../cluster/gce/container-linux/configure.sh | 4 +- .../gce/container-linux/health-monitor.sh | 6 +- .../cluster/gce/debian/master-helper.sh | 105 - .../cluster/gce/gci/configure-helper.sh | 375 +- .../kubernetes/cluster/gce/gci/configure.sh | 49 +- .../cluster/gce/gci/health-monitor.sh | 6 +- .../cluster/gce/gci/master-helper.sh | 7 +- .../kubernetes/cluster/gce/gci/master.yaml | 1 - .../cluster/gce/gci/mounter/mounter | Bin 1823 -> 2144449 bytes .../cluster/gce/gci/mounter/mounter.go | 93 + .../kubernetes/cluster/gce/gci/node.yaml | 1 - .../kubernetes/cluster/gce/list-resources.sh | 2 +- .../cluster/gce/trusty/configure-helper.sh | 982 - .../cluster/gce/trusty/configure.sh | 196 - .../kubernetes/cluster/gce/trusty/helper.sh | 39 - .../cluster/gce/trusty/master-helper.sh | 65 - .../kubernetes/cluster/gce/trusty/master.yaml | 233 - .../cluster/gce/trusty/node-helper.sh | 38 - .../kubernetes/cluster/gce/trusty/node.yaml | 282 - .../k8s.io/kubernetes/cluster/gce/upgrade.sh | 107 +- vendor/k8s.io/kubernetes/cluster/gce/util.sh | 8 +- .../kubernetes/cluster/get-kube-binaries.sh | 10 +- .../kubernetes/cluster/get-kube-local.sh | 2 +- vendor/k8s.io/kubernetes/cluster/get-kube.sh | 8 +- .../kubernetes/cluster/gke/config-default.sh | 4 + .../images/etcd-empty-dir-cleanup/Dockerfile | 14 +- .../images/etcd-empty-dir-cleanup/Makefile | 6 +- .../etcd-empty-dir-cleanup.sh | 6 +- .../images/etcd-version-monitor/Dockerfile | 20 + .../images/etcd-version-monitor/Makefile | 43 + .../images/etcd-version-monitor/README.md | 25 + .../etcd-version-monitor.go | 233 + .../etcd-version-monitor.yaml | 13 + .../kubernetes/cluster/images/etcd/Makefile | 12 +- .../cluster/images/etcd/migrate-if-needed.sh | 37 +- .../cluster/images/etcd/rollback/rollback.go | 7 +- .../cluster/images/hyperkube/Dockerfile | 13 +- .../cluster/images/hyperkube/Makefile | 9 +- .../static-pods/addon-manager-multinode.json | 2 +- .../static-pods/addon-manager-singlenode.json | 2 +- .../hyperkube/static-pods/master-multi.json | 2 +- .../images/hyperkube/static-pods/master.json | 2 +- .../cluster/images/kube-discovery/Dockerfile | 18 - .../cluster/images/kube-discovery/Makefile | 57 - .../cluster/images/kube-discovery/README.md | 45 - .../cluster/images/kubemark/Makefile | 18 +- .../kubernetes/cluster/images/kubemark/OWNERS | 6 + vendor/k8s.io/kubernetes/cluster/juju/OWNERS | 10 +- .../kubernetes/cluster/juju/layers/OWNERS | 4 - .../layers/kubeapi-load-balancer/README.md | 5 + .../layers/kubeapi-load-balancer/config.yaml | 5 + .../layers/kubeapi-load-balancer/copyright | 13 + .../layers/kubeapi-load-balancer/icon.svg | 412 + .../layers/kubeapi-load-balancer/layer.yaml | 13 + .../kubeapi-load-balancer/metadata.yaml | 17 + .../reactive/load_balancer.py | 153 + .../templates/apilb.conf | 36 + .../juju/layers/kubernetes-e2e/README.md | 141 + .../juju/layers/kubernetes-e2e/actions.yaml | 19 + .../juju/layers/kubernetes-e2e/actions/test | 47 + .../juju/layers/kubernetes-e2e/icon.svg | 362 + .../juju/layers/kubernetes-e2e/layer.yaml | 10 + .../juju/layers/kubernetes-e2e/metadata.yaml | 29 + .../kubernetes-e2e/reactive/kubernetes_e2e.py | 202 + .../juju/layers/kubernetes-master/README.md | 96 + .../layers/kubernetes-master/actions.yaml | 28 + .../kubernetes-master/actions/create-rbd-pv | 297 + .../layers/kubernetes-master/actions/restart | 17 + .../juju/layers/kubernetes-master/config.yaml | 13 + .../juju/layers/kubernetes-master/copyright | 13 + .../kubernetes-master/debug-scripts/kubectl | 13 + .../debug-scripts/kubernetes-master-services | 13 + .../juju/layers/kubernetes-master/icon.svg | 362 + .../juju/layers/kubernetes-master/layer.yaml | 25 + .../lib/charms/kubernetes/flagmanager.py | 135 + .../layers/kubernetes-master/metadata.yaml | 38 + .../reactive/kubernetes_master.py | 785 + .../kubernetes-master/tactics/__init__.py | 16 + .../tactics/update_addons.py | 185 + .../templates/ceph-secret.yaml | 7 + .../kubernetes-master/templates/ceph.conf | 18 + .../templates/kube-apiserver.defaults | 17 + .../templates/kube-apiserver.service | 22 + .../kube-controller-manager.defaults | 8 + .../templates/kube-controller-manager.service | 18 + .../templates/kube-defaults.defaults | 22 + .../templates/kube-scheduler.defaults | 7 + .../templates/kube-scheduler.service | 17 + .../templates/rbd-persistent-volume.yaml | 26 + .../juju/layers/kubernetes-worker/HACKING.md | 25 + .../juju/layers/kubernetes-worker/README.md | 52 + .../layers/kubernetes-worker/actions.yaml | 17 + .../layers/kubernetes-worker/actions/microbot | 71 + .../layers/kubernetes-worker/actions/pause | 7 + .../layers/kubernetes-worker/actions/resume | 6 + .../juju/layers/kubernetes-worker/config.yaml | 13 + .../juju/layers/kubernetes-worker/copyright | 13 + .../kubernetes-worker/debug-scripts/inotify | 8 + .../kubernetes-worker/debug-scripts/kubectl | 13 + .../debug-scripts/kubernetes-worker-services | 13 + .../exec.d/docker-compose/charm-pre-install | 2 + .../juju/layers/kubernetes-worker/icon.svg | 362 + .../juju/layers/kubernetes-worker/layer.yaml | 22 + .../lib/charms/kubernetes/flagmanager.py | 135 + .../layers/kubernetes-worker/metadata.yaml | 30 + .../reactive/kubernetes_worker.py | 544 + .../templates/default-http-backend.yaml | 43 + .../ingress-replication-controller.yaml | 47 + .../kubernetes-worker/templates/kube-default | 22 + .../templates/kube-proxy.defaults | 1 + .../templates/kube-proxy.service | 19 + .../templates/kubelet.defaults | 14 + .../templates/kubelet.service | 22 + .../templates/microbot-example.yaml | 63 + .../layers/kubernetes-worker/wheelhouse.txt | 1 + .../cluster/juju/layers/kubernetes/README.md | 112 - .../juju/layers/kubernetes/actions.yaml | 2 - .../kubernetes/actions/guestbook-example | 35 - .../juju/layers/kubernetes/config.yaml | 21 - .../cluster/juju/layers/kubernetes/icon.svg | 270 - .../cluster/juju/layers/kubernetes/layer.yaml | 6 - .../juju/layers/kubernetes/metadata.yaml | 19 - .../juju/layers/kubernetes/reactive/k8s.py | 485 - .../kubernetes/templates/docker-compose.yml | 134 - .../templates/kubedns-controller.yaml | 146 - .../kubernetes/templates/kubedns-svc.yaml | 38 - .../layers/kubernetes/templates/master.json | 106 - .../juju/layers/kubernetes/tests/tests.yaml | 5 - vendor/k8s.io/kubernetes/cluster/kube-util.sh | 15 +- vendor/k8s.io/kubernetes/cluster/kubeadm.sh | 70 +- vendor/k8s.io/kubernetes/cluster/kubectl.sh | 76 +- .../k8s.io/kubernetes/cluster/kubemark/OWNERS | 8 + .../cluster/kubemark/config-default.sh | 86 - .../cluster/kubemark/gce/config-default.sh | 90 + .../kubernetes/cluster/kubemark/util.sh | 5 +- .../k8s.io/kubernetes/cluster/lib/logging.sh | 11 +- .../cluster/libvirt-coreos/config-default.sh | 2 + .../libvirt-coreos/user_data_minion.yml | 2 +- .../kubernetes/cluster/libvirt-coreos/util.sh | 5 +- vendor/k8s.io/kubernetes/cluster/log-dump.sh | 17 +- .../cluster/openstack-heat/config-image.sh | 2 +- .../fragments/configure-salt.yaml | 3 +- .../kubernetes-heat/fragments/run-salt.sh | 6 +- .../kubernetes-heat/kubecluster.yaml | 6 + .../kubernetes-heat/kubeminion.yaml | 8 + .../cluster/openstack-heat/openrc-default.sh | 1 + .../cluster/openstack-heat/openrc-swift.sh | 1 + .../kubernetes/cluster/openstack-heat/util.sh | 3 + .../templates/create-dynamic-salt-files.sh | 2 +- .../cloud-config/master-cloud-config.yaml | 2 +- .../kubernetes/cluster/rackspace/util.sh | 2 +- .../kubernetes/cluster/restore-from-backup.sh | 2 +- .../cluster-autoscaler.manifest | 17 +- .../cluster/saltbase/salt/cni/init.sls | 4 +- .../e2e-image-puller.manifest | 2 +- .../cluster/saltbase/salt/etcd/etcd.manifest | 15 +- .../cluster/saltbase/salt/fluentd-gcp/OWNERS | 4 +- .../salt/fluentd-gcp/fluentd-gcp.yaml | 411 +- .../saltbase/salt/kube-addons/init.sls | 22 +- .../salt/kube-addons/kube-addon-manager.yaml | 3 +- .../kube-apiserver/abac-authz-policy.jsonl | 1 + .../saltbase/salt/kube-apiserver/init.sls | 6 + .../kube-apiserver/kube-apiserver.manifest | 26 +- .../kube-controller-manager.manifest | 3 + .../salt/kube-proxy/kube-proxy.manifest | 7 +- .../kube-scheduler/kube-scheduler.manifest | 20 +- .../cluster/saltbase/salt/kubelet/default | 11 +- .../cluster/saltbase/salt/kubelet/init.sls | 14 +- .../saltbase/salt/l7-gcp/glbc.manifest | 8 +- .../cluster/saltbase/salt/logrotate/init.sls | 2 +- .../salt/rescheduler/rescheduler.manifest | 6 +- .../cluster/ubuntu/config-default.sh | 2 +- .../kubernetes/cluster/ubuntu/deployAddons.sh | 4 + .../k8s.io/kubernetes/cluster/vagrant/OWNERS | 1 - .../cluster/vagrant/config-default.sh | 2 +- vendor/k8s.io/kubernetes/cmd/BUILD | 3 +- .../cmd/cloud-controller-manager/BUILD | 4 +- .../cmd/cloud-controller-manager/app/BUILD | 9 +- .../app/controllermanager.go | 44 +- .../app/options/BUILD | 3 +- .../app/options/options.go | 9 +- .../controller-manager.go | 4 +- .../cmd/gke-certificates-controller/BUILD | 44 + .../cmd/gke-certificates-controller/OWNERS | 8 + .../cmd/gke-certificates-controller/app/BUILD | 64 + .../app/gke_certificates_controller.go | 93 + .../app/gke_signer.go | 118 + .../app/gke_signer_test.go | 154 + .../app/options.go | 54 + .../cmd/gke-certificates-controller/main.go | 49 + vendor/k8s.io/kubernetes/cmd/hyperkube/BUILD | 7 +- .../cmd/hyperkube/federation-apiserver.go | 3 +- .../kubernetes/cmd/hyperkube/hyperkube.go | 6 +- .../cmd/hyperkube/kube-aggregator.go | 52 + .../cmd/hyperkube/kube-apiserver.go | 6 +- .../cmd/hyperkube/kube-controller-manager.go | 6 +- .../kubernetes/cmd/hyperkube/kube-proxy.go | 4 +- .../cmd/hyperkube/kube-scheduler.go | 6 +- .../kubernetes/cmd/hyperkube/kubelet.go | 1 + .../k8s.io/kubernetes/cmd/hyperkube/main.go | 1 + .../k8s.io/kubernetes/cmd/hyperkube/server.go | 9 +- .../kubernetes/cmd/kube-aggregator/BUILD | 58 - .../artifacts/core-apiservices/legacy.yaml | 11 - .../core-apiservices/v1.autoscaling.yaml | 12 - .../artifacts/core-apiservices/v1.batch.yaml | 12 - .../v1alpha1.certificates.k8s.io.yaml | 12 - .../v1alpha1.rbac.authorization.k8s.io.yaml | 12 - .../core-apiservices/v1beta1.apps.yaml | 12 - .../v1beta1.authentication.k8s.io.yaml | 12 - .../v1beta1.authorization.k8s.io.yaml | 12 - .../core-apiservices/v1beta1.extensions.yaml | 12 - .../core-apiservices/v1beta1.policy.yaml | 12 - .../v1beta1.storage.k8s.io.yaml | 12 - .../cmd/kube-aggregator/config.json | 16 - .../cmd/kube-aggregator/hack/build-image.sh | 28 - .../kube-aggregator/hack/update-codegen.sh | 69 - .../kubernetes/cmd/kube-aggregator/main.go | 51 - .../pkg/apis/apiregistration/BUILD | 45 - .../pkg/apis/apiregistration/install/BUILD | 36 - .../apis/apiregistration/install/install.go | 49 - .../pkg/apis/apiregistration/register.go | 58 - .../pkg/apis/apiregistration/v1alpha1/BUILD | 43 - .../pkg/apis/apiregistration/v1alpha1/doc.go | 22 - .../v1alpha1/zz_generated.conversion.go | 167 - .../pkg/apis/apiregistration/validation/BUILD | 34 - .../apiregistration/validation/validation.go | 85 - .../cmd/kube-aggregator/pkg/apiserver/BUILD | 93 - .../pkg/apiserver/apiserver.go | 275 - .../clientset_generated/clientset/BUILD | 42 - .../clientset/clientset.go | 105 - .../clientset_generated/clientset/doc.go | 20 - .../clientset_generated/clientset/fake/BUILD | 41 - .../clientset/fake/clientset_generated.go | 72 - .../clientset_generated/clientset/fake/doc.go | 20 - .../typed/apiregistration/v1alpha1/BUILD | 45 - .../v1alpha1/apiregistration_client.go | 97 - .../apiregistration/v1alpha1/apiservice.go | 161 - .../typed/apiregistration/v1alpha1/doc.go | 20 - .../typed/apiregistration/v1alpha1/fake/BUILD | 42 - .../apiregistration/v1alpha1/fake/doc.go | 20 - .../fake/fake_apiregistration_client.go | 38 - .../v1alpha1/fake/fake_apiservice.go | 119 - .../internalclientset/BUILD | 42 - .../internalclientset/clientset.go | 94 - .../internalclientset/doc.go | 20 - .../internalclientset/fake/BUILD | 41 - .../fake/clientset_generated.go | 67 - .../internalclientset/fake/doc.go | 20 - .../apiregistration/internalversion/BUILD | 43 - .../internalversion/apiregistration_client.go | 98 - .../internalversion/apiservice.go | 161 - .../apiregistration/internalversion/doc.go | 20 - .../internalversion/fake/BUILD | 42 - .../internalversion/fake/doc.go | 20 - .../fake/fake_apiregistration_client.go | 38 - .../internalversion/fake/fake_apiservice.go | 119 - .../pkg/client/informers/BUILD | 45 - .../client/informers/apiregistration/BUILD | 36 - .../informers/apiregistration/interface.go | 52 - .../apiregistration/internalversion/BUILD | 40 - .../internalversion/apiservice.go | 68 - .../internalversion/interface.go | 43 - .../informers/apiregistration/v1alpha1/BUILD | 40 - .../apiregistration/v1alpha1/apiservice.go | 68 - .../apiregistration/v1alpha1/interface.go | 43 - .../pkg/client/informers/factory.go | 115 - .../pkg/client/informers/generic.go | 66 - .../client/informers/internalinterfaces/BUILD | 33 - .../internalinterfaces/internal_interfaces.go | 37 - .../apiregistration/internalversion/BUILD | 37 - .../internalversion/apiservice.go | 67 - .../internalversion/expansion_generated.go | 23 - .../listers/apiregistration/v1alpha1/BUILD | 38 - .../apiregistration/v1alpha1/apiservice.go | 68 - .../v1alpha1/expansion_generated.go | 23 - .../cmd/kube-aggregator/pkg/cmd/server/BUILD | 47 - .../kube-aggregator/pkg/cmd/server/start.go | 196 - .../cmd/kube-aggregator/pkg/legacy/BUILD | 37 - .../pkg/legacy/apis/config/v1alpha1/BUILD | 27 - .../pkg/legacy/apis/config/v1alpha1/types.go | 43 - .../pkg/legacy/discoverysummarizer.go | 211 - .../cmd/kube-aggregator/pkg/legacy/doc.go | 20 - .../pkg/registry/apiservice/BUILD | 43 - .../pkg/registry/apiservice/etcd/BUILD | 34 - .../pkg/registry/apiservice/etcd/etcd.go | 52 - .../pkg/registry/apiservice/strategy.go | 97 - .../kubernetes/cmd/kube-apiserver/BUILD | 4 +- .../kubernetes/cmd/kube-apiserver/OWNERS | 2 + .../cmd/kube-apiserver/apiserver.go | 6 +- .../kubernetes/cmd/kube-apiserver/app/BUILD | 18 +- .../cmd/kube-apiserver/app/options/BUILD | 4 +- .../cmd/kube-apiserver/app/options/options.go | 41 +- .../app/options/options_test.go | 4 +- .../cmd/kube-apiserver/app/plugins.go | 2 + .../cmd/kube-apiserver/app/preflight/BUILD | 36 + .../kube-apiserver/app/preflight/checks.go | 68 + .../app/preflight/checks_test.go | 96 + .../cmd/kube-apiserver/app/server.go | 504 +- .../cmd/kube-controller-manager/BUILD | 4 +- .../cmd/kube-controller-manager/OWNERS | 1 + .../cmd/kube-controller-manager/app/BUILD | 23 +- .../cmd/kube-controller-manager/app/apps.go | 6 +- .../app/autoscaling.go | 33 +- .../cmd/kube-controller-manager/app/batch.go | 4 +- .../kube-controller-manager/app/bootstrap.go | 35 + .../app/certificates.go | 15 +- .../app/controllermanager.go | 262 +- .../cmd/kube-controller-manager/app/core.go | 40 +- .../kube-controller-manager/app/extensions.go | 19 +- .../kube-controller-manager/app/options/BUILD | 3 +- .../app/options/options.go | 45 +- .../kube-controller-manager/app/plugins.go | 11 +- .../cmd/kube-controller-manager/app/policy.go | 7 +- .../controller-manager.go | 4 +- .../kubernetes/cmd/kube-discovery/BUILD | 38 - .../kubernetes/cmd/kube-discovery/app/BUILD | 44 - .../cmd/kube-discovery/app/handlers.go | 203 - .../cmd/kube-discovery/app/handlers_test.go | 208 - .../cmd/kube-discovery/app/model.go | 24 - .../cmd/kube-discovery/app/routes.go | 55 - .../cmd/kube-discovery/kubediscovery.go | 49 - vendor/k8s.io/kubernetes/cmd/kube-proxy/BUILD | 4 +- .../kubernetes/cmd/kube-proxy/app/BUILD | 8 +- .../cmd/kube-proxy/app/options/BUILD | 5 +- .../cmd/kube-proxy/app/options/options.go | 18 +- .../kubernetes/cmd/kube-proxy/app/server.go | 75 +- .../cmd/kube-proxy/app/server_test.go | 134 - .../k8s.io/kubernetes/cmd/kube-proxy/proxy.go | 6 +- vendor/k8s.io/kubernetes/cmd/kubeadm/BUILD | 2 +- vendor/k8s.io/kubernetes/cmd/kubeadm/OWNERS | 2 +- .../k8s.io/kubernetes/cmd/kubeadm/app/BUILD | 2 + .../cmd/kubeadm/app/apis/kubeadm/BUILD | 1 + .../cmd/kubeadm/app/apis/kubeadm/env.go | 5 - .../cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD | 32 + .../kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go | 51 + .../kubeadm/app/apis/kubeadm/install/BUILD | 14 +- .../app/apis/kubeadm/install/install.go | 2 +- .../app/apis/kubeadm/install/install_test.go | 28 + .../cmd/kubeadm/app/apis/kubeadm/register.go | 5 - .../cmd/kubeadm/app/apis/kubeadm/types.go | 59 +- .../kubeadm/app/apis/kubeadm/v1alpha1/BUILD | 1 + .../app/apis/kubeadm/v1alpha1/defaults.go | 54 +- .../app/apis/kubeadm/v1alpha1/register.go | 5 - .../app/apis/kubeadm/v1alpha1/types.go | 56 +- .../kubeadm/v1alpha1/zz_generated.defaults.go | 5 + .../kubeadm/app/apis/kubeadm/validation/BUILD | 18 + .../app/apis/kubeadm/validation/validation.go | 207 +- .../kubeadm/validation/validation_test.go | 226 + .../kubernetes/cmd/kubeadm/app/cmd/BUILD | 21 +- .../kubernetes/cmd/kubeadm/app/cmd/cmd.go | 19 +- .../cmd/kubeadm/app/cmd/completion.go | 301 + .../cmd/kubeadm/app/cmd/defaults.go | 57 +- .../cmd/kubeadm/app/cmd/flags/BUILD | 28 - .../kubeadm/app/cmd/flags/cloudprovider.go | 70 - .../kubernetes/cmd/kubeadm/app/cmd/init.go | 190 +- .../kubernetes/cmd/kubeadm/app/cmd/join.go | 95 +- .../cmd/kubeadm/app/cmd/phases/BUILD | 43 + .../cmd/kubeadm/app/cmd/phases/certs.go | 99 + .../cmd/kubeadm/app/cmd/phases/kubeconfig.go | 119 + .../cmd/kubeadm/app/cmd/phases/phase.go | 50 + .../kubernetes/cmd/kubeadm/app/cmd/reset.go | 74 +- .../cmd/kubeadm/app/cmd/reset_test.go | 34 +- .../kubernetes/cmd/kubeadm/app/cmd/token.go | 245 +- .../cmd/kubeadm/app/cmd/token_test.go | 2 +- .../cmd/kubeadm/app/constants/BUILD | 1 + .../cmd/kubeadm/app/constants/constants.go | 79 + .../cmd/kubeadm/app/discovery/BUILD | 17 +- .../cmd/kubeadm/app/discovery/discovery.go | 89 +- .../kubeadm/app/discovery/discovery_test.go | 66 + .../cmd/kubeadm/app/discovery/file/BUILD | 12 +- .../cmd/kubeadm/app/discovery/file/file.go | 110 +- .../cmd/kubeadm/app/discovery/flags.go | 92 - .../cmd/kubeadm/app/discovery/flags_test.go | 101 - .../cmd/kubeadm/app/discovery/https/BUILD | 6 +- .../cmd/kubeadm/app/discovery/https/https.go | 30 +- .../cmd/kubeadm/app/discovery/token/BUILD | 25 +- .../cmd/kubeadm/app/discovery/token/token.go | 129 +- .../kubeadm/app/discovery/token/token_test.go | 61 + .../cmd/kubeadm/app/images/images.go | 24 +- .../cmd/kubeadm/app/images/images_test.go | 50 +- .../kubernetes/cmd/kubeadm/app/master/BUILD | 40 +- .../cmd/kubeadm/app/master/addons.go | 303 - .../cmd/kubeadm/app/master/addons_test.go | 115 - .../cmd/kubeadm/app/master/apiclient.go | 231 +- .../cmd/kubeadm/app/master/apiclient_test.go | 201 - .../cmd/kubeadm/app/master/discovery.go | 161 - .../cmd/kubeadm/app/master/discovery_test.go | 49 - .../cmd/kubeadm/app/master/manifests.go | 246 +- .../cmd/kubeadm/app/master/manifests_test.go | 413 +- .../cmd/kubeadm/app/master/selfhosted.go | 87 +- .../cmd/kubeadm/app/master/templates.go | 43 + .../cmd/kubeadm/app/master/tokens.go | 48 - .../kubernetes/cmd/kubeadm/app/node/BUILD | 26 +- .../cmd/kubeadm/app/node/bootstrap.go | 160 - .../cmd/kubeadm/app/node/bootstrap_test.go | 262 - .../kubernetes/cmd/kubeadm/app/node/csr.go | 39 +- .../cmd/kubeadm/app/node/discovery.go | 84 - .../cmd/kubeadm/app/node/discovery_test.go | 99 - .../cmd/kubeadm/app/node/validate.go | 51 + .../cmd/kubeadm/app/node/validate_test.go | 145 + .../cmd/kubeadm/app/phases/addons/BUILD | 51 + .../cmd/kubeadm/app/phases/addons/addons.go | 168 + .../kubeadm/app/phases/addons/addons_test.go | 88 + .../kubeadm/app/phases/addons/manifests.go | 289 + .../cmd/kubeadm/app/phases/apiconfig/BUILD | 16 +- .../app/phases/apiconfig/clusterroles.go | 213 +- .../app/phases/apiconfig/setupmaster.go | 97 + .../cmd/kubeadm/app/phases/certs/BUILD | 1 + .../cmd/kubeadm/app/phases/certs/certs.go | 161 +- .../kubeadm/app/phases/certs/certs_test.go | 62 +- .../cmd/kubeadm/app/phases/certs/doc.go | 16 +- .../app/phases/certs/pkiutil/pki_helpers.go | 113 +- .../phases/certs/pkiutil/pki_helpers_test.go | 288 +- .../cmd/kubeadm/app/phases/kubeconfig/BUILD | 10 +- .../cmd/kubeadm/app/phases/kubeconfig/doc.go | 4 +- .../app/phases/kubeconfig/kubeconfig.go | 230 +- .../cmd/kubeadm/app/phases/token/BUILD | 47 + .../cmd/kubeadm/app/phases/token/bootstrap.go | 146 + .../app/phases/token/bootstrap_test.go | 59 + .../cmd/kubeadm/app/preflight/BUILD | 9 +- .../cmd/kubeadm/app/preflight/checks.go | 223 +- .../cmd/kubeadm/app/preflight/checks_test.go | 270 + .../kubernetes/cmd/kubeadm/app/util/BUILD | 26 +- .../cmd/kubeadm/app/util/kubeconfig/BUILD | 41 + .../kubeadm/app/util/kubeconfig/kubeconfig.go | 113 + .../kubeconfig/kubeconfig_test.go | 24 +- .../cmd/kubeadm/app/util/template.go | 36 + .../cmd/kubeadm/app/util/template_test.go | 90 + .../cmd/kubeadm/app/util/token/BUILD | 37 + .../cmd/kubeadm/app/util/token/tokens.go | 97 + .../cmd/kubeadm/app/util/token/tokens_test.go | 173 + .../kubernetes/cmd/kubeadm/app/util/tokens.go | 194 - .../cmd/kubeadm/app/util/tokens_test.go | 143 - .../cmd/kubeadm/app/util/version_test.go | 2 +- .../k8s.io/kubernetes/cmd/kubeadm/test/BUILD | 41 - .../kubernetes/cmd/kubeadm/test/cmd/BUILD | 45 + .../cmd/kubeadm/test/cmd/init_test.go | 139 + .../cmd/kubeadm/test/cmd/join_test.go | 48 + .../cmd/kubeadm/test/cmd/token_test.go | 100 + .../cmd/kubeadm/test/{ => cmd}/util.go | 0 .../kubernetes/cmd/kubeadm/test/token_test.go | 67 - .../k8s.io/kubernetes/cmd/kubectl/app/BUILD | 1 + .../kubernetes/cmd/kubectl/app/kubectl.go | 1 + vendor/k8s.io/kubernetes/cmd/kubelet/BUILD | 4 +- .../k8s.io/kubernetes/cmd/kubelet/app/BUILD | 25 +- .../k8s.io/kubernetes/cmd/kubelet/app/auth.go | 17 +- .../kubernetes/cmd/kubelet/app/bootstrap.go | 24 +- .../kubernetes/cmd/kubelet/app/clientgo.go | 120 - .../kubernetes/cmd/kubelet/app/options/BUILD | 5 +- .../cmd/kubelet/app/options/options.go | 59 +- .../kubernetes/cmd/kubelet/app/plugins.go | 6 + .../kubernetes/cmd/kubelet/app/server.go | 213 +- .../kubernetes/cmd/kubelet/app/server_test.go | 25 +- .../k8s.io/kubernetes/cmd/kubelet/kubelet.go | 6 +- vendor/k8s.io/kubernetes/cmd/kubemark/BUILD | 8 +- vendor/k8s.io/kubernetes/cmd/kubemark/OWNERS | 8 + .../kubernetes/cmd/kubemark/hollow-node.go | 26 +- .../libs/go2idl/client-gen/generators/BUILD | 2 + .../client-gen/generators/client_generator.go | 107 +- .../go2idl/client-gen/generators/fake/BUILD | 1 + .../generators/fake/fake_client_generator.go | 50 +- .../fake/generator_fake_for_clientset.go | 47 +- .../fake/generator_fake_for_group.go | 22 +- .../fake/generator_fake_for_type.go | 44 +- .../generators/generator_for_clientset.go | 40 +- .../generators/generator_for_expansion.go | 4 +- .../generators/generator_for_group.go | 98 +- .../generators/generator_for_type.go | 47 +- .../go2idl/client-gen/generators/scheme/BUILD | 33 + .../generators/scheme/generator_for_scheme.go | 182 + .../cmd/libs/go2idl/client-gen/main.go | 7 +- .../test_apis/testgroup/install/BUILD | 7 +- .../test_apis/testgroup/install/install.go | 105 +- .../test_internalclientset/BUILD | 4 +- .../test_internalclientset/clientset.go | 21 +- .../test_internalclientset/doc.go | 2 +- .../test_internalclientset/fake/BUILD | 14 +- .../fake/clientset_generated.go | 25 +- .../test_internalclientset/fake/doc.go | 2 +- .../test_internalclientset/fake/register.go | 46 + .../test_internalclientset/scheme/BUILD | 39 + .../test_internalclientset/scheme/doc.go | 20 + .../test_internalclientset/scheme/register.go | 46 + .../typed/testgroup/internalversion/BUILD | 2 +- .../typed/testgroup/internalversion/doc.go | 2 +- .../testgroup/internalversion/fake/BUILD | 2 +- .../testgroup/internalversion/fake/doc.go | 2 +- .../fake/fake_testgroup_client.go | 4 +- .../internalversion/fake/fake_testtype.go | 22 +- .../internalversion/testgroup_client.go | 13 +- .../testgroup/internalversion/testtype.go | 12 +- .../libs/go2idl/client-gen/types/helpers.go | 15 +- .../cmd/libs/go2idl/client-gen/types/types.go | 5 + .../conversion-gen/generators/conversion.go | 50 +- .../go2idl/go-to-protobuf/protobuf/cmd.go | 10 +- .../go2idl/informer-gen/generators/factory.go | 57 +- .../generators/factoryinterface.go | 24 +- .../informer-gen/generators/informer.go | 17 +- .../informer-gen/generators/packages.go | 68 +- .../go2idl/informer-gen/generators/types.go | 16 +- .../libs/go2idl/lister-gen/generators/BUILD | 1 - .../go2idl/lister-gen/generators/lister.go | 12 +- .../cmd/libs/go2idl/openapi-gen/README | 9 + .../go2idl/openapi-gen/generators/openapi.go | 90 +- .../openapi-gen/generators/openapi_test.go | 33 +- .../kubernetes/{ => docs}/.generated_docs | 17 +- vendor/k8s.io/kubernetes/docs/OWNERS | 1 + .../docs/admin/federation-apiserver.md | 5 - .../admin/federation-controller-manager.md | 5 - .../kubernetes/docs/admin/kube-apiserver.md | 5 - .../docs/admin/kube-controller-manager.md | 5 - .../kubernetes/docs/admin/kube-proxy.md | 5 - .../kubernetes/docs/admin/kube-scheduler.md | 5 - .../k8s.io/kubernetes/docs/admin/kubelet.md | 5 - .../apps/v1beta1/definitions.html | 4162 +- .../apps/v1beta1/operations.html | 2642 +- .../authentication.k8s.io/v1/definitions.html | 928 + .../authentication.k8s.io/v1/operations.html | 565 + .../v1beta1/definitions.html | 16 +- .../authorization.k8s.io/v1/definitions.html | 1189 + .../authorization.k8s.io/v1/operations.html | 795 + .../v1beta1/definitions.html | 16 +- .../autoscaling/v1/definitions.html | 29 +- .../autoscaling/v1/operations.html | 12 +- .../autoscaling/v2alpha1/definitions.html | 508 + .../autoscaling/v2alpha1/operations.html | 454 + .../api-reference/batch/v1/definitions.html | 842 +- .../api-reference/batch/v1/operations.html | 12 +- .../batch/v2alpha1/definitions.html | 9 +- .../v1beta1/definitions.html | 44 +- .../v1beta1/operations.html | 12 +- .../extensions/v1beta1/definitions.html | 1372 +- .../extensions/v1beta1/operations.html | 11016 ++--- .../policy/v1beta1/definitions.html | 29 +- .../policy/v1beta1/operations.html | 12 +- .../v1alpha1/definitions.html | 973 +- .../v1alpha1/operations.html | 42 +- .../v1beta1/definitions.html | 33 +- .../v1beta1/operations.html | 42 +- .../settings.k8s.io/v1alpha1/definitions.html | 3806 ++ .../settings.k8s.io/v1alpha1/operations.html | 2047 + .../storage.k8s.io/v1/definitions.html | 1245 + .../storage.k8s.io/v1/operations.html | 1677 + .../storage.k8s.io/v1beta1/definitions.html | 29 +- .../storage.k8s.io/v1beta1/operations.html | 12 +- .../docs/api-reference/v1/definitions.html | 740 +- .../docs/api-reference/v1/operations.html | 3842 +- .../kubernetes/docs/devel/pull-requests.md | 2 +- .../docs/getting-started-guides/docker.md | 2 +- ...map.1 => kubectl-apply-set-last-applied.1} | 0 .../man1/kubectl-apply-view-last-applied.1 | 3 + .../docs/man/man1/kubectl-auth-can-i.1 | 3 + .../kubernetes/docs/man/man1/kubectl-auth.1 | 3 + .../man/man1/kubectl-create-clusterrole.1 | 3 + .../docs/man/man1/kubectl-create-role.1 | 3 + .../docs/reporting-security-issues.md | 25 +- .../docs/user-guide/kubectl/kubectl.md | 4 - .../user-guide/kubectl/kubectl_annotate.md | 4 - .../kubectl/kubectl_api-versions.md | 4 - .../docs/user-guide/kubectl/kubectl_apply.md | 4 - .../kubectl/kubectl_apply_set-last-applied.md | 3 + .../kubectl_apply_view-last-applied.md | 3 + .../docs/user-guide/kubectl/kubectl_attach.md | 4 - .../docs/user-guide/kubectl/kubectl_auth.md | 3 + .../user-guide/kubectl/kubectl_auth_can-i.md | 3 + .../user-guide/kubectl/kubectl_autoscale.md | 4 - .../user-guide/kubectl/kubectl_certificate.md | 4 - .../kubectl/kubectl_certificate_approve.md | 4 - .../kubectl/kubectl_certificate_deny.md | 4 - .../kubectl/kubectl_cluster-info.md | 4 - .../kubectl/kubectl_cluster-info_dump.md | 4 - .../user-guide/kubectl/kubectl_completion.md | 4 - .../docs/user-guide/kubectl/kubectl_config.md | 4 - .../kubectl/kubectl_config_current-context.md | 4 - .../kubectl/kubectl_config_delete-cluster.md | 4 - .../kubectl/kubectl_config_delete-context.md | 4 - .../kubectl/kubectl_config_get-clusters.md | 4 - .../kubectl/kubectl_config_get-contexts.md | 4 - .../kubectl/kubectl_config_set-cluster.md | 4 - .../kubectl/kubectl_config_set-context.md | 4 - .../kubectl/kubectl_config_set-credentials.md | 4 - .../user-guide/kubectl/kubectl_config_set.md | 4 - .../kubectl/kubectl_config_unset.md | 4 - .../kubectl/kubectl_config_use-context.md | 4 - .../user-guide/kubectl/kubectl_config_view.md | 4 - .../user-guide/kubectl/kubectl_convert.md | 4 - .../docs/user-guide/kubectl/kubectl_cordon.md | 4 - .../docs/user-guide/kubectl/kubectl_cp.md | 4 - .../docs/user-guide/kubectl/kubectl_create.md | 4 - .../kubectl/kubectl_create_clusterrole.md | 3 + .../kubectl_create_clusterrolebinding.md | 4 - .../kubectl/kubectl_create_configmap.md | 4 - .../kubectl/kubectl_create_deployment.md | 4 - .../kubectl/kubectl_create_namespace.md | 4 - .../kubectl_create_poddisruptionbudget.md | 4 - .../kubectl/kubectl_create_quota.md | 4 - .../user-guide/kubectl/kubectl_create_role.md | 3 + .../kubectl/kubectl_create_rolebinding.md | 4 - .../kubectl/kubectl_create_secret.md | 4 - .../kubectl_create_secret_docker-registry.md | 4 - .../kubectl/kubectl_create_secret_generic.md | 4 - .../kubectl/kubectl_create_secret_tls.md | 4 - .../kubectl/kubectl_create_service.md | 4 - .../kubectl_create_service_clusterip.md | 4 - .../kubectl_create_service_externalname.md | 4 - .../kubectl_create_service_loadbalancer.md | 4 - .../kubectl_create_service_nodeport.md | 4 - .../kubectl/kubectl_create_serviceaccount.md | 4 - .../docs/user-guide/kubectl/kubectl_delete.md | 4 - .../user-guide/kubectl/kubectl_describe.md | 4 - .../docs/user-guide/kubectl/kubectl_drain.md | 4 - .../docs/user-guide/kubectl/kubectl_edit.md | 4 - .../kubectl/kubectl_edit_configmap.md | 7 - .../docs/user-guide/kubectl/kubectl_exec.md | 4 - .../user-guide/kubectl/kubectl_explain.md | 4 - .../docs/user-guide/kubectl/kubectl_expose.md | 4 - .../docs/user-guide/kubectl/kubectl_get.md | 4 - .../docs/user-guide/kubectl/kubectl_label.md | 4 - .../docs/user-guide/kubectl/kubectl_logs.md | 4 - .../user-guide/kubectl/kubectl_options.md | 4 - .../docs/user-guide/kubectl/kubectl_patch.md | 4 - .../kubectl/kubectl_port-forward.md | 4 - .../docs/user-guide/kubectl/kubectl_proxy.md | 4 - .../user-guide/kubectl/kubectl_replace.md | 4 - .../kubectl/kubectl_rolling-update.md | 4 - .../user-guide/kubectl/kubectl_rollout.md | 4 - .../kubectl/kubectl_rollout_history.md | 4 - .../kubectl/kubectl_rollout_pause.md | 4 - .../kubectl/kubectl_rollout_resume.md | 4 - .../kubectl/kubectl_rollout_status.md | 4 - .../kubectl/kubectl_rollout_undo.md | 4 - .../docs/user-guide/kubectl/kubectl_run.md | 4 - .../docs/user-guide/kubectl/kubectl_scale.md | 4 - .../docs/user-guide/kubectl/kubectl_set.md | 4 - .../user-guide/kubectl/kubectl_set_image.md | 4 - .../kubectl/kubectl_set_resources.md | 4 - .../kubectl/kubectl_set_selector.md | 4 - .../docs/user-guide/kubectl/kubectl_taint.md | 4 - .../docs/user-guide/kubectl/kubectl_top.md | 4 - .../user-guide/kubectl/kubectl_top_node.md | 4 - .../user-guide/kubectl/kubectl_top_pod.md | 4 - .../user-guide/kubectl/kubectl_uncordon.md | 4 - .../user-guide/kubectl/kubectl_version.md | 4 - .../docs/yaml/kubectl/kubectl_auth.yaml | 3 + vendor/k8s.io/kubernetes/examples/BUILD | 1 - .../kubernetes/examples/apiserver/BUILD | 47 - .../kubernetes/examples/apiserver/README.md | 22 - .../examples/apiserver/apiserver.go | 159 - .../kubernetes/examples/apiserver/rest/BUILD | 40 - .../examples/apiserver/rest/reststorage.go | 91 - .../examples/apiserver/server/BUILD | 41 - .../examples/apiserver/server/main.go | 43 - .../kubernetes/examples/cockroachdb/OWNERS | 4 + .../kubernetes/examples/cockroachdb/README.md | 2 +- .../cockroachdb/cockroachdb-statefulset.yaml | 39 +- .../examples/cockroachdb/minikube.sh | 2 +- .../kubernetes/examples/examples_test.go | 2 +- .../kubernetes/examples/guestbook/README.md | 32 +- .../k8s.io/kubernetes/examples/oms/README.md | 61 + .../oms/images/connected-resources.png | Bin 0 -> 158769 bytes .../oms/images/oms-container-solution.png | Bin 0 -> 401254 bytes .../examples/oms/images/oms-portal.png | Bin 0 -> 299923 bytes .../examples/oms/omsagent-daemonset.yaml | 30 + .../openshift-controller.yaml | 24 +- .../persistent-volume-provisioning/README.md | 62 +- .../aws-ebs.yaml | 2 +- .../claim1.json | 8 +- .../gce-pd.yaml | 2 +- .../glusterfs-dp.yaml | 2 +- .../quobyte/quobyte-storage-class.yaml | 2 +- .../rbd/rbd-storage-class.yaml | 2 +- .../podsecuritypolicy/rbac/bindings.yaml | 16 +- .../podsecuritypolicy/rbac/roles.yaml | 4 +- ...scheduler-policy-config-with-extender.json | 3 +- .../kubernetes/examples/selenium/README.md | 10 +- .../examples/storage/cassandra/README.md | 35 +- .../cassandra/cassandra-controller.yaml | 2 +- .../cassandra/cassandra-daemonset.yaml | 2 +- .../cassandra/cassandra-statefulset.yaml | 16 +- .../storage/cassandra/image/Dockerfile | 142 +- .../examples/storage/cassandra/image/Makefile | 18 +- .../cassandra/image/files/cassandra.list | 2 - .../cassandra/image/files/cassandra.yaml | 2 +- .../storage/cassandra/image/files/java.list | 2 - .../image/files/kubernetes-cassandra.jar | Bin 9843 -> 9841 bytes .../cassandra/image/files/ready-probe.sh | 4 +- .../storage/cassandra/image/files/run.sh | 7 +- .../examples/storage/hazelcast/README.md | 218 +- .../hazelcast/hazelcast-controller.yaml | 31 - .../hazelcast/hazelcast-deployment.yaml | 26 + .../storage/hazelcast/image/Dockerfile | 24 - .../examples/volumes/flexvolume/README.md | 85 +- .../examples/volumes/flexvolume/lvm | 77 +- .../examples/volumes/flexvolume/nfs | 120 + .../volumes/flexvolume/nginx-nfs.yaml | 22 + .../examples/volumes/flexvolume/nginx.yaml | 2 +- .../examples/volumes/iscsi/README.md | 17 +- .../examples/volumes/iscsi/iscsi.yaml | 15 +- .../examples/volumes/portworx/README.md | 370 + .../volumes/portworx/portworx-volume-pod.yaml | 16 + .../volumes/portworx/portworx-volume-pv.yaml | 12 + .../volumes/portworx/portworx-volume-pvc.yaml | 10 + .../portworx/portworx-volume-pvcpod.yaml | 15 + .../portworx/portworx-volume-pvcsc.yaml | 12 + .../portworx/portworx-volume-pvcscpod.yaml | 15 + .../portworx/portworx-volume-sc-high.yaml | 9 + .../examples/volumes/scaleio/README.md | 302 + .../examples/volumes/scaleio/pod-sc-pvc.yaml | 15 + .../examples/volumes/scaleio/pod.yaml | 20 + .../examples/volumes/scaleio/sc-pvc.yaml | 12 + .../examples/volumes/scaleio/sc.yaml | 11 + .../examples/volumes/scaleio/secret.yaml | 8 + .../examples/volumes/vsphere/README.md | 23 +- .../vsphere/vsphere-volume-pvcpod.yaml | 4 +- .../vsphere/vsphere-volume-pvcscpod.yaml | 4 +- .../vsphere-volume-sc-with-datastore.yaml | 8 + vendor/k8s.io/kubernetes/federation/OWNERS | 3 + .../kubernetes/federation/apis/core/BUILD | 5 +- .../federation/apis/core/conversion.go | 42 - .../federation/apis/core/register.go | 2 +- .../federation/apis/federation/install/BUILD | 7 +- .../apis/federation/install/install.go | 123 +- .../apis/federation/install/install_test.go | 2 + .../apis/federation/v1beta1/generated.pb.go | 104 +- .../apis/federation/v1beta1/generated.proto | 4 +- .../v1beta1/zz_generated.conversion.go | 12 +- .../federation/apis/openapi-spec/swagger.json | 9652 ++-- .../apis/swagger-spec/extensions_v1beta1.json | 347 +- .../apis/swagger-spec/federation_v1beta1.json | 31 +- .../apis/swagger-spec/resourceListing.json | 20 - .../federation/apis/swagger-spec/v1.json | 71 +- .../kubernetes/federation/client/cache/BUILD | 2 +- .../federation/client/cache/cluster_cache.go | 2 +- .../federation_clientset/BUILD | 4 +- .../federation_clientset/clientset.go | 97 +- .../federation_clientset/doc.go | 2 +- .../federation_clientset/fake/BUILD | 18 +- .../fake/clientset_generated.go | 77 +- .../federation_clientset/fake/doc.go | 2 +- .../federation_clientset/fake/register.go | 54 + .../federation_clientset/scheme/BUILD | 41 + .../federation_clientset/scheme/doc.go | 20 + .../federation_clientset/scheme/register.go | 61 + .../typed/autoscaling/v1/BUILD | 3 +- .../autoscaling/v1/autoscaling_client.go | 21 +- .../typed/autoscaling/v1/doc.go | 2 +- .../typed/autoscaling/v1/fake/BUILD | 2 +- .../typed/autoscaling/v1/fake/doc.go | 2 +- .../v1/fake/fake_autoscaling_client.go | 4 +- .../v1/fake/fake_horizontalpodautoscaler.go | 22 +- .../autoscaling/v1/horizontalpodautoscaler.go | 12 +- .../federation_clientset/typed/batch/v1/BUILD | 3 +- .../typed/batch/v1/batch_client.go | 21 +- .../typed/batch/v1/doc.go | 2 +- .../typed/batch/v1/fake/BUILD | 2 +- .../typed/batch/v1/fake/doc.go | 2 +- .../typed/batch/v1/fake/fake_batch_client.go | 4 +- .../typed/batch/v1/fake/fake_job.go | 22 +- .../typed/batch/v1/job.go | 12 +- .../federation_clientset/typed/core/v1/BUILD | 3 +- .../typed/core/v1/configmap.go | 12 +- .../typed/core/v1/core_client.go | 21 +- .../federation_clientset/typed/core/v1/doc.go | 2 +- .../typed/core/v1/event.go | 12 +- .../typed/core/v1/fake/BUILD | 2 +- .../typed/core/v1/fake/doc.go | 2 +- .../typed/core/v1/fake/fake_configmap.go | 20 +- .../typed/core/v1/fake/fake_core_client.go | 4 +- .../typed/core/v1/fake/fake_event.go | 20 +- .../typed/core/v1/fake/fake_namespace.go | 22 +- .../core/v1/fake/fake_namespace_expansion.go | 2 +- .../typed/core/v1/fake/fake_secret.go | 20 +- .../typed/core/v1/fake/fake_service.go | 22 +- .../typed/core/v1/namespace.go | 12 +- .../typed/core/v1/secret.go | 12 +- .../typed/core/v1/service.go | 12 +- .../typed/extensions/v1beta1/BUILD | 3 +- .../typed/extensions/v1beta1/daemonset.go | 12 +- .../typed/extensions/v1beta1/deployment.go | 12 +- .../typed/extensions/v1beta1/doc.go | 2 +- .../extensions/v1beta1/extensions_client.go | 21 +- .../typed/extensions/v1beta1/fake/BUILD | 2 +- .../typed/extensions/v1beta1/fake/doc.go | 2 +- .../extensions/v1beta1/fake/fake_daemonset.go | 22 +- .../v1beta1/fake/fake_deployment.go | 22 +- .../v1beta1/fake/fake_deployment_expansion.go | 2 +- .../v1beta1/fake/fake_extensions_client.go | 4 +- .../extensions/v1beta1/fake/fake_ingress.go | 22 +- .../v1beta1/fake/fake_replicaset.go | 22 +- .../typed/extensions/v1beta1/ingress.go | 12 +- .../typed/extensions/v1beta1/replicaset.go | 12 +- .../typed/federation/v1beta1/BUILD | 3 +- .../typed/federation/v1beta1/cluster.go | 12 +- .../typed/federation/v1beta1/doc.go | 2 +- .../typed/federation/v1beta1/fake/BUILD | 2 +- .../typed/federation/v1beta1/fake/doc.go | 2 +- .../federation/v1beta1/fake/fake_cluster.go | 22 +- .../v1beta1/fake/fake_federation_client.go | 4 +- .../federation/v1beta1/federation_client.go | 21 +- .../federation_internalclientset/BUILD | 6 +- .../federation_internalclientset/clientset.go | 81 +- .../federation_internalclientset/doc.go | 2 +- .../federation_internalclientset/fake/BUILD | 18 +- .../fake/clientset_generated.go | 57 +- .../federation_internalclientset/fake/doc.go | 2 +- .../fake/register.go | 54 + .../import_known_versions.go | 25 - .../federation_internalclientset/scheme/BUILD | 43 + .../scheme/doc.go | 20 + .../scheme/register.go | 54 + .../typed/autoscaling/internalversion/BUILD | 2 +- .../internalversion/autoscaling_client.go | 13 +- .../typed/autoscaling/internalversion/doc.go | 2 +- .../autoscaling/internalversion/fake/BUILD | 2 +- .../autoscaling/internalversion/fake/doc.go | 2 +- .../fake/fake_autoscaling_client.go | 4 +- .../fake/fake_horizontalpodautoscaler.go | 22 +- .../horizontalpodautoscaler.go | 12 +- .../typed/batch/internalversion/BUILD | 2 +- .../batch/internalversion/batch_client.go | 13 +- .../typed/batch/internalversion/doc.go | 2 +- .../typed/batch/internalversion/fake/BUILD | 2 +- .../typed/batch/internalversion/fake/doc.go | 2 +- .../internalversion/fake/fake_batch_client.go | 4 +- .../batch/internalversion/fake/fake_job.go | 22 +- .../typed/batch/internalversion/job.go | 12 +- .../typed/core/internalversion/BUILD | 1 + .../typed/core/internalversion/configmap.go | 11 +- .../typed/core/internalversion/core_client.go | 13 +- .../typed/core/internalversion/doc.go | 2 +- .../typed/core/internalversion/event.go | 11 +- .../typed/core/internalversion/fake/BUILD | 2 +- .../typed/core/internalversion/fake/doc.go | 2 +- .../internalversion/fake/fake_configmap.go | 20 +- .../internalversion/fake/fake_core_client.go | 4 +- .../core/internalversion/fake/fake_event.go | 20 +- .../internalversion/fake/fake_namespace.go | 22 +- .../fake/fake_namespace_expansion.go | 2 +- .../core/internalversion/fake/fake_secret.go | 20 +- .../core/internalversion/fake/fake_service.go | 22 +- .../typed/core/internalversion/namespace.go | 11 +- .../typed/core/internalversion/secret.go | 11 +- .../typed/core/internalversion/service.go | 11 +- .../typed/extensions/internalversion/BUILD | 2 +- .../extensions/internalversion/daemonset.go | 12 +- .../extensions/internalversion/deployment.go | 12 +- .../typed/extensions/internalversion/doc.go | 2 +- .../internalversion/extensions_client.go | 13 +- .../extensions/internalversion/fake/BUILD | 2 +- .../extensions/internalversion/fake/doc.go | 2 +- .../internalversion/fake/fake_daemonset.go | 22 +- .../internalversion/fake/fake_deployment.go | 22 +- .../fake/fake_extensions_client.go | 4 +- .../internalversion/fake/fake_ingress.go | 22 +- .../internalversion/fake/fake_replicaset.go | 22 +- .../extensions/internalversion/ingress.go | 12 +- .../extensions/internalversion/replicaset.go | 12 +- .../typed/federation/internalversion/BUILD | 2 +- .../federation/internalversion/cluster.go | 12 +- .../typed/federation/internalversion/doc.go | 2 +- .../federation/internalversion/fake/BUILD | 2 +- .../federation/internalversion/fake/doc.go | 2 +- .../internalversion/fake/fake_cluster.go | 22 +- .../fake/fake_federation_client.go | 4 +- .../internalversion/federation_client.go | 13 +- .../kubernetes/federation/cluster/common.sh | 74 +- .../federation/cluster/federation-down.sh | 52 +- .../federation/cluster/federation-up.sh | 97 +- .../kubernetes/federation/cluster/upgrade.sh | 46 + .../federation/cmd/federation-apiserver/BUILD | 5 +- .../cmd/federation-apiserver/OWNERS | 2 + .../cmd/federation-apiserver/apiserver.go | 7 +- .../cmd/federation-apiserver/app/BUILD | 16 +- .../federation-apiserver/app/autoscaling.go | 6 +- .../cmd/federation-apiserver/app/batch.go | 6 +- .../cmd/federation-apiserver/app/core.go | 6 +- .../federation-apiserver/app/extensions.go | 6 +- .../federation-apiserver/app/federation.go | 6 +- .../federation-apiserver/app/options/BUILD | 5 +- .../app/options/options.go | 33 +- .../cmd/federation-apiserver/app/server.go | 315 +- .../cmd/federation-controller-manager/BUILD | 4 +- .../federation-controller-manager/app/BUILD | 7 +- .../app/controllermanager.go | 97 +- .../app/controllermanager_test.go | 10 +- .../app/options/BUILD | 2 +- .../app/options/options.go | 15 +- .../controller-manager.go | 4 +- .../kubernetes/federation/develop/develop.sh | 12 +- .../kubernetes/federation/develop/kubefed.sh | 48 + .../develop}/push-federation-images.sh | 2 +- .../extensions/v1beta1/definitions.html | 917 +- .../extensions/v1beta1/operations.html | 42 +- .../federation/v1beta1/definitions.html | 31 +- .../federation/v1beta1/operations.html | 12 +- .../docs/api-reference/v1/definitions.html | 110 +- .../docs/api-reference/v1/operations.html | 52 +- .../federation-apiserver-deployment.yaml | 2 +- .../federation/pkg/dnsprovider/dns.go | 12 +- .../dnsprovider/providers/aws/route53/BUILD | 4 +- .../providers/aws/route53/route53.go | 34 +- .../providers/aws/route53/rrchangeset.go | 33 + .../providers/aws/route53/rrset.go | 9 + .../providers/aws/route53/rrsets.go | 5 + .../dnsprovider/providers/aws/route53/zone.go | 9 + .../providers/aws/route53/zones.go | 2 +- .../providers/coredns/rrchangeset.go | 32 +- .../dnsprovider/providers/coredns/rrsets.go | 5 + .../providers/google/clouddns/internal/BUILD | 2 +- .../internal/managed_zones_service.go | 2 +- .../providers/google/clouddns/rrchangeset.go | 50 + .../providers/google/clouddns/rrsets.go | 5 + .../pkg/federation-controller/cluster/BUILD | 6 +- .../cluster/cluster_client.go | 2 +- .../cluster/clustercontroller.go | 2 +- .../cluster/clustercontroller_test.go | 2 +- .../pkg/federation-controller/configmap/BUILD | 10 +- .../configmap/configmap_controller.go | 143 +- .../configmap/configmap_controller_test.go | 91 +- .../pkg/federation-controller/daemonset/BUILD | 7 +- .../daemonset/daemonset_controller.go | 30 +- .../daemonset/daemonset_controller_test.go | 40 +- .../federation-controller/deployment/BUILD | 8 +- .../deployment/deploymentcontroller.go | 30 +- .../deployment/deploymentcontroller_test.go | 33 +- .../pkg/federation-controller/ingress/BUILD | 7 +- .../ingress/ingress_controller.go | 81 +- .../ingress/ingress_controller_test.go | 128 +- .../pkg/federation-controller/namespace/BUILD | 13 +- .../namespace/namespace_controller.go | 81 +- .../namespace/namespace_controller_test.go | 80 +- .../federation-controller/replicaset/BUILD | 14 +- .../replicaset/replicasetcontroller.go | 58 +- .../replicaset/replicasetcontroller_test.go | 27 +- .../pkg/federation-controller/secret/BUILD | 6 +- .../secret/secret_controller.go | 21 +- .../secret/secret_controller_test.go | 41 +- .../pkg/federation-controller/service/BUILD | 10 +- .../service/cluster_helper.go | 19 +- .../pkg/federation-controller/service/dns.go | 4 +- .../service/endpoint_helper.go | 30 +- .../service/service_helper.go | 36 +- .../service/servicecontroller.go | 97 +- .../pkg/federation-controller/util/BUILD | 6 +- .../util/deletionhelper/BUILD | 4 +- .../util/deletionhelper/deletion_helper.go | 29 +- .../util/eventsink/BUILD | 10 +- .../util/eventsink/eventsink.go | 92 +- .../util/eventsink/eventsink_test.go | 11 +- .../util/federated_informer.go | 6 +- .../util/federated_informer_test.go | 4 +- .../federation-controller/util/handlers.go | 2 +- .../pkg/federation-controller/util/test/BUILD | 2 +- .../util/test/test_helper.go | 14 +- .../kubernetes/federation/pkg/kubefed/BUILD | 12 +- .../federation/pkg/kubefed/init/BUILD | 20 +- .../federation/pkg/kubefed/init/init.go | 698 +- .../federation/pkg/kubefed/init/init_test.go | 751 +- .../kubernetes/federation/pkg/kubefed/join.go | 188 +- .../federation/pkg/kubefed/join_test.go | 95 +- .../federation/pkg/kubefed/kubefed.go | 2 +- .../federation/pkg/kubefed/testing/testing.go | 19 +- .../federation/pkg/kubefed/unjoin.go | 147 +- .../federation/pkg/kubefed/unjoin_test.go | 74 +- .../federation/pkg/kubefed/util/BUILD | 6 + .../federation/pkg/kubefed/util/util.go | 158 +- .../federation/registry/cluster/BUILD | 6 +- .../federation/registry/cluster/etcd/BUILD | 12 +- .../federation/registry/cluster/etcd/etcd.go | 10 +- .../registry/cluster/etcd/etcd_test.go | 4 +- .../federation/registry/cluster/registry.go | 4 +- .../federation/registry/cluster/strategy.go | 4 +- .../k8s.io/kubernetes/hack/.linted_packages | 205 +- vendor/k8s.io/kubernetes/hack/BUILD | 11 + vendor/k8s.io/kubernetes/hack/OWNERS | 5 +- vendor/k8s.io/kubernetes/hack/build-ui.sh | 2 +- .../kubernetes/hack/e2e-internal/e2e-down.sh | 16 +- .../kubernetes/hack/e2e-internal/e2e-up.sh | 29 +- vendor/k8s.io/kubernetes/hack/e2e.go | 1016 +- vendor/k8s.io/kubernetes/hack/e2e_test.go | 351 + .../kubernetes/hack/federated-ginkgo-e2e.sh | 10 +- .../k8s.io/kubernetes/hack/generate-docs.sh | 6 +- .../k8s.io/kubernetes/hack/godep-restore.sh | 29 + vendor/k8s.io/kubernetes/hack/godep-save.sh | 14 +- .../hack/jenkins/build-federation.sh | 25 + .../hack/jenkins/test-dockerized.sh | 1 + .../hack/jenkins/verify-dockerized.sh | 2 +- vendor/k8s.io/kubernetes/hack/lib/etcd.sh | 7 +- vendor/k8s.io/kubernetes/hack/lib/golang.sh | 98 +- vendor/k8s.io/kubernetes/hack/lib/init.sh | 9 +- vendor/k8s.io/kubernetes/hack/lib/test.sh | 115 +- vendor/k8s.io/kubernetes/hack/lib/util.sh | 91 +- vendor/k8s.io/kubernetes/hack/lib/version.sh | 1 + .../kubernetes/hack/local-up-cluster.sh | 159 +- .../kubernetes/hack/local-up-discovery.sh | 105 - .../kubernetes/hack/make-rules/make-help.sh | 4 +- .../hack/make-rules/test-cmd-util.sh | 544 +- .../kubernetes/hack/make-rules/test-cmd.sh | 59 +- .../hack/make-rules/test-e2e-node.sh | 9 +- .../hack/make-rules/test-federation-cmd.sh | 14 +- .../hack/make-rules/test-kubeadm-cmd.sh | 2 +- .../k8s.io/kubernetes/hack/make-rules/test.sh | 8 +- .../kubernetes/hack/make-rules/verify.sh | 7 +- .../kubernetes/hack/print-workspace-status.sh | 43 + .../hack/test-update-storage-objects.sh | 13 +- .../kubernetes/hack/testdata/TPR/bar.yaml | 8 + .../hack/testdata/TPR/foo-added-subfield.yaml | 11 + .../testdata/TPR/foo-deleted-subfield.yaml | 10 + .../testdata/TPR/foo-updated-subfield.yaml | 11 + .../kubernetes/hack/testdata/TPR/foo.yaml | 11 + .../TPR/multi-tpr-list-added-field.yaml | 19 + .../TPR/multi-tpr-list-deleted-field.yaml | 17 + .../TPR/multi-tpr-list-updated-field.yaml | 19 + .../hack/testdata/TPR/multi-tpr-list.yaml | 19 + .../null-propagation/deployment-l1.yaml | 13 + .../null-propagation/deployment-l2.yaml | 17 + vendor/k8s.io/kubernetes/hack/update-all.sh | 47 +- vendor/k8s.io/kubernetes/hack/update-bazel.sh | 17 +- .../k8s.io/kubernetes/hack/update-codegen.sh | 4 +- .../kubernetes/hack/update-generated-docs.sh | 6 +- vendor/k8s.io/kubernetes/hack/update-gofmt.sh | 3 +- .../kubernetes/hack/update-munge-docs.sh | 73 - .../hack/update-staging-client-go.sh | 16 +- .../kubernetes/hack/update-staging-godeps.sh | 107 + .../kubernetes/hack/update-translations.sh | 76 + .../k8s.io/kubernetes/hack/update_owners.py | 21 +- vendor/k8s.io/kubernetes/hack/verify-bazel.sh | 4 +- .../k8s.io/kubernetes/hack/verify-codegen.sh | 2 +- .../kubernetes/hack/verify-flags/OWNERS | 4 + .../hack/verify-flags/exceptions.txt | 59 +- .../hack/verify-flags/known-flags.txt | 159 +- .../kubernetes/hack/verify-generated-docs.sh | 8 +- .../hack/verify-generated-protobuf.sh | 2 +- .../k8s.io/kubernetes/hack/verify-godeps.sh | 19 +- vendor/k8s.io/kubernetes/hack/verify-gofmt.sh | 20 +- .../kubernetes/hack/verify-pkg-names.sh | 2 +- .../hack/verify-readonly-packages.sh | 3 +- .../hack/verify-staging-client-go.sh | 9 +- .../kubernetes/hack/verify-staging-godeps.sh | 22 + .../kubernetes/hack/verify-staging-imports.sh | 53 +- vendor/k8s.io/kubernetes/pkg/BUILD | 24 +- vendor/k8s.io/kubernetes/pkg/api/BUILD | 14 +- .../k8s.io/kubernetes/pkg/api/conversion.go | 266 - .../kubernetes/pkg/api/conversion_test.go | 10 +- vendor/k8s.io/kubernetes/pkg/api/copy_test.go | 11 +- .../kubernetes/pkg/api/deep_copy_test.go | 11 +- .../kubernetes/pkg/api/defaulting_test.go | 7 +- vendor/k8s.io/kubernetes/pkg/api/errors/BUILD | 5 +- .../kubernetes/pkg/api/errors/storage/BUILD | 35 - .../kubernetes/pkg/api/errors/storage/doc.go | 18 - .../pkg/api/errors/storage/storage.go | 108 - vendor/k8s.io/kubernetes/pkg/api/helpers.go | 139 +- .../k8s.io/kubernetes/pkg/api/helpers_test.go | 2 +- .../k8s.io/kubernetes/pkg/api/install/BUILD | 7 +- .../kubernetes/pkg/api/install/install.go | 157 +- .../pkg/api/install/install_test.go | 11 + vendor/k8s.io/kubernetes/pkg/api/json.go | 12 - vendor/k8s.io/kubernetes/pkg/api/meta.go | 27 - vendor/k8s.io/kubernetes/pkg/api/meta_test.go | 46 - vendor/k8s.io/kubernetes/pkg/api/pod/BUILD | 14 + vendor/k8s.io/kubernetes/pkg/api/pod/util.go | 81 + .../kubernetes/pkg/api/pod/util_test.go | 171 + vendor/k8s.io/kubernetes/pkg/api/ref.go | 8 +- vendor/k8s.io/kubernetes/pkg/api/ref_test.go | 2 +- vendor/k8s.io/kubernetes/pkg/api/register.go | 14 - .../k8s.io/kubernetes/pkg/api/resource/BUILD | 42 +- .../k8s.io/kubernetes/pkg/api/resource/doc.go | 21 + .../pkg/api/resource/generated.pb.go | 70 - .../pkg/api/resource/generated.proto | 94 - .../kubernetes/pkg/api/resource_helpers.go | 2 +- .../pkg/api/resource_helpers_test.go | 2 +- .../pkg/api/serialization_proto_test.go | 73 +- .../kubernetes/pkg/api/serialization_test.go | 202 +- .../k8s.io/kubernetes/pkg/api/testapi/BUILD | 4 +- .../kubernetes/pkg/api/testapi/testapi.go | 26 +- .../k8s.io/kubernetes/pkg/api/testing/BUILD | 10 +- .../kubernetes/pkg/api/testing/compat/BUILD | 2 +- .../testing/compat/compatibility_tester.go | 4 +- .../kubernetes/pkg/api/testing/fuzzer.go | 428 +- .../kubernetes/pkg/api/testing/pod_specs.go | 4 +- vendor/k8s.io/kubernetes/pkg/api/types.go | 270 +- .../kubernetes/pkg/api/unstructured_test.go | 56 +- .../pkg/api/util/group_version_test.go | 30 + vendor/k8s.io/kubernetes/pkg/api/v1/BUILD | 14 +- .../pkg/api/v1/backward_compatibility_test.go | 64 +- .../kubernetes/pkg/api/v1/conversion.go | 23 +- .../kubernetes/pkg/api/v1/conversion_test.go | 5 +- .../k8s.io/kubernetes/pkg/api/v1/defaults.go | 37 +- .../kubernetes/pkg/api/v1/defaults_test.go | 80 +- .../kubernetes/pkg/api/v1/generated.pb.go | 5190 +- .../kubernetes/pkg/api/v1/generated.proto | 302 +- .../k8s.io/kubernetes/pkg/api/v1/helpers.go | 325 +- .../kubernetes/pkg/api/v1/helpers_test.go | 341 +- vendor/k8s.io/kubernetes/pkg/api/v1/meta.go | 8 + vendor/k8s.io/kubernetes/pkg/api/v1/pod/BUILD | 6 +- .../k8s.io/kubernetes/pkg/api/v1/pod/util.go | 83 +- .../kubernetes/pkg/api/v1/pod/util_test.go | 149 +- vendor/k8s.io/kubernetes/pkg/api/v1/ref.go | 9 +- .../kubernetes/pkg/api/v1/resource_helpers.go | 30 +- .../pkg/api/v1/resource_helpers_test.go | 2 +- .../kubernetes/pkg/api/v1/types.generated.go | 7147 ++- vendor/k8s.io/kubernetes/pkg/api/v1/types.go | 284 +- .../pkg/api/v1/types_swagger_doc_generated.go | 162 +- .../kubernetes/pkg/api/v1/validation/BUILD | 2 +- .../pkg/api/v1/validation/validation.go | 2 +- .../pkg/api/v1/zz_generated.conversion.go | 370 +- .../pkg/api/v1/zz_generated.deepcopy.go | 238 +- .../pkg/api/v1/zz_generated.defaults.go | 54 + .../kubernetes/pkg/api/validation/BUILD | 22 +- .../api/validation/genericvalidation/BUILD | 54 - .../api/validation/genericvalidation/doc.go | 18 - .../genericvalidation/objectmeta.go | 254 - .../genericvalidation/objectmeta_test.go | 479 - .../kubernetes/pkg/api/validation/path/BUILD | 35 - .../kubernetes/pkg/api/validation/schema.go | 6 +- .../pkg/api/validation/schema_test.go | 5 +- .../pkg/api/validation/validation.go | 517 +- .../pkg/api/validation/validation_test.go | 697 +- .../pkg/api/zz_generated.deepcopy.go | 238 +- .../kubernetes/pkg/apimachinery/tests/BUILD | 1 + .../apimachinery/tests/api_meta_meta_test.go | 17 +- ...pis_meta_v1_unstructed_unstructure_test.go | 48 +- ...ntime_serializer_protobuf_protobuf_test.go | 3 +- vendor/k8s.io/kubernetes/pkg/apis/apps/BUILD | 1 + .../kubernetes/pkg/apis/apps/register.go | 5 + .../kubernetes/pkg/apis/apps/v1beta1/BUILD | 23 +- .../pkg/apis/apps/v1beta1/conversion.go | 193 +- .../pkg/apis/apps/v1beta1/defaults.go | 56 + .../pkg/apis/apps/v1beta1/defaults_test.go | 220 + .../pkg/apis/apps/v1beta1/generated.pb.go | 2969 +- .../pkg/apis/apps/v1beta1/generated.proto | 235 +- .../pkg/apis/apps/v1beta1/register.go | 7 +- .../pkg/apis/apps/v1beta1/types.generated.go | 4743 +- .../kubernetes/pkg/apis/apps/v1beta1/types.go | 272 + .../v1beta1/types_swagger_doc_generated.go | 137 + .../apps/v1beta1/zz_generated.conversion.go | 6 +- .../apps/v1beta1/zz_generated.deepcopy.go | 225 + .../apps/v1beta1/zz_generated.defaults.go | 160 + .../kubernetes/pkg/apis/authentication/BUILD | 1 + .../kubernetes/pkg/apis/authentication/OWNERS | 1 + .../pkg/apis/authentication/install/BUILD | 1 + .../apis/authentication/install/install.go | 4 +- .../pkg/apis/authentication/v1/BUILD | 47 + .../pkg/apis/authentication/v1/conversion.go | 26 + .../pkg/apis/authentication/v1/defaults.go | 25 + .../pkg/apis/authentication/v1/doc.go | 22 + .../apis/authentication/v1/generated.pb.go | 1281 + .../apis/authentication/v1/generated.proto | 100 + .../pkg/apis/authentication/v1/register.go | 48 + .../pkg/apis/authentication/v1/types.go | 91 + .../v1/types_swagger_doc_generated.go | 72 + .../v1/zz_generated.conversion.go | 145 + .../v1/zz_generated.deepcopy.go | 106 + .../v1/zz_generated.defaults.go | 0 .../authentication/v1beta1/generated.pb.go | 86 +- .../authentication/v1beta1/generated.proto | 4 +- .../kubernetes/pkg/apis/authorization/BUILD | 1 + .../pkg/apis/authorization/install/BUILD | 1 + .../pkg/apis/authorization/install/install.go | 4 +- .../pkg/apis/authorization/v1/BUILD | 50 + .../pkg/apis/authorization/v1/conversion.go | 26 + .../pkg/apis/authorization/v1/defaults.go | 25 + .../pkg/apis/authorization/v1/doc.go | 23 + .../pkg/apis/authorization/v1/generated.pb.go | 2344 + .../pkg/apis/authorization/v1/generated.proto | 185 + .../pkg/apis/authorization/v1/register.go | 55 + .../apis/authorization/v1/types.generated.go | 3233 ++ .../pkg/apis/authorization/v1/types.go | 176 + .../v1/types_swagger_doc_generated.go | 119 + .../v1/zz_generated.conversion.go | 263 + .../authorization/v1/zz_generated.deepcopy.go | 179 + .../authorization/v1/zz_generated.defaults.go | 32 + .../authorization/v1beta1/generated.pb.go | 114 +- .../authorization/v1beta1/generated.proto | 4 +- .../pkg/apis/authorization/validation/BUILD | 2 +- .../authorization/validation/validation.go | 8 +- .../kubernetes/pkg/apis/autoscaling/BUILD | 4 + .../pkg/apis/autoscaling/annotations.go | 30 + .../pkg/apis/autoscaling/install/BUILD | 1 + .../pkg/apis/autoscaling/install/install.go | 6 +- .../kubernetes/pkg/apis/autoscaling/types.go | 213 +- .../kubernetes/pkg/apis/autoscaling/v1/BUILD | 4 + .../pkg/apis/autoscaling/v1/conversion.go | 244 + .../pkg/apis/autoscaling/v1/defaults.go | 3 + .../pkg/apis/autoscaling/v1/generated.pb.go | 1838 +- .../pkg/apis/autoscaling/v1/generated.proto | 154 +- .../pkg/apis/autoscaling/v1/register.go | 2 +- .../apis/autoscaling/v1/types.generated.go | 2339 +- .../pkg/apis/autoscaling/v1/types.go | 164 +- .../v1/types_swagger_doc_generated.go | 88 + .../autoscaling/v1/zz_generated.conversion.go | 255 +- .../autoscaling/v1/zz_generated.deepcopy.go | 143 + .../pkg/apis/autoscaling/v2alpha1/BUILD | 50 + .../pkg/apis/autoscaling/v2alpha1/defaults.go | 49 + .../pkg/apis/autoscaling/v2alpha1/doc.go | 21 + .../apis/autoscaling/v2alpha1/generated.pb.go | 3062 ++ .../apis/autoscaling/v2alpha1/generated.proto | 275 + .../pkg/apis/autoscaling/v2alpha1/register.go | 44 + .../autoscaling/v2alpha1/types.generated.go | 4621 ++ .../pkg/apis/autoscaling/v2alpha1/types.go | 269 + .../v2alpha1/types_swagger_doc_generated.go | 175 + .../v2alpha1/zz_generated.conversion.go | 387 + .../v2alpha1/zz_generated.deepcopy.go | 285 + .../pkg/apis/autoscaling/validation/BUILD | 8 +- .../apis/autoscaling/validation/validation.go | 159 +- .../autoscaling/validation/validation_test.go | 450 +- .../apis/autoscaling/zz_generated.deepcopy.go | 163 +- .../k8s.io/kubernetes/pkg/apis/batch/types.go | 10 + .../k8s.io/kubernetes/pkg/apis/batch/v1/BUILD | 4 +- .../pkg/apis/batch/v1/conversion.go | 5 +- .../pkg/apis/batch/v1/generated.pb.go | 110 +- .../pkg/apis/batch/v1/generated.proto | 4 +- .../pkg/apis/batch/v1/types.generated.go | 16 +- .../apis/batch/v1/zz_generated.conversion.go | 2 +- .../apis/batch/v1/zz_generated.defaults.go | 17 + .../kubernetes/pkg/apis/batch/v2alpha1/BUILD | 7 +- .../pkg/apis/batch/v2alpha1/conversion.go | 57 +- .../pkg/apis/batch/v2alpha1/defaults.go | 20 - .../pkg/apis/batch/v2alpha1/defaults_test.go | 171 +- .../pkg/apis/batch/v2alpha1/generated.pb.go | 1519 +- .../pkg/apis/batch/v2alpha1/generated.proto | 152 +- .../pkg/apis/batch/v2alpha1/register.go | 2 - .../apis/batch/v2alpha1/types.generated.go | 2915 +- .../pkg/apis/batch/v2alpha1/types.go | 159 +- .../v2alpha1/types_swagger_doc_generated.go | 77 +- .../batch/v2alpha1/zz_generated.conversion.go | 171 +- .../batch/v2alpha1/zz_generated.deepcopy.go | 135 +- .../batch/v2alpha1/zz_generated.defaults.go | 160 +- .../pkg/apis/batch/validation/validation.go | 9 + .../apis/batch/validation/validation_test.go | 34 + .../pkg/apis/batch/zz_generated.deepcopy.go | 10 + .../kubernetes/pkg/apis/certificates/types.go | 17 +- .../pkg/apis/certificates/v1beta1/BUILD | 2 +- .../apis/certificates/v1beta1/conversion.go | 3 +- .../apis/certificates/v1beta1/generated.pb.go | 390 +- .../apis/certificates/v1beta1/generated.proto | 28 +- .../certificates/v1beta1/types.generated.go | 475 +- .../pkg/apis/certificates/v1beta1/types.go | 25 +- .../v1beta1/types_swagger_doc_generated.go | 7 +- .../v1beta1/zz_generated.conversion.go | 14 +- .../v1beta1/zz_generated.deepcopy.go | 11 + .../certificates/zz_generated.deepcopy.go | 11 + .../kubernetes/pkg/apis/componentconfig/BUILD | 1 - .../pkg/apis/componentconfig/OWNERS | 4 + .../pkg/apis/componentconfig/register.go | 2 - .../pkg/apis/componentconfig/types.go | 132 +- .../pkg/apis/componentconfig/v1alpha1/BUILD | 1 - .../apis/componentconfig/v1alpha1/defaults.go | 32 +- .../apis/componentconfig/v1alpha1/register.go | 2 - .../apis/componentconfig/v1alpha1/types.go | 93 +- .../v1alpha1/zz_generated.conversion.go | 242 +- .../v1alpha1/zz_generated.deepcopy.go | 84 +- .../componentconfig/zz_generated.deepcopy.go | 81 +- .../kubernetes/pkg/apis/extensions/BUILD | 19 +- .../pkg/apis/extensions/register.go | 3 - .../kubernetes/pkg/apis/extensions/types.go | 123 +- .../pkg/apis/extensions/v1beta1/BUILD | 10 +- .../pkg/apis/extensions/v1beta1/conversion.go | 80 +- .../pkg/apis/extensions/v1beta1/defaults.go | 28 +- .../apis/extensions/v1beta1/defaults_test.go | 108 +- .../apis/extensions/v1beta1/generated.pb.go | 2473 +- .../apis/extensions/v1beta1/generated.proto | 196 +- .../pkg/apis/extensions/v1beta1/register.go | 2 - .../extensions/v1beta1/types.generated.go | 3283 +- .../pkg/apis/extensions/v1beta1/types.go | 214 +- .../v1beta1/types_swagger_doc_generated.go | 112 +- .../v1beta1/zz_generated.conversion.go | 255 +- .../v1beta1/zz_generated.deepcopy.go | 142 +- .../v1beta1/zz_generated.defaults.go | 66 +- .../pkg/apis/extensions/validation/BUILD | 5 +- .../apis/extensions/validation/validation.go | 146 +- .../extensions/validation/validation_test.go | 819 +- .../apis/extensions/zz_generated.deepcopy.go | 30 +- .../apis/imagepolicy/v1alpha1/generated.pb.go | 78 +- .../apis/imagepolicy/v1alpha1/generated.proto | 4 +- .../k8s.io/kubernetes/pkg/apis/policy/BUILD | 2 +- .../kubernetes/pkg/apis/policy/types.go | 2 +- .../kubernetes/pkg/apis/policy/v1alpha1/BUILD | 2 +- .../pkg/apis/policy/v1alpha1/types.go | 2 +- .../kubernetes/pkg/apis/policy/v1beta1/BUILD | 2 +- .../pkg/apis/policy/v1beta1/generated.pb.go | 100 +- .../pkg/apis/policy/v1beta1/generated.proto | 6 +- .../apis/policy/v1beta1/types.generated.go | 2 +- .../pkg/apis/policy/v1beta1/types.go | 2 +- .../policy/v1beta1/zz_generated.conversion.go | 6 +- .../pkg/apis/policy/validation/BUILD | 2 +- .../apis/policy/validation/validation_test.go | 2 +- vendor/k8s.io/kubernetes/pkg/apis/rbac/OWNERS | 1 + .../kubernetes/pkg/apis/rbac/helpers.go | 91 +- .../kubernetes/pkg/apis/rbac/register.go | 2 - .../k8s.io/kubernetes/pkg/apis/rbac/types.go | 10 +- .../pkg/apis/rbac/v1alpha1/conversion.go | 41 +- .../pkg/apis/rbac/v1alpha1/conversion_test.go | 50 +- .../pkg/apis/rbac/v1alpha1/defaults.go | 13 + .../pkg/apis/rbac/v1alpha1/generated.pb.go | 108 +- .../pkg/apis/rbac/v1alpha1/generated.proto | 9 +- .../pkg/apis/rbac/v1alpha1/types.go | 8 +- .../v1alpha1/types_swagger_doc_generated.go | 2 +- .../rbac/v1alpha1/zz_generated.conversion.go | 46 +- .../rbac/v1alpha1/zz_generated.defaults.go | 8 + .../pkg/apis/rbac/v1beta1/defaults.go | 13 + .../pkg/apis/rbac/v1beta1/generated.pb.go | 119 +- .../pkg/apis/rbac/v1beta1/generated.proto | 10 +- .../pkg/apis/rbac/v1beta1/types.generated.go | 18 +- .../kubernetes/pkg/apis/rbac/v1beta1/types.go | 9 +- .../v1beta1/types_swagger_doc_generated.go | 10 +- .../rbac/v1beta1/zz_generated.conversion.go | 58 +- .../rbac/v1beta1/zz_generated.defaults.go | 8 + .../kubernetes/pkg/apis/rbac/validation/BUILD | 2 +- .../pkg/apis/rbac/validation/validation.go | 11 +- .../apis/rbac/validation/validation_test.go | 12 +- .../k8s.io/kubernetes/pkg/apis/settings/BUILD | 44 + .../kubernetes/pkg/apis/settings/doc.go | 19 + .../pkg/apis/settings/install/BUILD | 35 + .../pkg/apis/settings/install/install.go | 49 + .../kubernetes/pkg/apis/settings/register.go | 52 + .../kubernetes/pkg/apis/settings/types.go | 63 + .../pkg/apis/settings/v1alpha1/BUILD | 46 + .../pkg/apis/settings/v1alpha1/doc.go | 23 + .../apis/settings/v1alpha1/generated.pb.go | 924 + .../apis/settings/v1alpha1/generated.proto | 76 + .../pkg/apis/settings/v1alpha1/register.go | 49 + .../pkg/apis/settings/v1alpha1/types.go | 67 + .../v1alpha1/types_swagger_doc_generated.go | 61 + .../v1alpha1/zz_generated.conversion.go | 159 + .../v1alpha1/zz_generated.deepcopy.go | 124 + .../v1alpha1/zz_generated.defaults.go | 98 + .../pkg/apis/settings/validation/BUILD | 46 + .../apis/settings/validation/validation.go | 68 + .../settings/validation/validation_test.go | 190 + .../apis/settings/zz_generated.deepcopy.go | 124 + .../k8s.io/kubernetes/pkg/apis/storage/BUILD | 1 + .../kubernetes/pkg/apis/storage/install/BUILD | 1 + .../pkg/apis/storage/install/install.go | 7 +- .../kubernetes/pkg/apis/storage/util/BUILD | 5 +- .../pkg/apis/storage/util/helpers.go | 86 +- .../kubernetes/pkg/apis/storage/v1/BUILD | 48 + .../kubernetes/pkg/apis/storage/v1/doc.go | 22 + .../pkg/apis/storage/v1/generated.pb.go | 730 + .../pkg/apis/storage/v1/generated.proto | 63 + .../pkg/apis/storage/v1/register.go | 50 + .../kubernetes/pkg/apis/storage/v1/types.go | 57 + .../storage/v1/types_swagger_doc_generated.go | 51 + .../kubernetes/pkg/apis/storage/v1/util/BUILD | 28 + .../pkg/apis/storage/v1/util/helpers.go | 53 + .../storage/v1/zz_generated.conversion.go | 89 + .../apis/storage/v1/zz_generated.deepcopy.go | 80 + .../apis/storage/v1/zz_generated.defaults.go | 32 + .../pkg/apis/storage/v1beta1/generated.pb.go | 62 +- .../pkg/apis/storage/v1beta1/generated.proto | 4 +- .../pkg/apis/storage/v1beta1/util/BUILD | 5 +- .../pkg/apis/storage/v1beta1/util/helpers.go | 90 +- .../v1beta1/zz_generated.conversion.go | 6 +- .../pkg/apis/storage/validation/validation.go | 2 +- vendor/k8s.io/kubernetes/pkg/auth/OWNERS | 1 + .../k8s.io/kubernetes/pkg/bootstrap/api/BUILD | 31 + .../kubernetes/pkg/bootstrap/api/doc.go | 20 + .../kubernetes/pkg/bootstrap/api/types.go | 85 + .../pkg/capabilities/capabilities.go | 2 +- vendor/k8s.io/kubernetes/pkg/client/OWNERS | 1 + .../k8s.io/kubernetes/pkg/client/cache/BUILD | 112 - .../k8s.io/kubernetes/pkg/client/cache/OWNERS | 41 - .../kubernetes/pkg/client/cache/controller.go | 327 - .../pkg/client/cache/controller_test.go | 405 - .../kubernetes/pkg/client/cache/delta_fifo.go | 647 - .../pkg/client/cache/delta_fifo_test.go | 533 - .../k8s.io/kubernetes/pkg/client/cache/doc.go | 24 - .../pkg/client/cache/expiration_cache.go | 208 - .../client/cache/expiration_cache_fakes.go | 54 - .../pkg/client/cache/expiration_cache_test.go | 189 - .../pkg/client/cache/fake_custom_store.go | 102 - .../kubernetes/pkg/client/cache/fifo.go | 321 - .../kubernetes/pkg/client/cache/fifo_test.go | 280 - .../kubernetes/pkg/client/cache/index.go | 85 - .../kubernetes/pkg/client/cache/index_test.go | 137 - .../kubernetes/pkg/client/cache/listers.go | 160 - .../kubernetes/pkg/client/cache/listwatch.go | 162 - .../pkg/client/cache/mutation_detector.go | 135 - .../client/cache/mutation_detector_test.go | 81 - .../client/cache/processor_listener_test.go | 48 - .../kubernetes/pkg/client/cache/reflector.go | 417 - .../pkg/client/cache/reflector_test.go | 389 - .../pkg/client/cache/shared_informer.go | 421 - .../kubernetes/pkg/client/cache/store.go | 240 - .../kubernetes/pkg/client/cache/store_test.go | 156 - .../pkg/client/cache/thread_safe_store.go | 288 - .../pkg/client/cache/undelta_store.go | 83 - .../pkg/client/cache/undelta_store_test.go | 131 - .../clientset_generated/clientset/BUILD | 15 +- .../clientset/clientset.go | 345 +- .../clientset_generated/clientset/doc.go | 2 +- .../clientset_generated/clientset/fake/BUILD | 35 +- .../clientset/fake/clientset_generated.go | 215 +- .../clientset_generated/clientset/fake/doc.go | 2 +- .../clientset/fake/register.go | 68 + .../clientset/import_known_versions.go | 1 + .../clientset/scheme/BUILD | 54 + .../clientset/scheme/doc.go | 20 + .../clientset/scheme/register.go | 87 + .../clientset/typed/apps/v1beta1/BUILD | 5 +- .../typed/apps/v1beta1/apps_client.go | 31 +- .../typed/apps/v1beta1/deployment.go | 172 + .../clientset/typed/apps/v1beta1/doc.go | 2 +- .../clientset/typed/apps/v1beta1/fake/BUILD | 4 +- .../clientset/typed/apps/v1beta1/fake/doc.go | 2 +- .../apps/v1beta1/fake/fake_apps_client.go | 12 +- .../apps/v1beta1/fake/fake_deployment.go | 128 + .../typed/apps/v1beta1/fake/fake_scale.go | 23 + .../apps/v1beta1/fake/fake_statefulset.go | 22 +- .../typed/apps/v1beta1/generated_expansion.go | 4 + .../clientset/typed/apps/v1beta1/scale.go | 46 + .../typed/apps/v1beta1/statefulset.go | 12 +- .../clientset/typed/authentication/v1/BUILD | 42 + .../v1/authentication_client.go | 88 + .../clientset/typed/authentication/v1/doc.go | 20 + .../typed/authentication/v1/fake/BUILD | 38 + .../typed/authentication/v1/fake/doc.go | 20 + .../v1/fake/fake_authentication_client.go | 38 + .../v1/fake/fake_tokenreview.go | 22 + .../v1/fake/fake_tokenreview_expansion.go | 27 + .../authentication/v1/generated_expansion.go | 17 + .../typed/authentication/v1/tokenreview.go | 44 + .../v1/tokenreview_expansion.go | 35 + .../typed/authentication/v1beta1/BUILD | 3 +- .../v1beta1/authentication_client.go | 21 +- .../typed/authentication/v1beta1/doc.go | 2 +- .../typed/authentication/v1beta1/fake/BUILD | 2 +- .../typed/authentication/v1beta1/fake/doc.go | 2 +- .../fake/fake_authentication_client.go | 4 +- .../fake/fake_tokenreview_expansion.go | 2 +- .../clientset/typed/authorization/v1/BUILD | 46 + .../authorization/v1/authorization_client.go | 98 + .../clientset/typed/authorization/v1/doc.go | 20 + .../typed/authorization/v1/fake/BUILD | 42 + .../typed/authorization/v1/fake/doc.go | 20 + .../v1/fake/fake_authorization_client.go | 46 + .../v1/fake/fake_localsubjectaccessreview.go | 23 + ...fake_localsubjectaccessreview_expansion.go | 27 + .../v1/fake/fake_selfsubjectaccessreview.go | 22 + .../fake_selfsubjectaccessreview_expansion.go | 27 + .../v1/fake/fake_subjectaccessreview.go | 22 + .../fake_subjectaccessreview_expansion.go | 27 + .../authorization/v1/generated_expansion.go | 17 + .../v1/localsubjectaccessreview.go | 46 + .../v1/localsubjectaccessreview_expansion.go | 36 + .../v1/selfsubjectaccessreview.go | 44 + .../v1/selfsubjectaccessreview_expansion.go | 35 + .../authorization/v1/subjectaccessreview.go | 44 + .../v1/subjectaccessreview_expansion.go | 36 + .../typed/authorization/v1beta1/BUILD | 3 +- .../v1beta1/authorization_client.go | 21 +- .../typed/authorization/v1beta1/doc.go | 2 +- .../typed/authorization/v1beta1/fake/BUILD | 2 +- .../typed/authorization/v1beta1/fake/doc.go | 2 +- .../v1beta1/fake/fake_authorization_client.go | 4 +- ...fake_localsubjectaccessreview_expansion.go | 2 +- .../fake_selfsubjectaccessreview_expansion.go | 2 +- .../fake_subjectaccessreview_expansion.go | 2 +- .../clientset/typed/autoscaling/v1/BUILD | 3 +- .../autoscaling/v1/autoscaling_client.go | 21 +- .../clientset/typed/autoscaling/v1/doc.go | 2 +- .../clientset/typed/autoscaling/v1/fake/BUILD | 2 +- .../typed/autoscaling/v1/fake/doc.go | 2 +- .../v1/fake/fake_autoscaling_client.go | 4 +- .../v1/fake/fake_horizontalpodautoscaler.go | 22 +- .../autoscaling/v1/horizontalpodautoscaler.go | 12 +- .../typed/autoscaling/v2alpha1/BUILD | 44 + .../v2alpha1/autoscaling_client.go | 88 + .../typed/autoscaling/v2alpha1/doc.go | 20 + .../typed/autoscaling/v2alpha1/fake/BUILD | 42 + .../typed/autoscaling/v2alpha1/fake/doc.go | 20 + .../v2alpha1/fake/fake_autoscaling_client.go | 38 + .../fake/fake_horizontalpodautoscaler.go | 128 + .../v2alpha1/generated_expansion.go | 19 + .../v2alpha1/horizontalpodautoscaler.go | 172 + .../clientset/typed/batch/v1/BUILD | 3 +- .../clientset/typed/batch/v1/batch_client.go | 21 +- .../clientset/typed/batch/v1/doc.go | 2 +- .../clientset/typed/batch/v1/fake/BUILD | 2 +- .../clientset/typed/batch/v1/fake/doc.go | 2 +- .../typed/batch/v1/fake/fake_batch_client.go | 4 +- .../clientset/typed/batch/v1/fake/fake_job.go | 22 +- .../clientset/typed/batch/v1/job.go | 12 +- .../clientset/typed/batch/v2alpha1/BUILD | 4 +- .../typed/batch/v2alpha1/batch_client.go | 26 +- .../clientset/typed/batch/v2alpha1/cronjob.go | 12 +- .../clientset/typed/batch/v2alpha1/doc.go | 2 +- .../clientset/typed/batch/v2alpha1/fake/BUILD | 3 +- .../typed/batch/v2alpha1/fake/doc.go | 2 +- .../batch/v2alpha1/fake/fake_batch_client.go | 8 +- .../typed/batch/v2alpha1/fake/fake_cronjob.go | 22 +- .../typed/batch/v2alpha1/fake/fake_job.go | 128 - .../batch/v2alpha1/generated_expansion.go | 2 - .../clientset/typed/batch/v2alpha1/job.go | 172 - .../typed/certificates/v1beta1/BUILD | 3 +- .../v1beta1/certificates_client.go | 21 +- .../v1beta1/certificatesigningrequest.go | 12 +- .../typed/certificates/v1beta1/doc.go | 2 +- .../typed/certificates/v1beta1/fake/BUILD | 2 +- .../typed/certificates/v1beta1/fake/doc.go | 2 +- .../v1beta1/fake/fake_certificates_client.go | 4 +- .../fake/fake_certificatesigningrequest.go | 22 +- ...ake_certificatesigningrequest_expansion.go | 2 +- .../clientset/typed/core/v1/BUILD | 2 +- .../typed/core/v1/componentstatus.go | 12 +- .../clientset/typed/core/v1/configmap.go | 12 +- .../clientset/typed/core/v1/core_client.go | 21 +- .../clientset/typed/core/v1/doc.go | 2 +- .../clientset/typed/core/v1/endpoints.go | 12 +- .../clientset/typed/core/v1/event.go | 12 +- .../typed/core/v1/event_expansion.go | 7 +- .../clientset/typed/core/v1/fake/BUILD | 2 +- .../clientset/typed/core/v1/fake/doc.go | 2 +- .../core/v1/fake/fake_componentstatus.go | 20 +- .../typed/core/v1/fake/fake_configmap.go | 20 +- .../typed/core/v1/fake/fake_core_client.go | 4 +- .../typed/core/v1/fake/fake_endpoints.go | 20 +- .../typed/core/v1/fake/fake_event.go | 20 +- .../core/v1/fake/fake_event_expansion.go | 4 +- .../typed/core/v1/fake/fake_limitrange.go | 20 +- .../typed/core/v1/fake/fake_namespace.go | 22 +- .../core/v1/fake/fake_namespace_expansion.go | 2 +- .../clientset/typed/core/v1/fake/fake_node.go | 22 +- .../typed/core/v1/fake/fake_node_expansion.go | 2 +- .../core/v1/fake/fake_persistentvolume.go | 22 +- .../v1/fake/fake_persistentvolumeclaim.go | 22 +- .../clientset/typed/core/v1/fake/fake_pod.go | 22 +- .../typed/core/v1/fake/fake_pod_expansion.go | 2 +- .../typed/core/v1/fake/fake_podtemplate.go | 20 +- .../v1/fake/fake_replicationcontroller.go | 22 +- .../typed/core/v1/fake/fake_resourcequota.go | 22 +- .../typed/core/v1/fake/fake_secret.go | 20 +- .../typed/core/v1/fake/fake_service.go | 22 +- .../core/v1/fake/fake_service_expansion.go | 2 +- .../typed/core/v1/fake/fake_serviceaccount.go | 20 +- .../clientset/typed/core/v1/limitrange.go | 12 +- .../clientset/typed/core/v1/namespace.go | 12 +- .../clientset/typed/core/v1/node.go | 12 +- .../typed/core/v1/persistentvolume.go | 12 +- .../typed/core/v1/persistentvolumeclaim.go | 12 +- .../clientset/typed/core/v1/pod.go | 12 +- .../clientset/typed/core/v1/podtemplate.go | 12 +- .../typed/core/v1/replicationcontroller.go | 12 +- .../clientset/typed/core/v1/resourcequota.go | 12 +- .../clientset/typed/core/v1/secret.go | 12 +- .../clientset/typed/core/v1/service.go | 12 +- .../typed/core/v1/service_expansion.go | 2 +- .../clientset/typed/core/v1/serviceaccount.go | 12 +- .../clientset/typed/extensions/v1beta1/BUILD | 2 +- .../typed/extensions/v1beta1/daemonset.go | 12 +- .../typed/extensions/v1beta1/deployment.go | 12 +- .../clientset/typed/extensions/v1beta1/doc.go | 2 +- .../extensions/v1beta1/extensions_client.go | 21 +- .../typed/extensions/v1beta1/fake/BUILD | 2 +- .../typed/extensions/v1beta1/fake/doc.go | 2 +- .../extensions/v1beta1/fake/fake_daemonset.go | 22 +- .../v1beta1/fake/fake_deployment.go | 22 +- .../v1beta1/fake/fake_deployment_expansion.go | 2 +- .../v1beta1/fake/fake_extensions_client.go | 4 +- .../extensions/v1beta1/fake/fake_ingress.go | 22 +- .../v1beta1/fake/fake_podsecuritypolicy.go | 20 +- .../v1beta1/fake/fake_replicaset.go | 22 +- .../v1beta1/fake/fake_scale_expansion.go | 2 +- .../v1beta1/fake/fake_thirdpartyresource.go | 20 +- .../typed/extensions/v1beta1/ingress.go | 12 +- .../extensions/v1beta1/podsecuritypolicy.go | 12 +- .../typed/extensions/v1beta1/replicaset.go | 12 +- .../extensions/v1beta1/thirdpartyresource.go | 12 +- .../clientset/typed/policy/v1beta1/BUILD | 3 +- .../clientset/typed/policy/v1beta1/doc.go | 2 +- .../clientset/typed/policy/v1beta1/fake/BUILD | 2 +- .../typed/policy/v1beta1/fake/doc.go | 2 +- .../v1beta1/fake/fake_eviction_expansion.go | 2 +- .../v1beta1/fake/fake_poddisruptionbudget.go | 22 +- .../policy/v1beta1/fake/fake_policy_client.go | 4 +- .../policy/v1beta1/poddisruptionbudget.go | 12 +- .../typed/policy/v1beta1/policy_client.go | 21 +- .../clientset/typed/rbac/v1alpha1/BUILD | 3 +- .../typed/rbac/v1alpha1/clusterrole.go | 12 +- .../typed/rbac/v1alpha1/clusterrolebinding.go | 12 +- .../clientset/typed/rbac/v1alpha1/doc.go | 2 +- .../clientset/typed/rbac/v1alpha1/fake/BUILD | 2 +- .../clientset/typed/rbac/v1alpha1/fake/doc.go | 2 +- .../rbac/v1alpha1/fake/fake_clusterrole.go | 20 +- .../v1alpha1/fake/fake_clusterrolebinding.go | 20 +- .../rbac/v1alpha1/fake/fake_rbac_client.go | 4 +- .../typed/rbac/v1alpha1/fake/fake_role.go | 20 +- .../rbac/v1alpha1/fake/fake_rolebinding.go | 20 +- .../typed/rbac/v1alpha1/rbac_client.go | 21 +- .../clientset/typed/rbac/v1alpha1/role.go | 12 +- .../typed/rbac/v1alpha1/rolebinding.go | 12 +- .../clientset/typed/rbac/v1beta1/BUILD | 3 +- .../typed/rbac/v1beta1/clusterrole.go | 12 +- .../typed/rbac/v1beta1/clusterrolebinding.go | 12 +- .../clientset/typed/rbac/v1beta1/doc.go | 2 +- .../clientset/typed/rbac/v1beta1/fake/BUILD | 2 +- .../clientset/typed/rbac/v1beta1/fake/doc.go | 2 +- .../rbac/v1beta1/fake/fake_clusterrole.go | 20 +- .../v1beta1/fake/fake_clusterrolebinding.go | 20 +- .../rbac/v1beta1/fake/fake_rbac_client.go | 4 +- .../typed/rbac/v1beta1/fake/fake_role.go | 20 +- .../rbac/v1beta1/fake/fake_rolebinding.go | 20 +- .../typed/rbac/v1beta1/rbac_client.go | 21 +- .../clientset/typed/rbac/v1beta1/role.go | 12 +- .../typed/rbac/v1beta1/rolebinding.go | 12 +- .../clientset/typed/settings/v1alpha1/BUILD | 44 + .../clientset/typed/settings/v1alpha1/doc.go | 20 + .../typed/settings/v1alpha1/fake/BUILD | 42 + .../typed/settings/v1alpha1/fake/doc.go | 20 + .../settings/v1alpha1/fake/fake_podpreset.go | 118 + .../v1alpha1/fake/fake_settings_client.go | 38 + .../settings/v1alpha1/generated_expansion.go | 19 + .../typed/settings/v1alpha1/podpreset.go | 155 + .../settings/v1alpha1/settings_client.go | 88 + .../clientset/typed/storage/v1/BUILD | 44 + .../clientset/typed/storage/v1/doc.go | 20 + .../clientset/typed/storage/v1/fake/BUILD | 42 + .../clientset/typed/storage/v1/fake/doc.go | 20 + .../storage/v1/fake/fake_storage_client.go | 38 + .../storage/v1/fake/fake_storageclass.go | 110 + .../typed/storage/v1/generated_expansion.go | 19 + .../typed/storage/v1/storage_client.go | 88 + .../typed/storage/v1/storageclass.go | 145 + .../clientset/typed/storage/v1beta1/BUILD | 3 +- .../clientset/typed/storage/v1beta1/doc.go | 2 +- .../typed/storage/v1beta1/fake/BUILD | 2 +- .../typed/storage/v1beta1/fake/doc.go | 2 +- .../v1beta1/fake/fake_storage_client.go | 4 +- .../storage/v1beta1/fake/fake_storageclass.go | 20 +- .../typed/storage/v1beta1/storage_client.go | 21 +- .../typed/storage/v1beta1/storageclass.go | 12 +- .../internalclientset/BUILD | 20 +- .../internalclientset/clientset.go | 188 +- .../internalclientset/fake/BUILD | 27 +- .../fake/clientset_generated.go | 112 +- .../internalclientset/fake/register.go | 68 + .../import_known_versions.go | 42 - .../internalclientset/scheme/BUILD | 52 + .../internalclientset/scheme/doc.go | 20 + .../internalclientset/scheme/register.go | 69 + .../scheme/register_custom.go | 29 + .../typed/apps/internalversion/BUILD | 2 +- .../typed/apps/internalversion/apps_client.go | 13 +- .../typed/apps/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_apps_client.go | 4 +- .../internalversion/fake/fake_statefulset.go | 22 +- .../typed/apps/internalversion/statefulset.go | 12 +- .../authentication/internalversion/BUILD | 2 +- .../internalversion/authentication_client.go | 13 +- .../authentication/internalversion/fake/BUILD | 2 +- .../fake/fake_authentication_client.go | 4 +- .../fake/fake_tokenreview_expansion.go | 2 +- .../typed/authorization/internalversion/BUILD | 2 +- .../internalversion/authorization_client.go | 13 +- .../authorization/internalversion/fake/BUILD | 2 +- .../fake/fake_authorization_client.go | 4 +- ...fake_localsubjectaccessreview_expansion.go | 2 +- .../fake_selfsubjectaccessreview_expansion.go | 2 +- .../fake_subjectaccessreview_expansion.go | 2 +- .../typed/autoscaling/internalversion/BUILD | 2 +- .../internalversion/autoscaling_client.go | 13 +- .../autoscaling/internalversion/fake/BUILD | 2 +- .../fake/fake_autoscaling_client.go | 4 +- .../fake/fake_horizontalpodautoscaler.go | 22 +- .../horizontalpodautoscaler.go | 12 +- .../typed/batch/internalversion/BUILD | 2 +- .../batch/internalversion/batch_client.go | 13 +- .../typed/batch/internalversion/cronjob.go | 12 +- .../typed/batch/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_batch_client.go | 4 +- .../internalversion/fake/fake_cronjob.go | 22 +- .../batch/internalversion/fake/fake_job.go | 22 +- .../typed/batch/internalversion/job.go | 12 +- .../typed/certificates/internalversion/BUILD | 2 +- .../internalversion/certificates_client.go | 13 +- .../certificatesigningrequest.go | 12 +- .../certificates/internalversion/fake/BUILD | 2 +- .../fake/fake_certificates_client.go | 4 +- .../fake/fake_certificatesigningrequest.go | 22 +- ...ake_certificatesigningrequest_expansion.go | 2 +- .../typed/core/internalversion/BUILD | 1 + .../core/internalversion/componentstatus.go | 11 +- .../typed/core/internalversion/configmap.go | 11 +- .../typed/core/internalversion/core_client.go | 13 +- .../typed/core/internalversion/endpoints.go | 11 +- .../typed/core/internalversion/event.go | 11 +- .../core/internalversion/event_expansion.go | 6 +- .../typed/core/internalversion/fake/BUILD | 2 +- .../fake/fake_componentstatus.go | 20 +- .../internalversion/fake/fake_configmap.go | 20 +- .../internalversion/fake/fake_core_client.go | 4 +- .../internalversion/fake/fake_endpoints.go | 20 +- .../core/internalversion/fake/fake_event.go | 20 +- .../fake/fake_event_expansion.go | 4 +- .../internalversion/fake/fake_limitrange.go | 20 +- .../internalversion/fake/fake_namespace.go | 22 +- .../fake/fake_namespace_expansion.go | 2 +- .../core/internalversion/fake/fake_node.go | 22 +- .../fake/fake_node_expansion.go | 2 +- .../fake/fake_persistentvolume.go | 22 +- .../fake/fake_persistentvolumeclaim.go | 22 +- .../core/internalversion/fake/fake_pod.go | 22 +- .../fake/fake_pod_expansion.go | 2 +- .../internalversion/fake/fake_podtemplate.go | 20 +- .../fake/fake_replicationcontroller.go | 22 +- .../fake/fake_resourcequota.go | 22 +- .../core/internalversion/fake/fake_secret.go | 20 +- .../core/internalversion/fake/fake_service.go | 22 +- .../fake/fake_service_expansion.go | 2 +- .../fake/fake_serviceaccount.go | 20 +- .../typed/core/internalversion/limitrange.go | 11 +- .../typed/core/internalversion/namespace.go | 11 +- .../typed/core/internalversion/node.go | 11 +- .../core/internalversion/persistentvolume.go | 11 +- .../internalversion/persistentvolumeclaim.go | 11 +- .../typed/core/internalversion/pod.go | 11 +- .../typed/core/internalversion/podtemplate.go | 11 +- .../internalversion/replicationcontroller.go | 11 +- .../core/internalversion/resourcequota.go | 11 +- .../typed/core/internalversion/secret.go | 11 +- .../typed/core/internalversion/service.go | 11 +- .../core/internalversion/service_expansion.go | 2 +- .../core/internalversion/serviceaccount.go | 11 +- .../typed/extensions/internalversion/BUILD | 2 +- .../extensions/internalversion/daemonset.go | 12 +- .../extensions/internalversion/deployment.go | 12 +- .../internalversion/extensions_client.go | 13 +- .../extensions/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_daemonset.go | 22 +- .../internalversion/fake/fake_deployment.go | 22 +- .../fake/fake_deployment_expansion.go | 2 +- .../fake/fake_extensions_client.go | 4 +- .../internalversion/fake/fake_ingress.go | 22 +- .../fake/fake_networkpolicy.go | 20 +- .../fake/fake_podsecuritypolicy.go | 20 +- .../internalversion/fake/fake_replicaset.go | 22 +- .../fake/fake_scale_expansion.go | 2 +- .../fake/fake_thirdpartyresource.go | 20 +- .../extensions/internalversion/ingress.go | 12 +- .../internalversion/networkpolicy.go | 12 +- .../internalversion/podsecuritypolicy.go | 12 +- .../extensions/internalversion/replicaset.go | 12 +- .../internalversion/thirdpartyresource.go | 12 +- .../typed/policy/internalversion/BUILD | 2 +- .../typed/policy/internalversion/fake/BUILD | 2 +- .../fake/fake_eviction_expansion.go | 2 +- .../fake/fake_poddisruptionbudget.go | 22 +- .../fake/fake_policy_client.go | 4 +- .../internalversion/poddisruptionbudget.go | 12 +- .../policy/internalversion/policy_client.go | 13 +- .../typed/rbac/internalversion/BUILD | 2 +- .../typed/rbac/internalversion/clusterrole.go | 12 +- .../internalversion/clusterrolebinding.go | 12 +- .../typed/rbac/internalversion/fake/BUILD | 2 +- .../internalversion/fake/fake_clusterrole.go | 20 +- .../fake/fake_clusterrolebinding.go | 20 +- .../internalversion/fake/fake_rbac_client.go | 4 +- .../rbac/internalversion/fake/fake_role.go | 20 +- .../internalversion/fake/fake_rolebinding.go | 20 +- .../typed/rbac/internalversion/rbac_client.go | 13 +- .../typed/rbac/internalversion/role.go | 12 +- .../typed/rbac/internalversion/rolebinding.go | 12 +- .../typed/settings/internalversion/BUILD | 43 + .../typed/settings/internalversion/doc.go | 20 + .../typed/settings/internalversion/fake/BUILD | 42 + .../settings/internalversion/fake/doc.go | 20 + .../internalversion/fake/fake_podpreset.go | 118 + .../fake/fake_settings_client.go | 38 + .../internalversion/generated_expansion.go | 19 + .../settings/internalversion/podpreset.go | 155 + .../internalversion/settings_client.go | 99 + .../typed/storage/internalversion/BUILD | 2 +- .../typed/storage/internalversion/fake/BUILD | 2 +- .../fake/fake_storage_client.go | 4 +- .../internalversion/fake/fake_storageclass.go | 20 +- .../storage/internalversion/storage_client.go | 13 +- .../storage/internalversion/storageclass.go | 12 +- .../informers/informers_generated/BUILD | 79 - .../informers/informers_generated/apps/BUILD | 36 - .../informers_generated/apps/interface.go | 52 - .../apps/internalversion/BUILD | 40 - .../apps/internalversion/interface.go | 43 - .../apps/internalversion/statefulset.go | 68 - .../informers_generated/apps/v1beta1/BUILD | 40 - .../apps/v1beta1/interface.go | 43 - .../apps/v1beta1/statefulset.go | 68 - .../informers_generated/autoscaling/BUILD | 36 - .../autoscaling/interface.go | 52 - .../autoscaling/internalversion/BUILD | 40 - .../horizontalpodautoscaler.go | 68 - .../autoscaling/internalversion/interface.go | 43 - .../informers_generated/autoscaling/v1/BUILD | 40 - .../autoscaling/v1/horizontalpodautoscaler.go | 68 - .../autoscaling/v1/interface.go | 43 - .../informers/informers_generated/batch/BUILD | 38 - .../informers_generated/batch/interface.go | 60 - .../batch/internalversion/BUILD | 41 - .../batch/internalversion/cronjob.go | 68 - .../batch/internalversion/interface.go | 50 - .../batch/internalversion/job.go | 68 - .../informers_generated/batch/v1/BUILD | 40 - .../informers_generated/batch/v1/interface.go | 43 - .../informers_generated/batch/v1/job.go | 68 - .../informers_generated/batch/v2alpha1/BUILD | 41 - .../batch/v2alpha1/cronjob.go | 68 - .../batch/v2alpha1/interface.go | 50 - .../informers_generated/batch/v2alpha1/job.go | 68 - .../informers_generated/certificates/BUILD | 36 - .../certificates/interface.go | 52 - .../certificates/internalversion/BUILD | 40 - .../certificatesigningrequest.go | 68 - .../certificates/internalversion/interface.go | 43 - .../certificates/v1beta1/BUILD | 40 - .../v1beta1/certificatesigningrequest.go | 68 - .../certificates/v1beta1/interface.go | 43 - .../informers/informers_generated/core/BUILD | 36 - .../informers_generated/core/interface.go | 52 - .../core/internalversion/BUILD | 55 - .../core/internalversion/componentstatus.go | 68 - .../core/internalversion/configmap.go | 68 - .../core/internalversion/endpoints.go | 68 - .../core/internalversion/event.go | 68 - .../core/internalversion/interface.go | 148 - .../core/internalversion/limitrange.go | 68 - .../core/internalversion/namespace.go | 68 - .../core/internalversion/node.go | 68 - .../core/internalversion/persistentvolume.go | 68 - .../internalversion/persistentvolumeclaim.go | 68 - .../core/internalversion/pod.go | 68 - .../core/internalversion/podtemplate.go | 68 - .../internalversion/replicationcontroller.go | 68 - .../core/internalversion/resourcequota.go | 68 - .../core/internalversion/secret.go | 68 - .../core/internalversion/service.go | 68 - .../core/internalversion/serviceaccount.go | 68 - .../informers_generated/core/v1/BUILD | 55 - .../core/v1/componentstatus.go | 68 - .../informers_generated/core/v1/configmap.go | 68 - .../informers_generated/core/v1/endpoints.go | 68 - .../informers_generated/core/v1/event.go | 68 - .../informers_generated/core/v1/interface.go | 148 - .../informers_generated/core/v1/limitrange.go | 68 - .../informers_generated/core/v1/namespace.go | 68 - .../informers_generated/core/v1/node.go | 68 - .../core/v1/persistentvolume.go | 68 - .../core/v1/persistentvolumeclaim.go | 68 - .../informers_generated/core/v1/pod.go | 68 - .../core/v1/podtemplate.go | 68 - .../core/v1/replicationcontroller.go | 68 - .../core/v1/resourcequota.go | 68 - .../informers_generated/core/v1/secret.go | 68 - .../informers_generated/core/v1/service.go | 68 - .../core/v1/serviceaccount.go | 68 - .../informers_generated/extensions/BUILD | 36 - .../extensions/interface.go | 52 - .../extensions/internalversion/BUILD | 46 - .../extensions/internalversion/daemonset.go | 68 - .../extensions/internalversion/deployment.go | 68 - .../extensions/internalversion/ingress.go | 68 - .../extensions/internalversion/interface.go | 85 - .../internalversion/networkpolicy.go | 68 - .../internalversion/podsecuritypolicy.go | 68 - .../extensions/internalversion/replicaset.go | 68 - .../internalversion/thirdpartyresource.go | 68 - .../extensions/v1beta1/BUILD | 45 - .../extensions/v1beta1/daemonset.go | 68 - .../extensions/v1beta1/deployment.go | 68 - .../extensions/v1beta1/ingress.go | 68 - .../extensions/v1beta1/interface.go | 78 - .../extensions/v1beta1/podsecuritypolicy.go | 68 - .../extensions/v1beta1/replicaset.go | 68 - .../extensions/v1beta1/thirdpartyresource.go | 68 - .../externalversions/BUILD | 74 + .../externalversions/apps/BUILD | 34 + .../externalversions/apps/interface.go | 44 + .../externalversions/apps/v1beta1/BUILD | 41 + .../apps/v1beta1/deployment.go | 68 + .../apps/v1beta1/interface.go | 50 + .../apps/v1beta1/statefulset.go | 68 + .../externalversions/autoscaling/BUILD | 36 + .../externalversions/autoscaling/interface.go | 52 + .../externalversions/autoscaling/v1/BUILD | 40 + .../autoscaling/v1/horizontalpodautoscaler.go | 68 + .../autoscaling/v1/interface.go | 43 + .../autoscaling/v2alpha1/BUILD | 40 + .../v2alpha1/horizontalpodautoscaler.go | 68 + .../autoscaling/v2alpha1/interface.go | 43 + .../externalversions/batch/BUILD | 36 + .../externalversions/batch/interface.go | 52 + .../externalversions/batch/v1/BUILD | 40 + .../externalversions/batch/v1/interface.go | 43 + .../externalversions/batch/v1/job.go | 68 + .../externalversions/batch/v2alpha1/BUILD | 40 + .../batch/v2alpha1/cronjob.go | 68 + .../batch/v2alpha1/interface.go | 43 + .../externalversions/certificates/BUILD | 34 + .../certificates/interface.go | 44 + .../certificates/v1beta1/BUILD | 40 + .../v1beta1/certificatesigningrequest.go | 68 + .../certificates/v1beta1/interface.go | 43 + .../externalversions/core/BUILD | 34 + .../externalversions/core/interface.go | 44 + .../externalversions/core/v1/BUILD | 55 + .../core/v1/componentstatus.go | 68 + .../externalversions/core/v1/configmap.go | 68 + .../externalversions/core/v1/endpoints.go | 68 + .../externalversions/core/v1/event.go | 68 + .../externalversions/core/v1/interface.go | 148 + .../externalversions/core/v1/limitrange.go | 68 + .../externalversions/core/v1/namespace.go | 68 + .../externalversions/core/v1/node.go | 68 + .../core/v1/persistentvolume.go | 68 + .../core/v1/persistentvolumeclaim.go | 68 + .../externalversions/core/v1/pod.go | 68 + .../externalversions/core/v1/podtemplate.go | 68 + .../core/v1/replicationcontroller.go | 68 + .../externalversions/core/v1/resourcequota.go | 68 + .../externalversions/core/v1/secret.go | 68 + .../externalversions/core/v1/service.go | 68 + .../core/v1/serviceaccount.go | 68 + .../externalversions/extensions/BUILD | 34 + .../externalversions/extensions/interface.go | 44 + .../externalversions/extensions/v1beta1/BUILD | 45 + .../extensions/v1beta1/daemonset.go | 68 + .../extensions/v1beta1/deployment.go | 68 + .../extensions/v1beta1/ingress.go | 68 + .../extensions/v1beta1/interface.go | 78 + .../extensions/v1beta1/podsecuritypolicy.go | 68 + .../extensions/v1beta1/replicaset.go | 68 + .../extensions/v1beta1/thirdpartyresource.go | 68 + .../externalversions/factory.go | 149 + .../externalversions/generic.go | 180 + .../externalversions/internalinterfaces/BUILD | 32 + .../internalinterfaces/factory_interfaces.go | 34 + .../externalversions/policy/BUILD | 34 + .../externalversions/policy/interface.go | 44 + .../externalversions/policy/v1beta1/BUILD | 40 + .../policy/v1beta1/interface.go | 43 + .../policy/v1beta1/poddisruptionbudget.go | 68 + .../externalversions/rbac/BUILD | 36 + .../externalversions/rbac/interface.go | 52 + .../externalversions/rbac/v1alpha1/BUILD | 43 + .../rbac/v1alpha1/clusterrole.go | 68 + .../rbac/v1alpha1/clusterrolebinding.go | 68 + .../rbac/v1alpha1/interface.go | 64 + .../externalversions/rbac/v1alpha1/role.go | 68 + .../rbac/v1alpha1/rolebinding.go | 68 + .../externalversions/rbac/v1beta1/BUILD | 43 + .../rbac/v1beta1/clusterrole.go | 68 + .../rbac/v1beta1/clusterrolebinding.go | 68 + .../rbac/v1beta1/interface.go | 64 + .../externalversions/rbac/v1beta1/role.go | 68 + .../rbac/v1beta1/rolebinding.go | 68 + .../externalversions/settings/BUILD | 34 + .../externalversions/settings/interface.go | 44 + .../externalversions/settings/v1alpha1/BUILD | 40 + .../settings/v1alpha1/interface.go | 43 + .../settings/v1alpha1/podpreset.go | 68 + .../externalversions/storage/BUILD | 36 + .../externalversions/storage/interface.go | 52 + .../externalversions/storage/v1/BUILD | 40 + .../externalversions/storage/v1/interface.go | 43 + .../storage/v1/storageclass.go | 68 + .../externalversions/storage/v1beta1/BUILD | 40 + .../storage/v1beta1/interface.go | 43 + .../storage/v1beta1/storageclass.go | 68 + .../informers/informers_generated/factory.go | 163 - .../informers/informers_generated/generic.go | 260 - .../internalinterfaces/BUILD | 33 - .../internalinterfaces/internal_interfaces.go | 37 - .../informers_generated/internalversion/BUILD | 70 + .../internalversion/apps/BUILD | 34 + .../internalversion/apps/interface.go | 44 + .../apps/internalversion/BUILD | 40 + .../apps/internalversion/interface.go | 43 + .../apps/internalversion/statefulset.go | 68 + .../internalversion/autoscaling/BUILD | 34 + .../internalversion/autoscaling/interface.go | 44 + .../autoscaling/internalversion/BUILD | 40 + .../horizontalpodautoscaler.go | 68 + .../autoscaling/internalversion/interface.go | 43 + .../internalversion/batch/BUILD | 34 + .../internalversion/batch/interface.go | 44 + .../batch/internalversion/BUILD | 41 + .../batch/internalversion/cronjob.go | 68 + .../batch/internalversion/interface.go | 50 + .../batch/internalversion/job.go | 68 + .../internalversion/certificates/BUILD | 34 + .../internalversion/certificates/interface.go | 44 + .../certificates/internalversion/BUILD | 40 + .../certificatesigningrequest.go | 68 + .../certificates/internalversion/interface.go | 43 + .../internalversion/core/BUILD | 34 + .../internalversion/core/interface.go | 44 + .../core/internalversion/BUILD | 55 + .../core/internalversion/componentstatus.go | 68 + .../core/internalversion/configmap.go | 68 + .../core/internalversion/endpoints.go | 68 + .../core/internalversion/event.go | 68 + .../core/internalversion/interface.go | 148 + .../core/internalversion/limitrange.go | 68 + .../core/internalversion/namespace.go | 68 + .../core/internalversion/node.go | 68 + .../core/internalversion/persistentvolume.go | 68 + .../internalversion/persistentvolumeclaim.go | 68 + .../core/internalversion/pod.go | 68 + .../core/internalversion/podtemplate.go | 68 + .../internalversion/replicationcontroller.go | 68 + .../core/internalversion/resourcequota.go | 68 + .../core/internalversion/secret.go | 68 + .../core/internalversion/service.go | 68 + .../core/internalversion/serviceaccount.go | 68 + .../internalversion/extensions/BUILD | 34 + .../internalversion/extensions/interface.go | 44 + .../extensions/internalversion/BUILD | 46 + .../extensions/internalversion/daemonset.go | 68 + .../extensions/internalversion/deployment.go | 68 + .../extensions/internalversion/ingress.go | 68 + .../extensions/internalversion/interface.go | 85 + .../internalversion/networkpolicy.go | 68 + .../internalversion/podsecuritypolicy.go | 68 + .../extensions/internalversion/replicaset.go | 68 + .../internalversion/thirdpartyresource.go | 68 + .../internalversion/factory.go | 149 + .../internalversion/generic.go | 156 + .../internalversion/internalinterfaces/BUILD | 32 + .../internalinterfaces/factory_interfaces.go | 34 + .../internalversion/policy/BUILD | 34 + .../internalversion/policy/interface.go | 44 + .../policy/internalversion/BUILD | 40 + .../policy/internalversion/interface.go | 43 + .../internalversion/poddisruptionbudget.go | 68 + .../internalversion/rbac/BUILD | 34 + .../internalversion/rbac/interface.go | 44 + .../rbac/internalversion/BUILD | 43 + .../rbac/internalversion/clusterrole.go | 68 + .../internalversion/clusterrolebinding.go | 68 + .../rbac/internalversion/interface.go | 64 + .../rbac/internalversion/role.go | 68 + .../rbac/internalversion/rolebinding.go | 68 + .../internalversion/settings/BUILD | 34 + .../internalversion/settings/interface.go | 44 + .../settings/internalversion/BUILD | 40 + .../settings/internalversion/interface.go | 43 + .../settings/internalversion/podpreset.go | 68 + .../internalversion/storage/BUILD | 34 + .../internalversion/storage/interface.go | 44 + .../storage/internalversion/BUILD | 40 + .../storage/internalversion/interface.go | 43 + .../storage/internalversion/storageclass.go | 68 + .../informers_generated/policy/BUILD | 36 - .../informers_generated/policy/interface.go | 52 - .../policy/internalversion/BUILD | 40 - .../policy/internalversion/interface.go | 43 - .../internalversion/poddisruptionbudget.go | 68 - .../informers_generated/policy/v1beta1/BUILD | 40 - .../policy/v1beta1/interface.go | 43 - .../policy/v1beta1/poddisruptionbudget.go | 68 - .../informers/informers_generated/rbac/BUILD | 38 - .../informers_generated/rbac/interface.go | 60 - .../rbac/internalversion/BUILD | 43 - .../rbac/internalversion/clusterrole.go | 68 - .../internalversion/clusterrolebinding.go | 68 - .../rbac/internalversion/interface.go | 64 - .../rbac/internalversion/role.go | 68 - .../rbac/internalversion/rolebinding.go | 68 - .../informers_generated/rbac/v1alpha1/BUILD | 43 - .../rbac/v1alpha1/clusterrole.go | 68 - .../rbac/v1alpha1/clusterrolebinding.go | 68 - .../rbac/v1alpha1/interface.go | 64 - .../informers_generated/rbac/v1alpha1/role.go | 68 - .../rbac/v1alpha1/rolebinding.go | 68 - .../informers_generated/rbac/v1beta1/BUILD | 43 - .../rbac/v1beta1/clusterrole.go | 68 - .../rbac/v1beta1/clusterrolebinding.go | 68 - .../rbac/v1beta1/interface.go | 64 - .../informers_generated/rbac/v1beta1/role.go | 68 - .../rbac/v1beta1/rolebinding.go | 68 - .../informers_generated/storage/BUILD | 36 - .../informers_generated/storage/interface.go | 52 - .../storage/internalversion/BUILD | 40 - .../storage/internalversion/interface.go | 43 - .../storage/internalversion/storageclass.go | 68 - .../informers_generated/storage/v1beta1/BUILD | 40 - .../storage/v1beta1/interface.go | 43 - .../storage/v1beta1/storageclass.go | 68 - .../pkg/client/leaderelection/BUILD | 4 +- .../client/leaderelection/leaderelection.go | 1 + .../leaderelection/leaderelection_test.go | 4 +- .../client/leaderelection/resourcelock/BUILD | 2 +- .../leaderelection/resourcelock/interface.go | 2 +- .../kubernetes/pkg/client/legacylisters/BUILD | 66 - .../pkg/client/legacylisters/listers.go | 346 - .../pkg/client/legacylisters/listers_core.go | 351 - .../legacylisters/listers_extensions.go | 212 - .../pkg/client/legacylisters/listers_rbac.go | 235 - .../pkg/client/legacylisters/listers_test.go | 614 - .../client/listers/apps/internalversion/BUILD | 2 +- .../internalversion/expansion_generated.go | 2 +- .../apps/internalversion/statefulset.go | 4 +- .../internalversion/statefulset_expansion.go | 4 +- .../pkg/client/listers/apps/v1beta1/BUILD | 4 +- .../client/listers/apps/v1beta1/deployment.go | 95 + .../apps/v1beta1/expansion_generated.go | 18 +- .../pkg/client/listers/apps/v1beta1/scale.go | 95 + .../listers/apps/v1beta1/statefulset.go | 4 +- .../apps/v1beta1/statefulset_expansion.go | 4 +- .../authentication/internalversion/BUILD | 2 +- .../internalversion/expansion_generated.go | 2 +- .../internalversion/tokenreview.go | 4 +- .../client/listers/authentication/v1/BUILD | 38 + .../authentication/v1/expansion_generated.go | 23 + .../listers/authentication/v1/tokenreview.go | 68 + .../listers/authentication/v1beta1/BUILD | 2 +- .../v1beta1/expansion_generated.go | 2 +- .../authentication/v1beta1/tokenreview.go | 4 +- .../authorization/internalversion/BUILD | 2 +- .../internalversion/expansion_generated.go | 2 +- .../localsubjectaccessreview.go | 4 +- .../selfsubjectaccessreview.go | 4 +- .../internalversion/subjectaccessreview.go | 4 +- .../pkg/client/listers/authorization/v1/BUILD | 40 + .../authorization/v1/expansion_generated.go | 35 + .../v1/localsubjectaccessreview.go | 95 + .../v1/selfsubjectaccessreview.go | 68 + .../authorization/v1/subjectaccessreview.go | 68 + .../listers/authorization/v1beta1/BUILD | 2 +- .../v1beta1/expansion_generated.go | 2 +- .../v1beta1/localsubjectaccessreview.go | 4 +- .../v1beta1/selfsubjectaccessreview.go | 4 +- .../v1beta1/subjectaccessreview.go | 4 +- .../listers/autoscaling/internalversion/BUILD | 2 +- .../internalversion/expansion_generated.go | 2 +- .../horizontalpodautoscaler.go | 4 +- .../pkg/client/listers/autoscaling/v1/BUILD | 2 +- .../autoscaling/v1/expansion_generated.go | 2 +- .../autoscaling/v1/horizontalpodautoscaler.go | 4 +- .../client/listers/autoscaling/v2alpha1/BUILD | 37 + .../v2alpha1/expansion_generated.go | 27 + .../v2alpha1/horizontalpodautoscaler.go | 95 + .../listers/batch/internalversion/BUILD | 4 +- .../listers/batch/internalversion/cronjob.go | 4 +- .../internalversion/expansion_generated.go | 2 +- .../listers/batch/internalversion/job.go | 4 +- .../listers/batch/internalversion/job_test.go | 2 +- .../pkg/client/listers/batch/v1/BUILD | 2 +- .../listers/batch/v1/expansion_generated.go | 2 +- .../pkg/client/listers/batch/v1/job.go | 4 +- .../pkg/client/listers/batch/v2alpha1/BUILD | 3 +- .../client/listers/batch/v2alpha1/cronjob.go | 4 +- .../batch/v2alpha1/expansion_generated.go | 10 +- .../pkg/client/listers/batch/v2alpha1/job.go | 95 - .../certificates/internalversion/BUILD | 2 +- .../certificatesigningrequest.go | 4 +- .../internalversion/expansion_generated.go | 2 +- .../client/listers/certificates/v1beta1/BUILD | 2 +- .../v1beta1/certificatesigningrequest.go | 4 +- .../v1beta1/expansion_generated.go | 2 +- .../client/listers/core/internalversion/BUILD | 2 +- .../core/internalversion/componentstatus.go | 4 +- .../listers/core/internalversion/configmap.go | 4 +- .../listers/core/internalversion/endpoints.go | 4 +- .../listers/core/internalversion/event.go | 4 +- .../internalversion/expansion_generated.go | 2 +- .../core/internalversion/limitrange.go | 4 +- .../listers/core/internalversion/namespace.go | 4 +- .../listers/core/internalversion/node.go | 4 +- .../core/internalversion/persistentvolume.go | 4 +- .../internalversion/persistentvolumeclaim.go | 4 +- .../listers/core/internalversion/pod.go | 4 +- .../core/internalversion/podtemplate.go | 4 +- .../internalversion/replicationcontroller.go | 4 +- .../replicationcontroller_expansion.go | 4 +- .../core/internalversion/resourcequota.go | 4 +- .../listers/core/internalversion/secret.go | 4 +- .../listers/core/internalversion/service.go | 4 +- .../core/internalversion/serviceaccount.go | 4 +- .../pkg/client/listers/core/v1/BUILD | 2 +- .../client/listers/core/v1/componentstatus.go | 4 +- .../pkg/client/listers/core/v1/configmap.go | 4 +- .../pkg/client/listers/core/v1/endpoints.go | 4 +- .../pkg/client/listers/core/v1/event.go | 4 +- .../listers/core/v1/expansion_generated.go | 2 +- .../pkg/client/listers/core/v1/limitrange.go | 4 +- .../pkg/client/listers/core/v1/namespace.go | 4 +- .../pkg/client/listers/core/v1/node.go | 4 +- .../listers/core/v1/persistentvolume.go | 4 +- .../listers/core/v1/persistentvolumeclaim.go | 4 +- .../pkg/client/listers/core/v1/pod.go | 4 +- .../pkg/client/listers/core/v1/podtemplate.go | 4 +- .../listers/core/v1/replicationcontroller.go | 4 +- .../v1/replicationcontroller_expansion.go | 4 +- .../client/listers/core/v1/resourcequota.go | 4 +- .../pkg/client/listers/core/v1/secret.go | 4 +- .../pkg/client/listers/core/v1/service.go | 4 +- .../client/listers/core/v1/serviceaccount.go | 4 +- .../listers/extensions/internalversion/BUILD | 4 +- .../extensions/internalversion/daemonset.go | 4 +- .../internalversion/daemonset_expansion.go | 5 +- .../daemonset_expansion_test.go | 2 +- .../extensions/internalversion/deployment.go | 4 +- .../internalversion/deployment_expansion.go | 5 +- .../internalversion/expansion_generated.go | 2 +- .../extensions/internalversion/ingress.go | 4 +- .../internalversion/networkpolicy.go | 4 +- .../internalversion/podsecuritypolicy.go | 4 +- .../extensions/internalversion/replicaset.go | 4 +- .../internalversion/replicaset_expansion.go | 4 +- .../extensions/internalversion/scale.go | 4 +- .../internalversion/thirdpartyresource.go | 4 +- .../client/listers/extensions/v1beta1/BUILD | 4 +- .../listers/extensions/v1beta1/daemonset.go | 4 +- .../extensions/v1beta1/daemonset_expansion.go | 5 +- .../v1beta1/daemonset_expansion_test.go | 2 +- .../listers/extensions/v1beta1/deployment.go | 4 +- .../v1beta1/deployment_expansion.go | 5 +- .../extensions/v1beta1/expansion_generated.go | 2 +- .../listers/extensions/v1beta1/ingress.go | 4 +- .../extensions/v1beta1/podsecuritypolicy.go | 4 +- .../listers/extensions/v1beta1/replicaset.go | 4 +- .../v1beta1/replicaset_expansion.go | 4 +- .../listers/extensions/v1beta1/scale.go | 4 +- .../extensions/v1beta1/thirdpartyresource.go | 4 +- .../listers/imagepolicy/internalversion/BUILD | 2 +- .../internalversion/expansion_generated.go | 2 +- .../internalversion/imagereview.go | 4 +- .../client/listers/imagepolicy/v1alpha1/BUILD | 2 +- .../v1alpha1/expansion_generated.go | 2 +- .../imagepolicy/v1alpha1/imagereview.go | 4 +- .../listers/policy/internalversion/BUILD | 2 +- .../policy/internalversion/eviction.go | 4 +- .../internalversion/expansion_generated.go | 2 +- .../internalversion/poddisruptionbudget.go | 4 +- .../pkg/client/listers/policy/v1alpha1/BUILD | 2 +- .../policy/v1alpha1/expansion_generated.go | 2 +- .../policy/v1alpha1/poddisruptionbudget.go | 4 +- .../pkg/client/listers/policy/v1beta1/BUILD | 2 +- .../client/listers/policy/v1beta1/eviction.go | 4 +- .../policy/v1beta1/expansion_generated.go | 2 +- .../policy/v1beta1/poddisruptionbudget.go | 4 +- .../client/listers/rbac/internalversion/BUILD | 2 +- .../rbac/internalversion/clusterrole.go | 4 +- .../internalversion/clusterrolebinding.go | 4 +- .../internalversion/expansion_generated.go | 2 +- .../listers/rbac/internalversion/role.go | 4 +- .../rbac/internalversion/rolebinding.go | 4 +- .../pkg/client/listers/rbac/v1alpha1/BUILD | 2 +- .../listers/rbac/v1alpha1/clusterrole.go | 4 +- .../rbac/v1alpha1/clusterrolebinding.go | 4 +- .../rbac/v1alpha1/expansion_generated.go | 2 +- .../pkg/client/listers/rbac/v1alpha1/role.go | 4 +- .../listers/rbac/v1alpha1/rolebinding.go | 4 +- .../pkg/client/listers/rbac/v1beta1/BUILD | 2 +- .../listers/rbac/v1beta1/clusterrole.go | 4 +- .../rbac/v1beta1/clusterrolebinding.go | 4 +- .../rbac/v1beta1/expansion_generated.go | 2 +- .../pkg/client/listers/rbac/v1beta1/role.go | 4 +- .../listers/rbac/v1beta1/rolebinding.go | 4 +- .../listers/settings/internalversion/BUILD | 36 + .../internalversion/expansion_generated.go | 27 + .../settings/internalversion/podpreset.go | 94 + .../client/listers/settings/v1alpha1/BUILD | 37 + .../settings/v1alpha1/expansion_generated.go | 27 + .../listers/settings/v1alpha1/podpreset.go | 95 + .../listers/storage/internalversion/BUILD | 2 +- .../internalversion/expansion_generated.go | 2 +- .../storage/internalversion/storageclass.go | 4 +- .../pkg/client/listers/storage/v1/BUILD | 38 + .../listers/storage/v1/expansion_generated.go | 23 + .../client/listers/storage/v1/storageclass.go | 68 + .../pkg/client/listers/storage/v1beta1/BUILD | 2 +- .../storage/v1beta1/expansion_generated.go | 2 +- .../listers/storage/v1beta1/storageclass.go | 4 +- .../client/metrics/prometheus/prometheus.go | 23 +- .../k8s.io/kubernetes/pkg/client/record/BUILD | 68 - .../kubernetes/pkg/client/record/OWNERS | 27 - .../kubernetes/pkg/client/record/doc.go | 18 - .../kubernetes/pkg/client/record/event.go | 316 - .../pkg/client/record/event_test.go | 914 - .../pkg/client/record/events_cache.go | 360 - .../pkg/client/record/events_cache_test.go | 254 - .../kubernetes/pkg/client/record/fake.go | 54 - .../pkg/client/restclient/fake/BUILD | 36 - .../pkg/client/restclient/fake/fake.go | 127 - .../kubernetes/pkg/client/testing/OWNERS | 11 - .../kubernetes/pkg/client/testing/cache/BUILD | 50 - .../testing/cache/fake_controller_source.go | 264 - .../cache/fake_controller_source_test.go | 96 - .../kubernetes/pkg/client/testing/core/BUILD | 57 - .../pkg/client/testing/core/actions.go | 471 - .../pkg/client/testing/core/fake.go | 259 - .../pkg/client/testing/core/fake_test.go | 180 - .../pkg/client/testing/core/fixture.go | 516 - .../k8s.io/kubernetes/pkg/client/tests/BUILD | 59 + .../k8s.io/kubernetes/pkg/client/tests/doc.go | 18 + .../pkg/client/tests/fake_client_test.go | 183 + .../client/{cache => tests}/listwatch_test.go | 20 +- .../pkg/client/tests/portfoward_test.go | 230 + .../k8s.io/kubernetes/pkg/client/typed/OWNERS | 15 - .../pkg/client/typed/discovery/BUILD | 79 - .../typed/discovery/discovery_client.go | 437 - .../typed/discovery/discovery_client_test.go | 740 - .../pkg/client/typed/discovery/fake/BUILD | 37 - .../client/typed/discovery/fake/discovery.go | 97 - .../pkg/client/typed/discovery/helper.go | 162 - .../typed/discovery/helper_blackbox_test.go | 229 - .../pkg/client/typed/discovery/restmapper.go | 319 - .../client/typed/discovery/restmapper_test.go | 330 - .../client/typed/discovery/unstructured.go | 95 - .../kubernetes/pkg/client/typed/dynamic/BUILD | 68 - .../pkg/client/typed/dynamic/client.go | 301 - .../pkg/client/typed/dynamic/client_pool.go | 115 - .../pkg/client/typed/dynamic/client_test.go | 552 - .../pkg/client/typed/dynamic/dynamic_util.go | 96 - .../client/typed/dynamic/dynamic_util_test.go | 79 - .../kubernetes/pkg/client/unversioned/BUILD | 1 - .../pkg/client/unversioned/conditions.go | 10 +- .../pkg/client/unversioned/portforward/BUILD | 51 - .../pkg/client/unversioned/portforward/doc.go | 19 - .../unversioned/portforward/portforward.go | 340 - .../portforward/portforward_test.go | 398 - .../client/unversioned/remotecommand/BUILD | 6 +- .../remotecommand/remotecommand.go | 4 +- .../remotecommand/remotecommand_test.go | 2 +- .../client/unversioned/remotecommand/v1.go | 2 +- .../unversioned/remotecommand/v2_test.go | 2 +- .../unversioned/testclient/simple/BUILD | 1 + .../testclient/simple/simple_testclient.go | 3 +- .../kubernetes/pkg/cloudprovider/cloud.go | 5 +- .../kubernetes/pkg/cloudprovider/plugins.go | 12 + .../pkg/cloudprovider/providers/aws/BUILD | 2 + .../pkg/cloudprovider/providers/aws/OWNERS | 1 + .../pkg/cloudprovider/providers/aws/aws.go | 468 +- .../providers/aws/aws_loadbalancer.go | 15 +- .../cloudprovider/providers/aws/aws_routes.go | 12 +- .../cloudprovider/providers/aws/aws_test.go | 47 +- .../providers/aws/device_allocator.go | 54 +- .../providers/aws/device_allocator_test.go | 45 +- .../pkg/cloudprovider/providers/aws/tags.go | 274 + .../cloudprovider/providers/aws/tags_test.go | 111 + .../cloudprovider/providers/azure/azure.go | 38 +- .../providers/azure/azure_loadbalancer.go | 8 + .../pkg/cloudprovider/providers/gce/OWNERS | 3 + .../pkg/cloudprovider/providers/gce/gce.go | 35 +- .../pkg/cloudprovider/providers/mesos/BUILD | 2 +- .../cloudprovider/providers/mesos/client.go | 2 +- .../cloudprovider/providers/openstack/BUILD | 54 +- .../providers/openstack/openstack.go | 80 +- .../openstack/openstack_instances.go | 12 +- .../openstack/openstack_loadbalancer.go | 108 +- .../providers/openstack/openstack_routes.go | 8 +- .../providers/openstack/openstack_test.go | 7 +- .../providers/openstack/openstack_volumes.go | 10 +- .../cloudprovider/providers/photon/photon.go | 275 +- .../providers/photon/photon_test.go | 28 +- .../pkg/cloudprovider/providers/vsphere/BUILD | 5 +- .../providers/vsphere/vsphere.go | 176 +- .../providers/vsphere/vsphere_test.go | 10 +- .../providers/vsphere/vsphere_util.go | 64 + vendor/k8s.io/kubernetes/pkg/controller/BUILD | 22 +- .../k8s.io/kubernetes/pkg/controller/OWNERS | 2 + .../kubernetes/pkg/controller/bootstrap/BUILD | 76 + .../controller/bootstrap/bootstrapsigner.go | 299 + .../bootstrap/bootstrapsigner_test.go | 140 + .../pkg/controller/bootstrap/common_test.go | 74 + .../pkg/controller/bootstrap/doc.go | 20 + .../pkg/controller/bootstrap/jws.go | 73 + .../pkg/controller/bootstrap/jws_test.go | 67 + .../pkg/controller/bootstrap/tokencleaner.go | 128 + .../controller/bootstrap/tokencleaner_test.go | 85 + .../pkg/controller/bootstrap/util.go | 109 + .../pkg/controller/bootstrap/util_test.go | 206 + .../pkg/controller/certificates/BUILD | 26 +- .../certificates/certificate_controller.go | 151 +- .../certificate_controller_test.go | 225 + .../controller/certificates/cfssl_signer.go | 10 +- .../certificates/cfssl_signer_test.go | 3 +- .../controller/certificates/groupapprove.go | 7 +- .../pkg/controller/client_builder.go | 160 +- .../kubernetes/pkg/controller/cloud/BUILD | 14 +- .../pkg/controller/cloud/nodecontroller.go | 16 +- .../controller/cloud/nodecontroller_test.go | 12 +- .../pkg/controller/controller_ref_manager.go | 399 +- .../pkg/controller/controller_utils.go | 180 +- .../pkg/controller/controller_utils_test.go | 71 +- .../kubernetes/pkg/controller/cronjob/BUILD | 9 +- .../kubernetes/pkg/controller/cronjob/OWNERS | 8 + .../controller/cronjob/cronjob_controller.go | 225 +- .../cronjob/cronjob_controller_test.go | 296 +- .../pkg/controller/cronjob/injection.go | 49 +- .../pkg/controller/cronjob/utils.go | 52 +- .../pkg/controller/cronjob/utils_test.go | 49 +- .../kubernetes/pkg/controller/daemon/BUILD | 47 +- .../kubernetes/pkg/controller/daemon/OWNERS | 3 + .../pkg/controller/daemon/daemoncontroller.go | 618 +- .../daemon/daemoncontroller_test.go | 1051 +- .../pkg/controller/daemon/update.go | 129 + .../pkg/controller/daemon/update_test.go | 135 + .../pkg/controller/daemon/util/BUILD | 48 + .../controller/daemon/util/daemonset_util.go | 62 + .../daemon/util/daemonset_util_test.go | 92 + .../pkg/controller/deployment/BUILD | 29 +- .../pkg/controller/deployment/OWNERS | 5 + .../deployment/deployment_controller.go | 649 +- .../deployment/deployment_controller_test.go | 802 +- .../pkg/controller/deployment/progress.go | 69 +- .../controller/deployment/progress_test.go | 163 + .../pkg/controller/deployment/recreate.go | 30 +- .../controller/deployment/recreate_test.go | 8 +- .../pkg/controller/deployment/rollback.go | 68 +- .../pkg/controller/deployment/rolling.go | 16 +- .../pkg/controller/deployment/rolling_test.go | 6 +- .../pkg/controller/deployment/sync.go | 159 +- .../pkg/controller/deployment/sync_test.go | 26 +- .../pkg/controller/deployment/util/BUILD | 14 +- .../deployment/util/deployment_util.go | 379 +- .../deployment/util/deployment_util_test.go | 230 +- .../controller/deployment/util/pod_util.go | 4 +- .../deployment/util/replicaset_util.go | 4 +- .../pkg/controller/disruption/BUILD | 36 +- .../pkg/controller/disruption/disruption.go | 192 +- .../controller/disruption/disruption_test.go | 134 +- .../kubernetes/pkg/controller/endpoint/BUILD | 16 +- .../endpoint/endpoints_controller.go | 102 +- .../endpoint/endpoints_controller_test.go | 116 +- .../pkg/controller/garbagecollector/BUILD | 22 +- .../pkg/controller/garbagecollector/errors.go | 46 + .../garbagecollector/garbagecollector.go | 1059 +- .../garbagecollector/garbagecollector_test.go | 165 +- .../pkg/controller/garbagecollector/graph.go | 159 + .../garbagecollector/graph_builder.go | 499 + .../garbagecollector/metaonly/metaonly.go | 4 + .../controller/garbagecollector/operations.go | 135 + .../pkg/controller/garbagecollector/patch.go | 54 + .../garbagecollector/rate_limiter_helper.go | 2 +- .../kubernetes/pkg/controller/informers/BUILD | 56 - .../pkg/controller/informers/OWNERS | 6 - .../pkg/controller/informers/batch.go | 83 - .../pkg/controller/informers/core.go | 576 - .../pkg/controller/informers/extensions.go | 155 - .../pkg/controller/informers/factory.go | 193 - .../pkg/controller/informers/generic.go | 90 - .../pkg/controller/informers/rbac.go | 197 - .../pkg/controller/informers/storage.go | 71 - .../kubernetes/pkg/controller/job/BUILD | 22 +- .../kubernetes/pkg/controller/job/OWNERS | 5 + .../pkg/controller/job/jobcontroller.go | 32 +- .../pkg/controller/job/jobcontroller_test.go | 39 +- .../kubernetes/pkg/controller/lookup_cache.go | 4 +- .../kubernetes/pkg/controller/namespace/BUILD | 44 +- .../pkg/controller/namespace/deletion/BUILD | 61 + .../deletion/namespaced_resources_deleter.go | 569 + .../namespaced_resources_deleter_test.go | 344 + .../namespace/namespace_controller.go | 125 +- .../namespace/namespace_controller_test.go | 332 - .../namespace/namespace_controller_utils.go | 507 - .../kubernetes/pkg/controller/node/BUILD | 31 +- .../kubernetes/pkg/controller/node/OWNERS | 2 + .../pkg/controller/node/cidr_allocator.go | 13 +- .../controller/node/cidr_allocator_test.go | 3 + .../pkg/controller/node/controller_utils.go | 34 +- .../pkg/controller/node/nodecontroller.go | 613 +- .../controller/node/nodecontroller_test.go | 131 +- .../node/rate_limited_queue_test.go | 8 +- .../pkg/controller/node/taint_controller.go | 436 + .../controller/node/taint_controller_test.go | 595 + .../pkg/controller/node/testutil/BUILD | 4 +- .../controller/node/testutil/test_utils.go | 39 +- .../pkg/controller/node/timed_workers.go | 145 + .../pkg/controller/node/timed_workers_test.go | 141 + .../pkg/controller/podautoscaler/BUILD | 40 +- .../controller/podautoscaler/horizontal.go | 559 +- .../podautoscaler/horizontal_test.go | 585 +- .../podautoscaler/legacy_horizontal_test.go | 1051 + .../legacy_replica_calculator_test.go | 663 + .../controller/podautoscaler/metrics/BUILD | 29 +- .../podautoscaler/metrics/interfaces.go | 45 + .../metrics/legacy_metrics_client.go | 212 + .../metrics/legacy_metrics_client_test.go | 366 + .../podautoscaler/metrics/metrics_client.go | 227 - .../metrics/metrics_client_test.go | 373 - .../metrics/rest_metrics_client.go | 142 + .../metrics/rest_metrics_client_test.go | 275 + .../podautoscaler/metrics/utilization.go | 20 +- .../podautoscaler/rate_limitters.go | 53 + .../podautoscaler/replica_calculator.go | 100 +- .../podautoscaler/replica_calculator_test.go | 308 +- .../kubernetes/pkg/controller/podgc/BUILD | 11 +- .../kubernetes/pkg/controller/podgc/OWNERS | 3 + .../pkg/controller/podgc/gc_controller.go | 47 +- .../controller/podgc/gc_controller_test.go | 36 +- .../pkg/controller/replicaset/BUILD | 28 +- .../pkg/controller/replicaset/OWNERS | 9 +- .../pkg/controller/replicaset/replica_set.go | 426 +- .../controller/replicaset/replica_set_test.go | 608 +- .../replicaset/replica_set_utils.go | 33 +- .../pkg/controller/replication/BUILD | 28 +- .../pkg/controller/replication/OWNERS | 9 +- .../replication/replication_controller.go | 504 +- .../replication_controller_test.go | 580 +- .../replication_controller_utils.go | 25 +- .../pkg/controller/resourcequota/BUILD | 19 +- .../resourcequota/replenishment_controller.go | 151 +- .../replenishment_controller_test.go | 2 +- .../resource_quota_controller.go | 97 +- .../resource_quota_controller_test.go | 63 +- .../kubernetes/pkg/controller/route/BUILD | 14 +- .../kubernetes/pkg/controller/route/OWNERS | 3 + .../pkg/controller/route/routecontroller.go | 69 +- .../controller/route/routecontroller_test.go | 53 +- .../pkg/controller/scheduledjob/OWNERS | 4 - .../kubernetes/pkg/controller/service/BUILD | 21 +- .../controller/service/servicecontroller.go | 183 +- .../service/servicecontroller_test.go | 57 +- .../pkg/controller/serviceaccount/BUILD | 18 +- .../pkg/controller/serviceaccount/OWNERS | 4 + .../serviceaccounts_controller.go | 29 +- .../serviceaccounts_controller_test.go | 34 +- .../controller/serviceaccount/tokengetter.go | 4 +- .../serviceaccount/tokens_controller.go | 4 +- .../serviceaccount/tokens_controller_test.go | 2 +- .../pkg/controller/statefulset/BUILD | 61 +- .../pkg/controller/statefulset/OWNERS | 16 +- .../pkg/controller/statefulset/fakes.go | 327 - .../statefulset/identity_mappers.go | 247 - .../statefulset/identity_mappers_test.go | 180 - .../pkg/controller/statefulset/iterator.go | 163 - .../controller/statefulset/iterator_test.go | 150 - .../statefulset/stateful_pod_control.go | 238 + .../statefulset/stateful_pod_control_test.go | 587 + .../controller/statefulset/stateful_set.go | 484 +- .../statefulset/stateful_set_control.go | 173 + .../statefulset/stateful_set_control_test.go | 938 + .../statefulset/stateful_set_test.go | 918 +- .../statefulset/stateful_set_utils.go | 312 +- .../statefulset/stateful_set_utils_test.go | 378 + .../pkg/controller/statefulset/statefulpod.go | 327 - .../statefulset/statefulpod_test.go | 178 - .../kubernetes/pkg/controller/ttl/BUILD | 62 + .../pkg/controller/ttl/ttlcontroller.go | 295 + .../pkg/controller/ttl/ttlcontroller_test.go | 231 + .../pkg/controller/volume/attachdetach/BUILD | 12 +- .../attachdetach/attach_detach_controller.go | 116 +- .../attach_detach_controller_test.go | 17 +- .../cache/actual_state_of_world.go | 21 +- .../cache/actual_state_of_world_test.go | 52 + .../volume/attachdetach/populator/BUILD | 6 +- .../desired_state_of_world_populator.go | 50 +- .../volume/attachdetach/reconciler/BUILD | 5 +- .../attachdetach/reconciler/reconciler.go | 7 +- .../reconciler/reconciler_test.go | 10 +- .../volume/attachdetach/statusupdater/BUILD | 4 +- .../statusupdater/node_status_updater.go | 14 +- .../volume/attachdetach/testing/BUILD | 2 +- .../attachdetach/testing/testvolumespec.go | 2 +- .../controller/volume/persistentvolume/BUILD | 32 +- .../volume/persistentvolume/binder_test.go | 375 +- .../volume/persistentvolume/delete_test.go | 60 +- .../volume/persistentvolume/framework_test.go | 210 +- .../volume/persistentvolume/index.go | 9 +- .../volume/persistentvolume/index_test.go | 225 +- .../volume/persistentvolume/provision_test.go | 107 +- .../volume/persistentvolume/pv_controller.go | 88 +- .../persistentvolume/pv_controller_base.go | 191 +- .../persistentvolume/pv_controller_test.go | 89 +- .../volume/persistentvolume/recycle_test.go | 48 +- .../azure/azure_credentials.go | 10 +- .../azure/azure_credentials_test.go | 11 +- vendor/k8s.io/kubernetes/pkg/features/BUILD | 31 + .../kubernetes/pkg/features/kube_features.go | 114 + vendor/k8s.io/kubernetes/pkg/fieldpath/BUILD | 4 +- .../kubernetes/pkg/fieldpath/fieldpath.go | 8 +- .../pkg/fieldpath/fieldpath_test.go | 8 +- .../kubernetes/pkg/generated/bindata.go | 2641 +- .../kubernetes/pkg/generated/openapi/BUILD | 4 +- .../generated/openapi/zz_generated.openapi.go | 29491 ++++++------ .../kubernetes/pkg/genericapiserver/BUILD | 34 - .../pkg/genericapiserver/authenticator/BUILD | 46 - .../authenticator/delegating.go | 116 - .../pkg/genericapiserver/authorizer/BUILD | 47 - .../genericapiserver/authorizer/delegating.go | 47 - .../kubernetes/pkg/genericapiserver/doc.go | 23 - .../pkg/genericapiserver/endpoints/BUILD | 101 - .../pkg/genericapiserver/endpoints/OWNERS | 41 - .../endpoints/apiserver_test.go | 3405 -- .../genericapiserver/endpoints/discovery.go | 172 - .../pkg/genericapiserver/endpoints/doc.go | 18 - .../genericapiserver/endpoints/filters/BUILD | 73 - .../endpoints/filters/audit.go | 164 - .../endpoints/filters/authorization.go | 89 - .../genericapiserver/endpoints/filters/doc.go | 21 - .../genericapiserver/endpoints/handlers/BUILD | 92 - .../endpoints/handlers/discovery.go | 54 - .../endpoints/handlers/doc.go | 18 - .../endpoints/handlers/patch.go | 131 - .../endpoints/handlers/proxy.go | 283 - .../endpoints/handlers/responsewriters/BUILD | 58 - .../endpoints/handlers/responsewriters/doc.go | 18 - .../endpoints/handlers/rest.go | 1148 - .../endpoints/handlers/rest_test.go | 498 - .../genericapiserver/endpoints/openapi/BUILD | 31 - .../endpoints/openapi/openapi.go | 87 - .../genericapiserver/endpoints/proxy_test.go | 569 - .../genericapiserver/endpoints/testing/BUILD | 36 - .../pkg/genericapiserver/registry/BUILD | 31 - .../pkg/genericapiserver/registry/doc.go | 18 - .../genericapiserver/registry/generic/BUILD | 46 - .../genericapiserver/registry/generic/doc.go | 19 - .../registry/generic/options.go | 49 - .../registry/generic/registry/BUILD | 94 - .../registry/generic/registry/doc.go | 19 - .../generic/registry/storage_factory.go | 63 - .../registry/generic/registry/store.go | 1131 - .../registry/generic/registry/store_test.go | 1302 - .../registry/generic/rest/BUILD | 67 - .../registry/generic/rest/doc.go | 19 - .../registry/generic/rest/proxy.go | 371 - .../registry/generic/rest/proxy_test.go | 816 - .../pkg/genericapiserver/registry/rest/BUILD | 68 - .../pkg/genericapiserver/registry/rest/doc.go | 18 - .../genericapiserver/registry/rest/meta.go | 49 - .../genericapiserver/registry/rest/rest.go | 314 - .../registry/rest/resttest/BUILD | 42 - .../genericapiserver/registry/rest/update.go | 230 - .../pkg/genericapiserver/server/BUILD | 131 - .../pkg/genericapiserver/server/OWNERS | 42 - .../pkg/genericapiserver/server/config.go | 618 - .../server/config_selfclient.go | 199 - .../pkg/genericapiserver/server/doc.go | 18 - .../pkg/genericapiserver/server/filters/BUILD | 63 - .../genericapiserver/server/filters/doc.go | 19 - .../server/filters/timeout.go | 271 - .../pkg/genericapiserver/server/mux/BUILD | 49 - .../genericapiserver/server/mux/container.go | 96 - .../pkg/genericapiserver/server/openapi/BUILD | 53 - .../server/openapi/openapi.go | 384 - .../server/openapi/openapi_test.go | 408 - .../pkg/genericapiserver/server/options/BUILD | 52 - .../server/options/authentication.go | 175 - .../server/options/authorization.go | 114 - .../genericapiserver/server/options/doc.go | 21 - .../genericapiserver/server/options/etcd.go | 86 - .../server/options/server_run_options.go | 268 - .../server/options/serving.go | 220 - .../pkg/genericapiserver/server/routes/BUILD | 55 - .../server/routes/data/swagger/BUILD | 27 - .../genericapiserver/server/routes/index.go | 50 - .../genericapiserver/server/routes/metrics.go | 54 - .../genericapiserver/server/routes/openapi.go | 38 - .../genericapiserver/server/routes/swagger.go | 37 - .../pkg/genericapiserver/server/serve_test.go | 656 - .../server/server_run_options_test.go | 82 - .../server/storage_factory.go | 318 - .../server/storage_factory_test.go | 80 - .../k8s.io/kubernetes/pkg/kubeapiserver/BUILD | 8 +- .../kubernetes/pkg/kubeapiserver/OWNERS | 8 + .../pkg/kubeapiserver/admission/BUILD | 21 +- .../pkg/kubeapiserver/admission/config.go | 181 - .../pkg/kubeapiserver/admission/init_test.go | 25 +- .../kubeapiserver/admission/initializer.go | 35 +- .../pkg/kubeapiserver/authenticator/BUILD | 15 +- .../pkg/kubeapiserver/authenticator/config.go | 30 +- .../pkg/kubeapiserver/authorizer/BUILD | 16 +- .../pkg/kubeapiserver/authorizer/config.go | 78 +- .../kubeapiserver/authorizer/config_test.go | 13 +- .../pkg/kubeapiserver/authorizer/modes/BUILD | 35 + .../kubeapiserver/authorizer/modes/modes.go | 37 + .../authorizer/modes/modes_test.go | 45 + .../default_storage_factory_builder.go | 24 +- .../default_storage_factory_builder_test.go | 86 +- .../pkg/kubeapiserver/options/BUILD | 22 +- .../kubeapiserver/options/api_enablement.go | 44 + .../kubeapiserver/options/authentication.go | 31 +- .../kubeapiserver/options/authorization.go | 9 +- .../kubeapiserver/options/cloudprovider.go | 2 +- .../pkg/kubeapiserver/options/serving.go | 39 + .../kubeapiserver/options/storage_versions.go | 114 + .../options/storage_versions_test.go | 78 + vendor/k8s.io/kubernetes/pkg/kubectl/BUILD | 56 +- .../kubernetes/pkg/kubectl/autoscale.go | 31 +- .../pkg/kubectl/clusterrolebinding.go | 16 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/BUILD | 50 +- .../kubernetes/pkg/kubectl/cmd/annotate.go | 28 +- .../pkg/kubectl/cmd/annotate_test.go | 30 +- .../kubernetes/pkg/kubectl/cmd/apiversions.go | 4 +- .../kubernetes/pkg/kubectl/cmd/apply.go | 152 +- .../pkg/kubectl/cmd/apply_set_last_applied.go | 241 + .../kubernetes/pkg/kubectl/cmd/apply_test.go | 615 +- .../kubectl/cmd/apply_view_last_applied.go | 165 + .../kubernetes/pkg/kubectl/cmd/attach.go | 42 +- .../kubernetes/pkg/kubectl/cmd/attach_test.go | 102 +- .../kubernetes/pkg/kubectl/cmd/auth/BUILD | 54 + .../kubernetes/pkg/kubectl/cmd/auth/auth.go | 39 + .../kubernetes/pkg/kubectl/cmd/auth/cani.go | 196 + .../pkg/kubectl/cmd/auth/cani_test.go | 155 + .../kubernetes/pkg/kubectl/cmd/autoscale.go | 9 +- .../pkg/kubectl/cmd/certificates.go | 7 +- .../kubernetes/pkg/kubectl/cmd/clusterinfo.go | 3 +- .../pkg/kubectl/cmd/clusterinfo_dump.go | 12 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/cmd.go | 25 +- .../kubernetes/pkg/kubectl/cmd/cmd_test.go | 49 +- .../kubernetes/pkg/kubectl/cmd/completion.go | 4 +- .../kubernetes/pkg/kubectl/cmd/config/BUILD | 11 +- .../pkg/kubectl/cmd/config/config.go | 5 +- .../pkg/kubectl/cmd/config/config_test.go | 4 +- .../pkg/kubectl/cmd/config/create_authinfo.go | 5 +- .../cmd/config/create_authinfo_test.go | 2 +- .../pkg/kubectl/cmd/config/create_cluster.go | 5 +- .../pkg/kubectl/cmd/config/create_context.go | 5 +- .../pkg/kubectl/cmd/config/current_context.go | 3 +- .../pkg/kubectl/cmd/config/delete_cluster.go | 3 +- .../pkg/kubectl/cmd/config/delete_context.go | 3 +- .../pkg/kubectl/cmd/config/get_clusters.go | 3 +- .../pkg/kubectl/cmd/config/get_contexts.go | 8 +- .../kubernetes/pkg/kubectl/cmd/config/set.go | 5 +- .../pkg/kubectl/cmd/config/unset.go | 3 +- .../pkg/kubectl/cmd/config/use_context.go | 3 +- .../kubernetes/pkg/kubectl/cmd/config/view.go | 25 +- .../kubernetes/pkg/kubectl/cmd/convert.go | 31 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/cp.go | 3 +- .../kubernetes/pkg/kubectl/cmd/create.go | 13 +- .../pkg/kubectl/cmd/create_clusterrole.go | 97 + .../kubectl/cmd/create_clusterrole_test.go | 122 + .../kubectl/cmd/create_clusterrolebinding.go | 5 +- .../pkg/kubectl/cmd/create_configmap.go | 9 +- .../pkg/kubectl/cmd/create_configmap_test.go | 3 +- .../pkg/kubectl/cmd/create_deployment.go | 32 +- .../pkg/kubectl/cmd/create_deployment_test.go | 39 +- .../pkg/kubectl/cmd/create_namespace.go | 3 +- .../pkg/kubectl/cmd/create_namespace_test.go | 3 +- .../kubernetes/pkg/kubectl/cmd/create_pdb.go | 7 +- .../pkg/kubectl/cmd/create_quota.go | 7 +- .../pkg/kubectl/cmd/create_quota_test.go | 3 +- .../kubernetes/pkg/kubectl/cmd/create_role.go | 262 + .../pkg/kubectl/cmd/create_role_test.go | 390 + .../pkg/kubectl/cmd/create_rolebinding.go | 7 +- .../pkg/kubectl/cmd/create_secret.go | 26 +- .../pkg/kubectl/cmd/create_secret_test.go | 4 +- .../pkg/kubectl/cmd/create_service.go | 15 +- .../pkg/kubectl/cmd/create_service_test.go | 3 +- .../pkg/kubectl/cmd/create_serviceaccount.go | 3 +- .../kubectl/cmd/create_serviceaccount_test.go | 3 +- .../kubernetes/pkg/kubectl/cmd/create_test.go | 22 +- .../kubernetes/pkg/kubectl/cmd/delete.go | 21 +- .../kubernetes/pkg/kubectl/cmd/delete_test.go | 164 +- .../kubernetes/pkg/kubectl/cmd/describe.go | 29 +- .../pkg/kubectl/cmd/describe_test.go | 63 +- .../kubernetes/pkg/kubectl/cmd/drain.go | 72 +- .../kubernetes/pkg/kubectl/cmd/drain_test.go | 58 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/edit.go | 354 +- .../pkg/kubectl/cmd/edit_configmap.go | 96 - .../kubernetes/pkg/kubectl/cmd/edit_test.go | 286 + .../k8s.io/kubernetes/pkg/kubectl/cmd/exec.go | 3 +- .../kubernetes/pkg/kubectl/cmd/exec_test.go | 4 +- .../kubernetes/pkg/kubectl/cmd/explain.go | 3 +- .../kubernetes/pkg/kubectl/cmd/expose.go | 32 +- .../kubernetes/pkg/kubectl/cmd/expose_test.go | 9 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/get.go | 102 +- .../kubernetes/pkg/kubectl/cmd/get_test.go | 270 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/help.go | 3 +- .../kubernetes/pkg/kubectl/cmd/label.go | 36 +- .../kubernetes/pkg/kubectl/cmd/label_test.go | 23 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/logs.go | 23 +- .../kubernetes/pkg/kubectl/cmd/logs_test.go | 3 +- .../kubernetes/pkg/kubectl/cmd/options.go | 3 +- .../kubernetes/pkg/kubectl/cmd/patch.go | 77 +- .../kubernetes/pkg/kubectl/cmd/patch_test.go | 131 +- .../kubernetes/pkg/kubectl/cmd/portforward.go | 7 +- .../pkg/kubectl/cmd/portforward_test.go | 3 +- .../kubernetes/pkg/kubectl/cmd/proxy.go | 3 +- .../kubernetes/pkg/kubectl/cmd/replace.go | 7 +- .../pkg/kubectl/cmd/replace_test.go | 27 +- .../pkg/kubectl/cmd/rollingupdate.go | 15 +- .../kubernetes/pkg/kubectl/cmd/rollout/BUILD | 1 + .../pkg/kubectl/cmd/rollout/rollout.go | 3 +- .../kubectl/cmd/rollout/rollout_history.go | 3 +- .../pkg/kubectl/cmd/rollout/rollout_pause.go | 3 +- .../pkg/kubectl/cmd/rollout/rollout_resume.go | 3 +- .../pkg/kubectl/cmd/rollout/rollout_status.go | 3 +- .../pkg/kubectl/cmd/rollout/rollout_undo.go | 3 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/run.go | 82 +- .../kubernetes/pkg/kubectl/cmd/run_test.go | 25 +- .../kubernetes/pkg/kubectl/cmd/scale.go | 10 +- .../kubernetes/pkg/kubectl/cmd/set/BUILD | 6 +- .../kubernetes/pkg/kubectl/cmd/set/helper.go | 2 +- .../kubernetes/pkg/kubectl/cmd/set/set.go | 3 +- .../pkg/kubectl/cmd/set/set_image.go | 9 +- .../pkg/kubectl/cmd/set/set_image_test.go | 13 +- .../pkg/kubectl/cmd/set/set_resources.go | 5 +- .../pkg/kubectl/cmd/set/set_selector.go | 5 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/stop.go | 3 +- .../kubernetes/pkg/kubectl/cmd/taint.go | 99 +- .../kubernetes/pkg/kubectl/cmd/taint_test.go | 49 +- .../pkg/kubectl/cmd/testdata/edit/BUILD | 35 + .../pkg/kubectl/cmd/testdata/edit/README | 22 + .../pkg/kubectl/cmd/testdata/edit/record.go | 169 + .../cmd/testdata/edit/record_editor.sh | 26 + .../cmd/testdata/edit/record_testcase.sh | 70 + .../kubectl/cmd/testdata/edit/test_editor.sh | 32 + .../edit/testcase-create-list-error/0.edited | 28 + .../testcase-create-list-error/0.original | 28 + .../edit/testcase-create-list-error/1.request | 34 + .../testcase-create-list-error/1.response | 34 + .../edit/testcase-create-list-error/2.edited | 28 + .../testcase-create-list-error/2.original | 28 + .../edit/testcase-create-list-error/3.request | 34 + .../testcase-create-list-error/3.response | 25 + .../edit/testcase-create-list-error/svc.yaml | 54 + .../edit/testcase-create-list-error/test.yaml | 30 + .../edit/testcase-create-list/0.edited | 22 + .../edit/testcase-create-list/0.original | 21 + .../edit/testcase-create-list/1.request | 27 + .../edit/testcase-create-list/1.response | 35 + .../edit/testcase-create-list/2.edited | 22 + .../edit/testcase-create-list/2.original | 21 + .../edit/testcase-create-list/3.request | 27 + .../edit/testcase-create-list/3.response | 35 + .../edit/testcase-create-list/svc.yaml | 39 + .../edit/testcase-create-list/test.yaml | 29 + .../edit/testcase-edit-error-reedit/0.request | 0 .../testcase-edit-error-reedit/0.response | 35 + .../edit/testcase-edit-error-reedit/1.edited | 29 + .../testcase-edit-error-reedit/1.original | 29 + .../edit/testcase-edit-error-reedit/2.request | 5 + .../testcase-edit-error-reedit/2.response | 25 + .../edit/testcase-edit-error-reedit/3.edited | 33 + .../testcase-edit-error-reedit/3.original | 33 + .../edit/testcase-edit-error-reedit/4.request | 16 + .../testcase-edit-error-reedit/4.response | 35 + .../edit/testcase-edit-error-reedit/test.yaml | 38 + .../edit/testcase-immutable-name/0.request | 0 .../edit/testcase-immutable-name/0.response | 24 + .../edit/testcase-immutable-name/1.edited | 16 + .../edit/testcase-immutable-name/1.original | 16 + .../edit/testcase-immutable-name/test.yaml | 18 + .../edit/testcase-list-errors/0.request | 0 .../edit/testcase-list-errors/0.response | 24 + .../edit/testcase-list-errors/1.request | 0 .../edit/testcase-list-errors/1.response | 39 + .../edit/testcase-list-errors/10.request | 5 + .../edit/testcase-list-errors/10.response | 16 + .../edit/testcase-list-errors/2.edited | 42 + .../edit/testcase-list-errors/2.original | 42 + .../edit/testcase-list-errors/3.request | 11 + .../edit/testcase-list-errors/3.response | 25 + .../edit/testcase-list-errors/4.request | 5 + .../edit/testcase-list-errors/4.response | 16 + .../edit/testcase-list-errors/5.edited | 47 + .../edit/testcase-list-errors/5.original | 46 + .../edit/testcase-list-errors/6.request | 21 + .../edit/testcase-list-errors/6.response | 20 + .../edit/testcase-list-errors/7.request | 5 + .../edit/testcase-list-errors/7.response | 16 + .../edit/testcase-list-errors/8.edited | 46 + .../edit/testcase-list-errors/8.original | 46 + .../edit/testcase-list-errors/9.request | 21 + .../edit/testcase-list-errors/9.response | 32 + .../edit/testcase-list-errors/test.yaml | 73 + .../edit/testcase-list-record/0.request | 0 .../edit/testcase-list-record/0.response | 19 + .../edit/testcase-list-record/1.request | 0 .../edit/testcase-list-record/1.response | 33 + .../edit/testcase-list-record/2.edited | 51 + .../edit/testcase-list-record/2.original | 49 + .../edit/testcase-list-record/3.request | 10 + .../edit/testcase-list-record/3.response | 20 + .../edit/testcase-list-record/4.request | 24 + .../edit/testcase-list-record/4.response | 34 + .../edit/testcase-list-record/test.yaml | 40 + .../cmd/testdata/edit/testcase-list/0.request | 0 .../testdata/edit/testcase-list/0.response | 18 + .../cmd/testdata/edit/testcase-list/1.request | 0 .../testdata/edit/testcase-list/1.response | 32 + .../cmd/testdata/edit/testcase-list/2.edited | 47 + .../testdata/edit/testcase-list/2.original | 45 + .../cmd/testdata/edit/testcase-list/3.request | 5 + .../testdata/edit/testcase-list/3.response | 19 + .../cmd/testdata/edit/testcase-list/4.request | 21 + .../testdata/edit/testcase-list/4.response | 33 + .../cmd/testdata/edit/testcase-list/test.yaml | 40 + .../edit/testcase-missing-service/0.request | 0 .../edit/testcase-missing-service/0.response | 13 + .../edit/testcase-missing-service/test.yaml | 15 + .../testdata/edit/testcase-no-op/0.request | 0 .../testdata/edit/testcase-no-op/0.response | 12 + .../cmd/testdata/edit/testcase-no-op/1.edited | 13 + .../testdata/edit/testcase-no-op/1.original | 13 + .../testdata/edit/testcase-no-op/test.yaml | 18 + .../testcase-not-update-annotation/0.request | 0 .../testcase-not-update-annotation/0.response | 38 + .../testcase-not-update-annotation/1.edited | 32 + .../testcase-not-update-annotation/1.original | 31 + .../testcase-not-update-annotation/2.request | 7 + .../testcase-not-update-annotation/2.response | 38 + .../testcase-not-update-annotation/test.yaml | 30 + .../edit/testcase-repeat-error/0.request | 0 .../edit/testcase-repeat-error/0.response | 32 + .../edit/testcase-repeat-error/1.edited | 27 + .../edit/testcase-repeat-error/1.original | 27 + .../edit/testcase-repeat-error/2.request | 5 + .../edit/testcase-repeat-error/2.response | 25 + .../edit/testcase-repeat-error/3.edited | 31 + .../edit/testcase-repeat-error/3.original | 31 + .../edit/testcase-repeat-error/test.yaml | 30 + .../edit/testcase-schemaless-list/0.request | 0 .../edit/testcase-schemaless-list/0.response | 32 + .../edit/testcase-schemaless-list/1.request | 0 .../edit/testcase-schemaless-list/1.response | 16 + .../edit/testcase-schemaless-list/2.request | 0 .../edit/testcase-schemaless-list/2.response | 21 + .../edit/testcase-schemaless-list/3.edited | 62 + .../edit/testcase-schemaless-list/3.original | 59 + .../edit/testcase-schemaless-list/4.request | 7 + .../edit/testcase-schemaless-list/4.response | 33 + .../edit/testcase-schemaless-list/5.request | 3 + .../edit/testcase-schemaless-list/5.response | 17 + .../edit/testcase-schemaless-list/6.request | 6 + .../edit/testcase-schemaless-list/6.response | 22 + .../edit/testcase-schemaless-list/test.yaml | 55 + .../edit/testcase-single-service/0.request | 0 .../edit/testcase-single-service/0.response | 34 + .../edit/testcase-single-service/1.edited | 29 + .../edit/testcase-single-service/1.original | 28 + .../edit/testcase-single-service/2.request | 21 + .../edit/testcase-single-service/2.response | 35 + .../edit/testcase-single-service/test.yaml | 29 + .../edit/testcase-syntax-error/0.request | 0 .../edit/testcase-syntax-error/0.response | 32 + .../edit/testcase-syntax-error/1.edited | 27 + .../edit/testcase-syntax-error/1.original | 27 + .../edit/testcase-syntax-error/2.edited | 30 + .../edit/testcase-syntax-error/2.original | 29 + .../edit/testcase-syntax-error/3.request | 7 + .../edit/testcase-syntax-error/3.response | 33 + .../edit/testcase-syntax-error/test.yaml | 28 + .../0.request | 0 .../0.response | 25 + .../1.edited | 23 + .../1.original | 22 + .../2.request | 12 + .../2.response | 26 + .../test.yaml | 25 + .../0.request | 0 .../0.response | 22 + .../1.edited | 22 + .../1.original | 20 + .../2.request | 11 + .../2.response | 24 + .../test.yaml | 25 + .../edit/testcase-update-annotation/0.request | 0 .../testcase-update-annotation/0.response | 38 + .../edit/testcase-update-annotation/1.edited | 32 + .../testcase-update-annotation/1.original | 31 + .../edit/testcase-update-annotation/2.request | 10 + .../testcase-update-annotation/2.response | 38 + .../edit/testcase-update-annotation/test.yaml | 30 + .../kubernetes/pkg/kubectl/cmd/testing/BUILD | 5 +- .../pkg/kubectl/cmd/testing/fake.go | 274 +- .../k8s.io/kubernetes/pkg/kubectl/cmd/top.go | 3 +- .../kubernetes/pkg/kubectl/cmd/top_node.go | 3 +- .../pkg/kubectl/cmd/top_node_test.go | 5 +- .../kubernetes/pkg/kubectl/cmd/top_pod.go | 3 +- .../pkg/kubectl/cmd/top_pod_test.go | 6 +- .../kubernetes/pkg/kubectl/cmd/top_test.go | 4 +- .../kubernetes/pkg/kubectl/cmd/util/BUILD | 28 +- .../pkg/kubectl/cmd/util/cached_discovery.go | 13 +- .../kubectl/cmd/util/cached_discovery_test.go | 11 +- .../pkg/kubectl/cmd/util/clientcache.go | 34 +- .../pkg/kubectl/cmd/util/factory.go | 44 +- .../pkg/kubectl/cmd/util/factory_builder.go | 69 +- .../kubectl/cmd/util/factory_client_access.go | 130 +- .../cmd/util/factory_object_mapping.go | 244 +- .../cmd/util/factory_object_mapping_test.go | 192 + .../pkg/kubectl/cmd/util/factory_test.go | 18 +- .../pkg/kubectl/cmd/util/helpers.go | 81 +- .../pkg/kubectl/cmd/util/helpers_test.go | 6 +- .../pkg/kubectl/cmd/util/jsonmerge/BUILD | 2 +- .../kubectl/cmd/util/jsonmerge/jsonmerge.go | 4 +- .../pkg/kubectl/cmd/util/printing.go | 40 +- .../kubectl/cmd/util/shortcut_restmapper.go | 78 +- .../cmd/util/shortcut_restmapper_test.go | 80 +- .../kubernetes/pkg/kubectl/cmd/version.go | 7 +- .../pkg/kubectl/custom_column_printer.go | 241 - .../pkg/kubectl/custom_column_printer_test.go | 294 - .../kubernetes/pkg/kubectl/deployment.go | 108 +- .../kubernetes/pkg/kubectl/deployment_test.go | 146 +- .../kubernetes/pkg/kubectl/describe_test.go | 901 - .../k8s.io/kubernetes/pkg/kubectl/history.go | 26 +- .../k8s.io/kubernetes/pkg/kubectl/kubectl.go | 41 - .../kubernetes/pkg/kubectl/metricsutil/BUILD | 4 +- .../kubectl/metricsutil/metrics_printer.go | 8 +- vendor/k8s.io/kubernetes/pkg/kubectl/pdb.go | 2 +- .../kubernetes/pkg/kubectl/resource/BUILD | 6 +- .../pkg/kubectl/resource/builder.go | 92 +- .../pkg/kubectl/resource/builder_test.go | 38 +- .../kubernetes/pkg/kubectl/resource/helper.go | 13 +- .../pkg/kubectl/resource/helper_test.go | 9 +- .../kubernetes/pkg/kubectl/resource/result.go | 18 +- .../pkg/kubectl/resource/visitor.go | 10 + .../kubernetes/pkg/kubectl/resource_filter.go | 7 +- .../pkg/kubectl/resource_printer.go | 2729 -- .../pkg/kubectl/resource_printer_test.go | 1835 - .../kubernetes/pkg/kubectl/rolebinding.go | 16 +- .../k8s.io/kubernetes/pkg/kubectl/rollback.go | 10 +- .../kubernetes/pkg/kubectl/rolling_updater.go | 4 +- .../pkg/kubectl/rolling_updater_test.go | 11 +- .../kubernetes/pkg/kubectl/rollout_status.go | 41 +- .../pkg/kubectl/rollout_status_test.go | 191 +- vendor/k8s.io/kubernetes/pkg/kubectl/run.go | 243 +- .../k8s.io/kubernetes/pkg/kubectl/run_test.go | 455 +- vendor/k8s.io/kubernetes/pkg/kubectl/scale.go | 16 +- .../kubernetes/pkg/kubectl/scale_test.go | 2 +- .../pkg/kubectl/secret_for_docker_registry.go | 7 +- .../secret_for_docker_registry_test.go | 22 + .../k8s.io/kubernetes/pkg/kubectl/service.go | 6 +- .../kubernetes/pkg/kubectl/service_basic.go | 2 +- .../pkg/kubectl/service_basic_test.go | 2 +- .../kubernetes/pkg/kubectl/service_test.go | 16 +- .../pkg/kubectl/sorted_resource_name_list.go | 86 - .../kubernetes/pkg/kubectl/sorting_printer.go | 68 +- .../pkg/kubectl/sorting_printer_test.go | 145 +- vendor/k8s.io/kubernetes/pkg/kubectl/stop.go | 71 +- .../kubernetes/pkg/kubectl/stop_test.go | 81 +- vendor/k8s.io/kubernetes/pkg/kubelet/BUILD | 36 +- .../kubernetes/pkg/kubelet/active_deadline.go | 2 +- .../pkg/kubelet/active_deadline_test.go | 2 +- .../pkg/kubelet/api/v1alpha1/stats/types.go | 2 + .../kubernetes/pkg/kubelet/cadvisor/BUILD | 2 +- .../kubernetes/pkg/kubelet/cadvisor/util.go | 2 +- .../kubernetes/pkg/kubelet/certificate/BUILD | 59 + .../certificate/certificate_manager.go | 276 + .../certificate/certificate_manager_test.go | 259 + .../kubelet/certificate/certificate_store.go | 304 + .../certificate/certificate_store_test.go | 471 + vendor/k8s.io/kubernetes/pkg/kubelet/cm/BUILD | 15 +- .../pkg/kubelet/cm/cgroup_manager_linux.go | 84 +- .../kubelet/cm/cgroup_manager_linux_test.go | 20 + .../pkg/kubelet/cm/cgroup_manager_test.go | 83 + .../kubelet/cm/cgroup_manager_unsupported.go | 4 + .../pkg/kubelet/cm/container_manager.go | 79 +- .../pkg/kubelet/cm/container_manager_linux.go | 139 +- .../pkg/kubelet/cm/container_manager_stub.go | 10 +- .../cm/container_manager_unsupported.go | 13 +- .../kubelet/cm/container_manager_windows.go | 5 +- .../pkg/kubelet/cm/helpers_linux_test.go | 2 +- .../pkg/kubelet/cm/node_container_manager.go | 229 + .../kubelet/cm/node_container_manager_test.go | 305 + .../kubelet/cm/pod_container_manager_linux.go | 46 +- .../kubelet/cm/qos_container_manager_linux.go | 327 + .../k8s.io/kubernetes/pkg/kubelet/cm/types.go | 14 + .../kubernetes/pkg/kubelet/config/BUILD | 10 +- .../pkg/kubelet/config/apiserver.go | 4 +- .../pkg/kubelet/config/apiserver_test.go | 16 +- .../kubernetes/pkg/kubelet/config/common.go | 9 + .../kubernetes/pkg/kubelet/config/config.go | 53 +- .../pkg/kubelet/config/config_test.go | 12 +- .../kubernetes/pkg/kubelet/config/file.go | 2 +- .../pkg/kubelet/config/file_linux.go | 6 + .../pkg/kubelet/config/file_linux_test.go | 13 +- .../pkg/kubelet/config/http_test.go | 3 +- .../kubernetes/pkg/kubelet/container/BUILD | 5 +- .../pkg/kubelet/container/helpers.go | 104 +- .../pkg/kubelet/container/helpers_test.go | 53 + .../kubernetes/pkg/kubelet/container/ref.go | 3 +- .../pkg/kubelet/container/runtime.go | 6 +- .../pkg/kubelet/container/testing/BUILD | 1 + .../kubelet/container/testing/fake_runtime.go | 6 +- .../container/testing/fake_runtime_helper.go | 62 + .../kubernetes/pkg/kubelet/dockershim/BUILD | 28 +- .../kubelet/dockershim/checkpoint_store.go | 153 + .../dockershim/checkpoint_store_test.go | 158 + .../pkg/kubelet/dockershim/convert.go | 16 +- .../kubelet/dockershim/docker_checkpoint.go | 149 + .../dockershim/docker_checkpoint_test.go | 97 + .../kubelet/dockershim/docker_container.go | 62 +- .../dockershim/docker_container_test.go | 82 +- .../kubelet/dockershim/docker_image_test.go | 4 +- .../pkg/kubelet/dockershim/docker_legacy.go | 284 + .../kubelet/dockershim/docker_legacy_test.go | 266 + .../pkg/kubelet/dockershim/docker_sandbox.go | 290 +- .../kubelet/dockershim/docker_sandbox_test.go | 61 +- .../pkg/kubelet/dockershim/docker_service.go | 244 +- .../kubelet/dockershim/docker_service_test.go | 52 +- .../kubelet/dockershim/docker_streaming.go | 2 +- .../pkg/kubelet/dockershim/errors/BUILD | 27 + .../pkg/kubelet/dockershim/errors/errors.go | 22 + .../pkg/kubelet/dockershim/helpers.go | 102 +- .../pkg/kubelet/dockershim/helpers_test.go | 154 +- .../pkg/kubelet/dockershim/naming.go | 17 +- .../pkg/kubelet/dockershim/naming_test.go | 22 + .../kubelet/dockershim/security_context.go | 28 +- .../dockershim/security_context_test.go | 32 +- .../pkg/kubelet/dockershim/testing/BUILD | 28 + .../pkg/kubelet/dockershim/testing/util.go | 67 + .../kubernetes/pkg/kubelet/dockertools/BUILD | 17 +- .../kubernetes/pkg/kubelet/dockertools/OWNERS | 3 + .../pkg/kubelet/dockertools/container_gc.go | 123 +- .../kubelet/dockertools/container_gc_test.go | 66 +- .../pkg/kubelet/dockertools/convert.go | 1 + .../pkg/kubelet/dockertools/docker.go | 4 +- .../pkg/kubelet/dockertools/docker_manager.go | 315 +- .../dockertools/docker_manager_linux.go | 9 +- .../dockertools/docker_manager_linux_test.go | 68 +- .../dockertools/docker_manager_test.go | 298 +- .../dockertools/docker_manager_unsupported.go | 6 +- .../dockertools/docker_manager_windows.go | 9 +- .../pkg/kubelet/dockertools/docker_test.go | 2 +- .../kubelet/dockertools/fake_docker_client.go | 323 +- .../pkg/kubelet/dockertools/fake_manager.go | 4 +- .../kubelet/dockertools/kube_docker_client.go | 38 +- .../dockertools/kube_docker_client_test.go | 33 + .../pkg/kubelet/dockertools/labels.go | 2 +- .../pkg/kubelet/dockertools/labels_test.go | 6 +- .../kubelet/dockertools/securitycontext/BUILD | 53 + .../dockertools/securitycontext/doc.go | 18 + .../dockertools/securitycontext/fake.go | 35 + .../dockertools/securitycontext/provider.go | 131 + .../securitycontext/provider_test.go | 22 +- .../dockertools/securitycontext/types.go | 41 + .../dockertools/securitycontext/util.go | 59 + .../kubernetes/pkg/kubelet/events/BUILD | 4 + .../kubernetes/pkg/kubelet/events/event.go | 69 +- .../kubernetes/pkg/kubelet/eviction/BUILD | 123 +- .../kubernetes/pkg/kubelet/eviction/api/BUILD | 28 + .../pkg/kubelet/eviction/api/types.go | 81 + .../pkg/kubelet/eviction/eviction_manager.go | 70 +- .../kubelet/eviction/eviction_manager_test.go | 490 +- .../pkg/kubelet/eviction/helpers.go | 227 +- .../pkg/kubelet/eviction/helpers_test.go | 460 +- .../kubernetes/pkg/kubelet/eviction/types.go | 65 +- .../k8s.io/kubernetes/pkg/kubelet/gpu/BUILD | 34 + .../pkg/kubelet/gpu/gpu_manager_stub.go | 41 + .../kubernetes/pkg/kubelet/gpu/nvidia/BUILD | 54 + .../pkg/kubelet/gpu/nvidia/helpers.go | 77 + .../kubelet/gpu/nvidia/nvidia_gpu_manager.go | 275 + .../gpu/nvidia/nvidia_gpu_manager_test.go | 180 + .../kubernetes/pkg/kubelet/gpu/types.go | 32 + .../kubernetes/pkg/kubelet/images/BUILD | 5 +- .../pkg/kubelet/images/image_gc_manager.go | 7 +- .../kubelet/images/image_gc_manager_test.go | 2 +- .../pkg/kubelet/images/image_manager.go | 4 +- .../pkg/kubelet/images/image_manager_test.go | 2 +- .../k8s.io/kubernetes/pkg/kubelet/kubelet.go | 319 +- .../pkg/kubelet/kubelet_cadvisor_test.go | 328 +- .../kubernetes/pkg/kubelet/kubelet_getters.go | 28 +- .../pkg/kubelet/kubelet_getters_test.go | 36 +- .../pkg/kubelet/kubelet_network_test.go | 2 +- .../pkg/kubelet/kubelet_node_status.go | 58 +- .../pkg/kubelet/kubelet_node_status_test.go | 91 +- .../kubernetes/pkg/kubelet/kubelet_pods.go | 246 +- .../pkg/kubelet/kubelet_pods_test.go | 118 +- .../pkg/kubelet/kubelet_pods_windows_test.go | 100 + .../pkg/kubelet/kubelet_resources.go | 4 +- .../pkg/kubelet/kubelet_resources_test.go | 31 +- .../kubernetes/pkg/kubelet/kubelet_test.go | 172 +- .../kubernetes/pkg/kubelet/kubelet_volumes.go | 8 +- .../pkg/kubelet/kubelet_volumes_test.go | 2 +- .../kubernetes/pkg/kubelet/kuberuntime/BUILD | 5 +- .../kuberuntime/fake_kuberuntime_manager.go | 40 +- .../kuberuntime/instrumented_services.go | 4 +- .../kuberuntime/kuberuntime_container.go | 6 +- .../pkg/kubelet/kuberuntime/kuberuntime_gc.go | 2 +- .../kubelet/kuberuntime/kuberuntime_logs.go | 8 + .../kuberuntime/kuberuntime_manager.go | 33 +- .../kuberuntime/kuberuntime_manager_test.go | 2 +- .../kuberuntime/kuberuntime_sandbox.go | 57 +- .../pkg/kubelet/kuberuntime/labels.go | 16 +- .../pkg/kubelet/kuberuntime/labels_test.go | 2 +- .../kubernetes/pkg/kubelet/lifecycle/BUILD | 6 +- .../admission_failure_handler_stub.go | 36 + .../pkg/kubelet/lifecycle/handlers.go | 2 +- .../pkg/kubelet/lifecycle/handlers_test.go | 2 +- .../pkg/kubelet/lifecycle/predicate.go | 28 +- .../kubernetes/pkg/kubelet/metrics/metrics.go | 10 + .../kubernetes/pkg/kubelet/network/BUILD | 14 +- .../kubernetes/pkg/kubelet/network/OWNERS | 8 + .../kubernetes/pkg/kubelet/network/cni/BUILD | 2 +- .../kubernetes/pkg/kubelet/network/cni/cni.go | 22 +- .../pkg/kubelet/network/cni/cni_test.go | 4 +- .../pkg/kubelet/network/hairpin/hairpin.go | 2 +- .../pkg/kubelet/network/hostport/BUILD | 13 +- .../kubelet/network/hostport/fake_iptables.go | 13 +- .../pkg/kubelet/network/hostport/hostport.go | 379 +- .../network/hostport/hostport_manager.go | 328 + .../network/hostport/hostport_manager_test.go | 197 + .../network/hostport/hostport_syncer.go | 305 + .../network/hostport/hostport_syncer_test.go | 225 + .../kubelet/network/hostport/hostport_test.go | 281 +- .../kubelet/network/hostport/testing/BUILD | 5 +- .../kubelet/network/hostport/testing/fake.go | 17 +- .../kubelet/network/kubenet/kubenet_linux.go | 136 +- .../network/kubenet/kubenet_linux_test.go | 2 +- .../network/kubenet/kubenet_unsupported.go | 2 +- .../pkg/kubelet/network/mock_network/BUILD | 34 - .../network/mock_network/network_plugins.go | 133 - .../kubernetes/pkg/kubelet/network/plugins.go | 156 +- .../pkg/kubelet/network/plugins_test.go | 38 - .../pkg/kubelet/network/testing/BUILD | 25 +- .../pkg/kubelet/network/testing/fake_host.go | 10 + .../network/testing/mock_network_plugin.go | 133 + .../kubelet/network/testing/plugins_test.go | 218 + .../k8s.io/kubernetes/pkg/kubelet/networks.go | 3 + .../kubernetes/pkg/kubelet/oom_watcher.go | 4 +- .../pkg/kubelet/oom_watcher_test.go | 4 +- .../kubernetes/pkg/kubelet/pod_workers.go | 6 +- .../pkg/kubelet/pod_workers_test.go | 2 +- .../kubernetes/pkg/kubelet/preemption/BUILD | 58 + .../pkg/kubelet/preemption/preemption.go | 264 + .../pkg/kubelet/preemption/preemption_test.go | 480 + .../kubernetes/pkg/kubelet/prober/BUILD | 10 +- .../pkg/kubelet/prober/common_test.go | 7 +- .../kubernetes/pkg/kubelet/prober/prober.go | 11 +- .../pkg/kubelet/prober/prober_manager.go | 2 +- .../pkg/kubelet/prober/prober_test.go | 57 +- .../kubernetes/pkg/kubelet/prober/worker.go | 5 +- .../pkg/kubelet/prober/worker_test.go | 5 +- .../k8s.io/kubernetes/pkg/kubelet/qos/BUILD | 34 +- .../kubernetes/pkg/kubelet/qos/policy.go | 12 +- .../kubernetes/pkg/kubelet/qos/policy_test.go | 29 +- .../k8s.io/kubernetes/pkg/kubelet/qos/qos.go | 2 +- .../kubernetes/pkg/kubelet/qos/qos_test.go | 2 +- .../pkg/kubelet/remote/remote_image.go | 19 +- .../pkg/kubelet/remote/remote_runtime.go | 65 +- .../kubernetes/pkg/kubelet/remote/utils.go | 60 + .../k8s.io/kubernetes/pkg/kubelet/rkt/BUILD | 8 +- .../kubelet/rkt/fake_rkt_interface_test.go | 30 - .../k8s.io/kubernetes/pkg/kubelet/rkt/rkt.go | 79 +- .../kubernetes/pkg/kubelet/rkt/rkt_test.go | 61 +- .../kubernetes/pkg/kubelet/runonce_test.go | 9 +- .../kubernetes/pkg/kubelet/secret/BUILD | 7 +- .../pkg/kubelet/secret/secret_manager.go | 109 +- .../pkg/kubelet/secret/secret_manager_test.go | 287 +- .../kubernetes/pkg/kubelet/server/BUILD | 7 +- .../pkg/kubelet/server/portforward/BUILD | 15 +- .../kubelet/server/portforward/constants.go | 4 +- .../kubelet/server/portforward/httpstream.go | 309 + .../server/portforward/httpstream_test.go | 246 + .../kubelet/server/portforward/portforward.go | 292 +- .../server/portforward/portforward_test.go | 246 - .../kubelet/server/portforward/websocket.go | 198 + .../server/portforward/websocket_test.go | 101 + .../pkg/kubelet/server/remotecommand/BUILD | 4 +- .../server/remotecommand/httpstream.go | 4 +- .../kubernetes/pkg/kubelet/server/server.go | 70 +- .../pkg/kubelet/server/server_test.go | 18 +- .../kubelet/server/server_websocket_test.go | 331 + .../pkg/kubelet/server/stats/summary.go | 14 +- .../server/stats/volume_stat_calculator.go | 4 +- .../pkg/kubelet/server/streaming/server.go | 32 +- .../kubelet/server/streaming/server_test.go | 2 +- .../kubernetes/pkg/kubelet/status/BUILD | 9 +- .../kubernetes/pkg/kubelet/status/generate.go | 19 +- .../pkg/kubelet/status/generate_test.go | 115 +- .../pkg/kubelet/status/status_manager.go | 48 +- .../pkg/kubelet/status/status_manager_test.go | 33 +- .../pkg/kubelet/status/testing/BUILD | 31 + .../testing/fake_pod_deletion_safety.go | 28 + .../k8s.io/kubernetes/pkg/kubelet/types/BUILD | 1 + .../pkg/kubelet/types/pod_update.go | 32 +- .../k8s.io/kubernetes/pkg/kubelet/util/BUILD | 6 +- .../kubernetes/pkg/kubelet/util/cache/BUILD | 4 +- .../pkg/kubelet/util/cache/object_cache.go | 2 +- .../kubelet/util/cache/object_cache_test.go | 2 +- .../kubernetes/pkg/kubelet/util/csr/BUILD | 19 +- .../kubernetes/pkg/kubelet/util/csr/csr.go | 47 +- .../pkg/kubelet/util/csr/csr_test.go | 132 + .../kubernetes/pkg/kubelet/util/format/BUILD | 2 +- .../pkg/kubelet/util/format/resources_test.go | 2 +- .../kubernetes/pkg/kubelet/util/util.go | 27 + .../pkg/kubelet/volumemanager/BUILD | 7 +- .../pkg/kubelet/volumemanager/populator/BUILD | 1 + .../desired_state_of_world_populator.go | 27 +- .../kubelet/volumemanager/reconciler/BUILD | 4 +- .../volumemanager/reconciler/reconciler.go | 14 +- .../reconciler/reconciler_test.go | 4 +- .../kubelet/volumemanager/volume_manager.go | 11 +- .../volumemanager/volume_manager_test.go | 6 +- vendor/k8s.io/kubernetes/pkg/kubemark/BUILD | 5 +- vendor/k8s.io/kubernetes/pkg/kubemark/OWNERS | 8 + .../kubernetes/pkg/kubemark/hollow_kubelet.go | 5 +- .../kubernetes/pkg/kubemark/hollow_proxy.go | 12 +- vendor/k8s.io/kubernetes/pkg/master/BUILD | 28 +- vendor/k8s.io/kubernetes/pkg/master/OWNERS | 2 + .../kubernetes/pkg/master/client_ca_hook.go | 124 + .../pkg/master/client_ca_hook_test.go | 223 + .../kubernetes/pkg/master/controller.go | 19 +- .../kubernetes/pkg/master/controller_test.go | 4 +- .../pkg/master/import_known_versions.go | 1 + .../pkg/master/import_known_versions_test.go | 2 +- vendor/k8s.io/kubernetes/pkg/master/master.go | 89 +- .../pkg/master/master_openapi_test.go | 5 +- .../kubernetes/pkg/master/master_test.go | 23 +- .../kubernetes/pkg/master/thirdparty/BUILD | 13 +- .../pkg/master/thirdparty/thirdparty.go | 18 +- .../kubernetes/pkg/metrics/generic_metrics.go | 2 +- .../kubernetes/pkg/metrics/kubelet_metrics.go | 2 +- .../pkg/printers/.import-restrictions | 10 + vendor/k8s.io/kubernetes/pkg/printers/BUILD | 66 + vendor/k8s.io/kubernetes/pkg/printers/OWNERS | 6 + .../k8s.io/kubernetes/pkg/printers/common.go | 41 + .../kubernetes/pkg/printers/customcolumn.go | 241 + .../pkg/printers/customcolumn_test.go | 304 + .../kubernetes/pkg/printers/humanreadable.go | 351 + .../kubernetes/pkg/printers/interface.go | 96 + .../internalversion/.import-restrictions | 4 + .../pkg/printers/internalversion/BUILD | 112 + .../internalversion}/describe.go | 592 +- .../printers/internalversion/describe_test.go | 1307 + .../pkg/printers/internalversion/printers.go | 1982 + .../printers/internalversion/printers_test.go | 2222 + .../sorted_resource_name_list_test.go | 2 +- vendor/k8s.io/kubernetes/pkg/printers/json.go | 101 + .../kubernetes/pkg/printers/jsonpath.go | 157 + vendor/k8s.io/kubernetes/pkg/printers/name.go | 91 + .../kubernetes/pkg/printers/printers.go | 116 + .../kubernetes/pkg/printers/tabwriter.go | 35 + .../kubernetes/pkg/printers/template.go | 110 + .../kubernetes/pkg/printers/versioned.go | 63 + .../kubernetes/pkg/probe/exec/exec_test.go | 2 + vendor/k8s.io/kubernetes/pkg/proxy/BUILD | 1 + .../k8s.io/kubernetes/pkg/proxy/config/BUILD | 25 +- .../k8s.io/kubernetes/pkg/proxy/config/api.go | 172 +- .../kubernetes/pkg/proxy/config/api_test.go | 172 +- .../kubernetes/pkg/proxy/config/config.go | 109 +- .../pkg/proxy/config/config_test.go | 88 +- .../kubernetes/pkg/proxy/healthcheck/BUILD | 2 +- .../pkg/proxy/healthcheck/healthcheck.go | 2 +- .../kubernetes/pkg/proxy/iptables/BUILD | 13 +- .../kubernetes/pkg/proxy/iptables/proxier.go | 376 +- .../pkg/proxy/iptables/proxier_test.go | 1257 +- .../kubernetes/pkg/proxy/userspace/BUILD | 4 + .../pkg/proxy/userspace/loadbalancer.go | 1 + .../kubernetes/pkg/proxy/userspace/proxier.go | 136 +- .../pkg/proxy/userspace/proxier_test.go | 136 +- .../pkg/proxy/userspace/proxysocket.go | 80 +- .../pkg/proxy/userspace/roundrobin.go | 10 + vendor/k8s.io/kubernetes/pkg/proxy/util/BUILD | 40 + .../kubernetes/pkg/proxy/util/conntrack.go | 58 + .../pkg/proxy/util/conntrack_test.go | 120 + .../kubernetes/pkg/proxy/winuserspace/BUILD | 9 +- .../pkg/proxy/winuserspace/port_allocator.go | 158 - .../proxy/winuserspace/port_allocator_test.go | 178 - .../pkg/proxy/winuserspace/proxier.go | 564 +- .../pkg/proxy/winuserspace/proxier_test.go | 248 +- .../pkg/proxy/winuserspace/proxysocket.go | 485 +- .../proxy/winuserspace/proxysocket_test.go | 129 + .../pkg/proxy/winuserspace/types.go | 35 + vendor/k8s.io/kubernetes/pkg/quota/BUILD | 4 +- .../kubernetes/pkg/quota/evaluator/core/BUILD | 8 +- .../core/persistent_volume_claims.go | 13 +- .../core/persistent_volume_claims_test.go | 42 +- .../pkg/quota/evaluator/core/pods.go | 8 +- .../pkg/quota/evaluator/core/pods_test.go | 2 +- .../pkg/quota/evaluator/core/registry.go | 2 +- .../pkg/quota/evaluator/core/services.go | 8 +- .../pkg/quota/evaluator/core/services_test.go | 2 +- .../k8s.io/kubernetes/pkg/quota/generic/BUILD | 4 +- .../kubernetes/pkg/quota/generic/evaluator.go | 8 +- .../k8s.io/kubernetes/pkg/quota/install/BUILD | 2 +- .../kubernetes/pkg/quota/install/registry.go | 2 +- .../k8s.io/kubernetes/pkg/quota/resources.go | 2 +- .../kubernetes/pkg/quota/resources_test.go | 2 +- vendor/k8s.io/kubernetes/pkg/registry/BUILD | 4 +- vendor/k8s.io/kubernetes/pkg/registry/OWNERS | 1 + .../kubernetes/pkg/registry/apps/petset/BUILD | 6 +- .../pkg/registry/apps/petset/storage/BUILD | 14 +- .../registry/apps/petset/storage/storage.go | 10 +- .../apps/petset/storage/storage_test.go | 6 +- .../pkg/registry/apps/petset/strategy.go | 11 +- .../pkg/registry/apps/petset/strategy_test.go | 16 +- .../kubernetes/pkg/registry/apps/rest/BUILD | 9 +- .../pkg/registry/apps/rest/storage_apps.go | 22 +- .../pkg/registry/authentication/rest/BUILD | 9 +- .../rest/storage_authentication.go | 33 +- .../pkg/registry/authorization/OWNERS | 1 + .../pkg/registry/authorization/rest/BUILD | 9 +- .../rest/storage_authorization.go | 37 +- .../authorization/subjectaccessreview/BUILD | 14 + .../subjectaccessreview/rest_test.go | 198 + .../pkg/registry/authorization/util/BUILD | 13 + .../registry/authorization/util/helpers.go | 3 + .../authorization/util/helpers_test.go | 74 + .../autoscaling/horizontalpodautoscaler/BUILD | 2 +- .../horizontalpodautoscaler/storage/BUILD | 13 +- .../storage/storage.go | 18 +- .../storage/storage_test.go | 25 +- .../horizontalpodautoscaler/strategy.go | 2 +- .../pkg/registry/autoscaling/rest/BUILD | 9 +- .../autoscaling/rest/storage_autoscaling.go | 31 +- .../pkg/registry/batch/cronjob/BUILD | 4 +- .../pkg/registry/batch/cronjob/storage/BUILD | 12 +- .../registry/batch/cronjob/storage/storage.go | 10 +- .../batch/cronjob/storage/storage_test.go | 4 +- .../pkg/registry/batch/cronjob/strategy.go | 4 +- .../kubernetes/pkg/registry/batch/job/BUILD | 4 +- .../pkg/registry/batch/job/storage/BUILD | 12 +- .../pkg/registry/batch/job/storage/storage.go | 10 +- .../batch/job/storage/storage_test.go | 4 +- .../pkg/registry/batch/job/strategy.go | 4 +- .../kubernetes/pkg/registry/batch/rest/BUILD | 8 +- .../pkg/registry/batch/rest/storage_batch.go | 21 +- .../kubernetes/pkg/registry/cachesize/BUILD | 5 +- .../pkg/registry/cachesize/cachesize.go | 11 +- .../registry/certificates/certificates/BUILD | 6 +- .../certificates/certificates/registry.go | 4 +- .../certificates/certificates/storage/BUILD | 8 +- .../certificates/storage/storage.go | 18 +- .../certificates/certificates/strategy.go | 11 +- .../certificates/strategy_test.go | 1 + .../pkg/registry/certificates/rest/BUILD | 8 +- .../certificates/rest/storage_certificates.go | 14 +- .../pkg/registry/core/componentstatus/BUILD | 1 + .../pkg/registry/core/componentstatus/rest.go | 9 + .../pkg/registry/core/configmap/BUILD | 6 +- .../pkg/registry/core/configmap/registry.go | 5 +- .../pkg/registry/core/configmap/storage/BUILD | 10 +- .../core/configmap/storage/storage.go | 16 +- .../core/configmap/storage/storage_test.go | 12 +- .../pkg/registry/core/configmap/strategy.go | 6 +- .../pkg/registry/core/controller/BUILD | 64 - .../pkg/registry/core/controller/doc.go | 19 - .../pkg/registry/core/controller/registry.go | 95 - .../registry/core/controller/storage/BUILD | 64 - .../core/controller/storage/storage.go | 176 - .../pkg/registry/core/controller/strategy.go | 181 - .../pkg/registry/core/endpoint/BUILD | 6 +- .../pkg/registry/core/endpoint/registry.go | 4 +- .../pkg/registry/core/endpoint/storage/BUILD | 10 +- .../registry/core/endpoint/storage/storage.go | 16 +- .../core/endpoint/storage/storage_test.go | 4 +- .../pkg/registry/core/endpoint/strategy.go | 4 +- .../kubernetes/pkg/registry/core/event/BUILD | 4 +- .../pkg/registry/core/event/storage/BUILD | 10 +- .../registry/core/event/storage/storage.go | 16 +- .../core/event/storage/storage_test.go | 12 +- .../pkg/registry/core/event/strategy.go | 4 +- .../pkg/registry/core/limitrange/BUILD | 4 +- .../registry/core/limitrange/storage/BUILD | 12 +- .../core/limitrange/storage/storage.go | 16 +- .../core/limitrange/storage/storage_test.go | 14 +- .../pkg/registry/core/limitrange/strategy.go | 4 +- .../pkg/registry/core/namespace/BUILD | 6 +- .../pkg/registry/core/namespace/registry.go | 4 +- .../pkg/registry/core/namespace/storage/BUILD | 15 +- .../core/namespace/storage/storage.go | 37 +- .../core/namespace/storage/storage_test.go | 16 +- .../pkg/registry/core/namespace/strategy.go | 4 +- .../kubernetes/pkg/registry/core/node/BUILD | 6 +- .../pkg/registry/core/node/registry.go | 4 +- .../pkg/registry/core/node/rest/BUILD | 6 +- .../pkg/registry/core/node/rest/proxy.go | 6 +- .../pkg/registry/core/node/storage/BUILD | 13 +- .../pkg/registry/core/node/storage/storage.go | 14 +- .../core/node/storage/storage_test.go | 14 +- .../pkg/registry/core/node/strategy.go | 4 +- .../pkg/registry/core/persistentvolume/BUILD | 5 +- .../core/persistentvolume/storage/BUILD | 16 +- .../core/persistentvolume/storage/storage.go | 17 +- .../persistentvolume/storage/storage_test.go | 19 +- .../core/persistentvolume/strategy.go | 14 +- .../registry/core/persistentvolumeclaim/BUILD | 4 +- .../core/persistentvolumeclaim/storage/BUILD | 16 +- .../persistentvolumeclaim/storage/storage.go | 17 +- .../storage/storage_test.go | 19 +- .../core/persistentvolumeclaim/strategy.go | 4 +- .../kubernetes/pkg/registry/core/pod/BUILD | 8 +- .../pkg/registry/core/pod/rest/BUILD | 10 +- .../pkg/registry/core/pod/rest/log.go | 6 +- .../pkg/registry/core/pod/rest/log_test.go | 4 +- .../registry/core/pod/rest/subresources.go | 17 +- .../pkg/registry/core/pod/storage/BUILD | 22 +- .../pkg/registry/core/pod/storage/eviction.go | 6 +- .../pkg/registry/core/pod/storage/storage.go | 21 +- .../registry/core/pod/storage/storage_test.go | 35 +- .../pkg/registry/core/pod/strategy.go | 24 +- .../pkg/registry/core/pod/strategy_test.go | 71 +- .../pkg/registry/core/podtemplate/BUILD | 2 +- .../registry/core/podtemplate/storage/BUILD | 9 +- .../core/podtemplate/storage/storage.go | 7 +- .../core/podtemplate/storage/storage_test.go | 4 +- .../pkg/registry/core/podtemplate/strategy.go | 2 +- .../registry/core/replicationcontroller/BUILD | 64 + .../core/replicationcontroller/doc.go | 19 + .../core/replicationcontroller/registry.go | 95 + .../core/replicationcontroller/storage/BUILD | 66 + .../replicationcontroller/storage/storage.go | 187 + .../storage/storage_test.go | 17 +- .../core/replicationcontroller/strategy.go | 181 + .../strategy_test.go | 2 +- .../pkg/registry/core/resourcequota/BUILD | 6 +- .../registry/core/resourcequota/storage/BUILD | 16 +- .../core/resourcequota/storage/storage.go | 17 +- .../resourcequota/storage/storage_test.go | 19 +- .../registry/core/resourcequota/strategy.go | 4 +- .../core/resourcequota/strategy_test.go | 2 +- .../kubernetes/pkg/registry/core/rest/BUILD | 13 +- .../pkg/registry/core/rest/storage_core.go | 15 +- .../registry/core/rest/storage_core_test.go | 2 +- .../kubernetes/pkg/registry/core/secret/BUILD | 6 +- .../pkg/registry/core/secret/registry.go | 4 +- .../pkg/registry/core/secret/storage/BUILD | 9 +- .../registry/core/secret/storage/storage.go | 7 +- .../core/secret/storage/storage_test.go | 4 +- .../pkg/registry/core/secret/strategy.go | 6 +- .../pkg/registry/core/service/BUILD | 18 +- .../core/service/allocator/storage/BUILD | 12 +- .../core/service/allocator/storage/storage.go | 8 +- .../service/allocator/storage/storage_test.go | 4 +- .../core/service/ipallocator/storage/BUILD | 8 +- .../ipallocator/storage/storage_test.go | 8 +- .../pkg/registry/core/service/proxy.go | 4 +- .../pkg/registry/core/service/registry.go | 4 +- .../pkg/registry/core/service/rest.go | 17 +- .../pkg/registry/core/service/rest_test.go | 13 +- .../pkg/registry/core/service/storage/BUILD | 13 +- .../registry/core/service/storage/storage.go | 17 +- .../core/service/storage/storage_test.go | 14 +- .../pkg/registry/core/service/strategy.go | 4 +- .../registry/core/service/strategy_test.go | 4 +- .../pkg/registry/core/serviceaccount/BUILD | 6 +- .../registry/core/serviceaccount/registry.go | 4 +- .../core/serviceaccount/storage/BUILD | 10 +- .../core/serviceaccount/storage/storage.go | 16 +- .../serviceaccount/storage/storage_test.go | 12 +- .../registry/core/serviceaccount/strategy.go | 4 +- .../extensions/controller/storage/BUILD | 18 +- .../extensions/controller/storage/storage.go | 12 +- .../controller/storage/storage_test.go | 10 +- .../pkg/registry/extensions/daemonset/BUILD | 7 +- .../extensions/daemonset/storage/BUILD | 12 +- .../extensions/daemonset/storage/storage.go | 18 +- .../daemonset/storage/storage_test.go | 15 +- .../registry/extensions/daemonset/strategy.go | 26 +- .../extensions/daemonset/strategy_test.go | 10 + .../pkg/registry/extensions/deployment/BUILD | 7 +- .../extensions/deployment/registry.go | 4 +- .../extensions/deployment/storage/BUILD | 23 +- .../extensions/deployment/storage/storage.go | 22 +- .../deployment/storage/storage_test.go | 21 +- .../extensions/deployment/strategy.go | 18 +- .../pkg/registry/extensions/ingress/BUILD | 6 +- .../registry/extensions/ingress/storage/BUILD | 14 +- .../extensions/ingress/storage/storage.go | 18 +- .../ingress/storage/storage_test.go | 14 +- .../registry/extensions/ingress/strategy.go | 4 +- .../extensions/ingress/strategy_test.go | 2 +- .../registry/extensions/networkpolicy/BUILD | 4 +- .../extensions/networkpolicy/storage/BUILD | 12 +- .../networkpolicy/storage/storage.go | 8 +- .../networkpolicy/storage/storage_test.go | 6 +- .../extensions/networkpolicy/strategy.go | 4 +- .../extensions/podsecuritypolicy/BUILD | 6 +- .../podsecuritypolicy/storage/BUILD | 10 +- .../podsecuritypolicy/storage/storage.go | 13 +- .../podsecuritypolicy/storage/storage_test.go | 4 +- .../extensions/podsecuritypolicy/strategy.go | 6 +- .../pkg/registry/extensions/replicaset/BUILD | 6 +- .../extensions/replicaset/registry.go | 4 +- .../extensions/replicaset/storage/BUILD | 15 +- .../extensions/replicaset/storage/storage.go | 18 +- .../replicaset/storage/storage_test.go | 17 +- .../extensions/replicaset/strategy.go | 6 +- .../pkg/registry/extensions/rest/BUILD | 68 +- .../extensions/rest/storage_extensions.go | 34 +- .../extensions/thirdpartyresource/BUILD | 4 +- .../thirdpartyresource/storage/BUILD | 10 +- .../thirdpartyresource/storage/storage.go | 8 +- .../storage/storage_test.go | 4 +- .../extensions/thirdpartyresource/strategy.go | 4 +- .../extensions/thirdpartyresourcedata/BUILD | 4 +- .../thirdpartyresourcedata/registry.go | 4 +- .../thirdpartyresourcedata/storage/BUILD | 10 +- .../thirdpartyresourcedata/storage/storage.go | 8 +- .../storage/storage_test.go | 4 +- .../thirdpartyresourcedata/strategy.go | 4 +- .../registry/policy/poddisruptionbudget/BUILD | 6 +- .../policy/poddisruptionbudget/storage/BUILD | 16 +- .../poddisruptionbudget/storage/storage.go | 15 +- .../storage/storage_test.go | 8 +- .../policy/poddisruptionbudget/strategy.go | 4 +- .../poddisruptionbudget/strategy_test.go | 2 +- .../kubernetes/pkg/registry/policy/rest/BUILD | 8 +- .../registry/policy/rest/storage_policy.go | 14 +- .../k8s.io/kubernetes/pkg/registry/rbac/BUILD | 1 + .../kubernetes/pkg/registry/rbac/OWNERS | 2 +- .../pkg/registry/rbac/clusterrole/BUILD | 4 +- .../rbac/clusterrole/policybased/BUILD | 2 +- .../rbac/clusterrole/policybased/storage.go | 2 +- .../pkg/registry/rbac/clusterrole/registry.go | 4 +- .../registry/rbac/clusterrole/storage/BUILD | 6 +- .../rbac/clusterrole/storage/storage.go | 8 +- .../pkg/registry/rbac/clusterrole/strategy.go | 4 +- .../registry/rbac/clusterrolebinding/BUILD | 4 +- .../rbac/clusterrolebinding/policybased/BUILD | 3 +- .../clusterrolebinding/policybased/storage.go | 11 +- .../rbac/clusterrolebinding/registry.go | 4 +- .../rbac/clusterrolebinding/storage/BUILD | 6 +- .../clusterrolebinding/storage/storage.go | 8 +- .../rbac/clusterrolebinding/strategy.go | 4 +- .../pkg/registry/rbac/escalation_check.go | 2 +- .../pkg/registry/rbac/reconciliation/BUILD | 59 + .../reconciliation/clusterrole_interfaces.go | 88 + .../clusterrolebinding_interfaces.go | 101 + .../rbac/reconciliation/reconcile_role.go | 215 + .../reconciliation/reconcile_role_test.go | 275 + .../reconciliation/reconcile_rolebindings.go | 250 + .../reconcile_rolebindings_test.go | 181 + .../rbac/reconciliation/role_interfaces.go | 88 + .../reconciliation/rolebinding_interfaces.go | 101 + .../kubernetes/pkg/registry/rbac/rest/BUILD | 10 +- .../pkg/registry/rbac/rest/storage_rbac.go | 167 +- .../kubernetes/pkg/registry/rbac/role/BUILD | 4 +- .../pkg/registry/rbac/role/policybased/BUILD | 2 +- .../registry/rbac/role/policybased/storage.go | 2 +- .../pkg/registry/rbac/role/registry.go | 4 +- .../pkg/registry/rbac/role/storage/BUILD | 6 +- .../pkg/registry/rbac/role/storage/storage.go | 8 +- .../pkg/registry/rbac/role/strategy.go | 4 +- .../pkg/registry/rbac/rolebinding/BUILD | 4 +- .../rbac/rolebinding/policybased/BUILD | 2 +- .../rbac/rolebinding/policybased/storage.go | 24 +- .../pkg/registry/rbac/rolebinding/registry.go | 4 +- .../registry/rbac/rolebinding/storage/BUILD | 6 +- .../rbac/rolebinding/storage/storage.go | 8 +- .../pkg/registry/rbac/rolebinding/strategy.go | 4 +- .../pkg/registry/registrytest/BUILD | 14 +- .../pkg/registry/registrytest/etcd.go | 18 +- .../registrytest/shortNamesProvider.go | 32 + .../pkg/registry/settings/podpreset/BUILD | 51 + .../pkg/registry/settings/podpreset/doc.go | 17 + .../registry/settings/podpreset/registry.go | 84 + .../registry/settings/podpreset/storage/BUILD | 36 + .../settings/podpreset/storage/storage.go | 57 + .../registry/settings/podpreset/strategy.go | 112 + .../pkg/registry/settings/rest/BUILD | 37 + .../settings/rest/storage_settings.go | 56 + .../pkg/registry/storage/rest/BUILD | 9 +- .../registry/storage/rest/storage_storage.go | 32 +- .../pkg/registry/storage/storageclass/BUILD | 4 +- .../storage/storageclass/storage/BUILD | 11 +- .../storage/storageclass/storage/storage.go | 17 +- .../storageclass/storage/storage_test.go | 12 +- .../registry/storage/storageclass/strategy.go | 4 +- vendor/k8s.io/kubernetes/pkg/routes/BUILD | 2 +- vendor/k8s.io/kubernetes/pkg/routes/logs.go | 2 +- vendor/k8s.io/kubernetes/pkg/routes/ui.go | 4 +- .../kubernetes/pkg/security/apparmor/BUILD | 3 +- .../pkg/security/apparmor/validate.go | 5 +- .../capabilities/mustrunas.go | 5 +- .../security/podsecuritypolicy/util/util.go | 12 +- .../kubernetes/pkg/securitycontext/BUILD | 15 +- .../kubernetes/pkg/securitycontext/fake.go | 14 - .../pkg/securitycontext/provider.go | 274 - .../kubernetes/pkg/securitycontext/types.go | 49 - .../kubernetes/pkg/securitycontext/util.go | 144 + .../kubernetes/pkg/serviceaccount/BUILD | 2 + .../kubernetes/pkg/serviceaccount/OWNERS | 8 + .../kubernetes/pkg/serviceaccount/jwt.go | 14 +- .../kubernetes/pkg/serviceaccount/jwt_test.go | 29 +- vendor/k8s.io/kubernetes/pkg/storage/BUILD | 118 - vendor/k8s.io/kubernetes/pkg/storage/doc.go | 18 - .../k8s.io/kubernetes/pkg/storage/etcd/BUILD | 84 - .../k8s.io/kubernetes/pkg/storage/etcd/doc.go | 17 - .../pkg/storage/etcd/etcd_helper_test.go | 539 - .../pkg/storage/etcd/etcd_watcher_test.go | 559 - .../pkg/storage/etcd/etcdtest/BUILD | 30 - .../pkg/storage/etcd/etcdtest/doc.go | 17 - .../kubernetes/pkg/storage/etcd/testing/BUILD | 46 - .../storage/etcd/testing/testingcert/BUILD | 27 - .../pkg/storage/etcd/testing/utils.go | 325 - .../kubernetes/pkg/storage/etcd/util/BUILD | 43 - .../kubernetes/pkg/storage/etcd/util/doc.go | 19 - .../k8s.io/kubernetes/pkg/storage/etcd3/BUILD | 75 - .../kubernetes/pkg/storage/etcd3/store.go | 513 - .../pkg/storage/etcd3/store_test.go | 558 - .../pkg/storage/storagebackend/BUILD | 31 - .../pkg/storage/storagebackend/config.go | 47 - .../pkg/storage/storagebackend/factory/BUILD | 59 - .../storage/storagebackend/factory/factory.go | 43 - .../storagebackend/factory/tls_test.go | 91 - .../kubernetes/pkg/storage/testing/BUILD | 41 - .../kubernetes/pkg/storage/testing/utils.go | 61 - vendor/k8s.io/kubernetes/pkg/storage/util.go | 161 - vendor/k8s.io/kubernetes/pkg/util/BUILD | 10 +- .../kubernetes/pkg/util/bandwidth/BUILD | 4 +- .../pkg/util/bandwidth/fake_shaper.go | 2 +- .../pkg/util/bandwidth/interfaces.go | 2 +- .../kubernetes/pkg/util/bandwidth/linux.go | 2 +- .../pkg/util/bandwidth/linux_test.go | 2 +- .../pkg/util/bandwidth/unsupported.go | 2 +- .../kubernetes/pkg/util/bandwidth/utils.go | 5 +- .../pkg/util/bandwidth/utils_test.go | 2 +- .../k8s.io/kubernetes/pkg/util/config/BUILD | 16 +- .../pkg/util/config/configuration_map.go | 53 - .../pkg/util/config/feature_gate.go | 260 - .../pkg/util/config/feature_gate_test.go | 159 - .../pkg/util/config/namedcertkey_flag.go | 113 - .../k8s.io/kubernetes/pkg/util/exec/exec.go | 21 + .../kubernetes/pkg/util/exec/fake_exec.go | 4 + vendor/k8s.io/kubernetes/pkg/util/flag/BUILD | 35 - vendor/k8s.io/kubernetes/pkg/util/flock/BUILD | 1 - .../kubernetes/pkg/util/flock/flock_unix.go | 32 +- .../kubernetes/pkg/util/httpstream/BUILD | 42 - .../kubernetes/pkg/util/httpstream/doc.go | 19 - .../pkg/util/httpstream/httpstream_test.go | 127 - .../kubernetes/pkg/util/httpstream/spdy/BUILD | 57 - .../pkg/util/httpstream/spdy/connection.go | 145 - .../pkg/util/httpstream/spdy/roundtripper.go | 267 - .../pkg/util/httpstream/spdy/upgrade.go | 78 - .../k8s.io/kubernetes/pkg/util/i18n/i18n.go | 5 +- .../k8s.io/kubernetes/pkg/util/intstr/BUILD | 21 +- .../k8s.io/kubernetes/pkg/util/intstr/doc.go | 21 + .../pkg/util/intstr/generated.pb.go | 373 - .../pkg/util/intstr/generated.proto | 43 - vendor/k8s.io/kubernetes/pkg/util/io/BUILD | 1 + .../k8s.io/kubernetes/pkg/util/io/io_test.go | 3 +- .../k8s.io/kubernetes/pkg/util/ipconfig/BUILD | 43 + .../kubernetes/pkg/util/ipconfig/doc.go | 18 + .../kubernetes/pkg/util/ipconfig/ipconfig.go | 99 + .../pkg/util/ipconfig/ipconfig_test.go | 33 + .../kubernetes/pkg/util/iptables/iptables.go | 1 - .../pkg/util/iptables/iptables_test.go | 221 + .../k8s.io/kubernetes/pkg/util/mount/OWNERS | 7 + .../k8s.io/kubernetes/pkg/util/mount/fake.go | 37 +- .../k8s.io/kubernetes/pkg/util/mount/mount.go | 5 - .../kubernetes/pkg/util/mount/mount_linux.go | 59 +- .../pkg/util/mount/mount_linux_test.go | 9 +- vendor/k8s.io/kubernetes/pkg/util/node/BUILD | 2 +- .../k8s.io/kubernetes/pkg/util/node/node.go | 2 +- .../pkg/util/procfs/procfs_linux.go | 2 +- vendor/k8s.io/kubernetes/pkg/util/proxy/BUILD | 51 - .../k8s.io/kubernetes/pkg/util/proxy/doc.go | 18 - .../kubernetes/pkg/util/strategicpatch/BUILD | 45 - .../pkg/util/strategicpatch/patch.go | 1376 - .../pkg/util/strategicpatch/patch_test.go | 2370 - .../kubernetes/pkg/util/taints/taints.go | 2 +- .../kubernetes/pkg/util/taints/taints_test.go | 4 + vendor/k8s.io/kubernetes/pkg/util/trace.go | 72 - vendor/k8s.io/kubernetes/pkg/util/trie.go | 79 - .../k8s.io/kubernetes/pkg/util/util_test.go | 25 - vendor/k8s.io/kubernetes/pkg/util/uuid/BUILD | 6 +- vendor/k8s.io/kubernetes/pkg/util/uuid/doc.go | 19 + .../kubernetes/pkg/util/workqueue/BUILD | 69 - .../pkg/util/workqueue/delaying_queue_test.go | 236 - .../kubernetes/pkg/util/workqueue/doc.go | 26 - .../pkg/util/workqueue/prometheus/BUILD | 2 +- .../util/workqueue/prometheus/prometheus.go | 2 +- .../pkg/util/workqueue/queue_test.go | 161 - .../pkg/util/workqueue/timed_queue_test.go | 38 - vendor/k8s.io/kubernetes/pkg/version/base.go | 6 +- vendor/k8s.io/kubernetes/pkg/volume/BUILD | 17 +- .../kubernetes/pkg/volume/aws_ebs/BUILD | 2 +- .../kubernetes/pkg/volume/aws_ebs/OWNERS | 1 + .../kubernetes/pkg/volume/aws_ebs/attacher.go | 93 +- .../pkg/volume/aws_ebs/attacher_test.go | 2 +- .../kubernetes/pkg/volume/aws_ebs/aws_ebs.go | 10 +- .../kubernetes/pkg/volume/azure_dd/BUILD | 2 +- .../pkg/volume/azure_dd/attacher.go | 3 +- .../pkg/volume/azure_dd/azure_dd.go | 8 + .../pkg/volume/azure_dd/azure_provision.go | 2 +- .../pkg/volume/azure_file/azure_file.go | 29 +- .../kubernetes/pkg/volume/cephfs/cephfs.go | 36 +- .../k8s.io/kubernetes/pkg/volume/cinder/BUILD | 2 +- .../kubernetes/pkg/volume/cinder/attacher.go | 38 +- .../pkg/volume/cinder/attacher_test.go | 142 +- .../kubernetes/pkg/volume/cinder/cinder.go | 10 +- .../pkg/volume/cinder/cinder_util.go | 2 +- .../pkg/volume/configmap/configmap.go | 13 +- .../pkg/volume/configmap/configmap_test.go | 2 +- .../pkg/volume/downwardapi/downwardapi.go | 24 +- .../volume/downwardapi/downwardapi_test.go | 991 +- .../pkg/volume/empty_dir/empty_dir.go | 8 + vendor/k8s.io/kubernetes/pkg/volume/fc/fc.go | 8 + .../kubernetes/pkg/volume/flexvolume/BUILD | 27 +- .../kubernetes/pkg/volume/flexvolume/OWNERS | 2 + .../volume/flexvolume/attacher-defaults.go | 73 + .../pkg/volume/flexvolume/attacher.go | 120 + .../pkg/volume/flexvolume/attacher_test.go | 74 + .../pkg/volume/flexvolume/common_test.go | 139 + .../volume/flexvolume/detacher-defaults.go | 45 + .../pkg/volume/flexvolume/detacher.go | 97 + .../pkg/volume/flexvolume/detacher_test.go | 43 + .../pkg/volume/flexvolume/driver-call.go | 224 + .../pkg/volume/flexvolume/flexvolume.go | 440 - .../pkg/volume/flexvolume/flexvolume_test.go | 217 +- .../pkg/volume/flexvolume/flexvolume_util.go | 221 - .../pkg/volume/flexvolume/mounter-defaults.go | 61 + .../pkg/volume/flexvolume/mounter.go | 104 + .../pkg/volume/flexvolume/mounter_test.go | 52 + .../pkg/volume/flexvolume/plugin-defaults.go | 34 + .../pkg/volume/flexvolume/plugin.go | 199 + .../pkg/volume/flexvolume/plugin_test.go | 56 + .../kubernetes/pkg/volume/flexvolume/probe.go | 50 + .../volume/flexvolume/unmounter-defaults.go | 29 + .../pkg/volume/flexvolume/unmounter.go | 79 + .../pkg/volume/flexvolume/unmounter_test.go | 37 + .../kubernetes/pkg/volume/flexvolume/util.go | 101 + .../pkg/volume/flexvolume/volume.go | 48 + .../kubernetes/pkg/volume/flocker/BUILD | 2 +- .../kubernetes/pkg/volume/flocker/flocker.go | 8 + .../pkg/volume/flocker/flocker_volume.go | 2 +- .../k8s.io/kubernetes/pkg/volume/gce_pd/BUILD | 2 +- .../kubernetes/pkg/volume/gce_pd/OWNERS | 1 + .../kubernetes/pkg/volume/gce_pd/attacher.go | 3 +- .../kubernetes/pkg/volume/gce_pd/gce_pd.go | 10 +- .../pkg/volume/git_repo/git_repo.go | 8 + .../kubernetes/pkg/volume/glusterfs/BUILD | 5 +- .../kubernetes/pkg/volume/glusterfs/OWNERS | 1 + .../pkg/volume/glusterfs/glusterfs.go | 110 +- .../pkg/volume/glusterfs/glusterfs_test.go | 20 +- .../kubernetes/pkg/volume/host_path/BUILD | 7 +- .../pkg/volume/host_path/host_path.go | 85 +- .../pkg/volume/host_path/host_path_test.go | 13 +- .../k8s.io/kubernetes/pkg/volume/iscsi/OWNERS | 1 + .../pkg/volume/iscsi/disk_manager.go | 3 +- .../kubernetes/pkg/volume/iscsi/iscsi.go | 36 +- .../kubernetes/pkg/volume/iscsi/iscsi_util.go | 133 +- .../pkg/volume/iscsi/iscsi_util_test.go | 20 +- .../kubernetes/pkg/volume/metrics_du.go | 5 +- .../kubernetes/pkg/volume/metrics_du_test.go | 4 +- .../kubernetes/pkg/volume/metrics_statfs.go | 5 +- .../pkg/volume/metrics_statfs_test.go | 8 +- vendor/k8s.io/kubernetes/pkg/volume/nfs/BUILD | 1 - .../k8s.io/kubernetes/pkg/volume/nfs/nfs.go | 106 +- .../kubernetes/pkg/volume/nfs/nfs_test.go | 26 +- .../kubernetes/pkg/volume/photon_pd/BUILD | 2 +- .../pkg/volume/photon_pd/attacher.go | 3 +- .../pkg/volume/photon_pd/photon_pd.go | 10 +- .../k8s.io/kubernetes/pkg/volume/plugins.go | 27 +- .../kubernetes/pkg/volume/plugins_test.go | 8 + .../kubernetes/pkg/volume/portworx/BUILD | 64 + .../kubernetes/pkg/volume/portworx/OWNERS | 2 + .../kubernetes/pkg/volume/portworx/doc.go | 19 + .../pkg/volume/portworx/portworx.go | 396 + .../pkg/volume/portworx/portworx_test.go | 235 + .../pkg/volume/portworx/portworx_util.go | 165 + .../kubernetes/pkg/volume/projected/BUILD | 60 + .../pkg/volume/projected/projected.go | 333 + .../pkg/volume/projected/projected_test.go | 1046 + .../kubernetes/pkg/volume/quobyte/BUILD | 2 +- .../kubernetes/pkg/volume/quobyte/quobyte.go | 23 +- vendor/k8s.io/kubernetes/pkg/volume/rbd/BUILD | 4 +- .../kubernetes/pkg/volume/rbd/disk_manager.go | 3 +- .../k8s.io/kubernetes/pkg/volume/rbd/rbd.go | 38 +- .../kubernetes/pkg/volume/rbd/rbd_util.go | 83 +- .../kubernetes/pkg/volume/scaleio/BUILD | 72 + .../pkg/volume/scaleio/sio_client.go | 539 + .../kubernetes/pkg/volume/scaleio/sio_mgr.go | 258 + .../pkg/volume/scaleio/sio_mgr_test.go | 333 + .../pkg/volume/scaleio/sio_plugin.go | 203 + .../kubernetes/pkg/volume/scaleio/sio_util.go | 227 + .../pkg/volume/scaleio/sio_util_test.go | 222 + .../pkg/volume/scaleio/sio_volume.go | 455 + .../pkg/volume/scaleio/sio_volume_test.go | 353 + .../kubernetes/pkg/volume/secret/secret.go | 29 +- .../pkg/volume/secret/secret_test.go | 2 +- .../kubernetes/pkg/volume/testing/BUILD | 4 +- .../kubernetes/pkg/volume/testing/testing.go | 40 +- vendor/k8s.io/kubernetes/pkg/volume/util.go | 86 +- .../k8s.io/kubernetes/pkg/volume/util/BUILD | 2 +- .../k8s.io/kubernetes/pkg/volume/util/fs.go | 2 +- .../pkg/volume/util/fs_unsupported.go | 2 +- .../nestedpendingoperations.go | 16 +- .../pkg/volume/util/operationexecutor/BUILD | 5 +- .../operationexecutor/operation_executor.go | 90 +- .../operation_executor_test.go | 24 +- .../operationexecutor/operation_generator.go | 102 +- .../k8s.io/kubernetes/pkg/volume/util/util.go | 2 +- .../k8s.io/kubernetes/pkg/volume/util_test.go | 223 +- .../kubernetes/pkg/volume/validation/BUILD | 44 + .../pkg/volume/validation/pv_validation.go | 58 + .../volume/validation/pv_validation_test.go | 86 + vendor/k8s.io/kubernetes/pkg/volume/volume.go | 57 +- .../pkg/volume/vsphere_volume/BUILD | 2 +- .../pkg/volume/vsphere_volume/attacher.go | 3 +- .../volume/vsphere_volume/vsphere_volume.go | 10 +- .../vsphere_volume/vsphere_volume_util.go | 2 + vendor/k8s.io/kubernetes/plugin/BUILD | 2 + .../plugin/cmd/kube-scheduler/BUILD | 4 +- .../plugin/cmd/kube-scheduler/app/BUILD | 24 +- .../cmd/kube-scheduler/app/configurator.go | 138 + .../kube-scheduler/app/configurator_test.go | 31 + .../cmd/kube-scheduler/app/options/BUILD | 4 +- .../cmd/kube-scheduler/app/options/options.go | 11 +- .../plugin/cmd/kube-scheduler/app/server.go | 94 +- .../plugin/cmd/kube-scheduler/scheduler.go | 4 +- .../admission/defaulttolerationseconds/BUILD | 46 + .../defaulttolerationseconds/admission.go | 125 + .../admission_test.go | 289 + .../pkg/admission/deny/admission_test.go | 13 +- .../plugin/pkg/admission/exec/BUILD | 6 +- .../plugin/pkg/admission/exec/admission.go | 10 +- .../pkg/admission/exec/admission_test.go | 4 +- .../kubernetes/plugin/pkg/admission/gc/BUILD | 2 +- .../plugin/pkg/admission/gc/gc_admission.go | 4 +- .../plugin/pkg/admission/imagepolicy/BUILD | 3 +- .../pkg/admission/imagepolicy/admission.go | 5 +- .../pkg/admission/imagepolicy/config.go | 2 +- .../pkg/admission/initialresources/BUILD | 4 +- .../admission/initialresources/admission.go | 2 +- .../initialresources/admission_test.go | 2 +- .../admission/initialresources/data_source.go | 2 +- .../plugin/pkg/admission/limitranger/BUILD | 11 +- .../pkg/admission/limitranger/admission.go | 21 +- .../admission/limitranger/admission_test.go | 23 +- .../admission/namespace/autoprovision/BUILD | 8 +- .../namespace/autoprovision/admission.go | 46 +- .../namespace/autoprovision/admission_test.go | 8 +- .../pkg/admission/namespace/exists/BUILD | 8 +- .../admission/namespace/exists/admission.go | 44 +- .../namespace/exists/admission_test.go | 8 +- .../pkg/admission/namespace/lifecycle/BUILD | 10 +- .../namespace/lifecycle/admission.go | 77 +- .../namespace/lifecycle/admission_test.go | 27 +- .../admission/persistentvolume/label/BUILD | 1 + .../persistentvolume/label/admission.go | 21 +- .../persistentvolume/label/admission_test.go | 2 +- .../pkg/admission/podnodeselector/BUILD | 7 +- .../admission/podnodeselector/admission.go | 41 +- .../podnodeselector/admission_test.go | 13 +- .../plugin/pkg/admission/podpreset/BUILD | 60 + .../pkg/admission/podpreset/admission.go | 320 + .../pkg/admission/podpreset/admission_test.go | 582 + .../plugin/pkg/admission/resourcequota/BUILD | 32 +- .../pkg/admission/resourcequota/admission.go | 61 +- .../admission/resourcequota/admission_test.go | 440 +- .../resourcequota/apis/resourcequota/BUILD | 43 + .../resourcequota/apis/resourcequota/OWNERS | 7 + .../resourcequota/apis/resourcequota/doc.go | 19 + .../apis/resourcequota/install/BUILD | 34 + .../apis/resourcequota/install/install.go | 44 + .../apis/resourcequota/register.go | 53 + .../resourcequota/apis/resourcequota/types.go | 55 + .../apis/resourcequota/v1alpha1/BUILD | 42 + .../apis/resourcequota/v1alpha1/defaults.go | 28 + .../apis/resourcequota/v1alpha1/doc.go | 23 + .../apis/resourcequota/v1alpha1/register.go | 42 + .../apis/resourcequota/v1alpha1/types.go | 55 + .../v1alpha1/zz_generated.conversion.go | 87 + .../v1alpha1/zz_generated.deepcopy.go | 72 + .../v1alpha1/zz_generated.defaults.go | 37 + .../apis/resourcequota/validation/BUILD | 40 + .../resourcequota/validation/validation.go | 36 + .../validation/validation_test.go | 60 + .../resourcequota/zz_generated.deepcopy.go | 72 + .../pkg/admission/resourcequota/config.go | 72 + .../pkg/admission/resourcequota/controller.go | 102 +- .../resourcequota/resource_access.go | 45 +- .../security/podsecuritypolicy/BUILD | 13 +- .../security/podsecuritypolicy/admission.go | 87 +- .../podsecuritypolicy/admission_test.go | 29 +- .../plugin/pkg/admission/serviceaccount/BUILD | 10 +- .../pkg/admission/serviceaccount/OWNERS | 6 + .../pkg/admission/serviceaccount/admission.go | 153 +- .../serviceaccount/admission_test.go | 148 +- .../pkg/admission/storageclass/default/BUILD | 10 +- .../storageclass/default/admission.go | 84 +- .../storageclass/default/admission_test.go | 28 +- .../k8s.io/kubernetes/plugin/pkg/auth/BUILD | 2 +- .../k8s.io/kubernetes/plugin/pkg/auth/OWNERS | 3 + .../plugin/pkg/auth/authenticator/BUILD | 35 - .../plugin/pkg/auth/authenticator/doc.go | 18 - .../pkg/auth/authenticator/password/BUILD | 32 - .../auth/authenticator/password/allow/BUILD | 39 - .../pkg/auth/authenticator/password/doc.go | 18 - .../authenticator/password/keystone/BUILD | 38 - .../authenticator/password/keystone/doc.go | 20 - .../authenticator/password/passwordfile/BUILD | 40 - .../authenticator/request/basicauth/BUILD | 43 - .../auth/authenticator/token/anytoken/BUILD | 37 - .../auth/authenticator/token/bootstrap/BUILD | 52 + .../token/bootstrap/bootstrap.go | 169 + .../token/bootstrap/bootstrap_test.go | 228 + .../pkg/auth/authenticator/token/oidc/BUILD | 53 - .../authenticator/token/oidc/testing/BUILD | 32 - .../auth/authenticator/token/tokentest/BUILD | 28 - .../auth/authenticator/token/webhook/BUILD | 55 - .../authenticator/token/webhook/webhook.go | 132 - .../token/webhook/webhook_test.go | 564 - .../plugin/pkg/auth/authorizer/BUILD | 1 - .../authorizer/rbac/bootstrappolicy/BUILD | 5 +- .../rbac/bootstrappolicy/controller_policy.go | 30 +- .../rbac/bootstrappolicy/namespace_policy.go | 123 + .../authorizer/rbac/bootstrappolicy/policy.go | 152 +- .../rbac/bootstrappolicy/policy_test.go | 64 +- .../testdata/cluster-role-bindings.yaml | 82 +- .../testdata/cluster-roles.yaml | 321 +- .../testdata/controller-role-bindings.yaml | 101 +- .../testdata/controller-roles.yaml | 129 +- .../testdata/namespace-role-bindings.yaml | 58 + .../testdata/namespace-roles.yaml | 105 + .../plugin/pkg/auth/authorizer/rbac/rbac.go | 27 +- .../pkg/auth/authorizer/rbac/rbac_test.go | 18 + .../auth/authorizer/rbac/subject_locator.go | 4 +- .../authorizer/rbac/subject_locator_test.go | 52 +- .../plugin/pkg/auth/authorizer/webhook/BUILD | 57 - .../pkg/auth/authorizer/webhook/webhook.go | 230 - .../auth/authorizer/webhook/webhook_test.go | 620 - .../kubernetes/plugin/pkg/scheduler/BUILD | 77 +- .../kubernetes/plugin/pkg/scheduler/OWNERS | 2 + .../plugin/pkg/scheduler/algorithm/BUILD | 3 +- .../plugin/pkg/scheduler/algorithm/listers.go | 186 - .../pkg/scheduler/algorithm/predicates/BUILD | 10 +- .../scheduler/algorithm/predicates/error.go | 4 + .../algorithm/predicates/predicates.go | 193 +- .../algorithm/predicates/predicates_test.go | 1457 +- .../pkg/scheduler/algorithm/priorities/BUILD | 11 +- .../balanced_resource_allocation_test.go | 2 +- .../algorithm/priorities/interpod_affinity.go | 18 +- .../priorities/interpod_affinity_test.go | 593 +- .../priorities/least_requested_test.go | 2 +- .../algorithm/priorities/metadata.go | 2 +- .../algorithm/priorities/metadata_test.go | 132 + .../priorities/most_requested_test.go | 40 +- .../algorithm/priorities/node_affinity.go | 2 +- .../priorities/node_affinity_test.go | 145 + .../priorities/selector_spreading.go | 32 +- .../priorities/selector_spreading_test.go | 73 +- .../algorithm/priorities/taint_toleration.go | 14 +- .../priorities/taint_toleration_test.go | 15 +- .../algorithm/priorities/test_util.go | 2 +- .../scheduler/algorithm/priorities/util/BUILD | 2 + .../algorithm/priorities/util/topologies.go | 25 +- .../algorithm/scheduler_interface.go | 3 +- .../algorithm/scheduler_interface_test.go | 0 .../plugin/pkg/scheduler/algorithm/types.go | 80 + .../algorithmprovider/defaults/BUILD | 8 +- .../defaults/compatibility_test.go | 21 +- .../algorithmprovider/defaults/defaults.go | 32 +- .../defaults/defaults_test.go | 62 + .../plugin/pkg/scheduler/api/types.go | 20 +- .../plugin/pkg/scheduler/api/v1/types.go | 20 +- .../scheduler/api/validation/validation.go | 4 +- .../api/validation/validation_test.go | 15 + .../plugin/pkg/scheduler/core/BUILD | 73 + .../scheduler/{ => core}/equivalence_cache.go | 6 +- .../plugin/pkg/scheduler/core/extender.go | 227 + .../pkg/scheduler/{ => core}/extender_test.go | 18 +- .../scheduler/{ => core}/generic_scheduler.go | 10 +- .../{ => core}/generic_scheduler_test.go | 17 +- .../plugin/pkg/scheduler/extender.go | 187 - .../plugin/pkg/scheduler/factory/BUILD | 16 +- .../plugin/pkg/scheduler/factory/factory.go | 225 +- .../pkg/scheduler/factory/factory_test.go | 123 +- .../plugin/pkg/scheduler/factory/plugins.go | 2 +- .../plugin/pkg/scheduler/scheduler.go | 43 +- .../plugin/pkg/scheduler/scheduler_test.go | 55 +- .../plugin/pkg/scheduler/schedulercache/BUILD | 15 +- .../scheduler/schedulercache/cache_test.go | 2 +- .../pkg/scheduler/schedulercache/node_info.go | 35 +- .../schedulercache/reconcile_affinity.go | 53 + .../schedulercache/reconcile_affinity_test.go | 151 + .../plugin/pkg/scheduler/testing/BUILD | 5 + .../pkg/scheduler/testing/fake_cache.go | 2 +- .../pkg/scheduler/testing/fake_lister.go | 168 + .../pkg/scheduler/testing/pods_to_cache.go | 2 +- vendor/k8s.io/kubernetes/staging/copy.sh | 272 +- .../kubernetes/staging/godeps-json-updater.go | 31 +- .../k8s.io/apimachinery/Godeps/Godeps.json | 174 + .../src/k8s.io/apimachinery/Godeps/Readme | 5 + .../src/k8s.io/apimachinery/pkg/OWNERS | 1 + .../apimachinery/pkg/api/equality/semantic.go | 46 + .../k8s.io/apimachinery/pkg/api/meta/meta.go | 14 + .../apimachinery}/pkg/api/resource/OWNERS | 0 .../apimachinery}/pkg/api/resource/amount.go | 0 .../pkg/api/resource/amount_test.go | 0 .../pkg/api/resource/generated.pb.go | 71 + .../pkg/api/resource/generated.proto | 94 + .../apimachinery}/pkg/api/resource/math.go | 0 .../pkg/api/resource/math_test.go | 0 .../pkg/api/resource/quantity.go | 0 .../pkg/api/resource/quantity_example_test.go | 2 +- .../pkg/api/resource/quantity_proto.go | 0 .../pkg/api/resource/quantity_test.go | 0 .../pkg/api/resource/scale_int.go | 0 .../pkg/api/resource/scale_int_test.go | 0 .../apimachinery}/pkg/api/resource/suffix.go | 0 .../apimachinery/pkg/api/testing/codec.go | 86 + .../apimachinery/pkg/api/testing/fuzzer.go | 174 + .../apimachinery/pkg/api/testing/roundtrip.go | 295 + .../apimachinery/pkg/api/testing/valuefuzz.go | 86 + .../pkg/api/testing/valuefuzz_test.go | 73 + .../pkg/api/validation/objectmeta.go | 261 + .../pkg/api/validation/objectmeta_test.go | 500 + .../pkg/api/validation/path/name.go | 0 .../pkg/api/validation/path/name_test.go | 0 .../apimachinery/announced/group_factory.go | 10 +- .../pkg/apis/meta/internalversion/register.go | 11 +- .../meta/internalversion/register_test.go | 4 +- .../pkg/apis/meta/v1/conversion.go | 264 + .../pkg/apis/meta/v1/generated.pb.go | 395 +- .../pkg/apis/meta/v1/generated.proto | 24 +- .../apimachinery/pkg/apis/meta/v1/helpers.go | 6 + .../apimachinery/pkg/apis/meta/v1/meta.go | 8 + .../apimachinery/pkg/apis/meta/v1/register.go | 13 + .../apimachinery/pkg/apis/meta/v1/types.go | 45 + .../meta/v1/types_swagger_doc_generated.go | 17 +- .../apis/meta/v1/unstructured/unstructured.go | 55 +- .../meta/v1/unstructured/unstructured_test.go | 36 + .../pkg/apis/meta/v1/validation/validation.go | 16 + .../pkg/apis/meta/v1/well_known_labels.go | 11 + .../pkg/apis/meta/v1/zz_generated.deepcopy.go | 15 + .../pkg/conversion/unstructured/converter.go | 681 + .../conversion/unstructured/converter_test.go | 462 + .../pkg/conversion/unstructured/doc.go | 19 + .../apimachinery/pkg/fields/selector.go | 5 + .../k8s.io/apimachinery/pkg/openapi/common.go | 21 +- .../k8s.io/apimachinery/pkg/runtime/codec.go | 20 +- .../apimachinery/pkg/runtime/generated.pb.go | 51 +- .../apimachinery/pkg/runtime/generated.proto | 3 +- .../pkg/runtime/schema/generated.pb.go | 29 +- .../pkg/runtime/schema/generated.proto | 3 +- .../k8s.io/apimachinery/pkg/runtime/scheme.go | 21 +- .../apimachinery/pkg/runtime/scheme_test.go | 73 + .../apimachinery/pkg/util/httpstream/doc.go | 19 + .../pkg/util/httpstream/httpstream.go | 0 .../pkg/util/httpstream/httpstream_test.go | 125 + .../pkg/util/httpstream/spdy/connection.go | 145 + .../util/httpstream/spdy/connection_test.go | 2 +- .../pkg/util/httpstream/spdy/roundtripper.go | 280 + .../util/httpstream/spdy/roundtripper_test.go | 2 +- .../pkg/util/httpstream/spdy/upgrade.go | 78 + .../pkg/util/httpstream/spdy/upgrade_test.go | 0 .../pkg/util/intstr/generated.pb.go | 374 + .../pkg/util/intstr/generated.proto | 43 + .../apimachinery}/pkg/util/intstr/intstr.go | 0 .../pkg/util/intstr/intstr_test.go | 0 .../pkg/util/jsonmergepatch/patch.go | 144 + .../pkg/util/jsonmergepatch/patch_test.go | 663 + .../pkg/util/mergepatch/errors.go | 66 + .../apimachinery/pkg/util/mergepatch/util.go | 126 + .../pkg/util/mergepatch/util_test.go | 84 + .../apimachinery/pkg/util/runtime/runtime.go | 35 +- .../pkg/util/strategicpatch/patch.go | 1260 + .../pkg/util/strategicpatch/patch_test.go | 2742 ++ .../apimachinery}/pkg/util/uuid/uuid.go | 1 + .../pkg/util/validation/field/errors.go | 35 +- .../pkg/util/validation/field/errors_test.go | 11 +- .../apimachinery/pkg/util/yaml/decoder.go | 27 +- .../pkg/util/yaml/decoder_test.go | 35 +- .../k8s.io/apimachinery/pkg/watch/until.go | 6 +- .../third_party/forked/golang/json/fields.go | 0 .../third_party/forked/golang/netutil/addr.go | 0 .../src/k8s.io/apiserver/Godeps/Godeps.json | 642 + .../src/k8s.io/apiserver/Godeps/Readme | 5 + .../staging/src/k8s.io/apiserver/OWNERS | 43 + .../k8s.io/apiserver/pkg/admission/config.go | 193 + .../apiserver/pkg}/admission/config_test.go | 23 +- .../apiserver/pkg/apis/apiserver/doc.go | 21 + .../pkg/apis/apiserver/install/install.go | 44 + .../apiserver/pkg/apis/apiserver/register.go | 50 + .../apiserver/pkg/apis/apiserver/types.go | 48 + .../pkg/apis/apiserver/v1alpha1/doc.go | 22 + .../pkg/apis/apiserver/v1alpha1/register.go | 42 + .../pkg/apis/apiserver/v1alpha1/types.go | 48 + .../v1alpha1/zz_generated.conversion.go | 106 + .../v1alpha1/zz_generated.deepcopy.go | 74 + .../apis/apiserver/zz_generated.deepcopy.go | 77 + .../k8s.io/apiserver/pkg/apis/example/doc.go | 22 + .../pkg/apis/example/fuzzer/fuzzer.go | 99 + .../pkg/apis/example/install/install.go | 44 + .../apiserver/pkg/apis/example/register.go | 51 + .../apiserver/pkg/apis/example/types.go | 134 + .../pkg/apis/example/v1/conversion.go | 26 + .../apiserver/pkg/apis/example/v1/defaults.go | 25 + .../apiserver/pkg/apis/example/v1/doc.go | 23 + .../pkg/apis/example/v1/generated.pb.go | 1992 + .../pkg/apis/example/v1/generated.proto | 212 + .../apiserver/pkg/apis/example/v1/register.go | 53 + .../pkg/apis/example/v1/types.generated.go | 22 + .../apiserver/pkg/apis/example/v1/types.go | 192 + .../example/v1/types_swagger_doc_generated.go | 17 + .../example/v1/zz_generated.conversion.go | 216 + .../apis/example/v1/zz_generated.deepcopy.go | 150 + .../apis/example/v1/zz_generated.defaults.go | 21 + .../pkg/apis/example/zz_generated.deepcopy.go | 150 + .../authenticatorfactory/delegating.go | 114 + .../authenticatorfactory}/loopback.go | 6 +- .../authenticatorfactory}/requestheader.go | 2 +- .../group/authenticated_group_adder.go | 60 + .../authentication/group/group_adder_test.go | 69 + .../authentication/request/x509/x509_test.go | 732 +- .../apiserver/pkg/authentication/user/user.go | 1 + .../authorization/authorizerfactory}/OWNERS | 0 .../authorizerfactory}/authz_test.go | 2 +- .../authorizerfactory}/builtin.go | 2 +- .../authorizerfactory/delegating.go | 47 + .../src/k8s.io/apiserver/pkg/endpoints/OWNERS | 41 + .../apiserver/pkg}/endpoints/apiserver.go | 0 .../apiserver/pkg/endpoints/apiserver_test.go | 3450 ++ .../apiserver/pkg/endpoints/discovery.go | 172 + .../src/k8s.io/apiserver/pkg/endpoints/doc.go | 18 + .../apiserver/pkg}/endpoints/filters/OWNERS | 0 .../apiserver/pkg/endpoints/filters/audit.go | 164 + .../pkg}/endpoints/filters/audit_test.go | 0 .../pkg}/endpoints/filters/authentication.go | 0 .../endpoints/filters/authentication_test.go | 0 .../pkg/endpoints/filters/authorization.go | 89 + .../endpoints/filters/authorization_test.go | 4 +- .../apiserver/pkg/endpoints/filters/doc.go | 21 + .../pkg}/endpoints/filters/impersonation.go | 6 +- .../endpoints/filters/impersonation_test.go | 2 +- .../pkg}/endpoints/filters/requestinfo.go | 2 +- .../endpoints/filters/requestinfo_test.go | 0 .../apiserver/pkg}/endpoints/groupversion.go | 16 +- .../pkg/endpoints/handlers/discovery.go | 54 + .../apiserver/pkg/endpoints/handlers/doc.go | 18 + .../apiserver/pkg/endpoints/handlers/patch.go | 130 + .../apiserver/pkg/endpoints/handlers/proxy.go | 282 + .../endpoints/handlers/responsewriters/doc.go | 18 + .../handlers/responsewriters/errors.go | 0 .../handlers/responsewriters/status.go | 2 +- .../handlers/responsewriters/status_test.go | 5 +- .../handlers/responsewriters/writers.go | 2 +- .../apiserver/pkg/endpoints/handlers/rest.go | 1210 + .../pkg/endpoints/handlers/rest_test.go | 538 + .../pkg}/endpoints/handlers/watch.go | 0 .../apiserver/pkg}/endpoints/installer.go | 45 +- .../pkg}/endpoints/installer_test.go | 2 +- .../pkg/endpoints/metrics/metrics.go | 14 +- .../pkg/endpoints/metrics/metrics_test.go | 39 + .../apiserver/pkg}/endpoints/openapi/OWNERS | 0 .../pkg/endpoints/openapi/openapi.go | 171 + .../pkg/endpoints/openapi/openapi_test.go | 86 + .../apiserver/pkg/endpoints/proxy_test.go | 569 + .../apiserver/pkg}/endpoints/testing/OWNERS | 0 .../pkg}/endpoints/testing/types.generated.go | 0 .../apiserver/pkg}/endpoints/testing/types.go | 0 .../apiserver/pkg}/endpoints/watch_test.go | 142 +- .../apiserver/pkg/features/kube_features.go | 47 + .../src/k8s.io/apiserver/pkg/registry/doc.go | 18 + .../apiserver/pkg}/registry/generic/OWNERS | 0 .../apiserver/pkg/registry/generic/doc.go | 19 + .../pkg}/registry/generic/matcher.go | 0 .../apiserver/pkg/registry/generic/options.go | 49 + .../generic/registry/decorated_watcher.go | 0 .../registry/decorated_watcher_test.go | 10 +- .../pkg/registry/generic/registry/doc.go | 19 + .../generic/registry/storage_factory.go | 65 + .../pkg/registry/generic/registry/store.go | 1216 + .../registry/generic/registry/store_test.go | 1544 + .../pkg/registry/generic/rest/doc.go | 19 + .../pkg/registry/generic/rest/proxy.go | 372 + .../pkg/registry/generic/rest/proxy_test.go | 816 + .../registry/generic/rest/response_checker.go | 0 .../generic/rest/response_checker_test.go | 2 +- .../pkg}/registry/generic/rest/streamer.go | 2 +- .../registry/generic/rest/streamer_test.go | 4 +- .../registry/generic/storage_decorator.go | 8 +- .../apiserver/pkg}/registry/rest/OWNERS | 0 .../apiserver/pkg}/registry/rest/create.go | 4 +- .../apiserver/pkg}/registry/rest/delete.go | 4 + .../k8s.io/apiserver/pkg/registry/rest/doc.go | 18 + .../apiserver/pkg}/registry/rest/export.go | 0 .../apiserver/pkg/registry/rest/meta.go | 49 + .../apiserver/pkg}/registry/rest/meta_test.go | 13 +- .../apiserver/pkg/registry/rest/rest.go | 321 + .../pkg}/registry/rest/resttest/resttest.go | 248 +- .../apiserver/pkg/registry/rest/update.go | 231 + .../src/k8s.io/apiserver/pkg/server/OWNERS | 44 + .../src/k8s.io/apiserver/pkg/server/config.go | 484 + .../apiserver/pkg/server/config_selfclient.go | 148 + .../k8s.io/apiserver/pkg}/server/discovery.go | 0 .../apiserver/pkg}/server/filters/OWNERS | 0 .../apiserver/pkg}/server/filters/cors.go | 17 +- .../pkg}/server/filters/cors_test.go | 25 + .../apiserver/pkg/server/filters/doc.go | 19 + .../pkg}/server/filters/longrunning.go | 0 .../pkg}/server/filters/maxinflight.go | 0 .../pkg}/server/filters/maxinflight_test.go | 2 +- .../apiserver/pkg/server/filters/timeout.go | 271 + .../pkg}/server/filters/timeout_test.go | 17 +- .../apiserver/pkg/server/filters/wrap.go} | 0 .../apiserver/pkg}/server/genericapiserver.go | 108 +- .../pkg}/server/genericapiserver_test.go | 157 +- .../k8s.io/apiserver/pkg}/server/healthz.go | 0 .../apiserver/pkg/server/healthz/healthz.go | 7 +- .../pkg/server/healthz/healthz_test.go | 4 +- .../src/k8s.io/apiserver/pkg}/server/hooks.go | 0 .../k8s.io/apiserver/pkg}/server/mux/OWNERS | 0 .../apiserver/pkg/server/mux/container.go | 95 + .../pkg}/server/mux/container_test.go | 0 .../k8s.io/apiserver/pkg}/server/mux/doc.go | 0 .../apiserver/pkg}/server/mux/pathrecorder.go | 0 .../apiserver/pkg}/server/openapi/OWNERS | 0 .../apiserver/pkg}/server/openapi/doc.go | 0 .../apiserver/pkg/server/openapi/openapi.go | 421 + .../pkg/server/openapi/openapi_test.go | 441 + .../apiserver/pkg}/server/openapi/util.go | 0 .../apiserver/pkg}/server/options/OWNERS | 0 .../apiserver/pkg/server/options/audit.go | 60 + .../pkg/server/options/authentication.go | 379 + .../pkg/server/options/authorization.go | 129 + .../apiserver/pkg/server/options/doc.go | 21 + .../apiserver/pkg/server/options/etcd.go | 160 + .../apiserver/pkg/server/options/feature.go | 56 + .../pkg/server/options/recommended.go | 79 + .../pkg/server/options/server_run_options.go | 159 + .../apiserver/pkg/server/options/serving.go | 344 + .../pkg/server/options/serving_test.go | 668 + .../apiserver/pkg}/server/routes/OWNERS | 0 .../pkg}/server/routes/data/README.md | 0 .../server/routes/data/swagger/datafile.go | 80 +- .../apiserver/pkg}/server/routes/doc.go | 0 .../apiserver/pkg/server/routes/index.go | 50 + .../apiserver/pkg/server/routes/metrics.go | 54 + .../apiserver/pkg/server/routes/openapi.go | 38 + .../apiserver/pkg}/server/routes/profiling.go | 3 +- .../apiserver/pkg/server/routes/swagger.go | 37 + .../apiserver/pkg}/server/routes/swaggerui.go | 4 +- .../apiserver/pkg}/server/routes/version.go | 4 +- .../src/k8s.io/apiserver/pkg}/server/serve.go | 18 +- .../apiserver/pkg/server/storage/doc.go | 18 + .../pkg/server/storage}/resource_config.go | 2 +- .../server/storage}/resource_config_test.go | 2 +- .../storage}/resource_encoding_config.go | 35 +- .../pkg/server/storage/storage_codec.go | 108 + .../pkg/server/storage/storage_factory.go | 283 + .../server/storage/storage_factory_test.go | 175 + .../src/k8s.io/apiserver}/pkg/storage/OWNERS | 0 .../k8s.io/apiserver}/pkg/storage/cacher.go | 42 +- .../pkg/storage/cacher_whitebox_test.go | 4 +- .../src/k8s.io/apiserver/pkg/storage/doc.go | 18 + .../k8s.io/apiserver}/pkg/storage/errors.go | 0 .../apiserver/pkg/storage/errors/doc.go | 18 + .../apiserver/pkg/storage/errors/storage.go | 116 + .../k8s.io/apiserver}/pkg/storage/etcd/OWNERS | 0 .../pkg/storage/etcd/api_object_versioner.go | 2 +- .../storage/etcd/api_object_versioner_test.go | 2 +- .../k8s.io/apiserver/pkg/storage/etcd/doc.go | 17 + .../pkg/storage/etcd/etcd_helper.go | 149 +- .../pkg/storage/etcd/etcd_helper_test.go | 695 + .../pkg/storage/etcd/etcd_watcher.go | 34 +- .../pkg/storage/etcd/etcd_watcher_test.go | 562 + .../pkg/storage/etcd/etcdtest/doc.go | 17 + .../pkg/storage/etcd/etcdtest/etcdtest.go | 0 .../etcd/testing/testingcert/certificates.go | 0 .../pkg/storage/etcd/testing/utils.go | 327 + .../apiserver/pkg/storage/etcd/util/doc.go | 19 + .../pkg/storage/etcd/util/etcd_util.go | 0 .../pkg/storage/etcd/util/etcd_util_test.go | 0 .../apiserver}/pkg/storage/etcd3/OWNERS | 0 .../apiserver}/pkg/storage/etcd3/compact.go | 0 .../pkg/storage/etcd3/compact_test.go | 0 .../apiserver}/pkg/storage/etcd3/event.go | 0 .../apiserver/pkg/storage/etcd3/store.go | 575 + .../apiserver/pkg/storage/etcd3/store_test.go | 707 + .../apiserver}/pkg/storage/etcd3/watcher.go | 30 +- .../pkg/storage/etcd3/watcher_test.go | 63 +- .../apiserver}/pkg/storage/interfaces.go | 0 .../pkg/storage/selection_predicate.go | 0 .../pkg/storage/selection_predicate_test.go | 0 .../pkg/storage/storagebackend/OWNERS | 0 .../pkg/storage/storagebackend/config.go | 59 + .../storage/storagebackend/factory/etcd2.go | 8 +- .../storage/storagebackend/factory/etcd3.go | 10 +- .../storage/storagebackend/factory/factory.go | 43 + .../storagebackend/factory/tls_test.go | 106 + .../apiserver}/pkg/storage/testing/OWNERS | 0 .../pkg/storage/testing/types.generated.go | 0 .../apiserver}/pkg/storage/testing/types.go | 0 .../apiserver/pkg/storage/testing/utils.go | 61 + .../pkg/storage/tests}/cacher_test.go | 134 +- .../apiserver/pkg/storage/tests/utils.go | 32 + .../apiserver}/pkg/storage/time_budget.go | 0 .../pkg/storage/time_budget_test.go | 0 .../src/k8s.io/apiserver/pkg/storage/util.go | 161 + .../apiserver}/pkg/storage/util_test.go | 0 .../apiserver}/pkg/storage/watch_cache.go | 10 +- .../pkg/storage/watch_cache_test.go | 23 +- .../pkg/util/feature/feature_gate.go | 211 + .../pkg/util/feature/feature_gate_test.go | 191 + .../pkg/util/flag/configuration_map.go | 53 + .../k8s.io/apiserver}/pkg/util/flag/flags.go | 0 .../pkg/util/flag/namedcertkey_flag.go | 113 + .../pkg/util/flag}/namedcertkey_flag_test.go | 2 +- .../apiserver}/pkg/util/flag/string_flag.go | 0 .../apiserver}/pkg/util/flag/tristate.go | 0 .../k8s.io/apiserver/pkg/util/logs/logs.go | 61 + .../k8s.io/apiserver}/pkg/util/proxy/dial.go | 2 +- .../apiserver}/pkg/util/proxy/dial_test.go | 0 .../k8s.io/apiserver/pkg/util/proxy/doc.go | 18 + .../apiserver}/pkg/util/proxy/transport.go | 0 .../pkg/util/proxy/transport_test.go | 0 .../k8s.io/apiserver/pkg/util/trace/trace.go | 72 + .../k8s.io/apiserver/pkg/util/trie/trie.go | 79 + .../apiserver/pkg/util/webhook/webhook.go | 11 +- .../apiserver/plugin/pkg/authenticator/doc.go | 18 + .../authenticator/password/allow/allow.go | 0 .../password/allow/allow_test.go | 0 .../plugin/pkg/authenticator/password/doc.go | 18 + .../authenticator/password/keystone/doc.go | 20 + .../password/keystone/keystone.go | 5 +- .../password/passwordfile/passwordfile.go | 1 + .../passwordfile/passwordfile_test.go | 0 .../request/basicauth/basicauth.go | 0 .../request/basicauth/basicauth_test.go | 0 .../authenticator/token/anytoken/anytoken.go | 0 .../token/anytoken/anytoken_test.go | 0 .../pkg}/authenticator/token/oidc/OWNERS | 0 .../pkg}/authenticator/token/oidc/oidc.go | 0 .../authenticator/token/oidc/oidc_test.go | 2 +- .../token/oidc/testing/provider.go | 0 .../token/tokentest/tokentest.go | 0 .../authenticator/token/webhook/certs_test.go | 0 .../authenticator/token/webhook/webhook.go | 131 + .../token/webhook/webhook_test.go | 564 + .../pkg}/authorizer/webhook/certs_test.go | 0 .../pkg}/authorizer/webhook/gencerts.sh | 0 .../plugin/pkg/authorizer/webhook/webhook.go | 229 + .../pkg/authorizer/webhook/webhook_test.go | 620 + .../src/k8s.io/client-go/Godeps/Godeps.json | 140 +- .../staging/src/k8s.io/client-go/OWNERS | 44 + .../_vendor/cloud.google.com/go/LICENSE | 202 - .../go/compute/metadata/metadata.go | 438 - .../cloud.google.com/go/internal/cloud.go | 64 - .../github.com/PuerkitoBio/purell/.gitignore | 5 - .../github.com/PuerkitoBio/purell/LICENSE | 12 - .../github.com/PuerkitoBio/purell/README.md | 185 - .../github.com/PuerkitoBio/purell/purell.go | 375 - .../github.com/PuerkitoBio/urlesc/LICENSE | 27 - .../github.com/PuerkitoBio/urlesc/README.md | 16 - .../github.com/PuerkitoBio/urlesc/urlesc.go | 180 - .../_vendor/github.com/coreos/go-oidc/LICENSE | 202 - .../_vendor/github.com/coreos/go-oidc/NOTICE | 5 - .../github.com/coreos/go-oidc/http/client.go | 7 - .../github.com/coreos/go-oidc/http/http.go | 156 - .../github.com/coreos/go-oidc/http/url.go | 29 - .../github.com/coreos/go-oidc/jose/claims.go | 126 - .../github.com/coreos/go-oidc/jose/jose.go | 112 - .../github.com/coreos/go-oidc/jose/jwk.go | 135 - .../github.com/coreos/go-oidc/jose/jws.go | 51 - .../github.com/coreos/go-oidc/jose/jwt.go | 82 - .../github.com/coreos/go-oidc/jose/sig.go | 24 - .../coreos/go-oidc/jose/sig_hmac.go | 67 - .../github.com/coreos/go-oidc/jose/sig_rsa.go | 67 - .../github.com/coreos/go-oidc/key/key.go | 153 - .../github.com/coreos/go-oidc/key/manager.go | 99 - .../github.com/coreos/go-oidc/key/repo.go | 55 - .../github.com/coreos/go-oidc/key/rotate.go | 159 - .../github.com/coreos/go-oidc/key/sync.go | 91 - .../github.com/coreos/go-oidc/oauth2/error.go | 29 - .../coreos/go-oidc/oauth2/oauth2.go | 416 - .../github.com/coreos/go-oidc/oidc/client.go | 846 - .../coreos/go-oidc/oidc/identity.go | 44 - .../coreos/go-oidc/oidc/interface.go | 3 - .../github.com/coreos/go-oidc/oidc/key.go | 67 - .../coreos/go-oidc/oidc/provider.go | 690 - .../coreos/go-oidc/oidc/transport.go | 88 - .../github.com/coreos/go-oidc/oidc/util.go | 109 - .../coreos/go-oidc/oidc/verification.go | 190 - .../_vendor/github.com/coreos/pkg/LICENSE | 202 - .../_vendor/github.com/coreos/pkg/NOTICE | 5 - .../github.com/coreos/pkg/health/README.md | 11 - .../github.com/coreos/pkg/health/health.go | 127 - .../github.com/coreos/pkg/httputil/README.md | 13 - .../github.com/coreos/pkg/httputil/cookie.go | 21 - .../github.com/coreos/pkg/httputil/json.go | 27 - .../github.com/coreos/pkg/timeutil/backoff.go | 15 - .../github.com/davecgh/go-spew/LICENSE | 13 - .../github.com/davecgh/go-spew/spew/bypass.go | 151 - .../davecgh/go-spew/spew/bypasssafe.go | 37 - .../github.com/davecgh/go-spew/spew/common.go | 341 - .../github.com/davecgh/go-spew/spew/config.go | 297 - .../github.com/davecgh/go-spew/spew/doc.go | 202 - .../github.com/davecgh/go-spew/spew/dump.go | 509 - .../github.com/davecgh/go-spew/spew/format.go | 419 - .../github.com/davecgh/go-spew/spew/spew.go | 148 - .../github.com/docker/distribution/LICENSE | 202 - .../docker/distribution/digest/digest.go | 139 - .../docker/distribution/digest/digester.go | 155 - .../docker/distribution/digest/doc.go | 42 - .../docker/distribution/digest/set.go | 245 - .../docker/distribution/digest/verifiers.go | 44 - .../distribution/reference/reference.go | 334 - .../docker/distribution/reference/regexp.go | 124 - .../docker/spdystream/CONTRIBUTING.md | 13 - .../github.com/docker/spdystream/LICENSE | 191 - .../github.com/docker/spdystream/LICENSE.docs | 425 - .../github.com/docker/spdystream/MAINTAINERS | 28 - .../github.com/docker/spdystream/README.md | 77 - .../docker/spdystream/connection.go | 958 - .../github.com/docker/spdystream/handlers.go | 38 - .../github.com/docker/spdystream/priority.go | 98 - .../docker/spdystream/spdy/dictionary.go | 187 - .../github.com/docker/spdystream/spdy/read.go | 348 - .../docker/spdystream/spdy/types.go | 275 - .../docker/spdystream/spdy/write.go | 318 - .../github.com/docker/spdystream/stream.go | 327 - .../github.com/docker/spdystream/utils.go | 16 - .../github.com/emicklei/go-restful/.gitignore | 70 - .../github.com/emicklei/go-restful/CHANGES.md | 171 - .../github.com/emicklei/go-restful/LICENSE | 22 - .../github.com/emicklei/go-restful/README.md | 74 - .../github.com/emicklei/go-restful/Srcfile | 1 - .../emicklei/go-restful/compress.go | 123 - .../emicklei/go-restful/compressor_cache.go | 103 - .../emicklei/go-restful/compressor_pools.go | 91 - .../emicklei/go-restful/compressors.go | 53 - .../emicklei/go-restful/constants.go | 30 - .../emicklei/go-restful/container.go | 361 - .../emicklei/go-restful/cors_filter.go | 202 - .../github.com/emicklei/go-restful/curly.go | 164 - .../emicklei/go-restful/curly_route.go | 52 - .../github.com/emicklei/go-restful/doc.go | 185 - .../emicklei/go-restful/entity_accessors.go | 163 - .../github.com/emicklei/go-restful/filter.go | 35 - .../github.com/emicklei/go-restful/jsr311.go | 248 - .../github.com/emicklei/go-restful/log/log.go | 31 - .../github.com/emicklei/go-restful/logger.go | 32 - .../github.com/emicklei/go-restful/mime.go | 45 - .../emicklei/go-restful/options_filter.go | 26 - .../emicklei/go-restful/parameter.go | 114 - .../emicklei/go-restful/path_expression.go | 69 - .../github.com/emicklei/go-restful/request.go | 136 - .../emicklei/go-restful/response.go | 235 - .../github.com/emicklei/go-restful/route.go | 183 - .../emicklei/go-restful/route_builder.go | 240 - .../github.com/emicklei/go-restful/router.go | 18 - .../emicklei/go-restful/service_error.go | 23 - .../emicklei/go-restful/swagger/CHANGES.md | 43 - .../emicklei/go-restful/swagger/README.md | 76 - .../swagger/api_declaration_list.go | 64 - .../emicklei/go-restful/swagger/config.go | 46 - .../go-restful/swagger/model_builder.go | 467 - .../emicklei/go-restful/swagger/model_list.go | 86 - .../go-restful/swagger/model_property_ext.go | 81 - .../go-restful/swagger/model_property_list.go | 87 - .../go-restful/swagger/ordered_route_map.go | 36 - .../emicklei/go-restful/swagger/swagger.go | 185 - .../go-restful/swagger/swagger_builder.go | 21 - .../go-restful/swagger/swagger_webservice.go | 440 - .../emicklei/go-restful/web_service.go | 268 - .../go-restful/web_service_container.go | 39 - .../_vendor/github.com/ghodss/yaml/.gitignore | 20 - .../_vendor/github.com/ghodss/yaml/LICENSE | 50 - .../_vendor/github.com/ghodss/yaml/README.md | 116 - .../_vendor/github.com/ghodss/yaml/fields.go | 497 - .../_vendor/github.com/ghodss/yaml/yaml.go | 277 - .../go-openapi/jsonpointer/.drone.sec | 1 - .../go-openapi/jsonpointer/.gitignore | 1 - .../go-openapi/jsonpointer/CODE_OF_CONDUCT.md | 74 - .../github.com/go-openapi/jsonpointer/LICENSE | 202 - .../go-openapi/jsonpointer/README.md | 15 - .../go-openapi/jsonpointer/pointer.go | 238 - .../go-openapi/jsonreference/.drone.sec | 1 - .../go-openapi/jsonreference/.gitignore | 1 - .../jsonreference/CODE_OF_CONDUCT.md | 74 - .../go-openapi/jsonreference/LICENSE | 202 - .../go-openapi/jsonreference/README.md | 15 - .../go-openapi/jsonreference/reference.go | 156 - .../github.com/go-openapi/spec/.drone.sec | 1 - .../github.com/go-openapi/spec/.gitignore | 2 - .../go-openapi/spec/CODE_OF_CONDUCT.md | 74 - .../github.com/go-openapi/spec/LICENSE | 202 - .../github.com/go-openapi/spec/README.md | 5 - .../github.com/go-openapi/spec/bindata.go | 274 - .../go-openapi/spec/contact_info.go | 24 - .../github.com/go-openapi/spec/expander.go | 626 - .../go-openapi/spec/external_docs.go | 24 - .../github.com/go-openapi/spec/header.go | 165 - .../github.com/go-openapi/spec/info.go | 168 - .../github.com/go-openapi/spec/items.go | 199 - .../github.com/go-openapi/spec/license.go | 23 - .../github.com/go-openapi/spec/operation.go | 233 - .../github.com/go-openapi/spec/parameter.go | 299 - .../github.com/go-openapi/spec/path_item.go | 90 - .../github.com/go-openapi/spec/paths.go | 97 - .../_vendor/github.com/go-openapi/spec/ref.go | 167 - .../github.com/go-openapi/spec/response.go | 113 - .../github.com/go-openapi/spec/responses.go | 122 - .../github.com/go-openapi/spec/schema.go | 628 - .../go-openapi/spec/security_scheme.go | 142 - .../github.com/go-openapi/spec/spec.go | 79 - .../github.com/go-openapi/spec/swagger.go | 317 - .../_vendor/github.com/go-openapi/spec/tag.go | 73 - .../github.com/go-openapi/spec/xml_object.go | 68 - .../github.com/go-openapi/swag/.drone.sec | 1 - .../github.com/go-openapi/swag/.gitignore | 1 - .../go-openapi/swag/CODE_OF_CONDUCT.md | 74 - .../github.com/go-openapi/swag/LICENSE | 202 - .../github.com/go-openapi/swag/README.md | 12 - .../github.com/go-openapi/swag/convert.go | 188 - .../go-openapi/swag/convert_types.go | 595 - .../github.com/go-openapi/swag/json.go | 270 - .../github.com/go-openapi/swag/loading.go | 49 - .../_vendor/github.com/go-openapi/swag/net.go | 24 - .../github.com/go-openapi/swag/path.go | 56 - .../github.com/go-openapi/swag/util.go | 318 - .../_vendor/github.com/gogo/protobuf/LICENSE | 36 - .../github.com/gogo/protobuf/proto/Makefile | 43 - .../github.com/gogo/protobuf/proto/clone.go | 228 - .../github.com/gogo/protobuf/proto/decode.go | 873 - .../gogo/protobuf/proto/decode_gogo.go | 169 - .../github.com/gogo/protobuf/proto/encode.go | 1331 - .../gogo/protobuf/proto/encode_gogo.go | 354 - .../github.com/gogo/protobuf/proto/equal.go | 276 - .../gogo/protobuf/proto/extensions.go | 518 - .../gogo/protobuf/proto/extensions_gogo.go | 236 - .../github.com/gogo/protobuf/proto/lib.go | 894 - .../gogo/protobuf/proto/lib_gogo.go | 40 - .../gogo/protobuf/proto/message_set.go | 280 - .../gogo/protobuf/proto/pointer_reflect.go | 479 - .../gogo/protobuf/proto/pointer_unsafe.go | 266 - .../protobuf/proto/pointer_unsafe_gogo.go | 108 - .../gogo/protobuf/proto/properties.go | 923 - .../gogo/protobuf/proto/properties_gogo.go | 64 - .../gogo/protobuf/proto/skip_gogo.go | 117 - .../github.com/gogo/protobuf/proto/text.go | 805 - .../gogo/protobuf/proto/text_gogo.go | 55 - .../gogo/protobuf/proto/text_parser.go | 849 - .../gogo/protobuf/sortkeys/sortkeys.go | 99 - .../_vendor/github.com/golang/glog/LICENSE | 191 - .../_vendor/github.com/golang/glog/README | 44 - .../_vendor/github.com/golang/glog/glog.go | 1177 - .../github.com/golang/glog/glog_file.go | 124 - .../github.com/golang/groupcache/LICENSE | 191 - .../github.com/golang/groupcache/lru/lru.go | 121 - .../github.com/golang/protobuf/LICENSE | 31 - .../github.com/golang/protobuf/proto/Makefile | 43 - .../github.com/golang/protobuf/proto/clone.go | 229 - .../golang/protobuf/proto/decode.go | 869 - .../golang/protobuf/proto/encode.go | 1363 - .../github.com/golang/protobuf/proto/equal.go | 296 - .../golang/protobuf/proto/extensions.go | 555 - .../github.com/golang/protobuf/proto/lib.go | 898 - .../golang/protobuf/proto/message_set.go | 311 - .../golang/protobuf/proto/pointer_reflect.go | 484 - .../golang/protobuf/proto/pointer_unsafe.go | 270 - .../golang/protobuf/proto/properties.go | 864 - .../github.com/golang/protobuf/proto/text.go | 854 - .../golang/protobuf/proto/text_parser.go | 880 - .../github.com/google/gofuzz/CONTRIBUTING.md | 67 - .../_vendor/github.com/google/gofuzz/LICENSE | 202 - .../github.com/google/gofuzz/README.md | 71 - .../_vendor/github.com/google/gofuzz/doc.go | 18 - .../_vendor/github.com/google/gofuzz/fuzz.go | 453 - .../github.com/howeyc/gopass/LICENSE.txt | 15 - .../howeyc/gopass/OPENSOLARIS.LICENSE | 384 - .../github.com/howeyc/gopass/README.md | 27 - .../_vendor/github.com/howeyc/gopass/pass.go | 91 - .../github.com/howeyc/gopass/terminal.go | 25 - .../howeyc/gopass/terminal_solaris.go | 69 - .../_vendor/github.com/imdario/mergo/LICENSE | 28 - .../github.com/imdario/mergo/README.md | 68 - .../_vendor/github.com/imdario/mergo/doc.go | 44 - .../_vendor/github.com/imdario/mergo/map.go | 146 - .../_vendor/github.com/imdario/mergo/merge.go | 99 - .../_vendor/github.com/imdario/mergo/mergo.go | 90 - .../github.com/jonboulle/clockwork/.gitignore | 25 - .../github.com/jonboulle/clockwork/LICENSE | 201 - .../github.com/jonboulle/clockwork/README.md | 58 - .../jonboulle/clockwork/clockwork.go | 161 - .../_vendor/github.com/juju/ratelimit/LICENSE | 191 - .../github.com/juju/ratelimit/README.md | 117 - .../github.com/juju/ratelimit/ratelimit.go | 245 - .../github.com/juju/ratelimit/reader.go | 51 - .../github.com/mailru/easyjson/LICENSE | 7 - .../github.com/mailru/easyjson/buffer/pool.go | 207 - .../mailru/easyjson/jlexer/error.go | 15 - .../mailru/easyjson/jlexer/lexer.go | 956 - .../mailru/easyjson/jwriter/writer.go | 273 - .../github.com/pmezard/go-difflib/LICENSE | 27 - .../pmezard/go-difflib/difflib/difflib.go | 758 - .../_vendor/github.com/spf13/pflag/LICENSE | 28 - .../_vendor/github.com/spf13/pflag/README.md | 275 - .../_vendor/github.com/spf13/pflag/bool.go | 94 - .../_vendor/github.com/spf13/pflag/count.go | 94 - .../github.com/spf13/pflag/duration.go | 86 - .../_vendor/github.com/spf13/pflag/flag.go | 947 - .../_vendor/github.com/spf13/pflag/float32.go | 88 - .../_vendor/github.com/spf13/pflag/float64.go | 84 - .../github.com/spf13/pflag/golangflag.go | 104 - .../_vendor/github.com/spf13/pflag/int.go | 84 - .../_vendor/github.com/spf13/pflag/int32.go | 88 - .../_vendor/github.com/spf13/pflag/int64.go | 84 - .../_vendor/github.com/spf13/pflag/int8.go | 88 - .../github.com/spf13/pflag/int_slice.go | 128 - .../_vendor/github.com/spf13/pflag/ip.go | 96 - .../_vendor/github.com/spf13/pflag/ipmask.go | 122 - .../_vendor/github.com/spf13/pflag/ipnet.go | 100 - .../_vendor/github.com/spf13/pflag/string.go | 80 - .../github.com/spf13/pflag/string_array.go | 109 - .../github.com/spf13/pflag/string_slice.go | 132 - .../_vendor/github.com/spf13/pflag/uint.go | 88 - .../_vendor/github.com/spf13/pflag/uint16.go | 88 - .../_vendor/github.com/spf13/pflag/uint32.go | 88 - .../_vendor/github.com/spf13/pflag/uint64.go | 88 - .../_vendor/github.com/spf13/pflag/uint8.go | 88 - .../github.com/stretchr/testify/LICENCE.txt | 22 - .../github.com/stretchr/testify/LICENSE | 22 - .../stretchr/testify/assert/assertions.go | 979 - .../github.com/stretchr/testify/assert/doc.go | 45 - .../stretchr/testify/assert/errors.go | 10 - .../testify/assert/forward_assertions.go | 284 - .../testify/assert/http_assertions.go | 157 - .../_vendor/github.com/ugorji/go/LICENSE | 22 - .../github.com/ugorji/go/codec/0doc.go | 199 - .../github.com/ugorji/go/codec/README.md | 148 - .../github.com/ugorji/go/codec/binc.go | 929 - .../github.com/ugorji/go/codec/cbor.go | 592 - .../github.com/ugorji/go/codec/decode.go | 2053 - .../github.com/ugorji/go/codec/decode_go.go | 16 - .../github.com/ugorji/go/codec/decode_go14.go | 14 - .../github.com/ugorji/go/codec/encode.go | 1461 - .../ugorji/go/codec/fast-path.generated.go | 39352 ---------------- .../ugorji/go/codec/fast-path.go.tmpl | 527 - .../ugorji/go/codec/fast-path.not.go | 34 - .../ugorji/go/codec/gen-dec-array.go.tmpl | 104 - .../ugorji/go/codec/gen-dec-map.go.tmpl | 58 - .../ugorji/go/codec/gen-helper.generated.go | 243 - .../ugorji/go/codec/gen-helper.go.tmpl | 372 - .../ugorji/go/codec/gen.generated.go | 174 - .../_vendor/github.com/ugorji/go/codec/gen.go | 2014 - .../github.com/ugorji/go/codec/gen_15.go | 12 - .../github.com/ugorji/go/codec/gen_16.go | 12 - .../github.com/ugorji/go/codec/gen_17.go | 10 - .../github.com/ugorji/go/codec/helper.go | 1314 - .../ugorji/go/codec/helper_internal.go | 242 - .../ugorji/go/codec/helper_not_unsafe.go | 20 - .../ugorji/go/codec/helper_unsafe.go | 49 - .../github.com/ugorji/go/codec/json.go | 1234 - .../github.com/ugorji/go/codec/msgpack.go | 852 - .../github.com/ugorji/go/codec/noop.go | 213 - .../github.com/ugorji/go/codec/prebuild.go | 3 - .../_vendor/github.com/ugorji/go/codec/rpc.go | 180 - .../github.com/ugorji/go/codec/simple.go | 526 - .../github.com/ugorji/go/codec/test.py | 126 - .../github.com/ugorji/go/codec/time.go | 233 - .../_vendor/golang.org/x/crypto/LICENSE | 27 - .../_vendor/golang.org/x/crypto/PATENTS | 22 - .../x/crypto/ssh/terminal/terminal.go | 892 - .../golang.org/x/crypto/ssh/terminal/util.go | 133 - .../x/crypto/ssh/terminal/util_bsd.go | 12 - .../x/crypto/ssh/terminal/util_linux.go | 11 - .../x/crypto/ssh/terminal/util_plan9.go | 58 - .../x/crypto/ssh/terminal/util_solaris.go | 73 - .../x/crypto/ssh/terminal/util_windows.go | 174 - .../_vendor/golang.org/x/net/LICENSE | 27 - .../_vendor/golang.org/x/net/PATENTS | 22 - .../golang.org/x/net/context/context.go | 156 - .../x/net/context/ctxhttp/ctxhttp.go | 64 - .../x/net/context/ctxhttp/ctxhttp_pre17.go | 147 - .../_vendor/golang.org/x/net/context/go17.go | 72 - .../golang.org/x/net/context/pre_go17.go | 300 - .../_vendor/golang.org/x/net/http2/.gitignore | 2 - .../_vendor/golang.org/x/net/http2/Dockerfile | 51 - .../_vendor/golang.org/x/net/http2/Makefile | 3 - .../_vendor/golang.org/x/net/http2/README | 20 - .../x/net/http2/client_conn_pool.go | 255 - .../x/net/http2/configure_transport.go | 80 - .../_vendor/golang.org/x/net/http2/errors.go | 122 - .../golang.org/x/net/http2/fixed_buffer.go | 60 - .../_vendor/golang.org/x/net/http2/flow.go | 50 - .../_vendor/golang.org/x/net/http2/frame.go | 1507 - .../_vendor/golang.org/x/net/http2/go16.go | 43 - .../_vendor/golang.org/x/net/http2/go17.go | 94 - .../_vendor/golang.org/x/net/http2/gotrack.go | 170 - .../golang.org/x/net/http2/headermap.go | 78 - .../golang.org/x/net/http2/hpack/encode.go | 251 - .../golang.org/x/net/http2/hpack/hpack.go | 542 - .../golang.org/x/net/http2/hpack/huffman.go | 212 - .../golang.org/x/net/http2/hpack/tables.go | 352 - .../_vendor/golang.org/x/net/http2/http2.go | 351 - .../golang.org/x/net/http2/not_go16.go | 46 - .../golang.org/x/net/http2/not_go17.go | 51 - .../_vendor/golang.org/x/net/http2/pipe.go | 153 - .../_vendor/golang.org/x/net/http2/server.go | 2263 - .../golang.org/x/net/http2/transport.go | 1868 - .../_vendor/golang.org/x/net/http2/write.go | 264 - .../golang.org/x/net/http2/writesched.go | 283 - .../_vendor/golang.org/x/net/idna/idna.go | 68 - .../_vendor/golang.org/x/net/idna/punycode.go | 200 - .../golang.org/x/net/lex/httplex/httplex.go | 312 - .../_vendor/golang.org/x/oauth2/AUTHORS | 3 - .../golang.org/x/oauth2/CONTRIBUTING.md | 31 - .../_vendor/golang.org/x/oauth2/CONTRIBUTORS | 3 - .../_vendor/golang.org/x/oauth2/LICENSE | 27 - .../_vendor/golang.org/x/oauth2/README.md | 65 - .../golang.org/x/oauth2/client_appengine.go | 25 - .../golang.org/x/oauth2/google/appengine.go | 86 - .../x/oauth2/google/appengine_hook.go | 13 - .../x/oauth2/google/appenginevm_hook.go | 14 - .../golang.org/x/oauth2/google/default.go | 155 - .../golang.org/x/oauth2/google/google.go | 153 - .../_vendor/golang.org/x/oauth2/google/jwt.go | 74 - .../_vendor/golang.org/x/oauth2/google/sdk.go | 168 - .../golang.org/x/oauth2/internal/oauth2.go | 76 - .../golang.org/x/oauth2/internal/token.go | 225 - .../golang.org/x/oauth2/internal/transport.go | 69 - .../_vendor/golang.org/x/oauth2/jws/jws.go | 182 - .../_vendor/golang.org/x/oauth2/jwt/jwt.go | 157 - .../_vendor/golang.org/x/oauth2/oauth2.go | 341 - .../_vendor/golang.org/x/oauth2/token.go | 158 - .../_vendor/golang.org/x/oauth2/transport.go | 132 - .../_vendor/golang.org/x/sys/LICENSE | 27 - .../_vendor/golang.org/x/sys/PATENTS | 22 - .../_vendor/golang.org/x/sys/unix/.gitignore | 1 - .../_vendor/golang.org/x/sys/unix/asm.s | 10 - .../golang.org/x/sys/unix/asm_darwin_386.s | 29 - .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 - .../golang.org/x/sys/unix/asm_darwin_arm.s | 30 - .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 - .../x/sys/unix/asm_dragonfly_amd64.s | 29 - .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 - .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 - .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 - .../golang.org/x/sys/unix/asm_linux_386.s | 35 - .../golang.org/x/sys/unix/asm_linux_amd64.s | 29 - .../golang.org/x/sys/unix/asm_linux_arm.s | 29 - .../golang.org/x/sys/unix/asm_linux_arm64.s | 24 - .../golang.org/x/sys/unix/asm_linux_mips64x.s | 28 - .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 28 - .../golang.org/x/sys/unix/asm_linux_s390x.s | 28 - .../golang.org/x/sys/unix/asm_netbsd_386.s | 29 - .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 - .../golang.org/x/sys/unix/asm_netbsd_arm.s | 29 - .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 - .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 - .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 - .../golang.org/x/sys/unix/bluetooth_linux.go | 35 - .../golang.org/x/sys/unix/constants.go | 13 - .../_vendor/golang.org/x/sys/unix/env_unix.go | 27 - .../golang.org/x/sys/unix/env_unset.go | 14 - .../_vendor/golang.org/x/sys/unix/flock.go | 24 - .../x/sys/unix/flock_linux_32bit.go | 13 - .../_vendor/golang.org/x/sys/unix/gccgo.go | 46 - .../_vendor/golang.org/x/sys/unix/gccgo_c.c | 41 - .../x/sys/unix/gccgo_linux_amd64.go | 20 - .../_vendor/golang.org/x/sys/unix/mkpost.go | 62 - .../golang.org/x/sys/unix/mksyscall.pl | 323 - .../x/sys/unix/mksyscall_solaris.pl | 294 - .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 264 - .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 - .../x/sys/unix/mksysnum_dragonfly.pl | 50 - .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 63 - .../golang.org/x/sys/unix/mksysnum_linux.pl | 58 - .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 - .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 - .../_vendor/golang.org/x/sys/unix/race.go | 30 - .../_vendor/golang.org/x/sys/unix/race0.go | 25 - .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 - .../golang.org/x/sys/unix/sockcmsg_unix.go | 103 - .../_vendor/golang.org/x/sys/unix/str.go | 26 - .../_vendor/golang.org/x/sys/unix/syscall.go | 76 - .../golang.org/x/sys/unix/syscall_bsd.go | 628 - .../golang.org/x/sys/unix/syscall_darwin.go | 511 - .../x/sys/unix/syscall_darwin_386.go | 77 - .../x/sys/unix/syscall_darwin_amd64.go | 79 - .../x/sys/unix/syscall_darwin_arm.go | 71 - .../x/sys/unix/syscall_darwin_arm64.go | 77 - .../x/sys/unix/syscall_dragonfly.go | 412 - .../x/sys/unix/syscall_dragonfly_amd64.go | 61 - .../golang.org/x/sys/unix/syscall_freebsd.go | 683 - .../x/sys/unix/syscall_freebsd_386.go | 61 - .../x/sys/unix/syscall_freebsd_amd64.go | 61 - .../x/sys/unix/syscall_freebsd_arm.go | 61 - .../golang.org/x/sys/unix/syscall_linux.go | 1115 - .../x/sys/unix/syscall_linux_386.go | 399 - .../x/sys/unix/syscall_linux_amd64.go | 157 - .../x/sys/unix/syscall_linux_arm.go | 263 - .../x/sys/unix/syscall_linux_arm64.go | 192 - .../x/sys/unix/syscall_linux_mips64x.go | 215 - .../x/sys/unix/syscall_linux_ppc64x.go | 135 - .../x/sys/unix/syscall_linux_s390x.go | 329 - .../golang.org/x/sys/unix/syscall_netbsd.go | 492 - .../x/sys/unix/syscall_netbsd_386.go | 42 - .../x/sys/unix/syscall_netbsd_amd64.go | 42 - .../x/sys/unix/syscall_netbsd_arm.go | 42 - .../golang.org/x/sys/unix/syscall_no_getwd.go | 11 - .../golang.org/x/sys/unix/syscall_openbsd.go | 304 - .../x/sys/unix/syscall_openbsd_386.go | 42 - .../x/sys/unix/syscall_openbsd_amd64.go | 42 - .../golang.org/x/sys/unix/syscall_solaris.go | 725 - .../x/sys/unix/syscall_solaris_amd64.go | 35 - .../golang.org/x/sys/unix/syscall_unix.go | 297 - .../golang.org/x/sys/unix/types_darwin.go | 250 - .../golang.org/x/sys/unix/types_dragonfly.go | 242 - .../golang.org/x/sys/unix/types_freebsd.go | 353 - .../golang.org/x/sys/unix/types_linux.go | 450 - .../golang.org/x/sys/unix/types_netbsd.go | 232 - .../golang.org/x/sys/unix/types_openbsd.go | 244 - .../golang.org/x/sys/unix/types_solaris.go | 262 - .../x/sys/unix/zerrors_darwin_386.go | 1576 - .../x/sys/unix/zerrors_darwin_amd64.go | 1576 - .../x/sys/unix/zerrors_darwin_arm.go | 1293 - .../x/sys/unix/zerrors_darwin_arm64.go | 1576 - .../x/sys/unix/zerrors_dragonfly_amd64.go | 1530 - .../x/sys/unix/zerrors_freebsd_386.go | 1743 - .../x/sys/unix/zerrors_freebsd_amd64.go | 1748 - .../x/sys/unix/zerrors_freebsd_arm.go | 1729 - .../x/sys/unix/zerrors_linux_386.go | 1819 - .../x/sys/unix/zerrors_linux_amd64.go | 1820 - .../x/sys/unix/zerrors_linux_arm.go | 1743 - .../x/sys/unix/zerrors_linux_arm64.go | 1897 - .../x/sys/unix/zerrors_linux_mips64.go | 1917 - .../x/sys/unix/zerrors_linux_mips64le.go | 1917 - .../x/sys/unix/zerrors_linux_ppc64.go | 1970 - .../x/sys/unix/zerrors_linux_ppc64le.go | 1969 - .../x/sys/unix/zerrors_linux_s390x.go | 2027 - .../x/sys/unix/zerrors_netbsd_386.go | 1712 - .../x/sys/unix/zerrors_netbsd_amd64.go | 1702 - .../x/sys/unix/zerrors_netbsd_arm.go | 1688 - .../x/sys/unix/zerrors_openbsd_386.go | 1584 - .../x/sys/unix/zerrors_openbsd_amd64.go | 1583 - .../x/sys/unix/zerrors_solaris_amd64.go | 1436 - .../x/sys/unix/zsyscall_darwin_386.go | 1427 - .../x/sys/unix/zsyscall_darwin_amd64.go | 1443 - .../x/sys/unix/zsyscall_darwin_arm.go | 1427 - .../x/sys/unix/zsyscall_darwin_arm64.go | 1427 - .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1413 - .../x/sys/unix/zsyscall_freebsd_386.go | 1665 - .../x/sys/unix/zsyscall_freebsd_amd64.go | 1665 - .../x/sys/unix/zsyscall_freebsd_arm.go | 1665 - .../x/sys/unix/zsyscall_linux_386.go | 1660 - .../x/sys/unix/zsyscall_linux_amd64.go | 1854 - .../x/sys/unix/zsyscall_linux_arm.go | 1761 - .../x/sys/unix/zsyscall_linux_arm64.go | 1734 - .../x/sys/unix/zsyscall_linux_mips64.go | 1803 - .../x/sys/unix/zsyscall_linux_mips64le.go | 1803 - .../x/sys/unix/zsyscall_linux_ppc64.go | 1865 - .../x/sys/unix/zsyscall_linux_ppc64le.go | 1865 - .../x/sys/unix/zsyscall_linux_s390x.go | 1645 - .../x/sys/unix/zsyscall_netbsd_386.go | 1327 - .../x/sys/unix/zsyscall_netbsd_amd64.go | 1327 - .../x/sys/unix/zsyscall_netbsd_arm.go | 1327 - .../x/sys/unix/zsyscall_openbsd_386.go | 1387 - .../x/sys/unix/zsyscall_openbsd_amd64.go | 1387 - .../x/sys/unix/zsyscall_solaris_amd64.go | 1599 - .../golang.org/x/sys/unix/zsysctl_openbsd.go | 270 - .../x/sys/unix/zsysnum_darwin_386.go | 398 - .../x/sys/unix/zsysnum_darwin_amd64.go | 398 - .../x/sys/unix/zsysnum_darwin_arm.go | 358 - .../x/sys/unix/zsysnum_darwin_arm64.go | 398 - .../x/sys/unix/zsysnum_dragonfly_amd64.go | 304 - .../x/sys/unix/zsysnum_freebsd_386.go | 351 - .../x/sys/unix/zsysnum_freebsd_amd64.go | 351 - .../x/sys/unix/zsysnum_freebsd_arm.go | 351 - .../x/sys/unix/zsysnum_linux_386.go | 355 - .../x/sys/unix/zsysnum_linux_amd64.go | 321 - .../x/sys/unix/zsysnum_linux_arm.go | 356 - .../x/sys/unix/zsysnum_linux_arm64.go | 272 - .../x/sys/unix/zsysnum_linux_mips64.go | 327 - .../x/sys/unix/zsysnum_linux_mips64le.go | 327 - .../x/sys/unix/zsysnum_linux_ppc64.go | 360 - .../x/sys/unix/zsysnum_linux_ppc64le.go | 353 - .../x/sys/unix/zsysnum_linux_s390x.go | 328 - .../x/sys/unix/zsysnum_netbsd_386.go | 273 - .../x/sys/unix/zsysnum_netbsd_amd64.go | 273 - .../x/sys/unix/zsysnum_netbsd_arm.go | 273 - .../x/sys/unix/zsysnum_openbsd_386.go | 207 - .../x/sys/unix/zsysnum_openbsd_amd64.go | 207 - .../x/sys/unix/zsysnum_solaris_amd64.go | 13 - .../x/sys/unix/ztypes_darwin_386.go | 447 - .../x/sys/unix/ztypes_darwin_amd64.go | 462 - .../x/sys/unix/ztypes_darwin_arm.go | 449 - .../x/sys/unix/ztypes_darwin_arm64.go | 457 - .../x/sys/unix/ztypes_dragonfly_amd64.go | 443 - .../x/sys/unix/ztypes_freebsd_386.go | 502 - .../x/sys/unix/ztypes_freebsd_amd64.go | 505 - .../x/sys/unix/ztypes_freebsd_arm.go | 497 - .../golang.org/x/sys/unix/ztypes_linux_386.go | 627 - .../x/sys/unix/ztypes_linux_amd64.go | 645 - .../golang.org/x/sys/unix/ztypes_linux_arm.go | 607 - .../x/sys/unix/ztypes_linux_arm64.go | 624 - .../x/sys/unix/ztypes_linux_mips64.go | 627 - .../x/sys/unix/ztypes_linux_mips64le.go | 627 - .../x/sys/unix/ztypes_linux_ppc64.go | 634 - .../x/sys/unix/ztypes_linux_ppc64le.go | 634 - .../x/sys/unix/ztypes_linux_s390x.go | 649 - .../x/sys/unix/ztypes_netbsd_386.go | 396 - .../x/sys/unix/ztypes_netbsd_amd64.go | 403 - .../x/sys/unix/ztypes_netbsd_arm.go | 401 - .../x/sys/unix/ztypes_openbsd_386.go | 441 - .../x/sys/unix/ztypes_openbsd_amd64.go | 448 - .../x/sys/unix/ztypes_solaris_amd64.go | 423 - .../_vendor/golang.org/x/text/LICENSE | 27 - .../_vendor/golang.org/x/text/PATENTS | 22 - .../_vendor/golang.org/x/text/cases/cases.go | 129 - .../golang.org/x/text/cases/context.go | 281 - .../_vendor/golang.org/x/text/cases/fold.go | 26 - .../_vendor/golang.org/x/text/cases/gen.go | 831 - .../golang.org/x/text/cases/gen_trieval.go | 217 - .../_vendor/golang.org/x/text/cases/info.go | 83 - .../_vendor/golang.org/x/text/cases/map.go | 599 - .../_vendor/golang.org/x/text/cases/tables.go | 2213 - .../golang.org/x/text/cases/trieval.go | 213 - .../golang.org/x/text/internal/tag/tag.go | 100 - .../golang.org/x/text/language/Makefile | 16 - .../golang.org/x/text/language/common.go | 16 - .../golang.org/x/text/language/coverage.go | 197 - .../golang.org/x/text/language/gen_common.go | 20 - .../golang.org/x/text/language/gen_index.go | 162 - .../golang.org/x/text/language/go1_1.go | 38 - .../golang.org/x/text/language/go1_2.go | 11 - .../golang.org/x/text/language/index.go | 762 - .../golang.org/x/text/language/language.go | 975 - .../golang.org/x/text/language/lookup.go | 396 - .../golang.org/x/text/language/maketables.go | 1635 - .../golang.org/x/text/language/match.go | 840 - .../golang.org/x/text/language/parse.go | 859 - .../golang.org/x/text/language/tables.go | 2791 -- .../golang.org/x/text/language/tags.go | 143 - .../_vendor/golang.org/x/text/runes/cond.go | 126 - .../_vendor/golang.org/x/text/runes/runes.go | 278 - .../x/text/secure/bidirule/bidirule.go | 290 - .../golang.org/x/text/secure/precis/class.go | 36 - .../x/text/secure/precis/context.go | 139 - .../golang.org/x/text/secure/precis/doc.go | 14 - .../golang.org/x/text/secure/precis/gen.go | 310 - .../x/text/secure/precis/gen_trieval.go | 68 - .../x/text/secure/precis/nickname.go | 70 - .../x/text/secure/precis/options.go | 106 - .../x/text/secure/precis/profile.go | 330 - .../x/text/secure/precis/profiles.go | 56 - .../golang.org/x/text/secure/precis/tables.go | 3788 -- .../x/text/secure/precis/transformer.go | 32 - .../x/text/secure/precis/trieval.go | 64 - .../golang.org/x/text/transform/transform.go | 661 - .../golang.org/x/text/unicode/bidi/bidi.go | 198 - .../golang.org/x/text/unicode/bidi/bracket.go | 307 - .../golang.org/x/text/unicode/bidi/core.go | 1055 - .../golang.org/x/text/unicode/bidi/gen.go | 133 - .../x/text/unicode/bidi/gen_ranges.go | 57 - .../x/text/unicode/bidi/gen_trieval.go | 64 - .../golang.org/x/text/unicode/bidi/prop.go | 206 - .../golang.org/x/text/unicode/bidi/tables.go | 1779 - .../golang.org/x/text/unicode/bidi/trieval.go | 60 - .../x/text/unicode/norm/composition.go | 514 - .../x/text/unicode/norm/forminfo.go | 256 - .../golang.org/x/text/unicode/norm/input.go | 105 - .../golang.org/x/text/unicode/norm/iter.go | 450 - .../x/text/unicode/norm/maketables.go | 978 - .../x/text/unicode/norm/normalize.go | 576 - .../x/text/unicode/norm/readwriter.go | 126 - .../golang.org/x/text/unicode/norm/tables.go | 7627 --- .../x/text/unicode/norm/transform.go | 88 - .../golang.org/x/text/unicode/norm/trie.go | 54 - .../golang.org/x/text/unicode/norm/triegen.go | 117 - .../_vendor/golang.org/x/text/width/gen.go | 115 - .../golang.org/x/text/width/gen_common.go | 96 - .../golang.org/x/text/width/gen_trieval.go | 34 - .../golang.org/x/text/width/kind_string.go | 16 - .../_vendor/golang.org/x/text/width/tables.go | 1284 - .../golang.org/x/text/width/transform.go | 162 - .../golang.org/x/text/width/trieval.go | 30 - .../_vendor/golang.org/x/text/width/width.go | 201 - .../google.golang.org/appengine/LICENSE | 202 - .../google.golang.org/appengine/README.md | 71 - .../google.golang.org/appengine/appengine.go | 112 - .../appengine/appengine_vm.go | 20 - .../google.golang.org/appengine/errors.go | 46 - .../google.golang.org/appengine/identity.go | 142 - .../appengine/internal/api.go | 646 - .../appengine/internal/api_classic.go | 159 - .../appengine/internal/api_common.go | 86 - .../appengine/internal/app_id.go | 28 - .../app_identity/app_identity_service.pb.go | 296 - .../app_identity/app_identity_service.proto | 64 - .../appengine/internal/base/api_base.pb.go | 133 - .../appengine/internal/base/api_base.proto | 33 - .../internal/datastore/datastore_v3.pb.go | 2778 -- .../internal/datastore/datastore_v3.proto | 541 - .../appengine/internal/identity.go | 14 - .../appengine/internal/identity_classic.go | 27 - .../appengine/internal/identity_vm.go | 97 - .../appengine/internal/internal.go | 110 - .../appengine/internal/log/log_service.pb.go | 899 - .../appengine/internal/log/log_service.proto | 150 - .../appengine/internal/main.go | 15 - .../appengine/internal/main_vm.go | 44 - .../appengine/internal/metadata.go | 61 - .../internal/modules/modules_service.pb.go | 375 - .../internal/modules/modules_service.proto | 80 - .../appengine/internal/net.go | 56 - .../internal/remote_api/remote_api.pb.go | 231 - .../internal/remote_api/remote_api.proto | 44 - .../appengine/internal/transaction.go | 107 - .../google.golang.org/appengine/namespace.go | 25 - .../google.golang.org/appengine/timeout.go | 20 - .../client-go/_vendor/gopkg.in/inf.v0/LICENSE | 28 - .../client-go/_vendor/gopkg.in/inf.v0/dec.go | 615 - .../_vendor/gopkg.in/inf.v0/rounder.go | 145 - .../_vendor/gopkg.in/yaml.v2/LICENSE | 188 - .../_vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 31 - .../_vendor/gopkg.in/yaml.v2/README.md | 131 - .../_vendor/gopkg.in/yaml.v2/apic.go | 742 - .../_vendor/gopkg.in/yaml.v2/decode.go | 683 - .../_vendor/gopkg.in/yaml.v2/emitterc.go | 1685 - .../_vendor/gopkg.in/yaml.v2/encode.go | 306 - .../_vendor/gopkg.in/yaml.v2/parserc.go | 1096 - .../_vendor/gopkg.in/yaml.v2/readerc.go | 391 - .../_vendor/gopkg.in/yaml.v2/resolve.go | 203 - .../_vendor/gopkg.in/yaml.v2/scannerc.go | 2710 -- .../_vendor/gopkg.in/yaml.v2/sorter.go | 104 - .../_vendor/gopkg.in/yaml.v2/writerc.go | 89 - .../_vendor/gopkg.in/yaml.v2/yaml.go | 346 - .../_vendor/gopkg.in/yaml.v2/yamlh.go | 716 - .../_vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 - .../_vendor/k8s.io/apimachinery/LICENSE | 202 - .../k8s.io/apimachinery/pkg/api/errors/OWNERS | 27 - .../k8s.io/apimachinery/pkg/api/errors/doc.go | 18 - .../apimachinery/pkg/api/errors/errors.go | 478 - .../k8s.io/apimachinery/pkg/api/meta/OWNERS | 26 - .../apimachinery/pkg/api/meta/default.go | 51 - .../k8s.io/apimachinery/pkg/api/meta/doc.go | 19 - .../apimachinery/pkg/api/meta/errors.go | 105 - .../pkg/api/meta/firsthit_restmapper.go | 97 - .../k8s.io/apimachinery/pkg/api/meta/help.go | 199 - .../apimachinery/pkg/api/meta/interfaces.go | 147 - .../k8s.io/apimachinery/pkg/api/meta/meta.go | 567 - .../pkg/api/meta/multirestmapper.go | 231 - .../apimachinery/pkg/api/meta/priority.go | 226 - .../apimachinery/pkg/api/meta/restmapper.go | 566 - .../apimachinery/pkg/api/meta/unstructured.go | 31 - .../pkg/apimachinery/announced/announced.go | 99 - .../apimachinery/announced/group_factory.go | 246 - .../apimachinery/pkg/apimachinery/doc.go | 20 - .../pkg/apimachinery/registered/registered.go | 376 - .../apimachinery/pkg/apimachinery/types.go | 87 - .../apimachinery/pkg/apis/meta/v1/OWNERS | 33 - .../apimachinery/pkg/apis/meta/v1/doc.go | 18 - .../apimachinery/pkg/apis/meta/v1/duration.go | 47 - .../pkg/apis/meta/v1/generated.pb.go | 6447 --- .../pkg/apis/meta/v1/generated.proto | 642 - .../pkg/apis/meta/v1/group_version.go | 148 - .../apimachinery/pkg/apis/meta/v1/helpers.go | 206 - .../apimachinery/pkg/apis/meta/v1/labels.go | 75 - .../apimachinery/pkg/apis/meta/v1/meta.go | 201 - .../apimachinery/pkg/apis/meta/v1/register.go | 64 - .../apimachinery/pkg/apis/meta/v1/time.go | 180 - .../pkg/apis/meta/v1/time_proto.go | 85 - .../apimachinery/pkg/apis/meta/v1/types.go | 718 - .../meta/v1/types_swagger_doc_generated.go | 267 - .../apis/meta/v1/unstructured/unstructured.go | 660 - .../apimachinery/pkg/apis/meta/v1/watch.go | 80 - .../pkg/apis/meta/v1/well_known_labels.go | 73 - .../pkg/apis/meta/v1/zz_generated.deepcopy.go | 503 - .../k8s.io/apimachinery/pkg/conversion/OWNERS | 5 - .../apimachinery/pkg/conversion/cloner.go | 249 - .../apimachinery/pkg/conversion/converter.go | 953 - .../apimachinery/pkg/conversion/deep_equal.go | 36 - .../k8s.io/apimachinery/pkg/conversion/doc.go | 24 - .../apimachinery/pkg/conversion/helper.go | 39 - .../pkg/conversion/queryparams/convert.go | 188 - .../pkg/conversion/queryparams/doc.go | 19 - .../k8s.io/apimachinery/pkg/fields/doc.go | 19 - .../k8s.io/apimachinery/pkg/fields/fields.go | 62 - .../apimachinery/pkg/fields/requirements.go | 30 - .../apimachinery/pkg/fields/selector.go | 278 - .../k8s.io/apimachinery/pkg/labels/doc.go | 19 - .../k8s.io/apimachinery/pkg/labels/labels.go | 181 - .../apimachinery/pkg/labels/selector.go | 836 - .../k8s.io/apimachinery/pkg/openapi/common.go | 143 - .../k8s.io/apimachinery/pkg/openapi/doc.go | 18 - .../k8s.io/apimachinery/pkg/runtime/OWNERS | 19 - .../k8s.io/apimachinery/pkg/runtime/codec.go | 314 - .../apimachinery/pkg/runtime/codec_check.go | 50 - .../apimachinery/pkg/runtime/conversion.go | 98 - .../k8s.io/apimachinery/pkg/runtime/doc.go | 45 - .../apimachinery/pkg/runtime/embedded.go | 136 - .../k8s.io/apimachinery/pkg/runtime/error.go | 102 - .../apimachinery/pkg/runtime/extension.go | 48 - .../apimachinery/pkg/runtime/generated.pb.go | 768 - .../apimachinery/pkg/runtime/generated.proto | 129 - .../k8s.io/apimachinery/pkg/runtime/helper.go | 212 - .../apimachinery/pkg/runtime/interfaces.go | 251 - .../apimachinery/pkg/runtime/register.go | 61 - .../pkg/runtime/schema/generated.pb.go | 60 - .../pkg/runtime/schema/generated.proto | 29 - .../pkg/runtime/schema/group_version.go | 277 - .../pkg/runtime/schema/interfaces.go | 40 - .../k8s.io/apimachinery/pkg/runtime/scheme.go | 600 - .../pkg/runtime/scheme_builder.go | 48 - .../pkg/runtime/serializer/codec_factory.go | 237 - .../pkg/runtime/serializer/json/json.go | 245 - .../pkg/runtime/serializer/json/meta.go | 63 - .../runtime/serializer/negotiated_codec.go | 43 - .../pkg/runtime/serializer/protobuf/doc.go | 18 - .../runtime/serializer/protobuf/protobuf.go | 448 - .../runtime/serializer/protobuf_extension.go | 48 - .../serializer/recognizer/recognizer.go | 127 - .../runtime/serializer/streaming/streaming.go | 137 - .../serializer/versioning/versioning.go | 273 - .../pkg/runtime/swagger_doc_generator.go | 262 - .../k8s.io/apimachinery/pkg/runtime/types.go | 127 - .../apimachinery/pkg/runtime/types_proto.go | 69 - .../pkg/runtime/zz_generated.deepcopy.go | 80 - .../apimachinery/pkg/selection/operator.go | 33 - .../k8s.io/apimachinery/pkg/types/doc.go | 18 - .../apimachinery/pkg/types/namespacedname.go | 60 - .../k8s.io/apimachinery/pkg/types/nodename.go | 43 - .../k8s.io/apimachinery/pkg/types/patch.go | 28 - .../k8s.io/apimachinery/pkg/types/uid.go | 22 - .../apimachinery/pkg/types/unix_user_id.go | 23 - .../k8s.io/apimachinery/pkg/util/diff/diff.go | 280 - .../apimachinery/pkg/util/errors/doc.go | 18 - .../apimachinery/pkg/util/errors/errors.go | 182 - .../apimachinery/pkg/util/framer/framer.go | 167 - .../k8s.io/apimachinery/pkg/util/json/json.go | 107 - .../k8s.io/apimachinery/pkg/util/net/http.go | 269 - .../apimachinery/pkg/util/net/interface.go | 278 - .../apimachinery/pkg/util/net/port_range.go | 113 - .../apimachinery/pkg/util/net/port_split.go | 77 - .../k8s.io/apimachinery/pkg/util/net/util.go | 46 - .../k8s.io/apimachinery/pkg/util/rand/rand.go | 85 - .../apimachinery/pkg/util/runtime/runtime.go | 128 - .../k8s.io/apimachinery/pkg/util/sets/byte.go | 203 - .../k8s.io/apimachinery/pkg/util/sets/doc.go | 20 - .../apimachinery/pkg/util/sets/empty.go | 23 - .../k8s.io/apimachinery/pkg/util/sets/int.go | 203 - .../apimachinery/pkg/util/sets/int64.go | 203 - .../apimachinery/pkg/util/sets/string.go | 203 - .../pkg/util/validation/field/errors.go | 235 - .../pkg/util/validation/field/path.go | 91 - .../pkg/util/validation/validation.go | 343 - .../k8s.io/apimachinery/pkg/util/wait/doc.go | 19 - .../k8s.io/apimachinery/pkg/util/wait/wait.go | 332 - .../apimachinery/pkg/util/yaml/decoder.go | 327 - .../k8s.io/apimachinery/pkg/version/doc.go | 18 - .../k8s.io/apimachinery/pkg/version/types.go | 37 - .../k8s.io/apimachinery/pkg/watch/doc.go | 19 - .../k8s.io/apimachinery/pkg/watch/filter.go | 109 - .../k8s.io/apimachinery/pkg/watch/mux.go | 257 - .../apimachinery/pkg/watch/streamwatcher.go | 119 - .../k8s.io/apimachinery/pkg/watch/until.go | 83 - .../k8s.io/apimachinery/pkg/watch/watch.go | 269 - .../forked/golang/reflect/deep_equal.go | 388 - .../third_party/forked/golang/reflect/type.go | 91 - .../client-go/discovery/discovery_client.go | 8 +- .../src/k8s.io/client-go/discovery/helper.go | 18 +- .../discovery/helper_blackbox_test.go | 12 +- .../k8s.io/client-go/discovery/restmapper.go | 5 +- .../client-go/discovery/restmapper_test.go | 47 +- .../src/k8s.io/client-go/dynamic/client.go | 16 +- .../k8s.io/client-go/dynamic/client_pool.go | 8 + .../k8s.io/client-go/dynamic/client_test.go | 18 +- .../client-go/examples/in-cluster/main.go | 48 + .../client-go/examples/out-of-cluster/main.go | 51 + .../examples/third-party-resources/README.md | 43 + .../examples/third-party-resources/main.go | 167 + .../examples/third-party-resources/types.go | 92 + .../third-party-resources/types_test.go | 28 + .../client-go/informers/apps/interface.go | 44 + .../informers/apps/v1beta1/deployment.go | 68 + .../informers/apps/v1beta1/interface.go | 50 + .../informers/apps/v1beta1/statefulset.go | 68 + .../informers/autoscaling/interface.go | 52 + .../autoscaling/v1/horizontalpodautoscaler.go | 68 + .../informers/autoscaling/v1/interface.go | 43 + .../v2alpha1/horizontalpodautoscaler.go | 68 + .../autoscaling/v2alpha1/interface.go | 43 + .../client-go/informers/batch/interface.go | 52 + .../client-go/informers/batch/v1/interface.go | 43 + .../client-go/informers/batch/v1/job.go | 68 + .../informers/batch/v2alpha1/cronjob.go | 68 + .../informers/batch/v2alpha1/interface.go | 43 + .../informers/certificates/interface.go | 44 + .../v1beta1/certificatesigningrequest.go | 68 + .../certificates/v1beta1/interface.go | 43 + .../client-go/informers/core/interface.go | 44 + .../informers/core/v1/componentstatus.go | 68 + .../client-go/informers/core/v1/configmap.go | 68 + .../client-go/informers/core/v1/endpoints.go | 68 + .../client-go/informers/core/v1/event.go | 68 + .../client-go/informers/core/v1/interface.go | 148 + .../client-go/informers/core/v1/limitrange.go | 68 + .../client-go/informers/core/v1/namespace.go | 68 + .../client-go/informers/core/v1/node.go | 68 + .../informers/core/v1/persistentvolume.go | 68 + .../core/v1/persistentvolumeclaim.go | 68 + .../k8s.io/client-go/informers/core/v1/pod.go | 68 + .../informers/core/v1/podtemplate.go | 68 + .../core/v1/replicationcontroller.go | 68 + .../informers/core/v1/resourcequota.go | 68 + .../client-go/informers/core/v1/secret.go | 68 + .../client-go/informers/core/v1/service.go | 68 + .../informers/core/v1/serviceaccount.go | 68 + .../informers/extensions/interface.go | 44 + .../informers/extensions/v1beta1/daemonset.go | 68 + .../extensions/v1beta1/deployment.go | 68 + .../informers/extensions/v1beta1/ingress.go | 68 + .../informers/extensions/v1beta1/interface.go | 78 + .../extensions/v1beta1/podsecuritypolicy.go | 68 + .../extensions/v1beta1/replicaset.go | 68 + .../extensions/v1beta1/thirdpartyresource.go | 68 + .../src/k8s.io/client-go/informers/factory.go | 149 + .../src/k8s.io/client-go/informers/generic.go | 180 + .../internalinterfaces/factory_interfaces.go | 34 + .../client-go/informers/policy/interface.go | 44 + .../informers/policy/v1beta1/interface.go | 43 + .../policy/v1beta1/poddisruptionbudget.go | 68 + .../client-go/informers/rbac/interface.go | 52 + .../informers/rbac/v1alpha1/clusterrole.go | 68 + .../rbac/v1alpha1/clusterrolebinding.go | 68 + .../informers/rbac/v1alpha1/interface.go | 64 + .../client-go/informers/rbac/v1alpha1/role.go | 68 + .../informers/rbac/v1alpha1/rolebinding.go | 68 + .../informers/rbac/v1beta1/clusterrole.go | 68 + .../rbac/v1beta1/clusterrolebinding.go | 68 + .../informers/rbac/v1beta1/interface.go | 64 + .../client-go/informers/rbac/v1beta1/role.go | 68 + .../informers/rbac/v1beta1/rolebinding.go | 68 + .../client-go/informers/settings/interface.go | 44 + .../informers/settings/v1alpha1/interface.go | 43 + .../informers/settings/v1alpha1/podpreset.go | 68 + .../client-go/informers/storage/interface.go | 52 + .../informers/storage/v1/interface.go | 43 + .../informers/storage/v1/storageclass.go | 68 + .../informers/storage/v1beta1/interface.go | 43 + .../informers/storage/v1beta1/storageclass.go | 68 + .../k8s.io/client-go/kubernetes/clientset.go | 343 +- .../src/k8s.io/client-go/kubernetes/doc.go | 2 +- .../kubernetes/fake/clientset_generated.go | 203 +- .../k8s.io/client-go/kubernetes/fake/doc.go | 2 +- .../client-go/kubernetes/fake/register.go | 68 + .../kubernetes/import_known_versions.go | 1 + .../k8s.io/client-go/kubernetes/scheme/doc.go | 20 + .../client-go/kubernetes/scheme/register.go | 87 + .../typed/apps/v1beta1/apps_client.go | 31 +- .../typed/apps/v1beta1/deployment.go | 172 + .../kubernetes/typed/apps/v1beta1/doc.go | 2 +- .../kubernetes/typed/apps/v1beta1/fake/doc.go | 2 +- .../apps/v1beta1/fake/fake_apps_client.go | 8 + .../apps/v1beta1/fake/fake_deployment.go | 128 + .../typed/apps/v1beta1/fake/fake_scale.go | 23 + .../apps/v1beta1/fake/fake_statefulset.go | 11 +- .../typed/apps/v1beta1/generated_expansion.go | 4 + .../kubernetes/typed/apps/v1beta1/scale.go | 46 + .../typed/apps/v1beta1/statefulset.go | 31 +- .../v1/authentication_client.go | 88 + .../kubernetes/typed/authentication/v1/doc.go | 20 + .../typed/authentication/v1/fake/doc.go | 20 + .../v1/fake/fake_authentication_client.go | 38 + .../v1/fake/fake_tokenreview.go | 22 + .../v1/fake/fake_tokenreview_expansion.go | 27 + .../authentication/v1/generated_expansion.go | 17 + .../typed/authentication/v1/tokenreview.go | 44 + .../v1/tokenreview_expansion.go | 35 + .../v1beta1/authentication_client.go | 21 +- .../typed/authentication/v1beta1/doc.go | 2 +- .../typed/authentication/v1beta1/fake/doc.go | 2 +- .../fake/fake_tokenreview_expansion.go | 4 +- .../authorization/v1/authorization_client.go | 98 + .../kubernetes/typed/authorization/v1/doc.go | 20 + .../typed/authorization/v1/fake/doc.go | 20 + .../v1/fake/fake_authorization_client.go | 46 + .../v1/fake/fake_localsubjectaccessreview.go | 23 + ...fake_localsubjectaccessreview_expansion.go | 27 + .../v1/fake/fake_selfsubjectaccessreview.go | 22 + .../fake_selfsubjectaccessreview_expansion.go | 27 + .../v1/fake/fake_subjectaccessreview.go | 22 + .../fake_subjectaccessreview_expansion.go | 27 + .../authorization/v1/generated_expansion.go | 17 + .../v1/localsubjectaccessreview.go | 46 + .../v1/localsubjectaccessreview_expansion.go | 36 + .../v1/selfsubjectaccessreview.go | 44 + .../v1/selfsubjectaccessreview_expansion.go | 35 + .../authorization/v1/subjectaccessreview.go | 44 + .../v1/subjectaccessreview_expansion.go | 36 + .../v1beta1/authorization_client.go | 21 +- .../typed/authorization/v1beta1/doc.go | 2 +- .../typed/authorization/v1beta1/fake/doc.go | 2 +- ...fake_localsubjectaccessreview_expansion.go | 4 +- .../fake_selfsubjectaccessreview_expansion.go | 4 +- .../fake_subjectaccessreview_expansion.go | 4 +- .../autoscaling/v1/autoscaling_client.go | 21 +- .../kubernetes/typed/autoscaling/v1/doc.go | 2 +- .../typed/autoscaling/v1/fake/doc.go | 2 +- .../v1/fake/fake_horizontalpodautoscaler.go | 5 +- .../autoscaling/v1/horizontalpodautoscaler.go | 21 +- .../v2alpha1/autoscaling_client.go | 88 + .../typed/autoscaling/v2alpha1/doc.go | 20 + .../typed/autoscaling/v2alpha1/fake/doc.go | 20 + .../v2alpha1/fake/fake_autoscaling_client.go | 38 + .../fake/fake_horizontalpodautoscaler.go | 128 + .../v2alpha1/generated_expansion.go | 19 + .../v2alpha1/horizontalpodautoscaler.go | 172 + .../kubernetes/typed/batch/v1/batch_client.go | 21 +- .../kubernetes/typed/batch/v1/doc.go | 2 +- .../kubernetes/typed/batch/v1/fake/doc.go | 2 +- .../typed/batch/v1/fake/fake_job.go | 5 +- .../kubernetes/typed/batch/v1/job.go | 21 +- .../typed/batch/v2alpha1/batch_client.go | 26 +- .../typed/batch/v2alpha1/cronjob.go | 31 +- .../kubernetes/typed/batch/v2alpha1/doc.go | 2 +- .../typed/batch/v2alpha1/fake/doc.go | 2 +- .../batch/v2alpha1/fake/fake_batch_client.go | 4 - .../typed/batch/v2alpha1/fake/fake_cronjob.go | 11 +- .../typed/batch/v2alpha1/fake/fake_job.go | 129 - .../batch/v2alpha1/generated_expansion.go | 2 - .../kubernetes/typed/batch/v2alpha1/job.go | 173 - .../v1beta1/certificates_client.go | 21 +- .../v1beta1/certificatesigningrequest.go | 31 +- .../typed/certificates/v1beta1/doc.go | 2 +- .../typed/certificates/v1beta1/fake/doc.go | 2 +- .../fake/fake_certificatesigningrequest.go | 11 +- ...ake_certificatesigningrequest_expansion.go | 4 +- .../typed/core/v1/componentstatus.go | 20 +- .../kubernetes/typed/core/v1/configmap.go | 20 +- .../kubernetes/typed/core/v1/core_client.go | 21 +- .../client-go/kubernetes/typed/core/v1/doc.go | 2 +- .../kubernetes/typed/core/v1/endpoints.go | 20 +- .../kubernetes/typed/core/v1/event.go | 20 +- .../typed/core/v1/event_expansion.go | 7 +- .../kubernetes/typed/core/v1/fake/doc.go | 2 +- .../core/v1/fake/fake_componentstatus.go | 4 +- .../typed/core/v1/fake/fake_configmap.go | 4 +- .../typed/core/v1/fake/fake_endpoints.go | 4 +- .../typed/core/v1/fake/fake_event.go | 4 +- .../core/v1/fake/fake_event_expansion.go | 22 +- .../typed/core/v1/fake/fake_limitrange.go | 4 +- .../typed/core/v1/fake/fake_namespace.go | 4 +- .../core/v1/fake/fake_namespace_expansion.go | 4 +- .../typed/core/v1/fake/fake_node.go | 4 +- .../typed/core/v1/fake/fake_node_expansion.go | 4 +- .../core/v1/fake/fake_persistentvolume.go | 4 +- .../v1/fake/fake_persistentvolumeclaim.go | 4 +- .../kubernetes/typed/core/v1/fake/fake_pod.go | 4 +- .../typed/core/v1/fake/fake_pod_expansion.go | 8 +- .../typed/core/v1/fake/fake_podtemplate.go | 4 +- .../v1/fake/fake_replicationcontroller.go | 4 +- .../typed/core/v1/fake/fake_resourcequota.go | 4 +- .../typed/core/v1/fake/fake_secret.go | 4 +- .../typed/core/v1/fake/fake_service.go | 4 +- .../core/v1/fake/fake_service_expansion.go | 4 +- .../typed/core/v1/fake/fake_serviceaccount.go | 4 +- .../kubernetes/typed/core/v1/limitrange.go | 20 +- .../kubernetes/typed/core/v1/namespace.go | 20 +- .../kubernetes/typed/core/v1/node.go | 20 +- .../typed/core/v1/persistentvolume.go | 20 +- .../typed/core/v1/persistentvolumeclaim.go | 20 +- .../client-go/kubernetes/typed/core/v1/pod.go | 20 +- .../kubernetes/typed/core/v1/podtemplate.go | 20 +- .../typed/core/v1/replicationcontroller.go | 20 +- .../kubernetes/typed/core/v1/resourcequota.go | 20 +- .../kubernetes/typed/core/v1/secret.go | 20 +- .../kubernetes/typed/core/v1/service.go | 20 +- .../typed/core/v1/service_expansion.go | 2 +- .../typed/core/v1/serviceaccount.go | 20 +- .../typed/extensions/v1beta1/daemonset.go | 31 +- .../typed/extensions/v1beta1/deployment.go | 31 +- .../typed/extensions/v1beta1/doc.go | 2 +- .../extensions/v1beta1/extensions_client.go | 21 +- .../typed/extensions/v1beta1/fake/doc.go | 2 +- .../extensions/v1beta1/fake/fake_daemonset.go | 11 +- .../v1beta1/fake/fake_deployment.go | 11 +- .../v1beta1/fake/fake_deployment_expansion.go | 4 +- .../extensions/v1beta1/fake/fake_ingress.go | 11 +- .../v1beta1/fake/fake_podsecuritypolicy.go | 11 +- .../v1beta1/fake/fake_replicaset.go | 11 +- .../v1beta1/fake/fake_scale_expansion.go | 6 +- .../v1beta1/fake/fake_thirdpartyresource.go | 11 +- .../typed/extensions/v1beta1/ingress.go | 31 +- .../extensions/v1beta1/podsecuritypolicy.go | 31 +- .../typed/extensions/v1beta1/replicaset.go | 31 +- .../extensions/v1beta1/thirdpartyresource.go | 31 +- .../kubernetes/typed/policy/v1beta1/doc.go | 2 +- .../typed/policy/v1beta1/fake/doc.go | 2 +- .../v1beta1/fake/fake_eviction_expansion.go | 4 +- .../v1beta1/fake/fake_poddisruptionbudget.go | 11 +- .../policy/v1beta1/poddisruptionbudget.go | 31 +- .../typed/policy/v1beta1/policy_client.go | 21 +- .../typed/rbac/v1alpha1/clusterrole.go | 31 +- .../typed/rbac/v1alpha1/clusterrolebinding.go | 31 +- .../kubernetes/typed/rbac/v1alpha1/doc.go | 2 +- .../typed/rbac/v1alpha1/fake/doc.go | 2 +- .../rbac/v1alpha1/fake/fake_clusterrole.go | 11 +- .../v1alpha1/fake/fake_clusterrolebinding.go | 11 +- .../typed/rbac/v1alpha1/fake/fake_role.go | 11 +- .../rbac/v1alpha1/fake/fake_rolebinding.go | 11 +- .../typed/rbac/v1alpha1/rbac_client.go | 21 +- .../kubernetes/typed/rbac/v1alpha1/role.go | 31 +- .../typed/rbac/v1alpha1/rolebinding.go | 31 +- .../typed/rbac/v1beta1/clusterrole.go | 31 +- .../typed/rbac/v1beta1/clusterrolebinding.go | 31 +- .../kubernetes/typed/rbac/v1beta1/doc.go | 2 +- .../kubernetes/typed/rbac/v1beta1/fake/doc.go | 2 +- .../rbac/v1beta1/fake/fake_clusterrole.go | 11 +- .../v1beta1/fake/fake_clusterrolebinding.go | 11 +- .../typed/rbac/v1beta1/fake/fake_role.go | 11 +- .../rbac/v1beta1/fake/fake_rolebinding.go | 11 +- .../typed/rbac/v1beta1/rbac_client.go | 21 +- .../kubernetes/typed/rbac/v1beta1/role.go | 31 +- .../typed/rbac/v1beta1/rolebinding.go | 31 +- .../kubernetes/typed/settings/v1alpha1/doc.go | 20 + .../typed/settings/v1alpha1/fake/doc.go | 20 + .../settings/v1alpha1/fake/fake_podpreset.go | 118 + .../v1alpha1/fake/fake_settings_client.go | 38 + .../settings/v1alpha1/generated_expansion.go | 19 + .../typed/settings/v1alpha1/podpreset.go | 155 + .../settings/v1alpha1/settings_client.go | 88 + .../kubernetes/typed/storage/v1/doc.go | 20 + .../kubernetes/typed/storage/v1/fake/doc.go | 20 + .../storage/v1/fake/fake_storage_client.go | 38 + .../storage/v1/fake/fake_storageclass.go | 110 + .../typed/storage/v1/generated_expansion.go | 19 + .../typed/storage/v1/storage_client.go | 88 + .../typed/storage/v1/storageclass.go | 145 + .../kubernetes/typed/storage/v1beta1/doc.go | 2 +- .../typed/storage/v1beta1/fake/doc.go | 2 +- .../storage/v1beta1/fake/fake_storageclass.go | 11 +- .../typed/storage/v1beta1/storage_client.go | 21 +- .../typed/storage/v1beta1/storageclass.go | 31 +- .../listers/apps/v1beta1/deployment.go | 95 + .../apps/v1beta1/expansion_generated.go | 35 + .../client-go/listers/apps/v1beta1/scale.go | 95 + .../listers/apps/v1beta1/statefulset.go | 95 + .../apps/v1beta1/statefulset_expansion.go | 77 + .../autoscaling/v1/expansion_generated.go | 27 + .../autoscaling/v1/horizontalpodautoscaler.go | 95 + .../v2alpha1/expansion_generated.go | 27 + .../v2alpha1/horizontalpodautoscaler.go | 95 + .../listers/batch/v1/expansion_generated.go | 19 + .../k8s.io/client-go/listers/batch/v1/job.go | 95 + .../listers/batch/v1/job_expansion.go | 64 + .../listers/batch/v2alpha1/cronjob.go | 95 + .../batch/v2alpha1/expansion_generated.go | 27 + .../v1beta1/certificatesigningrequest.go | 68 + .../v1beta1/expansion_generated.go | 23 + .../listers/core/v1/componentstatus.go | 68 + .../client-go/listers/core/v1/configmap.go | 95 + .../client-go/listers/core/v1/endpoints.go | 95 + .../k8s.io/client-go/listers/core/v1/event.go | 95 + .../listers/core/v1/expansion_generated.go | 111 + .../client-go/listers/core/v1/limitrange.go | 95 + .../client-go/listers/core/v1/namespace.go | 68 + .../k8s.io/client-go/listers/core/v1/node.go | 68 + .../listers/core/v1/node_expansion.go | 48 + .../listers/core/v1/persistentvolume.go | 68 + .../listers/core/v1/persistentvolumeclaim.go | 95 + .../k8s.io/client-go/listers/core/v1/pod.go | 95 + .../client-go/listers/core/v1/podtemplate.go | 95 + .../listers/core/v1/replicationcontroller.go | 95 + .../v1/replicationcontroller_expansion.go | 66 + .../listers/core/v1/resourcequota.go | 95 + .../client-go/listers/core/v1/secret.go | 95 + .../client-go/listers/core/v1/service.go | 95 + .../listers/core/v1/service_expansion.go | 56 + .../listers/core/v1/serviceaccount.go | 95 + .../listers/extensions/v1beta1/daemonset.go | 95 + .../extensions/v1beta1/daemonset_expansion.go | 78 + .../listers/extensions/v1beta1/deployment.go | 95 + .../v1beta1/deployment_expansion.go | 70 + .../extensions/v1beta1/expansion_generated.go | 43 + .../listers/extensions/v1beta1/ingress.go | 95 + .../extensions/v1beta1/podsecuritypolicy.go | 68 + .../listers/extensions/v1beta1/replicaset.go | 95 + .../v1beta1/replicaset_expansion.go | 73 + .../listers/extensions/v1beta1/scale.go | 95 + .../extensions/v1beta1/thirdpartyresource.go | 68 + .../listers/policy/v1beta1/eviction.go | 95 + .../policy/v1beta1/expansion_generated.go | 27 + .../policy/v1beta1/poddisruptionbudget.go | 95 + .../v1beta1/poddisruptionbudget_expansion.go | 74 + .../listers/rbac/v1alpha1/clusterrole.go | 68 + .../rbac/v1alpha1/clusterrolebinding.go | 68 + .../rbac/v1alpha1/expansion_generated.go | 43 + .../client-go/listers/rbac/v1alpha1/role.go | 95 + .../listers/rbac/v1alpha1/rolebinding.go | 95 + .../listers/rbac/v1beta1/clusterrole.go | 68 + .../rbac/v1beta1/clusterrolebinding.go | 68 + .../rbac/v1beta1/expansion_generated.go | 43 + .../client-go/listers/rbac/v1beta1/role.go | 95 + .../listers/rbac/v1beta1/rolebinding.go | 95 + .../settings/v1alpha1/expansion_generated.go | 27 + .../listers/settings/v1alpha1/podpreset.go | 95 + .../listers/storage/v1/expansion_generated.go | 23 + .../listers/storage/v1/storageclass.go | 68 + .../storage/v1beta1/expansion_generated.go | 23 + .../listers/storage/v1beta1/storageclass.go | 68 + .../k8s.io/client-go/pkg/api/conversion.go | 266 - .../src/k8s.io/client-go/pkg/api/helpers.go | 161 +- .../client-go/pkg/api/install/install.go | 157 +- .../src/k8s.io/client-go/pkg/api/json.go | 12 - .../src/k8s.io/client-go/pkg/api/meta.go | 27 - .../src/k8s.io/client-go/pkg/api/ref.go | 8 +- .../src/k8s.io/client-go/pkg/api/register.go | 16 - .../k8s.io/client-go/pkg/api/resource/OWNERS | 17 - .../client-go/pkg/api/resource/amount.go | 298 - .../pkg/api/resource/generated.pb.go | 70 - .../pkg/api/resource/generated.proto | 94 - .../k8s.io/client-go/pkg/api/resource/math.go | 327 - .../client-go/pkg/api/resource/quantity.go | 791 - .../pkg/api/resource/quantity_proto.go | 284 - .../client-go/pkg/api/resource/scale_int.go | 95 - .../client-go/pkg/api/resource/suffix.go | 198 - .../client-go/pkg/api/resource_helpers.go | 2 +- .../k8s.io/client-go/pkg/api/testapi/OWNERS | 21 - .../client-go/pkg/api/testapi/testapi.go | 477 - .../src/k8s.io/client-go/pkg/api/types.go | 295 +- .../k8s.io/client-go/pkg/api/v1/conversion.go | 23 +- .../k8s.io/client-go/pkg/api/v1/defaults.go | 37 +- .../client-go/pkg/api/v1/generated.pb.go | 5396 ++- .../client-go/pkg/api/v1/generated.proto | 337 +- .../k8s.io/client-go/pkg/api/v1/helpers.go | 327 +- .../src/k8s.io/client-go/pkg/api/v1/meta.go | 8 + .../src/k8s.io/client-go/pkg/api/v1/ref.go | 12 +- .../k8s.io/client-go/pkg/api/v1/register.go | 4 - .../client-go/pkg/api/v1/resource_helpers.go | 30 +- .../client-go/pkg/api/v1/types.generated.go | 7891 +++- .../src/k8s.io/client-go/pkg/api/v1/types.go | 313 +- .../pkg/api/v1/types_swagger_doc_generated.go | 186 +- .../pkg/api/v1/zz_generated.conversion.go | 382 +- .../pkg/api/v1/zz_generated.deepcopy.go | 284 +- .../pkg/api/v1/zz_generated.defaults.go | 54 + .../pkg/api/zz_generated.deepcopy.go | 284 +- .../client-go/pkg/apis/apps/register.go | 7 +- .../pkg/apis/apps/v1beta1/conversion.go | 193 +- .../pkg/apis/apps/v1beta1/defaults.go | 56 + .../pkg/apis/apps/v1beta1/generated.pb.go | 2969 +- .../pkg/apis/apps/v1beta1/generated.proto | 235 +- .../pkg/apis/apps/v1beta1/register.go | 11 +- .../pkg/apis/apps/v1beta1/types.generated.go | 4743 +- .../client-go/pkg/apis/apps/v1beta1/types.go | 272 + .../v1beta1/types_swagger_doc_generated.go | 137 + .../apps/v1beta1/zz_generated.conversion.go | 6 +- .../apps/v1beta1/zz_generated.deepcopy.go | 225 + .../apps/v1beta1/zz_generated.defaults.go | 160 + .../client-go/pkg/apis/authentication/OWNERS | 1 + .../apis/authentication/install/install.go | 4 +- .../pkg/apis/authentication/register.go | 6 - .../pkg/apis/authentication/v1/conversion.go | 26 + .../pkg/apis/authentication/v1/defaults.go | 25 + .../pkg/apis/authentication/v1/doc.go | 18 + .../apis/authentication/v1/generated.pb.go | 1281 + .../apis/authentication/v1/generated.proto | 100 + .../pkg/apis/authentication/v1/register.go | 48 + .../pkg/apis/authentication/v1/types.go | 91 + .../v1/types_swagger_doc_generated.go | 72 + .../v1/zz_generated.conversion.go | 145 + .../v1/zz_generated.deepcopy.go | 106 + .../v1/zz_generated.defaults.go | 32 + .../authentication/v1beta1/generated.pb.go | 86 +- .../authentication/v1beta1/generated.proto | 4 +- .../apis/authentication/v1beta1/register.go | 5 - .../pkg/apis/authorization/install/install.go | 4 +- .../pkg/apis/authorization/register.go | 6 - .../pkg/apis/authorization/v1/conversion.go | 26 + .../pkg/apis/authorization/v1/defaults.go | 25 + .../pkg/apis/authorization/v1/doc.go | 18 + .../pkg/apis/authorization/v1/generated.pb.go | 2344 + .../pkg/apis/authorization/v1/generated.proto | 185 + .../pkg/apis/authorization/v1/register.go | 55 + .../apis/authorization/v1/types.generated.go | 3233 ++ .../pkg/apis/authorization/v1/types.go | 176 + .../v1/types_swagger_doc_generated.go | 119 + .../v1/zz_generated.conversion.go | 263 + .../authorization/v1/zz_generated.deepcopy.go | 179 + .../authorization/v1/zz_generated.defaults.go | 32 + .../authorization/v1beta1/generated.pb.go | 114 +- .../authorization/v1beta1/generated.proto | 4 +- .../apis/authorization/v1beta1/register.go | 5 - .../pkg/apis/autoscaling/annotations.go | 30 + .../pkg/apis/autoscaling/install/install.go | 6 +- .../pkg/apis/autoscaling/register.go | 2 - .../client-go/pkg/apis/autoscaling/types.go | 213 +- .../pkg/apis/autoscaling/v1/conversion.go | 244 + .../pkg/apis/autoscaling/v1/defaults.go | 3 + .../pkg/apis/autoscaling/v1/generated.pb.go | 1838 +- .../pkg/apis/autoscaling/v1/generated.proto | 154 +- .../pkg/apis/autoscaling/v1/register.go | 6 +- .../apis/autoscaling/v1/types.generated.go | 2339 +- .../pkg/apis/autoscaling/v1/types.go | 164 +- .../v1/types_swagger_doc_generated.go | 88 + .../autoscaling/v1/zz_generated.conversion.go | 255 +- .../autoscaling/v1/zz_generated.deepcopy.go | 143 + .../pkg/apis/autoscaling/v2alpha1/defaults.go | 49 + .../pkg/apis/autoscaling/v2alpha1/doc.go | 17 + .../apis/autoscaling/v2alpha1/generated.pb.go | 3062 ++ .../apis/autoscaling/v2alpha1/generated.proto | 275 + .../pkg/apis/autoscaling/v2alpha1/register.go | 44 + .../autoscaling/v2alpha1/types.generated.go | 4621 ++ .../pkg/apis/autoscaling/v2alpha1/types.go | 269 + .../v2alpha1/types_swagger_doc_generated.go | 175 + .../v2alpha1/zz_generated.conversion.go | 387 + .../v2alpha1/zz_generated.deepcopy.go | 285 + .../apis/autoscaling/zz_generated.deepcopy.go | 163 +- .../client-go/pkg/apis/batch/register.go | 2 - .../k8s.io/client-go/pkg/apis/batch/types.go | 10 + .../client-go/pkg/apis/batch/v1/conversion.go | 5 +- .../pkg/apis/batch/v1/generated.pb.go | 110 +- .../pkg/apis/batch/v1/generated.proto | 4 +- .../client-go/pkg/apis/batch/v1/register.go | 4 - .../pkg/apis/batch/v1/types.generated.go | 16 +- .../apis/batch/v1/zz_generated.conversion.go | 2 +- .../apis/batch/v1/zz_generated.defaults.go | 17 + .../pkg/apis/batch/v2alpha1/conversion.go | 57 +- .../pkg/apis/batch/v2alpha1/defaults.go | 20 - .../pkg/apis/batch/v2alpha1/generated.pb.go | 1519 +- .../pkg/apis/batch/v2alpha1/generated.proto | 152 +- .../pkg/apis/batch/v2alpha1/register.go | 6 - .../apis/batch/v2alpha1/types.generated.go | 2915 +- .../pkg/apis/batch/v2alpha1/types.go | 159 +- .../v2alpha1/types_swagger_doc_generated.go | 77 +- .../batch/v2alpha1/zz_generated.conversion.go | 171 +- .../batch/v2alpha1/zz_generated.deepcopy.go | 135 +- .../batch/v2alpha1/zz_generated.defaults.go | 160 +- .../pkg/apis/batch/zz_generated.deepcopy.go | 10 + .../pkg/apis/certificates/register.go | 2 - .../client-go/pkg/apis/certificates/types.go | 17 +- .../apis/certificates/v1beta1/conversion.go | 3 +- .../apis/certificates/v1beta1/generated.pb.go | 390 +- .../apis/certificates/v1beta1/generated.proto | 28 +- .../pkg/apis/certificates/v1beta1/register.go | 4 - .../certificates/v1beta1/types.generated.go | 475 +- .../pkg/apis/certificates/v1beta1/types.go | 25 +- .../v1beta1/types_swagger_doc_generated.go | 7 +- .../v1beta1/zz_generated.conversion.go | 14 +- .../v1beta1/zz_generated.deepcopy.go | 11 + .../certificates/zz_generated.deepcopy.go | 11 + .../client-go/pkg/apis/componentconfig/OWNERS | 41 - .../client-go/pkg/apis/componentconfig/doc.go | 17 - .../pkg/apis/componentconfig/helpers.go | 97 - .../apis/componentconfig/install/install.go | 49 - .../pkg/apis/componentconfig/register.go | 59 - .../pkg/apis/componentconfig/types.go | 865 - .../apis/componentconfig/v1alpha1/defaults.go | 422 - .../pkg/apis/componentconfig/v1alpha1/doc.go | 17 - .../apis/componentconfig/v1alpha1/register.go | 48 - .../apis/componentconfig/v1alpha1/types.go | 609 - .../v1alpha1/zz_generated.conversion.go | 752 - .../v1alpha1/zz_generated.deepcopy.go | 376 - .../v1alpha1/zz_generated.defaults.go | 48 - .../componentconfig/zz_generated.deepcopy.go | 298 - .../client-go/pkg/apis/extensions/register.go | 8 - .../client-go/pkg/apis/extensions/types.go | 123 +- .../pkg/apis/extensions/v1beta1/conversion.go | 80 +- .../pkg/apis/extensions/v1beta1/defaults.go | 28 +- .../apis/extensions/v1beta1/generated.pb.go | 2473 +- .../apis/extensions/v1beta1/generated.proto | 196 +- .../pkg/apis/extensions/v1beta1/register.go | 6 - .../extensions/v1beta1/types.generated.go | 3283 +- .../pkg/apis/extensions/v1beta1/types.go | 214 +- .../v1beta1/types_swagger_doc_generated.go | 112 +- .../v1beta1/zz_generated.conversion.go | 255 +- .../v1beta1/zz_generated.deepcopy.go | 142 +- .../v1beta1/zz_generated.defaults.go | 66 +- .../apis/extensions/zz_generated.deepcopy.go | 30 +- .../client-go/pkg/apis/imagepolicy/OWNERS | 4 - .../client-go/pkg/apis/imagepolicy/doc.go | 18 - .../pkg/apis/imagepolicy/install/install.go | 51 - .../pkg/apis/imagepolicy/register.go | 57 - .../client-go/pkg/apis/imagepolicy/types.go | 66 - .../pkg/apis/imagepolicy/v1alpha1/doc.go | 18 - .../apis/imagepolicy/v1alpha1/generated.pb.go | 1061 - .../apis/imagepolicy/v1alpha1/generated.proto | 82 - .../pkg/apis/imagepolicy/v1alpha1/register.go | 53 - .../imagepolicy/v1alpha1/types.generated.go | 1305 - .../pkg/apis/imagepolicy/v1alpha1/types.go | 73 - .../v1alpha1/types_swagger_doc_generated.go | 70 - .../v1alpha1/zz_generated.conversion.go | 137 - .../v1alpha1/zz_generated.deepcopy.go | 99 - .../v1alpha1/zz_generated.defaults.go | 32 - .../apis/imagepolicy/zz_generated.deepcopy.go | 99 - .../k8s.io/client-go/pkg/apis/kubeadm/doc.go | 18 - .../k8s.io/client-go/pkg/apis/kubeadm/env.go | 58 - .../client-go/pkg/apis/kubeadm/install/doc.go | 17 - .../pkg/apis/kubeadm/install/install.go | 47 - .../client-go/pkg/apis/kubeadm/register.go | 60 - .../client-go/pkg/apis/kubeadm/types.go | 96 - .../pkg/apis/kubeadm/v1alpha1/defaults.go | 64 - .../pkg/apis/kubeadm/v1alpha1/doc.go | 18 - .../pkg/apis/kubeadm/v1alpha1/register.go | 61 - .../pkg/apis/kubeadm/v1alpha1/types.go | 86 - .../kubeadm/v1alpha1/zz_generated.defaults.go | 37 - .../client-go/pkg/apis/policy/register.go | 6 - .../k8s.io/client-go/pkg/apis/policy/types.go | 5 +- .../pkg/apis/policy/v1beta1/generated.pb.go | 108 +- .../pkg/apis/policy/v1beta1/generated.proto | 8 +- .../pkg/apis/policy/v1beta1/register.go | 4 - .../apis/policy/v1beta1/types.generated.go | 130 +- .../pkg/apis/policy/v1beta1/types.go | 5 +- .../policy/v1beta1/zz_generated.conversion.go | 20 +- .../policy/v1beta1/zz_generated.deepcopy.go | 6 +- .../pkg/apis/policy/zz_generated.deepcopy.go | 6 +- .../src/k8s.io/client-go/pkg/apis/rbac/OWNERS | 1 + .../k8s.io/client-go/pkg/apis/rbac/helpers.go | 90 +- .../client-go/pkg/apis/rbac/register.go | 7 - .../k8s.io/client-go/pkg/apis/rbac/types.go | 10 +- .../pkg/apis/rbac/v1alpha1/conversion.go | 41 +- .../pkg/apis/rbac/v1alpha1/defaults.go | 13 + .../pkg/apis/rbac/v1alpha1/generated.pb.go | 108 +- .../pkg/apis/rbac/v1alpha1/generated.proto | 9 +- .../pkg/apis/rbac/v1alpha1/register.go | 5 - .../client-go/pkg/apis/rbac/v1alpha1/types.go | 8 +- .../v1alpha1/types_swagger_doc_generated.go | 2 +- .../rbac/v1alpha1/zz_generated.conversion.go | 46 +- .../rbac/v1alpha1/zz_generated.defaults.go | 8 + .../pkg/apis/rbac/v1beta1/defaults.go | 13 + .../pkg/apis/rbac/v1beta1/generated.pb.go | 119 +- .../pkg/apis/rbac/v1beta1/generated.proto | 10 +- .../pkg/apis/rbac/v1beta1/register.go | 5 - .../pkg/apis/rbac/v1beta1/types.generated.go | 18 +- .../client-go/pkg/apis/rbac/v1beta1/types.go | 9 +- .../v1beta1/types_swagger_doc_generated.go | 10 +- .../rbac/v1beta1/zz_generated.conversion.go | 58 +- .../rbac/v1beta1/zz_generated.defaults.go | 8 + .../k8s.io/client-go/pkg/apis/settings/doc.go | 18 + .../pkg/apis/settings/install/install.go | 49 + .../client-go/pkg/apis/settings/register.go | 52 + .../client-go/pkg/apis/settings/types.go | 63 + .../pkg/apis/settings/v1alpha1/doc.go | 18 + .../apis/settings/v1alpha1/generated.pb.go | 924 + .../apis/settings/v1alpha1/generated.proto | 76 + .../pkg/apis/settings/v1alpha1/register.go | 49 + .../pkg/apis/settings/v1alpha1/types.go | 67 + .../v1alpha1/types_swagger_doc_generated.go | 61 + .../v1alpha1/zz_generated.conversion.go | 159 + .../v1alpha1/zz_generated.deepcopy.go | 124 + .../v1alpha1/zz_generated.defaults.go | 98 + .../apis/settings/zz_generated.deepcopy.go | 124 + .../pkg/apis/storage/install/install.go | 7 +- .../client-go/pkg/apis/storage/register.go | 6 - .../client-go/pkg/apis/storage/v1/doc.go | 18 + .../pkg/apis/storage/v1/generated.pb.go | 730 + .../pkg/apis/storage/v1/generated.proto | 63 + .../client-go/pkg/apis/storage/v1/register.go | 50 + .../client-go/pkg/apis/storage/v1/types.go | 57 + .../storage/v1/types_swagger_doc_generated.go | 51 + .../storage/v1/zz_generated.conversion.go | 89 + .../apis/storage/v1/zz_generated.deepcopy.go | 80 + .../apis/storage/v1/zz_generated.defaults.go | 32 + .../pkg/apis/storage/v1beta1/generated.pb.go | 62 +- .../pkg/apis/storage/v1beta1/generated.proto | 4 +- .../pkg/apis/storage/v1beta1/register.go | 5 - .../v1beta1/zz_generated.conversion.go | 6 +- .../pkg/federation/apis/federation/doc.go | 17 - .../apis/federation/install/install.go | 133 - .../federation/apis/federation/register.go | 56 - .../pkg/federation/apis/federation/types.go | 155 - .../apis/federation/v1beta1/conversion.go | 36 - .../apis/federation/v1beta1/defaults.go | 25 - .../federation/apis/federation/v1beta1/doc.go | 17 - .../apis/federation/v1beta1/generated.pb.go | 1542 - .../apis/federation/v1beta1/generated.proto | 128 - .../apis/federation/v1beta1/register.go | 50 - .../federation/v1beta1/types.generated.go | 2469 - .../apis/federation/v1beta1/types.go | 127 - .../v1beta1/types_swagger_doc_generated.go | 96 - .../v1beta1/zz_generated.conversion.go | 193 - .../v1beta1/zz_generated.deepcopy.go | 146 - .../v1beta1/zz_generated.defaults.go | 32 - .../apis/federation/zz_generated.deepcopy.go | 182 - .../k8s.io/client-go/pkg/kubelet/qos/doc.go | 25 - .../client-go/pkg/kubelet/qos/policy.go | 79 - .../k8s.io/client-go/pkg/kubelet/qos/qos.go | 213 - .../kubelet/server/portforward/constants.go | 21 - .../kubelet/server/portforward/portforward.go | 323 - .../client-go/pkg/kubelet/types/constants.go | 22 - .../k8s.io/client-go/pkg/kubelet/types/doc.go | 18 - .../client-go/pkg/kubelet/types/labels.go | 40 - .../client-go/pkg/kubelet/types/pod_update.go | 151 - .../client-go/pkg/kubelet/types/types.go | 93 - .../k8s.io/client-go/pkg/master/ports/doc.go | 19 - .../client-go/pkg/master/ports/ports.go | 41 - .../client-go/pkg/util/config/config.go | 140 - .../pkg/util/config/configuration_map.go | 53 - .../k8s.io/client-go/pkg/util/config/doc.go | 20 - .../client-go/pkg/util/config/feature_gate.go | 260 - .../pkg/util/config/namedcertkey_flag.go | 113 - .../client-go/pkg/util/httpstream/doc.go | 19 - .../pkg/util/httpstream/httpstream.go | 149 - .../pkg/util/httpstream/spdy/connection.go | 145 - .../pkg/util/httpstream/spdy/roundtripper.go | 267 - .../pkg/util/httpstream/spdy/upgrade.go | 78 - .../client-go/pkg/util/intstr/generated.pb.go | 373 - .../client-go/pkg/util/intstr/generated.proto | 43 - .../client-go/pkg/util/intstr/intstr.go | 176 - .../k8s.io/client-go/pkg/util/labels/doc.go | 18 - .../client-go/pkg/util/labels/labels.go | 124 - .../pkg/util/strategicpatch/patch.go | 1376 - .../src/k8s.io/client-go/pkg/util/trace.go | 72 - .../src/k8s.io/client-go/pkg/util/trie.go | 79 - .../util/workqueue/default_rate_limiters.go | 211 - .../workqueue/default_rate_limiters_test.go | 184 - .../pkg/util/workqueue/delaying_queue.go | 246 - .../pkg/util/workqueue/delaying_queue_test.go | 236 - .../client-go/pkg/util/workqueue/metrics.go | 195 - .../pkg/util/workqueue/parallelizer.go | 52 - .../client-go/pkg/util/workqueue/queue.go | 172 - .../pkg/util/workqueue/queue_test.go | 161 - .../util/workqueue/rate_limitting_queue.go | 69 - .../workqueue/rate_limitting_queue_test.go | 75 - .../pkg/util/workqueue/timed_queue.go | 52 - .../src/k8s.io/client-go/pkg/version/base.go | 6 +- .../src/k8s.io/client-go/pkg/version/doc.go | 2 +- .../plugin/pkg/client/auth/gcp/gcp.go | 52 +- .../plugin/pkg/client/auth/gcp/gcp_test.go | 238 +- .../src/k8s.io/client-go/rest/client_test.go | 14 +- .../src/k8s.io/client-go/rest/config.go | 18 +- .../src/k8s.io/client-go/rest/config_test.go | 13 +- .../src/k8s.io/client-go/rest/fake/fake.go | 27 +- .../src/k8s.io/client-go/rest/request.go | 10 +- .../src/k8s.io/client-go/rest/request_test.go | 101 +- .../src/k8s.io/client-go/rest/transport.go | 15 +- .../client-go/rest/watch/decoder_test.go | 13 +- .../client-go/rest/watch/encoder_test.go | 13 +- .../src/k8s.io/client-go/testing/fixture.go | 30 +- .../third_party/forked/golang/json/fields.go | 501 - .../third_party/forked/golang/netutil/addr.go | 27 - .../forked/golang/template/exec.go | 0 .../forked/golang/template/funcs.go | 0 .../client-go/tools/cache/controller.go | 22 + .../client-go/tools/cache/delta_fifo.go | 48 +- .../src/k8s.io/client-go/tools/cache/fifo.go | 37 + .../k8s.io/client-go/tools/cache/listwatch.go | 2 +- .../tools/cache/processor_listener_test.go | 2 +- .../k8s.io/client-go/tools/cache/reflector.go | 28 +- .../client-go/tools/cache/shared_informer.go | 252 +- .../tools/cache/shared_informer_test.go | 253 + .../tools/clientcmd/client_config.go | 26 +- .../client-go/tools/clientcmd/overrides.go | 24 +- .../tools/portforward/portforward.go | 9 +- .../tools/portforward/portforward_test.go | 194 + .../k8s.io/client-go/tools/record/event.go | 9 +- .../client-go/tools/record/event_test.go | 17 +- .../client-go/tools/record/events_cache.go | 2 +- .../src/k8s.io/client-go/transport/config.go | 3 +- .../k8s.io/client-go/transport/transport.go | 1 + .../src/k8s.io/client-go/util/cert/cert.go | 6 +- .../src/k8s.io/client-go/util/cert/csr.go | 52 +- .../k8s.io/client-go/util/cert/csr_test.go | 31 +- .../src/k8s.io/client-go/util/cert/io.go | 21 + .../src/k8s.io/client-go/util/cert/pem.go | 55 +- .../src/k8s.io/client-go/util/clock/clock.go | 113 +- .../client-go/util/jsonpath/jsonpath.go | 13 +- .../client-go/util/jsonpath/jsonpath_test.go | 18 +- .../k8s.io/client-go/util/jsonpath/node.go | 16 + .../k8s.io/client-go/util/jsonpath/parser.go | 18 +- .../util/workqueue/default_rate_limiters.go | 0 .../workqueue/default_rate_limiters_test.go | 0 .../util/workqueue/delaying_queue.go | 0 .../util/workqueue/delaying_queue_test.go | 235 + .../client-go/{pkg => }/util/workqueue/doc.go | 0 .../client-go}/util/workqueue/metrics.go | 0 .../client-go}/util/workqueue/parallelizer.go | 0 .../k8s.io/client-go}/util/workqueue/queue.go | 0 .../client-go/util/workqueue/queue_test.go | 161 + .../util/workqueue/rate_limitting_queue.go | 0 .../workqueue/rate_limitting_queue_test.go | 0 .../client-go}/util/workqueue/timed_queue.go | 0 .../util/workqueue/timed_queue_test.go | 0 .../k8s.io/kube-aggregator/Godeps/Godeps.json | 394 + .../src/k8s.io/kube-aggregator/Godeps/Readme | 5 + .../staging/src/k8s.io/kube-aggregator/OWNERS | 11 + .../hostpath-pods/insecure-etcd-pod.yaml | 81 + .../artifacts/self-contained}/etcd-pod.yaml | 0 .../artifacts/self-contained}/etcd-svc.yaml | 0 .../kubernetes-discover-pod.yaml | 11 +- .../kubernetes-discovery-sa.yaml | 0 .../kubernetes-discovery-svc.yaml | 0 .../artifacts/simple-image/Dockerfile | 0 .../hack/apiservice-template.yaml | 12 + .../kube-aggregator/hack/build-image.sh | 30 + .../hack/local-up-kube-aggregator.sh | 93 + .../hack/register-all-apis-from.sh | 90 + .../kube-aggregator/hack/update-codegen.sh | 79 + .../kube-aggregator/hack/verify-codegen.sh | 8 +- .../src/k8s.io/kube-aggregator/main.go | 49 + .../pkg/apis/apiregistration/doc.go | 0 .../pkg/apis/apiregistration/helpers.go | 0 .../apis/apiregistration/install/install.go | 49 + .../pkg/apis/apiregistration/register.go | 51 + .../pkg/apis/apiregistration/types.go | 0 .../pkg/apis/apiregistration/v1alpha1/doc.go | 22 + .../apis/apiregistration/v1alpha1/register.go | 0 .../v1alpha1/types.generated.go | 0 .../apis/apiregistration/v1alpha1/types.go | 0 .../v1alpha1/zz_generated.conversion.go | 167 + .../v1alpha1/zz_generated.deepcopy.go | 0 .../apiregistration/validation/validation.go | 85 + .../apiregistration/zz_generated.deepcopy.go | 0 .../pkg/apiserver/apiserver.go | 280 + .../pkg/apiserver/apiservice_controller.go | 15 +- .../pkg/apiserver/handler_apis.go | 14 +- .../pkg/apiserver/handler_apis_test.go | 20 +- .../pkg/apiserver/handler_proxy.go | 10 +- .../pkg/apiserver/handler_proxy_test.go | 2 +- .../clientset/clientset.go | 104 + .../clientset_generated/clientset/doc.go | 20 + .../clientset/fake/clientset_generated.go | 71 + .../clientset_generated/clientset/fake/doc.go | 20 + .../clientset/fake/register.go | 46 + .../clientset/scheme/doc.go | 20 + .../clientset/scheme/register.go | 53 + .../v1alpha1/apiregistration_client.go | 88 + .../apiregistration/v1alpha1/apiservice.go | 161 + .../typed/apiregistration/v1alpha1/doc.go | 20 + .../apiregistration/v1alpha1/fake/doc.go | 20 + .../fake/fake_apiregistration_client.go | 38 + .../v1alpha1/fake/fake_apiservice.go | 119 + .../v1alpha1/generated_expansion.go | 0 .../internalclientset/clientset.go | 93 + .../internalclientset/doc.go | 20 + .../fake/clientset_generated.go | 66 + .../internalclientset/fake/doc.go | 20 + .../internalclientset/fake/register.go | 46 + .../internalclientset/scheme/doc.go | 20 + .../internalclientset/scheme/register.go | 46 + .../internalversion/apiregistration_client.go | 99 + .../internalversion/apiservice.go | 161 + .../apiregistration/internalversion/doc.go | 20 + .../internalversion/fake/doc.go | 20 + .../fake/fake_apiregistration_client.go | 38 + .../internalversion/fake/fake_apiservice.go | 119 + .../internalversion/generated_expansion.go | 0 .../apiregistration/interface.go | 44 + .../apiregistration/v1alpha1/apiservice.go | 68 + .../apiregistration/v1alpha1/interface.go | 43 + .../informers/externalversions/factory.go | 95 + .../informers/externalversions/generic.go | 61 + .../internalinterfaces/factory_interfaces.go | 34 + .../apiregistration/interface.go | 44 + .../internalversion/apiservice.go | 68 + .../internalversion/interface.go | 43 + .../informers/internalversion/factory.go | 95 + .../informers/internalversion/generic.go | 61 + .../internalinterfaces/factory_interfaces.go | 34 + .../internalversion/apiservice.go | 67 + .../internalversion/expansion_generated.go | 23 + .../apiregistration/v1alpha1/apiservice.go | 68 + .../v1alpha1/expansion_generated.go | 23 + .../kube-aggregator/pkg/cmd/server/start.go | 168 + .../pkg/registry/apiservice/etcd/etcd.go | 55 + .../pkg/registry/apiservice/strategy.go | 97 + .../sample-apiserver/Godeps/Godeps.json | 382 + .../src/k8s.io/sample-apiserver/Godeps/Readme | 5 + .../src/k8s.io/sample-apiserver/OWNERS | 14 + .../artifacts/example/apiservice.yaml | 12 + .../artifacts/example/auth-delegator.yaml | 13 + .../artifacts/example/auth-reader.yaml | 14 + .../artifacts/example/rc.yaml | 25 + .../artifacts/example/sa.yaml | 5 + .../artifacts/example/service.yaml | 12 + .../artifacts/flunders/01-flunder.yaml | 6 + .../artifacts/simple-image/Dockerfile | 17 + .../sample-apiserver/hack/build-image.sh | 30 + .../sample-apiserver/hack/update-codegen.sh | 69 + .../src/k8s.io/sample-apiserver/main.go | 42 + .../sample-apiserver/pkg/apis/wardle/doc.go | 21 + .../pkg/apis/wardle/install/install.go | 44 + .../pkg/apis/wardle/install/install_test.go | 27 + .../pkg/apis/wardle/register.go | 51 + .../sample-apiserver/pkg/apis/wardle/types.go | 43 + .../pkg/apis/wardle/v1alpha1/doc.go | 22 + .../pkg/apis/wardle/v1alpha1/register.go | 43 + .../pkg/apis/wardle/v1alpha1/types.go | 43 + .../v1alpha1/zz_generated.conversion.go | 129 + .../wardle/v1alpha1/zz_generated.deepcopy.go | 93 + .../pkg/apis/wardle/zz_generated.deepcopy.go | 93 + .../pkg/apiserver/apiserver.go | 113 + .../pkg/apiserver/scheme_test.go | 27 + .../sample-apiserver/pkg/cmd/server/start.go | 115 + .../pkg/registry/wardle/etcd.go | 54 + .../pkg/registry/wardle/strategy.go | 95 + vendor/k8s.io/kubernetes/test/OWNERS | 31 + vendor/k8s.io/kubernetes/test/e2e/BUILD | 71 +- .../kubernetes/test/e2e/addon_update.go | 254 +- vendor/k8s.io/kubernetes/test/e2e/apparmor.go | 148 +- .../kubernetes/test/e2e/cluster_logging_es.go | 264 +- .../test/e2e/cluster_logging_es_utils.go | 244 + .../test/e2e/cluster_logging_gcl.go | 117 +- .../test/e2e/cluster_logging_gcl_load.go | 123 + .../test/e2e/cluster_logging_gcl_utils.go | 131 + .../test/e2e/cluster_logging_utils.go | 318 +- .../test/e2e/cluster_size_autoscaling.go | 256 +- .../kubernetes/test/e2e/cluster_upgrade.go | 348 +- .../k8s.io/kubernetes/test/e2e/common/BUILD | 18 +- .../kubernetes/test/e2e/common/apparmor.go | 194 + .../e2e/{ => common}/autoscaling_utils.go | 151 +- .../kubernetes/test/e2e/common/configmap.go | 16 +- .../test/e2e/common/container_probe.go | 6 +- .../test/e2e/common/docker_containers.go | 2 +- .../test/e2e/common/downward_api.go | 4 +- .../test/e2e/common/downwardapi_volume.go | 14 +- .../kubernetes/test/e2e/common/empty_dir.go | 6 +- .../kubernetes/test/e2e/common/events.go | 152 + .../kubernetes/test/e2e/common/expansion.go | 2 +- .../kubernetes/test/e2e/common/host_path.go | 4 +- .../test/e2e/common/init_container.go | 400 +- .../k8s.io/kubernetes/test/e2e/common/pods.go | 17 +- .../kubernetes/test/e2e/common/projected.go | 1544 + .../kubernetes/test/e2e/common/secrets.go | 38 +- .../kubernetes/test/e2e/common/sysctl.go | 33 +- .../k8s.io/kubernetes/test/e2e/common/util.go | 4 +- .../kubernetes/test/e2e/common/volumes.go | 34 +- vendor/k8s.io/kubernetes/test/e2e/cronjob.go | 125 +- .../kubernetes/test/e2e/daemon_restart.go | 4 +- .../k8s.io/kubernetes/test/e2e/daemon_set.go | 489 +- vendor/k8s.io/kubernetes/test/e2e/density.go | 25 +- .../k8s.io/kubernetes/test/e2e/deployment.go | 318 +- .../k8s.io/kubernetes/test/e2e/disruption.go | 2 +- vendor/k8s.io/kubernetes/test/e2e/dns.go | 2 +- .../kubernetes/test/e2e/dns_autoscaling.go | 54 +- .../k8s.io/kubernetes/test/e2e/dns_common.go | 281 + .../kubernetes/test/e2e/dns_configmap.go | 259 +- vendor/k8s.io/kubernetes/test/e2e/e2e.go | 18 +- vendor/k8s.io/kubernetes/test/e2e/e2e_test.go | 1 + vendor/k8s.io/kubernetes/test/e2e/empty.go | 12 +- .../kubernetes/test/e2e/empty_dir_wrapper.go | 6 +- vendor/k8s.io/kubernetes/test/e2e/events.go | 2 +- .../test/e2e/example_cluster_dns.go | 2 +- vendor/k8s.io/kubernetes/test/e2e/examples.go | 19 +- .../kubernetes/test/e2e/framework/BUILD | 27 +- .../test/e2e/framework/framework.go | 28 +- .../test/e2e/framework/ingress_utils.go | 1072 + .../test/e2e/framework/jobs_util.go | 198 + .../test/e2e/framework/kubelet_stats.go | 5 +- .../test/e2e/framework/metrics_util.go | 41 +- .../test/e2e/framework/networking_utils.go | 4 +- .../test/e2e/framework/nodes_util.go | 48 +- .../kubernetes/test/e2e/framework/pods.go | 62 +- .../kubernetes/test/e2e/framework/pv_util.go | 690 + .../test/e2e/framework/service_util.go | 39 +- .../test/e2e/framework/statefulset_utils.go | 565 + .../test/e2e/framework/test_context.go | 14 +- .../test/e2e/framework/upgrade_util.go | 75 + .../kubernetes/test/e2e/framework/util.go | 723 +- .../kubernetes/test/e2e/garbage_collector.go | 296 +- .../test/e2e/generated_clientset.go | 80 +- .../kubernetes/test/e2e/gke_local_ssd.go | 2 +- .../test/e2e/horizontal_pod_autoscaling.go | 58 +- vendor/k8s.io/kubernetes/test/e2e/ingress.go | 110 +- .../kubernetes/test/e2e/ingress_utils.go | 1022 - .../kubernetes/test/e2e/initial_resources.go | 5 +- vendor/k8s.io/kubernetes/test/e2e/job.go | 263 +- vendor/k8s.io/kubernetes/test/e2e/kubectl.go | 72 +- vendor/k8s.io/kubernetes/test/e2e/kubelet.go | 301 +- .../kubernetes/test/e2e/kubelet_perf.go | 4 +- .../k8s.io/kubernetes/test/e2e/limit_range.go | 31 +- vendor/k8s.io/kubernetes/test/e2e/load.go | 22 +- vendor/k8s.io/kubernetes/test/e2e/mesos.go | 2 +- .../k8s.io/kubernetes/test/e2e/monitoring.go | 84 +- .../k8s.io/kubernetes/test/e2e/namespace.go | 2 +- .../kubernetes/test/e2e/network_partition.go | 209 +- .../test/e2e/node_problem_detector.go | 440 - .../kubernetes/test/e2e/nodeoutofdisk.go | 4 +- .../kubernetes/test/e2e/opaque_resource.go | 375 - vendor/k8s.io/kubernetes/test/e2e/pd.go | 165 +- .../test/e2e/persistent_volumes-disruptive.go | 64 +- .../test/e2e/persistent_volumes-vsphere.go | 169 + .../kubernetes/test/e2e/persistent_volumes.go | 816 +- vendor/k8s.io/kubernetes/test/e2e/pod_gc.go | 2 +- .../k8s.io/kubernetes/test/e2e/podpreset.go | 274 + vendor/k8s.io/kubernetes/test/e2e/pods.go | 9 +- .../k8s.io/kubernetes/test/e2e/portforward.go | 177 +- vendor/k8s.io/kubernetes/test/e2e/pre_stop.go | 2 +- vendor/k8s.io/kubernetes/test/e2e/proxy.go | 2 +- .../kubernetes/test/e2e/pv_reclaimpolicy.go | 196 + .../kubernetes/test/e2e/pvc_label_selector.go | 150 + vendor/k8s.io/kubernetes/test/e2e/rc.go | 6 +- .../k8s.io/kubernetes/test/e2e/replica_set.go | 6 +- .../kubernetes/test/e2e/resize_nodes.go | 4 +- .../kubernetes/test/e2e/resource_quota.go | 48 +- .../test/e2e/scheduler_predicates.go | 958 - .../kubernetes/test/e2e/scheduling/BUILD | 50 + .../kubernetes/test/e2e/scheduling/OWNERS | 4 + .../kubernetes/test/e2e/scheduling/events.go | 41 + .../test/e2e/scheduling/opaque_resource.go | 304 + .../test/e2e/scheduling/predicates.go | 983 + .../test/e2e/{ => scheduling}/rescheduler.go | 24 +- .../kubernetes/test/e2e/security_context.go | 2 +- vendor/k8s.io/kubernetes/test/e2e/service.go | 2 +- .../kubernetes/test/e2e/service_accounts.go | 151 +- .../kubernetes/test/e2e/service_latency.go | 2 +- .../k8s.io/kubernetes/test/e2e/statefulset.go | 714 +- .../k8s.io/kubernetes/test/e2e/taints_test.go | 321 + .../testing-manifests/ingress/nginx/rc.yaml | 2 +- .../statefulset/cockroachdb/statefulset.yaml | 10 - .../kubernetes/test/e2e/ubernetes_lite.go | 4 +- .../k8s.io/kubernetes/test/e2e/upgrades/BUILD | 61 + .../kubernetes/test/e2e/upgrades/apparmor.go | 112 + .../test/e2e/upgrades/configmaps.go | 147 + .../test/e2e/upgrades/daemonsets.go | 181 + .../test/e2e/upgrades/deployments.go | 166 + .../upgrades/horizontal_pod_autoscalers.go | 91 + .../kubernetes/test/e2e/upgrades/ingress.go | 125 + .../kubernetes/test/e2e/upgrades/job.go | 63 + .../test/e2e/upgrades/persistent_volumes.go | 100 + .../kubernetes/test/e2e/upgrades/secrets.go | 146 + .../kubernetes/test/e2e/upgrades/services.go | 102 + .../test/e2e/upgrades/statefulset.go | 113 + .../kubernetes/test/e2e/upgrades/sysctl.go | 140 + .../kubernetes/test/e2e/upgrades/upgrade.go | 83 + .../test/e2e/volume_provisioning.go | 421 +- vendor/k8s.io/kubernetes/test/e2e/volumes.go | 94 +- .../kubernetes/test/e2e/vsphere_utils.go | 268 + .../test/e2e/vsphere_volume_diskformat.go | 211 + .../test/e2e/vsphere_volume_placement.go | 236 + .../kubernetes/test/e2e_federation/BUILD | 32 +- .../test/e2e_federation/apiserver.go | 140 + .../kubernetes/test/e2e_federation/authn.go | 207 + .../test/e2e_federation/daemonset.go | 291 + .../test/e2e_federation/deployment.go | 300 + .../kubernetes/test/e2e_federation/event.go | 99 + .../e2e_federation/federated-daemonset.go | 290 - .../e2e_federation/federated-deployment.go | 306 - .../test/e2e_federation/federated-ingress.go | 492 - .../e2e_federation/federated-namespace.go | 234 - .../e2e_federation/federated-replicaset.go | 307 - .../test/e2e_federation/federated-secret.go | 272 - .../test/e2e_federation/federated-service.go | 376 - .../e2e_federation/federation-apiserver.go | 139 - .../test/e2e_federation/federation-authn.go | 115 - .../test/e2e_federation/federation-event.go | 99 - .../test/e2e_federation/federation-util.go | 531 - .../e2e_federation/framework/framework.go | 23 +- .../test/e2e_federation/framework/util.go | 45 + .../kubernetes/test/e2e_federation/ingress.go | 578 + .../test/e2e_federation/namespace.go | 267 + .../test/e2e_federation/replicaset.go | 532 + .../kubernetes/test/e2e_federation/secret.go | 271 + .../kubernetes/test/e2e_federation/service.go | 344 + .../kubernetes/test/e2e_federation/upgrade.go | 139 + .../test/e2e_federation/upgrades/BUILD | 28 + .../test/e2e_federation/upgrades/upgrade.go | 56 + .../kubernetes/test/e2e_federation/util.go | 566 + vendor/k8s.io/kubernetes/test/e2e_node/BUILD | 27 +- .../e2e_node/allocatable_eviction_test.go | 104 + .../kubernetes/test/e2e_node/apparmor_test.go | 4 +- .../test/e2e_node/cgroup_manager_test.go | 292 - .../test/e2e_node/conformance/build/Makefile | 2 +- .../test/e2e_node/conformance/run_test.sh | 4 +- .../kubernetes/test/e2e_node/container.go | 2 +- .../test/e2e_node/container_manager_test.go | 98 +- .../test/e2e_node/critical_pod_test.go | 148 + .../kubernetes/test/e2e_node/density_test.go | 24 +- .../test/e2e_node/disk_eviction_test.go | 11 +- .../dynamic_kubelet_configuration_test.go | 4 +- .../test/e2e_node/e2e_node_suite_test.go | 5 +- .../test/e2e_node/garbage_collector_test.go | 2 +- .../k8s.io/kubernetes/test/e2e_node/gpus.go | 150 + .../kubernetes/test/e2e_node/image_id_test.go | 2 +- .../kubernetes/test/e2e_node/image_list.go | 1 + .../test/e2e_node/inode_eviction_test.go | 45 +- .../jenkins/benchmark/benchmark-config.yaml | 6 +- .../benchmark/jenkins-benchmark.properties | 2 +- .../jenkins-conformance.properties | 2 +- .../cri_validation/benchmark-config.yaml | 16 +- .../jenkins/cri_validation/image-config.yaml | 11 +- .../test/e2e_node/jenkins/gci-init.yaml | 19 +- .../test/e2e_node/jenkins/image-config.yaml | 6 +- .../e2e_node/jenkins/jenkins-ci.properties | 2 +- .../e2e_node/jenkins/jenkins-flaky.properties | 3 +- .../jenkins/jenkins-memcg-serial.properties | 19 + .../e2e_node/jenkins/jenkins-pull.properties | 2 +- .../jenkins/jenkins-serial.properties | 2 +- .../non-cri_validation/benchmark-config.yaml | 58 + .../non-cri_validation/image-config.yaml | 14 + .../jenkins-benchmark.properties | 9 + .../jenkins-pull.properties | 8 + .../jenkins-serial.properties | 10 + .../jenkins-validation.properties | 8 + .../test/e2e_node/jenkins/template.properties | 2 +- .../kubernetes/test/e2e_node/kubelet_test.go | 6 +- .../test/e2e_node/lifecycle_hook_test.go | 10 +- .../test/e2e_node/memory_eviction_test.go | 358 +- .../test/e2e_node/mirror_pod_test.go | 2 +- .../e2e_node/node_container_manager_test.go | 247 + .../test/e2e_node/node_problem_detector.go | 445 + .../e2e_node/pods_container_manager_test.go | 306 + .../test/e2e_node/remote/node_e2e.go | 44 +- .../kubernetes/test/e2e_node/remote/ssh.go | 12 +- .../kubernetes/test/e2e_node/remote/utils.go | 2 +- .../test/e2e_node/resource_collector.go | 58 +- .../test/e2e_node/resource_usage_test.go | 2 +- .../kubernetes/test/e2e_node/restart_test.go | 2 +- .../test/e2e_node/runner/remote/run_remote.go | 5 +- .../test/e2e_node/runtime_conformance_test.go | 2 +- .../kubernetes/test/e2e_node/services/BUILD | 5 +- .../test/e2e_node/services/kubelet.go | 8 +- .../e2e_node/services/namespace_controller.go | 13 +- .../test/e2e_node/services/services.go | 4 +- .../kubernetes/test/e2e_node/summary_test.go | 152 +- .../test/e2e_node/system/cgroup_validator.go | 6 +- .../test/e2e_node/system/docker_validator.go | 33 +- .../e2e_node/system/docker_validator_test.go | 25 +- .../test/e2e_node/system/kernel_validator.go | 6 +- .../test/e2e_node/system/os_validator.go | 6 +- .../kubernetes/test/e2e_node/system/types.go | 2 +- .../test/e2e_node/system/validators.go | 40 +- .../k8s.io/kubernetes/test/e2e_node/util.go | 14 +- .../test/e2e_node/volume_manager_test.go | 2 +- .../user-guide/secrets/secret-pod.yaml | 2 +- .../test/fixtures/pkg/kubectl/OWNERS | 4 + .../kubectl/cmd/apply/deploy-clientside.yaml | 16 + .../kubectl/cmd/apply/deploy-serverside.yaml | 46 + .../fixtures/pkg/kubectl/cmd/apply/patch.json | 1 + .../pkg/kubectl/cmd/apply/rc-lastapplied.yaml | 21 + .../kubectl/cmd/apply/rc-no-annotation.yaml | 18 + .../pkg/kubectl/cmd/apply/rc-noexist.yaml | 18 + .../fixtures/pkg/kubectl/cmd/apply/rc.json | 33 + .../pkg/kubectl/cmd/apply/testdir/rc.yaml | 18 + .../pkg/kubectl/cmd/apply/testdir/rc1.yaml | 18 + .../kubectl/cmd/apply/widget-clientside.yaml | 8 + .../kubectl/cmd/apply/widget-serverside.yaml | 10 + .../pkg/kubectl/cmd/create/sar-v1.json | 16 + .../pkg/kubectl/cmd/create/sar-v1beta1.json | 16 + .../fixtures/pkg/kubectl/cmd/create/sar.json | 16 - .../kubectl/cmd/create/tokenreview-v1.json | 7 + ...enreview.json => tokenreview-v1beta1.json} | 0 .../test/images/mount-tester-user/Dockerfile | 2 +- .../test/images/mount-tester-user/Makefile | 2 +- .../test/images/mount-tester/Makefile | 5 +- .../test/images/serve_hostname/Makefile | 15 +- .../k8s.io/kubernetes/test/integration/BUILD | 1 - .../integration/apiserver/apiserver_test.go | 158 + .../test/integration/auth/auth_test.go | 8 +- .../test/integration/auth/rbac_test.go | 28 +- .../test/integration/client/client_test.go | 42 +- .../integration/client/dynamic_client_test.go | 4 +- .../defaulttolerationseconds_test.go | 104 + .../integration/discoverysummarizer/BUILD | 31 - .../discoverysummarizer_test.go | 116 - .../integration/evictions/evictions_test.go | 25 +- .../test/integration/examples/BUILD | 17 +- .../integration/examples/apiserver_test.go | 462 +- .../test/integration/federation/BUILD | 10 +- .../test/integration/federation/OWNERS | 16 + .../test/integration/federation/api_test.go | 381 + .../integration/federation/framework/BUILD | 37 + .../integration/federation/framework/api.go | 120 + .../integration/federation/framework/util.go | 35 + .../integration/federation/server_test.go | 404 - .../test/integration/framework/BUILD | 15 +- .../integration/framework/master_utils.go | 96 +- .../test/integration/framework/perf_utils.go | 2 +- .../garbage_collector_test.go | 225 +- .../test/integration/master/master_test.go | 112 +- .../test/integration/openshift/BUILD | 2 +- .../integration/openshift/openshift_test.go | 2 +- .../test/integration/quota/quota_test.go | 149 +- .../integration/replicaset/replicaset_test.go | 59 +- .../replicationcontroller_test.go | 46 +- .../integration/scheduler/extender_test.go | 150 +- .../integration/scheduler/scheduler_test.go | 139 +- .../test/integration/scheduler_perf/BUILD | 8 +- .../test/integration/scheduler_perf/README.md | 2 +- .../scheduler_perf/scheduler_bench_test.go | 11 +- .../scheduler_perf/scheduler_test.go | 69 +- .../test/integration/scheduler_perf/util.go | 46 +- .../serviceaccount/service_account_test.go | 27 +- .../storageclasses/storage_classes_test.go | 16 +- .../ttlcontroller/ttlcontroller_test.go | 141 + .../integration/volume/attach_detach_test.go | 52 +- .../volume/persistent_volumes_test.go | 88 +- vendor/k8s.io/kubernetes/test/kubemark/OWNERS | 8 + .../test/kubemark/cloud-provider-config.sh | 20 + .../k8s.io/kubernetes/test/kubemark/common.sh | 71 - .../test/kubemark/configure-kubectl.sh | 4 +- .../kubernetes/test/kubemark/gce/util.sh | 137 + .../kubemark/get-real-pod-for-hollow-node.sh | 18 - .../kubemark/resources/heapster_template.json | 14 +- .../resources/hollow-node_template.json | 211 - .../resources/hollow-node_template.yaml | 126 + .../kubemark/resources/kernel-monitor.json | 9 +- .../heapster-binding.yaml | 4 +- .../kubecfg-binding.yaml | 4 +- .../kubemark-rbac-bindings/npd-binding.yaml | 4 +- .../manifests/kube-addon-manager.yaml | 6 +- .../resources/manifests/kube-scheduler.yaml | 6 + .../resources/start-kubemark-master.sh | 58 +- .../kubernetes/test/kubemark/run-e2e-tests.sh | 15 +- .../kubernetes/test/kubemark/skeleton/util.sh | 62 + .../test/kubemark/start-kubemark.sh | 570 +- .../kubernetes/test/kubemark/stop-kubemark.sh | 54 +- .../kubernetes/test/soak/cauldron/BUILD | 2 +- .../kubernetes/test/soak/cauldron/cauldron.go | 2 +- .../test/soak/serve_hostnames/BUILD | 2 +- .../soak/serve_hostnames/serve_hostnames.go | 2 +- vendor/k8s.io/kubernetes/test/test_owners.csv | 1984 +- vendor/k8s.io/kubernetes/test/utils/BUILD | 9 +- .../k8s.io/kubernetes/test/utils/pod_store.go | 2 +- .../k8s.io/kubernetes/test/utils/runners.go | 61 +- vendor/k8s.io/kubernetes/third_party/BUILD | 4 +- .../third_party/forked/etcd221/README.md | 1 + .../forked/etcd221/pkg/fileutil/BUILD | 46 + .../forked/etcd221/pkg/fileutil/fileutil.go | 57 + .../etcd221/pkg/fileutil/fileutil_test.go | 67 + .../forked/etcd221/pkg/fileutil/lock_plan9.go | 90 + .../etcd221/pkg/fileutil/lock_solaris.go | 98 + .../forked/etcd221/pkg/fileutil/lock_test.go | 96 + .../forked/etcd221/pkg/fileutil/lock_unix.go | 76 + .../etcd221/pkg/fileutil/lock_windows.go | 71 + .../pkg/fileutil/perallocate_unsupported.go | 28 + .../etcd221/pkg/fileutil/preallocate.go | 42 + .../etcd221/pkg/fileutil/preallocate_test.go | 53 + .../forked/etcd221/pkg/fileutil/purge.go | 80 + .../forked/etcd221/pkg/fileutil/purge_test.go | 132 + .../third_party/forked/etcd221/wal/BUILD | 49 + .../third_party/forked/etcd221/wal/decoder.go | 103 + .../third_party/forked/etcd221/wal/doc.go | 68 + .../third_party/forked/etcd221/wal/encoder.go | 89 + .../third_party/forked/etcd221/wal/metrics.go | 37 + .../forked/etcd221/wal/multi_readcloser.go | 45 + .../third_party/forked/etcd221/wal/repair.go | 107 + .../third_party/forked/etcd221/wal/util.go | 93 + .../third_party/forked/etcd221/wal/wal.go | 548 + .../forked/etcd221/wal/walpb/BUILD | 31 + .../forked/etcd221/wal/walpb/record.go | 29 + .../forked/etcd221/wal/walpb/record.pb.go | 447 + .../forked/etcd221/wal/walpb/record.proto | 20 + .../third_party/forked/golang/json/BUILD | 27 - .../third_party/forked/golang/json/fields.go | 501 - .../third_party/forked/golang/netutil/BUILD | 27 - .../third_party/forked/golang/netutil/addr.go | 27 - .../k8s.io/kubernetes/translations/README.md | 34 +- .../k8s.io/kubernetes/translations/extract.py | 84 + .../kubernetes/translations/kubectl/OWNERS | 4 + .../kubectl/default/LC_MESSAGES/k8s.mo | Bin 1130 -> 27134 bytes .../kubectl/default/LC_MESSAGES/k8s.po | 846 +- .../kubectl/en_US/LC_MESSAGES/k8s.mo | Bin 1130 -> 27041 bytes .../kubectl/en_US/LC_MESSAGES/k8s.po | 864 +- .../kubectl/fr_FR/LC_MESSAGES/k8s.mo | Bin 0 -> 2645 bytes .../kubectl/fr_FR/LC_MESSAGES/k8s.po | 96 + .../translations/kubectl/template.pot | 619 + .../test/default/LC_MESSAGES/k8s.mo | Bin 628 -> 604 bytes .../test/default/LC_MESSAGES/k8s.po | 8 +- .../test/en_US/LC_MESSAGES/k8s.mo | Bin 628 -> 604 bytes .../test/en_US/LC_MESSAGES/k8s.po | 8 +- 6640 files changed, 417408 insertions(+), 541133 deletions(-) create mode 100644 vendor/k8s.io/apimachinery/Godeps/Godeps.json create mode 100644 vendor/k8s.io/apimachinery/Godeps/Readme delete mode 100644 vendor/k8s.io/apimachinery/filter-branch-sha create mode 100755 vendor/k8s.io/apimachinery/hack/godep-deps.sh create mode 100644 vendor/k8s.io/apimachinery/pkg/api/testing/codec.go delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/testing/register.go create mode 100644 vendor/k8s.io/apimachinery/pkg/api/testing/roundtrip.go create mode 100644 vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz.go create mode 100644 vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz_test.go create mode 100644 vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta.go create mode 100644 vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go create mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go create mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured_test.go create mode 100644 vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter.go create mode 100644 vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter_test.go create mode 100644 vendor/k8s.io/apimachinery/pkg/conversion/unstructured/doc.go create mode 100644 vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch.go create mode 100644 vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch_test.go create mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/errors.go create mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/util.go create mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/util_test.go create mode 100644 vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1.json create mode 100644 vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v2alpha1.json delete mode 100644 vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1alpha1.json create mode 100644 vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io.json create mode 100644 vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json create mode 100644 vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1.json delete mode 100644 vendor/k8s.io/kubernetes/build/build-image/cross/golang-patches/CL28857-go1.7.1-luxas.patch create mode 100644 vendor/k8s.io/kubernetes/build/debian-base/Dockerfile create mode 100644 vendor/k8s.io/kubernetes/build/debian-base/Dockerfile.build create mode 100755 vendor/k8s.io/kubernetes/build/debian-base/Makefile create mode 100644 vendor/k8s.io/kubernetes/build/debian-base/README.md create mode 100755 vendor/k8s.io/kubernetes/build/debian-base/clean-install create mode 100644 vendor/k8s.io/kubernetes/build/debian-base/excludes create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-cm.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-sa.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-configmap.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/Dockerfile delete mode 100644 vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/Makefile delete mode 100644 vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/fluent.conf delete mode 100755 vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/run.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/addons/node-problem-detector/node-problem-detector.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/node-problem-detector/npd.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/node-problem-detector/standalone/npd-binding.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/rbac/kube-apiserver-kubelet-api-admin-binding.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/rbac/kubelet-api-admin-role.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/storage-class/azure/default.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/addons/storage-class/vsphere/default.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/common/common.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/config-default.sh delete mode 100755 vendor/k8s.io/kubernetes/cluster/aws/config-test.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/jessie/util.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/options.md delete mode 100755 vendor/k8s.io/kubernetes/cluster/aws/templates/configure-vm-aws.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/templates/format-disks.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/templates/iam/kubernetes-master-policy.json delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/templates/iam/kubernetes-master-role.json delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/templates/iam/kubernetes-minion-policy.json delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/templates/iam/kubernetes-minion-role.json delete mode 100644 vendor/k8s.io/kubernetes/cluster/aws/wily/util.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/config-default.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/templates/common.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/templates/create-dynamic-salt-files.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/templates/create-kubeconfig.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/templates/download-release.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/templates/salt-master.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/templates/salt-minion.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure-legacy/util.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure/config-default.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/azure/util.sh create mode 100644 vendor/k8s.io/kubernetes/cluster/centos/master/scripts/post-etcd.sh create mode 100644 vendor/k8s.io/kubernetes/cluster/clientbin.sh create mode 100644 vendor/k8s.io/kubernetes/cluster/gce/OWNERS delete mode 100755 vendor/k8s.io/kubernetes/cluster/gce/debian/master-helper.sh create mode 100644 vendor/k8s.io/kubernetes/cluster/gce/gci/mounter/mounter.go delete mode 100644 vendor/k8s.io/kubernetes/cluster/gce/trusty/configure-helper.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/gce/trusty/configure.sh delete mode 100755 vendor/k8s.io/kubernetes/cluster/gce/trusty/helper.sh delete mode 100755 vendor/k8s.io/kubernetes/cluster/gce/trusty/master-helper.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/gce/trusty/master.yaml delete mode 100755 vendor/k8s.io/kubernetes/cluster/gce/trusty/node-helper.sh delete mode 100644 vendor/k8s.io/kubernetes/cluster/gce/trusty/node.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/images/etcd-version-monitor/Dockerfile create mode 100644 vendor/k8s.io/kubernetes/cluster/images/etcd-version-monitor/Makefile create mode 100644 vendor/k8s.io/kubernetes/cluster/images/etcd-version-monitor/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/images/etcd-version-monitor/etcd-version-monitor.go create mode 100644 vendor/k8s.io/kubernetes/cluster/images/etcd-version-monitor/etcd-version-monitor.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/images/kube-discovery/Dockerfile delete mode 100644 vendor/k8s.io/kubernetes/cluster/images/kube-discovery/Makefile delete mode 100644 vendor/k8s.io/kubernetes/cluster/images/kube-discovery/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/images/kubemark/OWNERS delete mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/OWNERS create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/config.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/copyright create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/icon.svg create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/layer.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/metadata.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/reactive/load_balancer.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubeapi-load-balancer/templates/apilb.conf create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/actions.yaml create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/actions/test create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/icon.svg create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/layer.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/metadata.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-e2e/reactive/kubernetes_e2e.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/actions.yaml create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/actions/create-rbd-pv create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/actions/restart create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/config.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/copyright create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/debug-scripts/kubectl create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/debug-scripts/kubernetes-master-services create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/icon.svg create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/layer.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/lib/charms/kubernetes/flagmanager.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/metadata.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/tactics/__init__.py create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/tactics/update_addons.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/ceph-secret.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/ceph.conf create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-apiserver.defaults create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-apiserver.service create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-controller-manager.defaults create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-controller-manager.service create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-defaults.defaults create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-scheduler.defaults create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/kube-scheduler.service create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-master/templates/rbd-persistent-volume.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/HACKING.md create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/README.md create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/actions.yaml create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/actions/microbot create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/actions/pause create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/actions/resume create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/config.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/copyright create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/debug-scripts/inotify create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/debug-scripts/kubectl create mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/debug-scripts/kubernetes-worker-services create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/exec.d/docker-compose/charm-pre-install create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/icon.svg create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/layer.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/lib/charms/kubernetes/flagmanager.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/metadata.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/default-http-backend.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/ingress-replication-controller.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/kube-default create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/kube-proxy.defaults create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/kube-proxy.service create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/kubelet.defaults create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/kubelet.service create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/templates/microbot-example.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes-worker/wheelhouse.txt delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/README.md delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/actions.yaml delete mode 100755 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/actions/guestbook-example delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/config.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/icon.svg delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/layer.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/metadata.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/reactive/k8s.py delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/templates/docker-compose.yml delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/templates/kubedns-controller.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/templates/kubedns-svc.yaml delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/templates/master.json delete mode 100644 vendor/k8s.io/kubernetes/cluster/juju/layers/kubernetes/tests/tests.yaml create mode 100644 vendor/k8s.io/kubernetes/cluster/kubemark/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/cluster/kubemark/config-default.sh create mode 100644 vendor/k8s.io/kubernetes/cluster/kubemark/gce/config-default.sh create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/OWNERS create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/app/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/app/gke_certificates_controller.go create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/app/gke_signer.go create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/app/gke_signer_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/app/options.go create mode 100644 vendor/k8s.io/kubernetes/cmd/gke-certificates-controller/main.go create mode 100644 vendor/k8s.io/kubernetes/cmd/hyperkube/kube-aggregator.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/legacy.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1.autoscaling.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1.batch.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1alpha1.certificates.k8s.io.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1alpha1.rbac.authorization.k8s.io.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1beta1.apps.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1beta1.authentication.k8s.io.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1beta1.authorization.k8s.io.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1beta1.extensions.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1beta1.policy.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/artifacts/core-apiservices/v1beta1.storage.k8s.io.yaml delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/config.json delete mode 100755 vendor/k8s.io/kubernetes/cmd/kube-aggregator/hack/build-image.sh delete mode 100755 vendor/k8s.io/kubernetes/cmd/kube-aggregator/hack/update-codegen.sh delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/main.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/install/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/install/install.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/register.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.conversion.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/validation/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/validation/validation.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apiserver/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/apiserver/apiserver.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/clientset.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/clientset_generated.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiregistration_client.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiregistration_client.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/clientset.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiregistration_client.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiregistration_client.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/interface.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/factory.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/generic.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/expansion_generated.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/expansion_generated.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/cmd/server/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/cmd/server/start.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy/apis/config/v1alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy/apis/config/v1alpha1/types.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy/discoverysummarizer.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy/doc.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/registry/apiservice/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/registry/apiservice/etcd/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kube-apiserver/app/preflight/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kube-apiserver/app/preflight/checks.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kube-apiserver/app/preflight/checks_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kube-controller-manager/app/bootstrap.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/app/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/app/handlers.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/app/handlers_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/app/model.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/app/routes.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kube-discovery/kubediscovery.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install/install_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/completion.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/flags/BUILD delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/flags/cloudprovider.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/certs.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/kubeconfig.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/phase.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/discovery/discovery_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/discovery/flags.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/discovery/flags_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/discovery/token/token_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/addons.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/addons_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/apiclient_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/discovery.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/discovery_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/templates.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/master/tokens.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/node/bootstrap.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/node/bootstrap_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/node/discovery.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/node/discovery_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/node/validate.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/node/validate_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/addons.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/addons_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/manifests.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/apiconfig/setupmaster.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/token/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/token/bootstrap.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/phases/token/bootstrap_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig/kubeconfig.go rename vendor/k8s.io/kubernetes/cmd/kubeadm/app/{phases => util}/kubeconfig/kubeconfig_test.go (85%) create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/template.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/template_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/token/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/token/tokens.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/token/tokens_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/tokens.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/app/util/tokens_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/test/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/test/cmd/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/test/cmd/init_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/test/cmd/join_test.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/test/cmd/token_test.go rename vendor/k8s.io/kubernetes/cmd/kubeadm/test/{ => cmd}/util.go (100%) delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubeadm/test/token_test.go delete mode 100644 vendor/k8s.io/kubernetes/cmd/kubelet/app/clientgo.go create mode 100644 vendor/k8s.io/kubernetes/cmd/kubemark/OWNERS create mode 100644 vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen/generators/scheme/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen/generators/scheme/generator_for_scheme.go create mode 100644 vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/register.go create mode 100644 vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme/BUILD create mode 100644 vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme/register.go rename vendor/k8s.io/kubernetes/{ => docs}/.generated_docs (93%) create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/authentication.k8s.io/v1/definitions.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/authentication.k8s.io/v1/operations.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/authorization.k8s.io/v1/definitions.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/authorization.k8s.io/v1/operations.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/autoscaling/v2alpha1/definitions.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/autoscaling/v2alpha1/operations.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/settings.k8s.io/v1alpha1/definitions.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/settings.k8s.io/v1alpha1/operations.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/storage.k8s.io/v1/definitions.html create mode 100755 vendor/k8s.io/kubernetes/docs/api-reference/storage.k8s.io/v1/operations.html rename vendor/k8s.io/kubernetes/docs/man/man1/{kubectl-edit-configmap.1 => kubectl-apply-set-last-applied.1} (100%) create mode 100644 vendor/k8s.io/kubernetes/docs/man/man1/kubectl-apply-view-last-applied.1 create mode 100644 vendor/k8s.io/kubernetes/docs/man/man1/kubectl-auth-can-i.1 create mode 100644 vendor/k8s.io/kubernetes/docs/man/man1/kubectl-auth.1 create mode 100644 vendor/k8s.io/kubernetes/docs/man/man1/kubectl-create-clusterrole.1 create mode 100644 vendor/k8s.io/kubernetes/docs/man/man1/kubectl-create-role.1 create mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_apply_set-last-applied.md create mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_apply_view-last-applied.md create mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_auth.md create mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_auth_can-i.md create mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_create_clusterrole.md create mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_create_role.md delete mode 100644 vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_edit_configmap.md create mode 100644 vendor/k8s.io/kubernetes/docs/yaml/kubectl/kubectl_auth.yaml delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/BUILD delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/README.md delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/apiserver.go delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/rest/BUILD delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/rest/reststorage.go delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/server/BUILD delete mode 100644 vendor/k8s.io/kubernetes/examples/apiserver/server/main.go create mode 100644 vendor/k8s.io/kubernetes/examples/cockroachdb/OWNERS create mode 100644 vendor/k8s.io/kubernetes/examples/oms/README.md create mode 100644 vendor/k8s.io/kubernetes/examples/oms/images/connected-resources.png create mode 100644 vendor/k8s.io/kubernetes/examples/oms/images/oms-container-solution.png create mode 100644 vendor/k8s.io/kubernetes/examples/oms/images/oms-portal.png create mode 100644 vendor/k8s.io/kubernetes/examples/oms/omsagent-daemonset.yaml delete mode 100644 vendor/k8s.io/kubernetes/examples/storage/cassandra/image/files/cassandra.list delete mode 100644 vendor/k8s.io/kubernetes/examples/storage/cassandra/image/files/java.list mode change 100644 => 100755 vendor/k8s.io/kubernetes/examples/storage/cassandra/image/files/run.sh delete mode 100644 vendor/k8s.io/kubernetes/examples/storage/hazelcast/hazelcast-controller.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/storage/hazelcast/hazelcast-deployment.yaml delete mode 100644 vendor/k8s.io/kubernetes/examples/storage/hazelcast/image/Dockerfile create mode 100755 vendor/k8s.io/kubernetes/examples/volumes/flexvolume/nfs create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/flexvolume/nginx-nfs.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/README.md create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-pod.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-pv.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-pvc.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-pvcpod.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-pvcsc.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-pvcscpod.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/portworx/portworx-volume-sc-high.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/scaleio/README.md create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/scaleio/pod-sc-pvc.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/scaleio/pod.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/scaleio/sc-pvc.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/scaleio/sc.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/scaleio/secret.yaml create mode 100644 vendor/k8s.io/kubernetes/examples/volumes/vsphere/vsphere-volume-sc-with-datastore.yaml delete mode 100644 vendor/k8s.io/kubernetes/federation/apis/core/conversion.go create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake/register.go create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme/BUILD create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme/register.go create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/fake/register.go delete mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/import_known_versions.go create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme/BUILD create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme/register.go create mode 100755 vendor/k8s.io/kubernetes/federation/cluster/upgrade.sh create mode 100755 vendor/k8s.io/kubernetes/federation/develop/kubefed.sh rename vendor/k8s.io/kubernetes/{build => federation/develop}/push-federation-images.sh (94%) create mode 100644 vendor/k8s.io/kubernetes/hack/e2e_test.go create mode 100755 vendor/k8s.io/kubernetes/hack/godep-restore.sh create mode 100755 vendor/k8s.io/kubernetes/hack/jenkins/build-federation.sh delete mode 100755 vendor/k8s.io/kubernetes/hack/local-up-discovery.sh create mode 100755 vendor/k8s.io/kubernetes/hack/print-workspace-status.sh create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/bar.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/foo-added-subfield.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/foo-deleted-subfield.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/foo-updated-subfield.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/foo.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/multi-tpr-list-added-field.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/multi-tpr-list-deleted-field.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/multi-tpr-list-updated-field.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/TPR/multi-tpr-list.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/null-propagation/deployment-l1.yaml create mode 100644 vendor/k8s.io/kubernetes/hack/testdata/null-propagation/deployment-l2.yaml delete mode 100755 vendor/k8s.io/kubernetes/hack/update-munge-docs.sh create mode 100755 vendor/k8s.io/kubernetes/hack/update-staging-godeps.sh create mode 100755 vendor/k8s.io/kubernetes/hack/update-translations.sh create mode 100644 vendor/k8s.io/kubernetes/hack/verify-flags/OWNERS create mode 100755 vendor/k8s.io/kubernetes/hack/verify-staging-godeps.sh delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/conversion.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/errors/storage/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/errors/storage/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/errors/storage/storage.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/meta.go create mode 100644 vendor/k8s.io/kubernetes/pkg/api/pod/util_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/api/resource/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/resource/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/resource/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/validation/genericvalidation/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/validation/genericvalidation/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/validation/genericvalidation/objectmeta.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/validation/genericvalidation/objectmeta_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/api/validation/path/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/apps/v1beta1/defaults_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authentication/v1/zz_generated.deepcopy.go rename vendor/k8s.io/kubernetes/{staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta => pkg/apis/authentication}/v1/zz_generated.defaults.go (100%) create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/types.generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/authorization/v1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/annotations.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/types.generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/install/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/install/install.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/v1alpha1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/validation/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/validation/validation.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/validation/validation_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/settings/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/util/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/util/helpers.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/apis/storage/v1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/bootstrap/api/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/bootstrap/api/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/bootstrap/api/types.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/BUILD delete mode 100755 vendor/k8s.io/kubernetes/pkg/client/cache/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/controller.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/controller_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/delta_fifo.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/delta_fifo_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/expiration_cache.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/expiration_cache_fakes.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/expiration_cache_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/fake_custom_store.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/fifo.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/fifo_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/index.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/index_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/listers.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/listwatch.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/mutation_detector.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/mutation_detector_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/processor_listener_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/reflector.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/reflector_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/shared_informer.go delete mode 100755 vendor/k8s.io/kubernetes/pkg/client/cache/store.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/store_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/thread_safe_store.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/undelta_store.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/cache/undelta_store_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/fake_deployment.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/fake_scale.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/scale.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/authentication_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/fake/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/fake/fake_authentication_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/fake/fake_tokenreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/fake/fake_tokenreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/tokenreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authentication/v1/tokenreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/authorization_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_authorization_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_localsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_localsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_selfsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_selfsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_subjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/fake/fake_subjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/localsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/localsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/selfsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/selfsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/subjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1/subjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/autoscaling_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/fake/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/fake/fake_autoscaling_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/fake/fake_horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1/horizontalpodautoscaler.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_job.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/job.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/fake/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/fake/fake_podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/fake/fake_settings_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/settings/v1alpha1/settings_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/fake/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/fake/fake_storage_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/fake/fake_storageclass.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/storage_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/storage/v1/storageclass.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake/register.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/import_known_versions.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/scheme/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/scheme/register.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/scheme/register_custom.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/fake/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/fake/fake_podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/fake/fake_settings_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/settings/internalversion/settings_client.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/v1beta1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/v1beta1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/v1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/autoscaling/v1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/internalversion/job.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v1/job.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v2alpha1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/batch/v2alpha1/job.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/v1beta1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/v1beta1/certificatesigningrequest.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/certificates/v1beta1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/configmap.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/endpoints.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/event.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/limitrange.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/namespace.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/node.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/pod.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/secret.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/service.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/componentstatus.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/configmap.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/endpoints.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/event.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/limitrange.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/namespace.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/node.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/persistentvolume.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/pod.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/podtemplate.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/resourcequota.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/secret.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/service.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/core/v1/serviceaccount.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/apps/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/apps/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/apps/v1beta1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/apps/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/apps/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/apps/v1beta1/statefulset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/v1/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/v2alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/v2alpha1/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/autoscaling/v2alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/v1/job.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/v2alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/v2alpha1/cronjob.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/batch/v2alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/certificates/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/certificates/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/certificates/v1beta1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/certificates/v1beta1/certificatesigningrequest.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/certificates/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/componentstatus.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/configmap.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/endpoints.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/event.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/limitrange.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/namespace.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/node.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/persistentvolume.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/persistentvolumeclaim.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/pod.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/podtemplate.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/replicationcontroller.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/resourcequota.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/secret.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/service.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1/serviceaccount.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/daemonset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/ingress.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/podsecuritypolicy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/replicaset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/extensions/v1beta1/thirdpartyresource.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/factory.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/generic.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/internalinterfaces/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/policy/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/policy/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/policy/v1beta1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/policy/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/policy/v1beta1/poddisruptionbudget.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1alpha1/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1alpha1/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1alpha1/role.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1alpha1/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1beta1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1beta1/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1beta1/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1beta1/role.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/rbac/v1beta1/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/settings/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/settings/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/settings/v1alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/settings/v1alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/settings/v1alpha1/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/v1/storageclass.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/v1beta1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/storage/v1beta1/storageclass.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/factory.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/generic.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/apps/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/apps/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/apps/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/apps/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/apps/internalversion/statefulset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/autoscaling/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/autoscaling/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/autoscaling/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/autoscaling/internalversion/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/autoscaling/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/batch/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/batch/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/batch/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/batch/internalversion/cronjob.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/batch/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/batch/internalversion/job.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/certificates/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/certificates/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/certificates/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/certificates/internalversion/certificatesigningrequest.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/certificates/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/componentstatus.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/configmap.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/endpoints.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/event.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/limitrange.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/namespace.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/node.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/persistentvolume.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/persistentvolumeclaim.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/pod.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/podtemplate.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/replicationcontroller.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/resourcequota.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/secret.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/service.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/core/internalversion/serviceaccount.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/daemonset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/deployment.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/ingress.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/networkpolicy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/podsecuritypolicy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/replicaset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/extensions/internalversion/thirdpartyresource.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/factory.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/generic.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/internalinterfaces/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/policy/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/policy/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/policy/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/policy/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/policy/internalversion/poddisruptionbudget.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/internalversion/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/internalversion/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/internalversion/role.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/rbac/internalversion/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/settings/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/settings/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/settings/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/settings/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/settings/internalversion/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/storage/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/storage/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/storage/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/storage/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/storage/internalversion/storageclass.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/v1beta1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/v1beta1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/internalversion/role.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1alpha1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1beta1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrole.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1beta1/clusterrolebinding.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1beta1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1beta1/role.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac/v1beta1/rolebinding.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/internalversion/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/internalversion/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/v1beta1/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/v1beta1/interface.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/legacylisters/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/legacylisters/listers.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/legacylisters/listers_core.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/legacylisters/listers_extensions.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/legacylisters/listers_rbac.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/legacylisters/listers_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/apps/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/apps/v1beta1/scale.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authentication/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authentication/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authentication/v1/tokenreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authorization/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authorization/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authorization/v1/localsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authorization/v1/selfsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/authorization/v1/subjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/autoscaling/v2alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/autoscaling/v2alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/autoscaling/v2alpha1/horizontalpodautoscaler.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/batch/v2alpha1/job.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/settings/internalversion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/settings/internalversion/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/settings/internalversion/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/settings/v1alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/settings/v1alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/settings/v1alpha1/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/storage/v1/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/storage/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/listers/storage/v1/storageclass.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/BUILD delete mode 100755 vendor/k8s.io/kubernetes/pkg/client/record/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/event.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/event_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/events_cache.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/events_cache_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/record/fake.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/restclient/fake/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/restclient/fake/fake.go delete mode 100755 vendor/k8s.io/kubernetes/pkg/client/testing/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/cache/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/cache/fake_controller_source.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/cache/fake_controller_source_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/core/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/core/actions.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/core/fake.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/core/fake_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/testing/core/fixture.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/tests/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/client/tests/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/client/tests/fake_client_test.go rename vendor/k8s.io/kubernetes/pkg/client/{cache => tests}/listwatch_test.go (92%) create mode 100644 vendor/k8s.io/kubernetes/pkg/client/tests/portfoward_test.go delete mode 100755 vendor/k8s.io/kubernetes/pkg/client/typed/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/discovery_client.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/discovery_client_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/fake/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/fake/discovery.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/helper.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/helper_blackbox_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/restmapper.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/restmapper_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/discovery/unstructured.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/dynamic/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/dynamic/client.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/dynamic/client_pool.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/dynamic/client_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/dynamic/dynamic_util.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/typed/dynamic/dynamic_util_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/unversioned/portforward/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/unversioned/portforward/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/unversioned/portforward/portforward.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/client/unversioned/portforward/portforward_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/cloudprovider/providers/aws/tags.go create mode 100644 vendor/k8s.io/kubernetes/pkg/cloudprovider/providers/aws/tags_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/cloudprovider/providers/gce/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere/vsphere_util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/bootstrapsigner.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/bootstrapsigner_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/common_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/jws.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/jws_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/tokencleaner.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/tokencleaner_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/bootstrap/util_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/certificates/certificate_controller_test.go create mode 100755 vendor/k8s.io/kubernetes/pkg/controller/cronjob/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/daemon/update.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/daemon/update_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/daemon/util/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/daemon/util/daemonset_util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/daemon/util/daemonset_util_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/deployment/progress_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/garbagecollector/errors.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/garbagecollector/graph.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/garbagecollector/graph_builder.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/garbagecollector/operations.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/garbagecollector/patch.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/BUILD delete mode 100755 vendor/k8s.io/kubernetes/pkg/controller/informers/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/batch.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/core.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/extensions.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/factory.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/generic.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/rbac.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/informers/storage.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/namespace/deletion/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/namespace/deletion/namespaced_resources_deleter.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/namespace/deletion/namespaced_resources_deleter_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/namespace/namespace_controller_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/namespace/namespace_controller_utils.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/node/taint_controller.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/node/taint_controller_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/node/timed_workers.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/node/timed_workers_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/legacy_horizontal_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/legacy_replica_calculator_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/legacy_metrics_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/legacy_metrics_client_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/metrics_client.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/metrics_client_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/rest_metrics_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/metrics/rest_metrics_client_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/podautoscaler/rate_limitters.go delete mode 100755 vendor/k8s.io/kubernetes/pkg/controller/scheduledjob/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/fakes.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/identity_mappers.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/identity_mappers_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/iterator.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/iterator_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/stateful_pod_control.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/stateful_pod_control_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/stateful_set_control.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/stateful_set_control_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/stateful_set_utils_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/statefulpod.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/controller/statefulset/statefulpod_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/ttl/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/ttl/ttlcontroller.go create mode 100644 vendor/k8s.io/kubernetes/pkg/controller/ttl/ttlcontroller_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/features/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/features/kube_features.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/authenticator/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/authenticator/delegating.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/authorizer/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/authorizer/delegating.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/apiserver_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/discovery.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/filters/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/filters/audit.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/filters/authorization.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/filters/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/discovery.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/patch.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/proxy.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/responsewriters/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/responsewriters/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/rest.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/rest_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/openapi/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/openapi/openapi.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/proxy_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/endpoints/testing/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/options.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry/storage_factory.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry/store.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry/store_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/rest/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/rest/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/rest/proxy.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/generic/rest/proxy_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/rest/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/rest/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/rest/meta.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/rest/rest.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/rest/resttest/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/registry/rest/update.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/config.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/config_selfclient.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/filters/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/filters/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/filters/timeout.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/mux/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/mux/container.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/openapi/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/openapi/openapi.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/openapi/openapi_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/authentication.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/authorization.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/etcd.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/server_run_options.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/options/serving.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/routes/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/routes/data/swagger/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/routes/index.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/routes/metrics.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/routes/openapi.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/routes/swagger.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/serve_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/server_run_options_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/storage_factory.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/genericapiserver/server/storage_factory_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/admission/config.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes/modes.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes/modes_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/options/api_enablement.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/options/serving.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/options/storage_versions.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubeapiserver/options/storage_versions_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/apply_set_last_applied.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/apply_view_last_applied.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/auth/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/auth/auth.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/auth/cani.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/auth/cani_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/create_clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/create_clusterrole_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/create_role.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/create_role_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/edit_configmap.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/edit_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/README create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/record.go create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/record_editor.sh create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/record_testcase.sh create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/test_editor.sh create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/0.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/0.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/1.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/1.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/2.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/2.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/3.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/3.response create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/svc.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list-error/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/0.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/0.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/1.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/1.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/2.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/2.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/3.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/3.response create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/svc.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-create-list/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/2.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/3.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/3.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/4.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/4.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-edit-error-reedit/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-immutable-name/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-immutable-name/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-immutable-name/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-immutable-name/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-immutable-name/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/1.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/1.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/10.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/10.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/2.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/2.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/3.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/3.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/4.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/4.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/5.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/5.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/6.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/6.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/7.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/7.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/8.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/8.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/9.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/9.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-errors/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/1.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/1.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/2.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/2.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/3.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/3.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/4.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/4.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list-record/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/1.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/1.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/2.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/2.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/3.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/3.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/4.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/4.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-list/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-missing-service/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-missing-service/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-missing-service/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-no-op/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-no-op/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-no-op/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-no-op/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-no-op/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/2.response create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-not-update-annotation/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/2.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/3.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/3.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-repeat-error/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/1.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/1.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/2.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/3.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/3.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/4.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/4.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/5.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/5.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/6.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/6.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-schemaless-list/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/2.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-single-service/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/2.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/2.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/3.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/3.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-syntax-error/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/2.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-unknown-version-known-group-kind/test.yaml create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/0.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/0.response create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/1.edited create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/1.original create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/2.request create mode 100755 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/2.response create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/testdata/edit/testcase-update-annotation/test.yaml create mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/cmd/util/factory_object_mapping_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/custom_column_printer.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/custom_column_printer_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/describe_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/resource_printer.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/resource_printer_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubectl/sorted_resource_name_list.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/certificate/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/certificate/certificate_manager.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/certificate/certificate_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/certificate/certificate_store.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/certificate/certificate_store_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/cm/cgroup_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/cm/node_container_manager.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/cm/node_container_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/cm/qos_container_manager_linux.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/container/testing/fake_runtime_helper.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/checkpoint_store.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/checkpoint_store_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_checkpoint.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_checkpoint_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_legacy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/docker_legacy_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/errors/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/errors/errors.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/testing/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/testing/util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/kube_docker_client_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/securitycontext/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/securitycontext/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/securitycontext/fake.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/securitycontext/provider.go rename vendor/k8s.io/kubernetes/pkg/{ => kubelet/dockertools}/securitycontext/provider_test.go (93%) create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/securitycontext/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/dockertools/securitycontext/util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/eviction/api/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/eviction/api/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/gpu_manager_stub.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/nvidia/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/nvidia/helpers.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/nvidia/nvidia_gpu_manager.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/nvidia/nvidia_gpu_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/gpu/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_pods_windows_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/lifecycle/admission_failure_handler_stub.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/hostport/hostport_manager.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/hostport/hostport_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/hostport/hostport_syncer.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/hostport/hostport_syncer_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/mock_network/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/mock_network/network_plugins.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/plugins_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/testing/mock_network_plugin.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/network/testing/plugins_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/preemption/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/preemption/preemption.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/preemption/preemption_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/server/portforward/httpstream.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/server/portforward/httpstream_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/server/portforward/portforward_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/server/portforward/websocket.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/server/portforward/websocket_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/server/server_websocket_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/status/testing/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/status/testing/fake_pod_deletion_safety.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/util/csr/csr_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubelet/util/util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/kubemark/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/master/client_ca_hook.go create mode 100644 vendor/k8s.io/kubernetes/pkg/master/client_ca_hook_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/.import-restrictions create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/common.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/customcolumn.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/customcolumn_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/humanreadable.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/interface.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/internalversion/.import-restrictions create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/internalversion/BUILD rename vendor/k8s.io/kubernetes/pkg/{kubectl => printers/internalversion}/describe.go (83%) create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/internalversion/describe_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers_test.go rename vendor/k8s.io/kubernetes/pkg/{kubectl => printers/internalversion}/sorted_resource_name_list_test.go (98%) create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/json.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/jsonpath.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/name.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/printers.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/tabwriter.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/template.go create mode 100644 vendor/k8s.io/kubernetes/pkg/printers/versioned.go create mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/util/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/util/conntrack.go create mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/util/conntrack_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/winuserspace/port_allocator.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/winuserspace/port_allocator_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/winuserspace/proxysocket_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/proxy/winuserspace/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/authorization/subjectaccessreview/rest_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/authorization/util/helpers_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/controller/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/controller/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/controller/registry.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/controller/storage/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/controller/storage/storage.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/controller/strategy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/replicationcontroller/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/replicationcontroller/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/replicationcontroller/registry.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/replicationcontroller/storage/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/replicationcontroller/storage/storage.go rename vendor/k8s.io/kubernetes/pkg/registry/core/{controller => replicationcontroller}/storage/storage_test.go (95%) create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/core/replicationcontroller/strategy.go rename vendor/k8s.io/kubernetes/pkg/registry/core/{controller => replicationcontroller}/strategy_test.go (99%) create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/clusterrole_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/clusterrolebinding_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/reconcile_role.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/reconcile_role_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/reconcile_rolebindings.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/reconcile_rolebindings_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/role_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/rbac/reconciliation/rolebinding_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/registrytest/shortNamesProvider.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/podpreset/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/podpreset/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/podpreset/registry.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/podpreset/storage/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/podpreset/storage/storage.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/podpreset/strategy.go create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/rest/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/registry/settings/rest/storage_settings.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/securitycontext/provider.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/securitycontext/types.go create mode 100644 vendor/k8s.io/kubernetes/pkg/serviceaccount/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/etcd_helper_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/etcd_watcher_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/etcdtest/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/etcdtest/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/testing/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/testing/testingcert/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/testing/utils.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/util/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd/util/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd3/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd3/store.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/etcd3/store_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/storagebackend/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/storagebackend/config.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/storagebackend/factory/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/storagebackend/factory/factory.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/storagebackend/factory/tls_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/testing/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/testing/utils.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/storage/util.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/config/configuration_map.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/config/feature_gate.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/config/feature_gate_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/config/namedcertkey_flag.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/flag/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/httpstream_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/spdy/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/spdy/connection.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/spdy/roundtripper.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/httpstream/spdy/upgrade.go create mode 100644 vendor/k8s.io/kubernetes/pkg/util/intstr/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/intstr/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/intstr/generated.proto create mode 100644 vendor/k8s.io/kubernetes/pkg/util/ipconfig/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/util/ipconfig/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/util/ipconfig/ipconfig.go create mode 100644 vendor/k8s.io/kubernetes/pkg/util/ipconfig/ipconfig_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/util/mount/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/proxy/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/proxy/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/strategicpatch/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/strategicpatch/patch.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/strategicpatch/patch_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/trace.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/trie.go create mode 100644 vendor/k8s.io/kubernetes/pkg/util/uuid/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/workqueue/BUILD delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/workqueue/delaying_queue_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/workqueue/doc.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/workqueue/queue_test.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/util/workqueue/timed_queue_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/attacher-defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/attacher.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/attacher_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/common_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/detacher-defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/detacher.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/detacher_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/driver-call.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/flexvolume.go delete mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/flexvolume_util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/mounter-defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/mounter.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/mounter_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/plugin-defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/plugin.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/plugin_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/probe.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/unmounter-defaults.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/unmounter.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/unmounter_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/flexvolume/volume.go mode change 100644 => 100755 vendor/k8s.io/kubernetes/pkg/volume/iscsi/iscsi_util.go mode change 100644 => 100755 vendor/k8s.io/kubernetes/pkg/volume/iscsi/iscsi_util_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/portworx/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/portworx/OWNERS create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/portworx/doc.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/portworx/portworx.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/portworx/portworx_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/portworx/portworx_util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/projected/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/projected/projected.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/projected/projected_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_client.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_mgr.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_mgr_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_plugin.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_util.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_util_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_volume.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/scaleio/sio_volume_test.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/validation/BUILD create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/validation/pv_validation.go create mode 100644 vendor/k8s.io/kubernetes/pkg/volume/validation/pv_validation_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/cmd/kube-scheduler/app/configurator.go create mode 100644 vendor/k8s.io/kubernetes/plugin/cmd/kube-scheduler/app/configurator_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/admission.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/admission_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/podpreset/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/podpreset/admission.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/podpreset/admission_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/BUILD create mode 100755 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/OWNERS create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/doc.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/install/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/install/install.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/register.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/types.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/validation/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/validation/validation.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/validation/validation_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/config.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/admission/serviceaccount/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/doc.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/password/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/password/allow/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/password/doc.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/password/keystone/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/password/keystone/doc.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/password/passwordfile/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/request/basicauth/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/anytoken/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap/BUILD create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap_test.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/oidc/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/oidc/testing/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/tokentest/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/webhook/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/webhook/webhook.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/webhook/webhook_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/namespace_policy.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/namespace-role-bindings.yaml create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/namespace-roles.yaml delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authorizer/webhook/BUILD delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authorizer/webhook/webhook.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/auth/authorizer/webhook/webhook_test.go delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/listers.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/metadata_test.go mode change 100755 => 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/scheduler_interface_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider/defaults/defaults_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/core/BUILD rename vendor/k8s.io/kubernetes/plugin/pkg/scheduler/{ => core}/equivalence_cache.go (98%) create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/core/extender.go rename vendor/k8s.io/kubernetes/plugin/pkg/scheduler/{ => core}/extender_test.go (94%) rename vendor/k8s.io/kubernetes/plugin/pkg/scheduler/{ => core}/generic_scheduler.go (98%) rename vendor/k8s.io/kubernetes/plugin/pkg/scheduler/{ => core}/generic_scheduler_test.go (96%) delete mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/extender.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache/reconcile_affinity.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache/reconcile_affinity_test.go create mode 100644 vendor/k8s.io/kubernetes/plugin/pkg/scheduler/testing/fake_lister.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/Godeps/Godeps.json create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/Godeps/Readme create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/equality/semantic.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/OWNERS (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/amount.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/amount_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/math.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/math_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/quantity.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/quantity_example_test.go (97%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/quantity_proto.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/quantity_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/scale_int.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/scale_int_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/resource/suffix.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/testing/codec.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/testing/fuzzer.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/testing/roundtrip.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/testing/valuefuzz.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/testing/valuefuzz_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/validation/path/name.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/api/validation/path/name_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/conversion/unstructured/converter.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/conversion/unstructured/converter_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/conversion/unstructured/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/httpstream/doc.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/httpstream/httpstream.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/httpstream/httpstream_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/httpstream/spdy/connection.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/httpstream/spdy/connection_test.go (98%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/httpstream/spdy/roundtripper.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/httpstream/spdy/roundtripper_test.go (99%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/httpstream/spdy/upgrade.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/httpstream/spdy/upgrade_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/intstr/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/intstr/generated.proto rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/intstr/intstr.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/intstr/intstr_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/mergepatch/errors.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/mergepatch/util.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/mergepatch/util_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apimachinery}/pkg/util/uuid/uuid.go (99%) rename vendor/k8s.io/kubernetes/staging/src/k8s.io/{client-go/pkg => apimachinery}/third_party/forked/golang/json/fields.go (100%) rename vendor/k8s.io/kubernetes/staging/src/k8s.io/{client-go/pkg => apimachinery}/third_party/forked/golang/netutil/addr.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/Godeps/Godeps.json create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/Godeps/Readme create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/OWNERS create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/admission/config.go rename vendor/k8s.io/kubernetes/{pkg/kubeapiserver => staging/src/k8s.io/apiserver/pkg}/admission/config_test.go (83%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/install/install.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/fuzzer/fuzzer.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/install/install.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/types.generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/authenticatorfactory/delegating.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/authenticator => staging/src/k8s.io/apiserver/pkg/authentication/authenticatorfactory}/loopback.go (81%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/authenticator => staging/src/k8s.io/apiserver/pkg/authentication/authenticatorfactory}/requestheader.go (97%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/group/authenticated_group_adder.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/authorizer => staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory}/OWNERS (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/authorizer => staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory}/authz_test.go (98%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/authorizer => staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory}/builtin.go (99%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory/delegating.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/OWNERS rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/apiserver.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/apiserver_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/discovery.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/OWNERS (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/filters/audit.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/audit_test.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/authentication.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/authentication_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/filters/authorization.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/authorization_test.go (96%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/filters/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/impersonation.go (97%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/impersonation_test.go (99%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/requestinfo.go (94%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/filters/requestinfo_test.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/groupversion.go (93%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/discovery.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/patch.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/proxy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/handlers/responsewriters/errors.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/handlers/responsewriters/status.go (98%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/handlers/responsewriters/status_test.go (91%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/handlers/responsewriters/writers.go (98%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/handlers/watch.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/installer.go (97%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/installer_test.go (98%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/metrics/metrics_test.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/openapi/OWNERS (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/openapi/openapi.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/openapi/openapi_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints/proxy_test.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/testing/OWNERS (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/testing/types.generated.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/testing/types.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/endpoints/watch_test.go (88%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/features/kube_features.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/OWNERS (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/matcher.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/options.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/registry/decorated_watcher.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/registry/decorated_watcher_test.go (88%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/registry/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/registry/storage_factory.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/registry/store.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/registry/store_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/rest/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/rest/proxy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/generic/rest/proxy_test.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/rest/response_checker.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/rest/response_checker_test.go (98%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/rest/streamer.go (97%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/rest/streamer_test.go (97%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/generic/storage_decorator.go (91%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/rest/OWNERS (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/rest/create.go (98%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/rest/delete.go (96%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/rest/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/rest/export.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/rest/meta.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/rest/meta_test.go (89%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/rest/rest.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/registry/rest/resttest/resttest.go (83%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/registry/rest/update.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/OWNERS create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/config.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/config_selfclient.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/discovery.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/OWNERS (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/cors.go (88%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/cors_test.go (82%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/filters/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/longrunning.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/maxinflight.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/maxinflight_test.go (99%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/filters/timeout.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/filters/timeout_test.go (85%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/server/filters/panics.go => staging/src/k8s.io/apiserver/pkg/server/filters/wrap.go} (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/genericapiserver.go (82%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/genericapiserver_test.go (79%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/healthz.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/hooks.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/mux/OWNERS (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/mux/container.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/mux/container_test.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/mux/doc.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/mux/pathrecorder.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/openapi/OWNERS (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/openapi/doc.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/openapi/openapi.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/openapi/openapi_test.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/openapi/util.go (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/options/OWNERS (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/audit.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/authentication.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/authorization.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/etcd.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/feature.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/recommended.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/server_run_options.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/serving.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/options/serving_test.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/OWNERS (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/data/README.md (100%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/data/swagger/datafile.go (99%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/doc.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/routes/index.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/routes/metrics.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/routes/openapi.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/profiling.go (91%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/routes/swagger.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/swaggerui.go (90%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/routes/version.go (92%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver => staging/src/k8s.io/apiserver/pkg}/server/serve.go (95%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/storage/doc.go rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/server => staging/src/k8s.io/apiserver/pkg/server/storage}/resource_config.go (99%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/server => staging/src/k8s.io/apiserver/pkg/server/storage}/resource_config_test.go (99%) rename vendor/k8s.io/kubernetes/{pkg/genericapiserver/server => staging/src/k8s.io/apiserver/pkg/server/storage}/resource_encoding_config.go (76%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/storage/storage_codec.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory_test.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/OWNERS (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/cacher.go (96%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/cacher_whitebox_test.go (94%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/doc.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/errors.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/errors/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/errors/storage.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/OWNERS (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/api_object_versioner.go (98%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/api_object_versioner_test.go (97%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd/doc.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/etcd_helper.go (77%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd/etcd_helper_test.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/etcd_watcher.go (95%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd/etcd_watcher_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd/etcdtest/doc.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/etcdtest/etcdtest.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/testing/testingcert/certificates.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd/testing/utils.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd/util/doc.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/util/etcd_util.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd/util/etcd_util_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd3/OWNERS (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd3/compact.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd3/compact_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd3/event.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd3/store.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/etcd3/store_test.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd3/watcher.go (94%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/etcd3/watcher_test.go (83%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/interfaces.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/selection_predicate.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/selection_predicate_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/storagebackend/OWNERS (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/config.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/storagebackend/factory/etcd2.go (92%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/storagebackend/factory/etcd3.go (82%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/tls_test.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/testing/OWNERS (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/testing/types.generated.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/testing/types.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/testing/utils.go rename vendor/k8s.io/kubernetes/{pkg/storage => staging/src/k8s.io/apiserver/pkg/storage/tests}/cacher_test.go (79%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/tests/utils.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/time_budget.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/time_budget_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/storage/util.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/util_test.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/watch_cache.go (98%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/storage/watch_cache_test.go (91%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/feature/feature_gate.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/feature/feature_gate_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/flag/configuration_map.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/flag/flags.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/flag/namedcertkey_flag.go rename vendor/k8s.io/kubernetes/{pkg/util/config => staging/src/k8s.io/apiserver/pkg/util/flag}/namedcertkey_flag_test.go (99%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/flag/string_flag.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/flag/tristate.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/logs/logs.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/proxy/dial.go (98%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/proxy/dial_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/proxy/doc.go rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/proxy/transport.go (100%) rename vendor/k8s.io/kubernetes/{ => staging/src/k8s.io/apiserver}/pkg/util/proxy/transport_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/trace/trace.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/util/trie/trie.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authenticator/doc.go rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/password/allow/allow.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/password/allow/allow_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authenticator/password/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authenticator/password/keystone/doc.go rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/password/keystone/keystone.go (97%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/password/passwordfile/passwordfile.go (99%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/password/passwordfile/passwordfile_test.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/request/basicauth/basicauth.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/request/basicauth/basicauth_test.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/anytoken/anytoken.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/anytoken/anytoken_test.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/oidc/OWNERS (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/oidc/oidc.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/oidc/oidc_test.go (99%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/oidc/testing/provider.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/tokentest/tokentest.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authenticator/token/webhook/certs_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authenticator/token/webhook/webhook.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authenticator/token/webhook/webhook_test.go rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authorizer/webhook/certs_test.go (100%) rename vendor/k8s.io/kubernetes/{plugin/pkg/auth => staging/src/k8s.io/apiserver/plugin/pkg}/authorizer/webhook/gencerts.sh (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authorizer/webhook/webhook.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/plugin/pkg/authorizer/webhook/webhook_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/compute/metadata/metadata.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/cloud.google.com/go/internal/cloud.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/purell/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/purell/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/purell/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/purell/purell.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/urlesc/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/urlesc/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/PuerkitoBio/urlesc/urlesc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/NOTICE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/http/client.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/http/http.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/http/url.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/claims.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/jose.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/jwk.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/jws.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/jwt.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/sig.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/sig_hmac.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/jose/sig_rsa.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/key/key.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/key/manager.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/key/repo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/key/rotate.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/key/sync.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oauth2/error.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oauth2/oauth2.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/client.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/identity.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/interface.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/key.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/provider.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/transport.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/util.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/go-oidc/oidc/verification.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/NOTICE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/health/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/health/health.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/httputil/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/httputil/cookie.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/httputil/json.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/coreos/pkg/timeutil/backoff.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/bypass.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/bypasssafe.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/common.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/config.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/dump.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/format.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/davecgh/go-spew/spew/spew.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/digest/digest.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/digest/digester.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/digest/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/digest/set.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/digest/verifiers.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/reference/reference.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/distribution/reference/regexp.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/CONTRIBUTING.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/LICENSE.docs delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/MAINTAINERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/connection.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/handlers.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/priority.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/spdy/dictionary.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/spdy/read.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/spdy/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/spdy/write.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/stream.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/docker/spdystream/utils.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/CHANGES.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/Srcfile delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/compress.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/compressor_cache.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/compressor_pools.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/compressors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/constants.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/container.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/cors_filter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/curly.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/curly_route.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/entity_accessors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/filter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/jsr311.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/log/log.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/logger.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/mime.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/options_filter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/parameter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/path_expression.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/request.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/response.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/route.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/route_builder.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/router.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/service_error.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/CHANGES.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/api_declaration_list.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/config.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/model_builder.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/model_list.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/model_property_ext.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/model_property_list.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/ordered_route_map.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/swagger.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/swagger_builder.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/swagger/swagger_webservice.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/web_service.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/emicklei/go-restful/web_service_container.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ghodss/yaml/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ghodss/yaml/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ghodss/yaml/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ghodss/yaml/fields.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ghodss/yaml/yaml.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonpointer/.drone.sec delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonpointer/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonpointer/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonpointer/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonpointer/pointer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonreference/.drone.sec delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonreference/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonreference/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonreference/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/jsonreference/reference.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/.drone.sec delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/bindata.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/contact_info.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/expander.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/external_docs.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/header.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/info.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/items.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/license.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/operation.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/parameter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/path_item.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/paths.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/ref.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/response.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/responses.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/schema.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/security_scheme.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/spec.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/swagger.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/tag.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/spec/xml_object.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/.drone.sec delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/convert.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/convert_types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/json.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/loading.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/net.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/path.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/go-openapi/swag/util.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/Makefile delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/clone.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/decode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/decode_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/encode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/encode_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/equal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/extensions.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/extensions_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/lib.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/lib_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/message_set.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/pointer_reflect.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/properties.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/properties_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/skip_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/text.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/text_gogo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/proto/text_parser.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/gogo/protobuf/sortkeys/sortkeys.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/glog/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/glog/README delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/glog/glog.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/glog/glog_file.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/groupcache/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/groupcache/lru/lru.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/Makefile delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/clone.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/decode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/encode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/equal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/extensions.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/lib.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/message_set.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/pointer_reflect.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/pointer_unsafe.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/properties.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/text.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/golang/protobuf/proto/text_parser.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/google/gofuzz/CONTRIBUTING.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/google/gofuzz/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/google/gofuzz/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/google/gofuzz/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/google/gofuzz/fuzz.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/howeyc/gopass/LICENSE.txt delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/howeyc/gopass/OPENSOLARIS.LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/howeyc/gopass/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/howeyc/gopass/pass.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/howeyc/gopass/terminal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/howeyc/gopass/terminal_solaris.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/imdario/mergo/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/imdario/mergo/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/imdario/mergo/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/imdario/mergo/map.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/imdario/mergo/merge.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/imdario/mergo/mergo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/jonboulle/clockwork/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/jonboulle/clockwork/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/jonboulle/clockwork/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/jonboulle/clockwork/clockwork.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/juju/ratelimit/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/juju/ratelimit/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/juju/ratelimit/ratelimit.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/juju/ratelimit/reader.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/mailru/easyjson/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/mailru/easyjson/buffer/pool.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/mailru/easyjson/jlexer/error.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/mailru/easyjson/jlexer/lexer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/mailru/easyjson/jwriter/writer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/pmezard/go-difflib/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/pmezard/go-difflib/difflib/difflib.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/bool.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/count.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/duration.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/flag.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/float32.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/float64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/golangflag.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/int.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/int32.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/int64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/int8.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/int_slice.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/ip.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/ipmask.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/ipnet.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/string.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/string_array.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/string_slice.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/uint.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/uint16.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/uint32.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/uint64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/spf13/pflag/uint8.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/LICENCE.txt delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/assert/assertions.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/assert/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/assert/errors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/assert/forward_assertions.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/stretchr/testify/assert/http_assertions.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/0doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/binc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/cbor.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/decode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/decode_go.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/decode_go14.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/encode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/fast-path.generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/fast-path.go.tmpl delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/fast-path.not.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen-dec-array.go.tmpl delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen-dec-map.go.tmpl delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen-helper.generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen-helper.go.tmpl delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen.generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen_15.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen_16.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/gen_17.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/helper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/helper_internal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/helper_not_unsafe.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/helper_unsafe.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/json.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/msgpack.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/noop.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/prebuild.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/rpc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/simple.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/test.py delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/github.com/ugorji/go/codec/time.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/PATENTS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/terminal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/util.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/util_linux.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/crypto/ssh/terminal/util_windows.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/PATENTS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/context/context.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/context/go17.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/context/pre_go17.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/Dockerfile delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/Makefile delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/README delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/client_conn_pool.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/configure_transport.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/errors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/fixed_buffer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/flow.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/frame.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/go16.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/go17.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/gotrack.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/headermap.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/hpack/encode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/hpack/hpack.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/hpack/huffman.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/hpack/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/http2.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/not_go16.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/not_go17.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/pipe.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/server.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/transport.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/write.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/http2/writesched.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/idna/idna.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/idna/punycode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/net/lex/httplex/httplex.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/AUTHORS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/CONTRIBUTING.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/CONTRIBUTORS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/client_appengine.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/appengine.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/appengine_hook.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/appenginevm_hook.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/default.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/google.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/jwt.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/google/sdk.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/internal/oauth2.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/internal/token.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/internal/transport.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/jws/jws.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/jwt/jwt.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/oauth2.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/token.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/oauth2/transport.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/PATENTS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/.gitignore delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_darwin_386.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_darwin_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_darwin_arm.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_darwin_arm64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_freebsd_386.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_freebsd_arm.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_386.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_arm.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_arm64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_mips64x.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_linux_s390x.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_netbsd_386.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_netbsd_arm.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_openbsd_386.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/asm_solaris_amd64.s delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/bluetooth_linux.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/constants.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/env_unix.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/env_unset.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/flock.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/flock_linux_32bit.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/gccgo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/gccgo_c.c delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mkpost.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksyscall.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksyscall_solaris.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysnum_darwin.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysnum_linux.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/race.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/race0.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/sockcmsg_linux.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/sockcmsg_unix.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/str.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_bsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_darwin.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_darwin_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_darwin_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_dragonfly.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_freebsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_freebsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_linux_s390x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_netbsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_netbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_no_getwd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_openbsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_openbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_solaris.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/syscall_unix.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_darwin.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_dragonfly.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_freebsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_linux.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_netbsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_openbsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/types_solaris.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_darwin_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysctl_openbsd.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_darwin_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/PATENTS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/cases.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/context.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/fold.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/gen.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/gen_trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/info.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/map.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/cases/trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/internal/tag/tag.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/Makefile delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/common.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/coverage.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/gen_common.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/gen_index.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/go1_1.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/go1_2.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/index.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/language.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/lookup.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/maketables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/match.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/parse.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/language/tags.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/runes/cond.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/runes/runes.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/bidirule/bidirule.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/class.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/context.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/gen.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/gen_trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/nickname.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/options.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/profile.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/profiles.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/transformer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/secure/precis/trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/transform/transform.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/bidi.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/bracket.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/core.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/gen.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/gen_ranges.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/gen_trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/prop.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/bidi/trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/composition.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/forminfo.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/input.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/iter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/maketables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/normalize.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/readwriter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/transform.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/trie.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/unicode/norm/triegen.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/gen.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/gen_common.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/gen_trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/kind_string.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/tables.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/transform.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/trieval.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/golang.org/x/text/width/width.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/appengine.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/appengine_vm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/errors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/identity.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/api.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/api_classic.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/api_common.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/app_id.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/app_identity/app_identity_service.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/app_identity/app_identity_service.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/base/api_base.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/base/api_base.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/identity.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/identity_classic.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/identity_vm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/internal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/log/log_service.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/log/log_service.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/main.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/main_vm.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/metadata.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/modules/modules_service.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/modules/modules_service.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/net.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/internal/transaction.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/namespace.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/google.golang.org/appengine/timeout.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/inf.v0/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/inf.v0/dec.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/inf.v0/rounder.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/LICENSE delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/LICENSE.libyaml delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/README.md delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/apic.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/decode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/emitterc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/encode.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/parserc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/readerc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/resolve.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/scannerc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/sorter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/writerc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/yaml.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/yamlh.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/gopkg.in/yaml.v2/yamlprivateh.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/LICENSE delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/errors/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/errors/errors.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/default.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/errors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/firsthit_restmapper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/help.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/interfaces.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/meta.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/multirestmapper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/priority.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/restmapper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/api/meta/unstructured.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apimachinery/announced/announced.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apimachinery/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apimachinery/registered/registered.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apimachinery/types.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/duration.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/group_version.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/labels.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/time.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/watch.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/well_known_labels.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/cloner.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/converter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/deep_equal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/helper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/queryparams/convert.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/conversion/queryparams/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/fields.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/requirements.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/fields/selector.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/labels.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/labels/selector.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/openapi/common.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/openapi/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/codec.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/codec_check.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/conversion.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/embedded.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/error.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/extension.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/helper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/interfaces.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/group_version.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/interfaces.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/scheme.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/scheme_builder.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/codec_factory.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/meta.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/negotiated_codec.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/protobuf.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/protobuf_extension.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/recognizer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/types_proto.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/selection/operator.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/types/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/types/namespacedname.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/types/nodename.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/types/patch.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/types/uid.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/types/unix_user_id.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/diff/diff.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/errors/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/errors/errors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/framer/framer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/json/json.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/net/http.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/net/interface.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/net/port_range.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/net/port_split.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/net/util.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/rand/rand.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/sets/byte.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/sets/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/sets/empty.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/sets/int.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/sets/int64.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/sets/string.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/validation/field/errors.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/validation/field/path.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/validation/validation.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/wait/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/wait/wait.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/util/yaml/decoder.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/version/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/version/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/watch/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/watch/filter.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/watch/mux.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/watch/streamwatcher.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/watch/until.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/watch/watch.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/third_party/forked/golang/reflect/type.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/examples/in-cluster/main.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/examples/out-of-cluster/main.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/examples/third-party-resources/README.md create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/examples/third-party-resources/main.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/examples/third-party-resources/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/examples/third-party-resources/types_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/apps/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/apps/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/apps/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/apps/v1beta1/statefulset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/autoscaling/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/autoscaling/v1/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/autoscaling/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/autoscaling/v2alpha1/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/autoscaling/v2alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/batch/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/batch/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/batch/v1/job.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/batch/v2alpha1/cronjob.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/batch/v2alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/certificates/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/certificates/v1beta1/certificatesigningrequest.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/certificates/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/componentstatus.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/configmap.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/endpoints.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/event.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/limitrange.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/namespace.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/node.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/persistentvolume.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/persistentvolumeclaim.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/pod.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/podtemplate.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/replicationcontroller.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/resourcequota.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/secret.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/service.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/core/v1/serviceaccount.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/daemonset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/ingress.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/podsecuritypolicy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/replicaset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/extensions/v1beta1/thirdpartyresource.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/factory.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/generic.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/policy/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/policy/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/policy/v1beta1/poddisruptionbudget.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1alpha1/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1alpha1/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1alpha1/role.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1alpha1/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1beta1/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1beta1/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1beta1/role.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/rbac/v1beta1/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/settings/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/settings/v1alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/settings/v1alpha1/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/storage/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/storage/v1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/storage/v1/storageclass.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/storage/v1beta1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/informers/storage/v1beta1/storageclass.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/fake/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/scheme/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake/fake_deployment.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake/fake_scale.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/apps/v1beta1/scale.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/authentication_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/fake/fake_authentication_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/fake/fake_tokenreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/fake/fake_tokenreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/tokenreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1/tokenreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/authorization_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_authorization_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_localsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_localsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_selfsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_selfsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_subjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/fake/fake_subjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/localsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/localsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/selfsubjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/selfsubjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/subjectaccessreview.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1/subjectaccessreview_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/autoscaling_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/fake/fake_autoscaling_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/fake/fake_horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/horizontalpodautoscaler.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake/fake_job.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1/job.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake/fake_podpreset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake/fake_settings_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/settings/v1alpha1/settings_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/fake/fake_storage_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/fake/fake_storageclass.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/generated_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/storage_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/typed/storage/v1/storageclass.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/apps/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/apps/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/apps/v1beta1/scale.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/apps/v1beta1/statefulset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/apps/v1beta1/statefulset_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/autoscaling/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/autoscaling/v1/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/autoscaling/v2alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/autoscaling/v2alpha1/horizontalpodautoscaler.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/batch/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/batch/v1/job.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/batch/v1/job_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/batch/v2alpha1/cronjob.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/batch/v2alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/certificates/v1beta1/certificatesigningrequest.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/certificates/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/componentstatus.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/configmap.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/endpoints.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/event.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/limitrange.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/namespace.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/node.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/node_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/persistentvolume.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/persistentvolumeclaim.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/pod.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/podtemplate.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/replicationcontroller.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/replicationcontroller_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/resourcequota.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/secret.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/service.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/service_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/core/v1/serviceaccount.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/daemonset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/daemonset_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/deployment.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/deployment_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/ingress.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/podsecuritypolicy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/replicaset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/replicaset_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/scale.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/extensions/v1beta1/thirdpartyresource.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/policy/v1beta1/eviction.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/policy/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/policy/v1beta1/poddisruptionbudget.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/policy/v1beta1/poddisruptionbudget_expansion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1alpha1/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1alpha1/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1alpha1/role.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1alpha1/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1beta1/clusterrole.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1beta1/clusterrolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1beta1/role.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/rbac/v1beta1/rolebinding.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/settings/v1alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/settings/v1alpha1/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/storage/v1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/storage/v1/storageclass.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/storage/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/listers/storage/v1beta1/storageclass.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/conversion.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/meta.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/amount.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/math.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/quantity.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/quantity_proto.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/scale_int.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/resource/suffix.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/testapi/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/testapi/testapi.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/v1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/types.generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/v1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/annotations.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/types.generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v2alpha1/zz_generated.deepcopy.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/helpers.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/install/install.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/componentconfig/zz_generated.deepcopy.go delete mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/OWNERS delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/install/install.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/types.generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/types_swagger_doc_generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/imagepolicy/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/env.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/install/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/install/install.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/kubeadm/v1alpha1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/install/install.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/v1alpha1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/generated.pb.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/generated.proto create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/types_swagger_doc_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/v1/zz_generated.defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/install/install.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/conversion.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/register.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/types.generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/types_swagger_doc_generated.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/zz_generated.conversion.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/v1beta1/zz_generated.defaults.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/federation/apis/federation/zz_generated.deepcopy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/qos/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/qos/policy.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/qos/qos.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/server/portforward/constants.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/server/portforward/portforward.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/types/constants.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/types/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/types/labels.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/types/pod_update.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/kubelet/types/types.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/master/ports/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/master/ports/ports.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/config/config.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/config/configuration_map.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/config/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/config/feature_gate.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/config/namedcertkey_flag.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/httpstream/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/httpstream/httpstream.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/httpstream/spdy/connection.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/httpstream/spdy/roundtripper.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/httpstream/spdy/upgrade.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/intstr/generated.pb.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/intstr/generated.proto delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/intstr/intstr.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/labels/doc.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/labels/labels.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/strategicpatch/patch.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/trace.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/trie.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/default_rate_limiters.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/default_rate_limiters_test.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/delaying_queue.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/delaying_queue_test.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/metrics.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/parallelizer.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/queue.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/queue_test.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/rate_limitting_queue.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/rate_limitting_queue_test.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/util/workqueue/timed_queue.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/third_party/forked/golang/json/fields.go delete mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/third_party/forked/golang/netutil/addr.go rename vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/{pkg => }/third_party/forked/golang/template/exec.go (100%) rename vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/{pkg => }/third_party/forked/golang/template/funcs.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/tools/cache/shared_informer_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/tools/portforward/portforward_test.go rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/default_rate_limiters.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/default_rate_limiters_test.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/delaying_queue.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/util/workqueue/delaying_queue_test.go rename vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/{pkg => }/util/workqueue/doc.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/metrics.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/parallelizer.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/queue.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/util/workqueue/queue_test.go rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/rate_limitting_queue.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/rate_limitting_queue_test.go (100%) rename vendor/k8s.io/kubernetes/{pkg => staging/src/k8s.io/client-go}/util/workqueue/timed_queue.go (100%) rename vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/{pkg => }/util/workqueue/timed_queue_test.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/Godeps/Godeps.json create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/Godeps/Readme create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/OWNERS create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/artifacts/hostpath-pods/insecure-etcd-pod.yaml rename vendor/k8s.io/kubernetes/{cmd/kube-aggregator/artifacts/local-cluster-up => staging/src/k8s.io/kube-aggregator/artifacts/self-contained}/etcd-pod.yaml (100%) rename vendor/k8s.io/kubernetes/{cmd/kube-aggregator/artifacts/local-cluster-up => staging/src/k8s.io/kube-aggregator/artifacts/self-contained}/etcd-svc.yaml (100%) rename vendor/k8s.io/kubernetes/{cmd/kube-aggregator/artifacts/local-cluster-up => staging/src/k8s.io/kube-aggregator/artifacts/self-contained}/kubernetes-discover-pod.yaml (86%) rename vendor/k8s.io/kubernetes/{cmd/kube-aggregator/artifacts/local-cluster-up => staging/src/k8s.io/kube-aggregator/artifacts/self-contained}/kubernetes-discovery-sa.yaml (100%) rename vendor/k8s.io/kubernetes/{cmd/kube-aggregator/artifacts/local-cluster-up => staging/src/k8s.io/kube-aggregator/artifacts/self-contained}/kubernetes-discovery-svc.yaml (100%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/artifacts/simple-image/Dockerfile (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/hack/apiservice-template.yaml create mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/hack/build-image.sh create mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/hack/local-up-kube-aggregator.sh create mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/hack/register-all-apis-from.sh create mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/hack/verify-codegen.sh (88%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/main.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/doc.go (100%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/helpers.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/install/install.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/register.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/types.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1alpha1/doc.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go (100%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.generated.go (100%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.conversion.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.deepcopy.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/validation/validation.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apiserver/apiservice_controller.go (90%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apiserver/handler_apis.go (92%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apiserver/handler_apis_test.go (95%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apiserver/handler_proxy.go (95%) rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/apiserver/handler_proxy_test.go (98%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/clientset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/fake/clientset_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/fake/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiregistration_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiservice.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiregistration_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiservice.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/generated_expansion.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/clientset.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/scheme/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/scheme/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiregistration_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiservice.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiregistration_client.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiservice.go rename vendor/k8s.io/kubernetes/{cmd => staging/src/k8s.io}/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/generated_expansion.go (100%) create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/externalversions/apiregistration/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/externalversions/apiregistration/v1alpha1/apiservice.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/externalversions/apiregistration/v1alpha1/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/externalversions/factory.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/externalversions/generic.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/internalversion/apiregistration/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/internalversion/apiregistration/internalversion/apiservice.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/internalversion/apiregistration/internalversion/interface.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/internalversion/factory.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/internalversion/generic.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/informers/internalversion/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/listers/apiregistration/internalversion/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/expansion_generated.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/cmd/server/start.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/registry/apiservice/strategy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/Godeps/Godeps.json create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/Godeps/Readme create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/OWNERS create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/example/apiservice.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/example/auth-delegator.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/example/auth-reader.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/example/rc.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/example/sa.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/example/service.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/flunders/01-flunder.yaml create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/artifacts/simple-image/Dockerfile create mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/hack/build-image.sh create mode 100755 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/main.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/install/install.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/install/install_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/doc.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/register.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/types.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apiserver/apiserver.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apiserver/scheme_test.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/etcd.go create mode 100644 vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/strategy.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/cluster_logging_es_utils.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/cluster_logging_gcl_load.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/cluster_logging_gcl_utils.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/common/apparmor.go rename vendor/k8s.io/kubernetes/test/e2e/{ => common}/autoscaling_utils.go (78%) create mode 100644 vendor/k8s.io/kubernetes/test/e2e/common/events.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/common/projected.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/dns_common.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/framework/ingress_utils.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/framework/jobs_util.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/framework/pv_util.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/framework/statefulset_utils.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/framework/upgrade_util.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e/ingress_utils.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e/node_problem_detector.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e/opaque_resource.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/persistent_volumes-vsphere.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/podpreset.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/pv_reclaimpolicy.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/pvc_label_selector.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e/scheduler_predicates.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/scheduling/BUILD create mode 100644 vendor/k8s.io/kubernetes/test/e2e/scheduling/OWNERS create mode 100644 vendor/k8s.io/kubernetes/test/e2e/scheduling/events.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/scheduling/opaque_resource.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/scheduling/predicates.go rename vendor/k8s.io/kubernetes/test/e2e/{ => scheduling}/rescheduler.go (85%) create mode 100644 vendor/k8s.io/kubernetes/test/e2e/taints_test.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/BUILD create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/apparmor.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/configmaps.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/daemonsets.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/deployments.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/horizontal_pod_autoscalers.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/ingress.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/job.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/persistent_volumes.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/secrets.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/services.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/statefulset.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/sysctl.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/upgrades/upgrade.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/vsphere_utils.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/vsphere_volume_diskformat.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e/vsphere_volume_placement.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/apiserver.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/authn.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/daemonset.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/deployment.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/event.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-daemonset.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-deployment.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-ingress.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-namespace.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-replicaset.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-secret.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federated-service.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federation-apiserver.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federation-authn.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federation-event.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/federation-util.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/ingress.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/namespace.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/replicaset.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/secret.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/service.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/upgrade.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/upgrades/BUILD create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/upgrades/upgrade.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_federation/util.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/allocatable_eviction_test.go delete mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/cgroup_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/critical_pod_test.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/gpus.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/jenkins-memcg-serial.properties create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/non-cri_validation/benchmark-config.yaml create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/non-cri_validation/image-config.yaml create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/non-cri_validation/jenkins-benchmark.properties create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/non-cri_validation/jenkins-pull.properties create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/non-cri_validation/jenkins-serial.properties create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/jenkins/non-cri_validation/jenkins-validation.properties create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/node_container_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/node_problem_detector.go create mode 100644 vendor/k8s.io/kubernetes/test/e2e_node/pods_container_manager_test.go create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/OWNERS create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/deploy-clientside.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/deploy-serverside.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/patch.json create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/rc-lastapplied.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/rc-no-annotation.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/rc-noexist.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/rc.json create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/testdir/rc.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/testdir/rc1.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/widget-clientside.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/apply/widget-serverside.yaml create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/create/sar-v1.json create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/create/sar-v1beta1.json delete mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/create/sar.json create mode 100644 vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/create/tokenreview-v1.json rename vendor/k8s.io/kubernetes/test/fixtures/pkg/kubectl/cmd/create/{tokenreview.json => tokenreview-v1beta1.json} (100%) create mode 100644 vendor/k8s.io/kubernetes/test/integration/apiserver/apiserver_test.go create mode 100644 vendor/k8s.io/kubernetes/test/integration/defaulttolerationseconds/defaulttolerationseconds_test.go delete mode 100644 vendor/k8s.io/kubernetes/test/integration/discoverysummarizer/BUILD delete mode 100644 vendor/k8s.io/kubernetes/test/integration/discoverysummarizer/discoverysummarizer_test.go create mode 100644 vendor/k8s.io/kubernetes/test/integration/federation/OWNERS create mode 100644 vendor/k8s.io/kubernetes/test/integration/federation/api_test.go create mode 100644 vendor/k8s.io/kubernetes/test/integration/federation/framework/BUILD create mode 100644 vendor/k8s.io/kubernetes/test/integration/federation/framework/api.go create mode 100644 vendor/k8s.io/kubernetes/test/integration/federation/framework/util.go delete mode 100644 vendor/k8s.io/kubernetes/test/integration/federation/server_test.go create mode 100644 vendor/k8s.io/kubernetes/test/integration/ttlcontroller/ttlcontroller_test.go create mode 100644 vendor/k8s.io/kubernetes/test/kubemark/OWNERS create mode 100644 vendor/k8s.io/kubernetes/test/kubemark/cloud-provider-config.sh delete mode 100644 vendor/k8s.io/kubernetes/test/kubemark/common.sh create mode 100644 vendor/k8s.io/kubernetes/test/kubemark/gce/util.sh delete mode 100755 vendor/k8s.io/kubernetes/test/kubemark/get-real-pod-for-hollow-node.sh delete mode 100644 vendor/k8s.io/kubernetes/test/kubemark/resources/hollow-node_template.json create mode 100644 vendor/k8s.io/kubernetes/test/kubemark/resources/hollow-node_template.yaml create mode 100644 vendor/k8s.io/kubernetes/test/kubemark/skeleton/util.sh create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/README.md create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/BUILD create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/fileutil.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/fileutil_test.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/lock_plan9.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/lock_solaris.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/lock_test.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/lock_unix.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/lock_windows.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/perallocate_unsupported.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/preallocate.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/preallocate_test.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/purge.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/pkg/fileutil/purge_test.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/BUILD create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/decoder.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/doc.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/encoder.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/metrics.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/multi_readcloser.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/repair.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/util.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/wal.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/walpb/BUILD create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/walpb/record.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/walpb/record.pb.go create mode 100644 vendor/k8s.io/kubernetes/third_party/forked/etcd221/wal/walpb/record.proto delete mode 100644 vendor/k8s.io/kubernetes/third_party/forked/golang/json/BUILD delete mode 100644 vendor/k8s.io/kubernetes/third_party/forked/golang/json/fields.go delete mode 100644 vendor/k8s.io/kubernetes/third_party/forked/golang/netutil/BUILD delete mode 100644 vendor/k8s.io/kubernetes/third_party/forked/golang/netutil/addr.go create mode 100644 vendor/k8s.io/kubernetes/translations/extract.py create mode 100644 vendor/k8s.io/kubernetes/translations/kubectl/OWNERS create mode 100644 vendor/k8s.io/kubernetes/translations/kubectl/fr_FR/LC_MESSAGES/k8s.mo create mode 100644 vendor/k8s.io/kubernetes/translations/kubectl/fr_FR/LC_MESSAGES/k8s.po create mode 100644 vendor/k8s.io/kubernetes/translations/kubectl/template.pot diff --git a/lock.json b/lock.json index c3dc4485..24320778 100644 --- a/lock.json +++ b/lock.json @@ -1,5 +1,5 @@ { - "memo": "5791d48b7e77e9f18a26535dfb184838f1d863f5d364fc9907cf16b6013e9846", + "memo": "348395ad5cf0e6c04bd9b6bd3265db1c2c3c0d2f42710bf3f0cc64e58f1aa269", "projects": [ { "name": "cloud.google.com/go", @@ -745,11 +745,11 @@ }, { "name": "k8s.io/apimachinery", - "branch": "master", - "revision": "21807b270ec15d19215659a5caa08b17f66d6f44", + "revision": "ae33df8bd0294deb6f1853cc107816dd181e0146", "packages": [ "pkg/api/errors", "pkg/api/meta", + "pkg/api/resource", "pkg/apimachinery", "pkg/apimachinery/announced", "pkg/apimachinery/registered", @@ -772,17 +772,24 @@ "pkg/types", "pkg/util/errors", "pkg/util/framer", + "pkg/util/httpstream", + "pkg/util/httpstream/spdy", + "pkg/util/intstr", "pkg/util/json", + "pkg/util/mergepatch", "pkg/util/net", "pkg/util/rand", "pkg/util/runtime", "pkg/util/sets", + "pkg/util/strategicpatch", "pkg/util/validation", "pkg/util/validation/field", "pkg/util/wait", "pkg/util/yaml", "pkg/version", "pkg/watch", + "third_party/forked/golang/json", + "third_party/forked/golang/netutil", "third_party/forked/golang/reflect" ] }, @@ -800,6 +807,7 @@ "branch": "master", "revision": "b766ef93a46ce6dc863462254658ca2861a53314", "packages": [ + "discovery", "pkg/api", "pkg/api/resource", "pkg/api/v1", @@ -818,6 +826,7 @@ "third_party/forked/golang/template", "tools/clientcmd/api", "tools/metrics", + "tools/record", "transport", "util/cert", "util/clock", @@ -829,25 +838,27 @@ }, { "name": "k8s.io/kubernetes", - "branch": "master", - "revision": "760d8e98e8f6ad27aaf50b1a030cb9e7b6859aab", + "version": "v1.6.1", + "revision": "b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", "packages": [ "pkg/api", "pkg/api/install", - "pkg/api/resource", "pkg/api/v1", "pkg/apis/apps", "pkg/apis/apps/install", "pkg/apis/apps/v1beta1", "pkg/apis/authentication", "pkg/apis/authentication/install", + "pkg/apis/authentication/v1", "pkg/apis/authentication/v1beta1", "pkg/apis/authorization", "pkg/apis/authorization/install", + "pkg/apis/authorization/v1", "pkg/apis/authorization/v1beta1", "pkg/apis/autoscaling", "pkg/apis/autoscaling/install", "pkg/apis/autoscaling/v1", + "pkg/apis/autoscaling/v2alpha1", "pkg/apis/batch", "pkg/apis/batch/install", "pkg/apis/batch/v1", @@ -865,14 +876,22 @@ "pkg/apis/rbac/install", "pkg/apis/rbac/v1alpha1", "pkg/apis/rbac/v1beta1", + "pkg/apis/settings", + "pkg/apis/settings/install", + "pkg/apis/settings/v1alpha1", "pkg/apis/storage", "pkg/apis/storage/install", + "pkg/apis/storage/v1", "pkg/apis/storage/v1beta1", "pkg/client/clientset_generated/clientset", + "pkg/client/clientset_generated/clientset/scheme", "pkg/client/clientset_generated/clientset/typed/apps/v1beta1", + "pkg/client/clientset_generated/clientset/typed/authentication/v1", "pkg/client/clientset_generated/clientset/typed/authentication/v1beta1", + "pkg/client/clientset_generated/clientset/typed/authorization/v1", "pkg/client/clientset_generated/clientset/typed/authorization/v1beta1", "pkg/client/clientset_generated/clientset/typed/autoscaling/v1", + "pkg/client/clientset_generated/clientset/typed/autoscaling/v2alpha1", "pkg/client/clientset_generated/clientset/typed/batch/v1", "pkg/client/clientset_generated/clientset/typed/batch/v2alpha1", "pkg/client/clientset_generated/clientset/typed/certificates/v1beta1", @@ -881,13 +900,14 @@ "pkg/client/clientset_generated/clientset/typed/policy/v1beta1", "pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1", "pkg/client/clientset_generated/clientset/typed/rbac/v1beta1", + "pkg/client/clientset_generated/clientset/typed/settings/v1alpha1", + "pkg/client/clientset_generated/clientset/typed/storage/v1", "pkg/client/clientset_generated/clientset/typed/storage/v1beta1", - "pkg/client/record", - "pkg/client/typed/discovery", "pkg/client/unversioned/remotecommand", "pkg/cloudprovider", "pkg/kubelet/api/v1alpha1/runtime", "pkg/kubelet/container", + "pkg/kubelet/events", "pkg/kubelet/server/portforward", "pkg/kubelet/server/remotecommand", "pkg/kubelet/server/streaming", @@ -898,22 +918,14 @@ "pkg/util/chown", "pkg/util/exec", "pkg/util/hash", - "pkg/util/httpstream", - "pkg/util/httpstream/spdy", "pkg/util/interrupt", - "pkg/util/intstr", "pkg/util/io", - "pkg/util/labels", "pkg/util/mount", "pkg/util/parsers", - "pkg/util/strategicpatch", "pkg/util/term", - "pkg/version", "pkg/volume", "pkg/volume/util", - "third_party/forked/golang/expansion", - "third_party/forked/golang/json", - "third_party/forked/golang/netutil" + "third_party/forked/golang/expansion" ] } ] diff --git a/manifest.json b/manifest.json index 19ef4861..0af801a1 100644 --- a/manifest.json +++ b/manifest.json @@ -34,7 +34,10 @@ "version": "v1.0.1-GA" }, "k8s.io/kubernetes": { - "branch": "master" + "version": "v1.6.1" + }, + "k8s.io/apimachinery": { + "revision": "ae33df8bd0294deb6f1853cc107816dd181e0146" } } } diff --git a/vendor/k8s.io/apimachinery/Godeps/Godeps.json b/vendor/k8s.io/apimachinery/Godeps/Godeps.json new file mode 100644 index 00000000..42d09684 --- /dev/null +++ b/vendor/k8s.io/apimachinery/Godeps/Godeps.json @@ -0,0 +1,181 @@ +{ + "ImportPath": "k8s.io/apimachinery", + "GoVersion": "go1.7", + "GodepVersion": "v74", + "Packages": [ + "./..." + ], + "Deps": [ + { + "ImportPath": "github.com/PuerkitoBio/purell", + "Comment": "v1.0.0", + "Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4" + }, + { + "ImportPath": "github.com/PuerkitoBio/urlesc", + "Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e" + }, + { + "ImportPath": "github.com/davecgh/go-spew/spew", + "Rev": "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d" + }, + { + "ImportPath": "github.com/docker/spdystream", + "Rev": "449fdfce4d962303d702fec724ef0ad181c92528" + }, + { + "ImportPath": "github.com/docker/spdystream/spdy", + "Rev": "449fdfce4d962303d702fec724ef0ad181c92528" + }, + { + "ImportPath": "github.com/elazarl/goproxy", + "Comment": "v1.0-66-g07b16b6", + "Rev": "07b16b6e30fcac0ad8c0435548e743bcf2ca7e92" + }, + { + "ImportPath": "github.com/emicklei/go-restful", + "Comment": "v1.2-96-g09691a3", + "Rev": "09691a3b6378b740595c1002f40c34dd5f218a22" + }, + { + "ImportPath": "github.com/emicklei/go-restful/log", + "Comment": "v1.2-96-g09691a3", + "Rev": "09691a3b6378b740595c1002f40c34dd5f218a22" + }, + { + "ImportPath": "github.com/evanphx/json-patch", + "Rev": "465937c80b3c07a7c7ad20cc934898646a91c1de" + }, + { + "ImportPath": "github.com/ghodss/yaml", + "Rev": "73d445a93680fa1a78ae23a5839bad48f32ba1ee" + }, + { + "ImportPath": "github.com/go-openapi/jsonpointer", + "Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98" + }, + { + "ImportPath": "github.com/go-openapi/jsonreference", + "Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272" + }, + { + "ImportPath": "github.com/go-openapi/spec", + "Rev": "6aced65f8501fe1217321abf0749d354824ba2ff" + }, + { + "ImportPath": "github.com/go-openapi/swag", + "Rev": "1d0bd113de87027671077d3c71eb3ac5d7dbba72" + }, + { + "ImportPath": "github.com/gogo/protobuf/proto", + "Comment": "v0.2-33-ge18d7aa8", + "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" + }, + { + "ImportPath": "github.com/gogo/protobuf/sortkeys", + "Comment": "v0.2-33-ge18d7aa8", + "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" + }, + { + "ImportPath": "github.com/golang/glog", + "Rev": "44145f04b68cf362d9c4df2182967c2275eaefed" + }, + { + "ImportPath": "github.com/golang/protobuf/proto", + "Rev": "8616e8ee5e20a1704615e6c8d7afcdac06087a67" + }, + { + "ImportPath": "github.com/google/gofuzz", + "Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c" + }, + { + "ImportPath": "github.com/mailru/easyjson/buffer", + "Rev": "d5b7844b561a7bc640052f1b935f7b800330d7e0" + }, + { + "ImportPath": "github.com/mailru/easyjson/jlexer", + "Rev": "d5b7844b561a7bc640052f1b935f7b800330d7e0" + }, + { + "ImportPath": "github.com/mailru/easyjson/jwriter", + "Rev": "d5b7844b561a7bc640052f1b935f7b800330d7e0" + }, + { + "ImportPath": "github.com/pborman/uuid", + "Rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4" + }, + { + "ImportPath": "github.com/spf13/pflag", + "Rev": "9ff6c6923cfffbcd502984b8e0c80539a94968b7" + }, + { + "ImportPath": "github.com/ugorji/go/codec", + "Rev": "ded73eae5db7e7a0ef6f55aace87a2873c5d2b74" + }, + { + "ImportPath": "golang.org/x/net/http2", + "Rev": "e90d6d0afc4c315a0d87a568ae68577cc15149a0" + }, + { + "ImportPath": "golang.org/x/net/http2/hpack", + "Rev": "e90d6d0afc4c315a0d87a568ae68577cc15149a0" + }, + { + "ImportPath": "golang.org/x/net/idna", + "Rev": "e90d6d0afc4c315a0d87a568ae68577cc15149a0" + }, + { + "ImportPath": "golang.org/x/net/lex/httplex", + "Rev": "e90d6d0afc4c315a0d87a568ae68577cc15149a0" + }, + { + "ImportPath": "golang.org/x/text/cases", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/internal/tag", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/language", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/runes", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/secure/bidirule", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/secure/precis", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/transform", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/unicode/bidi", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/unicode/norm", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "golang.org/x/text/width", + "Rev": "2910a502d2bf9e43193af9d68ca516529614eed3" + }, + { + "ImportPath": "gopkg.in/inf.v0", + "Comment": "v0.9.0", + "Rev": "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4" + }, + { + "ImportPath": "gopkg.in/yaml.v2", + "Rev": "53feefa2559fb8dfa8d81baad31be332c97d6c77" + } + ] +} diff --git a/vendor/k8s.io/apimachinery/Godeps/Readme b/vendor/k8s.io/apimachinery/Godeps/Readme new file mode 100644 index 00000000..4cdaa53d --- /dev/null +++ b/vendor/k8s.io/apimachinery/Godeps/Readme @@ -0,0 +1,5 @@ +This directory tree is generated automatically by godep. + +Please do not edit. + +See https://github.com/tools/godep for more information. diff --git a/vendor/k8s.io/apimachinery/filter-branch-sha b/vendor/k8s.io/apimachinery/filter-branch-sha deleted file mode 100644 index 7eb71c56..00000000 --- a/vendor/k8s.io/apimachinery/filter-branch-sha +++ /dev/null @@ -1 +0,0 @@ -acda1e7401fbf79d89ba23df5e11d81f4a9d4e0d diff --git a/vendor/k8s.io/apimachinery/hack/godep-deps.sh b/vendor/k8s.io/apimachinery/hack/godep-deps.sh new file mode 100755 index 00000000..eb99b9f1 --- /dev/null +++ b/vendor/k8s.io/apimachinery/hack/godep-deps.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# Copyright 2017 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. + + +# overall flow +# 1. make a clean gopath +# 2. godep restore based on k8s.io/kuberentes provided manifest +# 3. go get anything unlisted. This handles deps from k8s.io/* +# 4. remove old vendoring data +# 5. vendor packages we need +# 6. remove anything vendored from k8s.io/* from vendor, but not manifest. +# This allows go get to work and still be able to flatten dependencies. +# 6. copy new vendored packages and save them + +set -o errexit +set -o nounset +set -o pipefail + +goPath=$(mktemp -d "${TMPDIR:-/tmp/}$(basename 0).XXXXXXXXXXXX") +echo ${goPath} + +export GOPATH=${goPath} + +mkdir -p ${goPath}/src/k8s.io/apimachinery +cp -R . ${goPath}/src/k8s.io/apimachinery + +pushd ${goPath}/src/k8s.io/apimachinery +rm -rf vendor || true + +# restore what we have in our new manifest that we've sync +godep restore + +# the manifest doesn't include any levels of k8s.io dependencies so load them using the go get +# assume you sync all the repos at the same time, the leves you get will be correct +go get -d ./... || true + +# save the new levels of dependencies +rm -rf vendor || true +rm -rf Godeps || true +godep save ./... +popd + +# remove the vendor dir we have and move the one we just made +rm -rf vendor || true +rm -rf Godeps || true +git rm -rf vendor || true +git rm -rf Godeps || true +mv ${goPath}/src/k8s.io/apimachinery/vendor . +mv ${goPath}/src/k8s.io/apimachinery/Godeps . +git add vendor +git add Godeps +git commit -m "sync: resync vendor folder" + diff --git a/vendor/k8s.io/apimachinery/hack/sync-from-kubernetes.sh b/vendor/k8s.io/apimachinery/hack/sync-from-kubernetes.sh index 04b55344..164120f2 100755 --- a/vendor/k8s.io/apimachinery/hack/sync-from-kubernetes.sh +++ b/vendor/k8s.io/apimachinery/hack/sync-from-kubernetes.sh @@ -26,6 +26,7 @@ set -e +ROOT=$(dirname "${BASH_SOURCE}")/.. dir=$(mktemp -d "${TMPDIR:-/tmp/}$(basename 0).XXXXXXXXXXXX") git remote add upstream-kube git@github.com:kubernetes/kubernetes.git || true @@ -53,6 +54,9 @@ while read commitSHA; do git cherry-pick ${commitSHA} done <${dir}/commits +# update the vendored godeps +${ROOT}/hack/godep-deps.sh + # track the k8s.io/kubernetes commit SHA so we can always determine which level of kube this repo matches # track the filtered branch commit SHA so that we can determine which commits need to be picked echo ${newKubeSHA} > kubernetes-sha diff --git a/vendor/k8s.io/apimachinery/kubernetes-sha b/vendor/k8s.io/apimachinery/kubernetes-sha index 99101991..3cced868 100644 --- a/vendor/k8s.io/apimachinery/kubernetes-sha +++ b/vendor/k8s.io/apimachinery/kubernetes-sha @@ -1 +1 @@ -424a0e9e827a39c714ee03e1891c43635adabcdc +082cfac70759233e47004c11c97651ccc5aa1fdb diff --git a/vendor/k8s.io/apimachinery/pkg/OWNERS b/vendor/k8s.io/apimachinery/pkg/OWNERS index 075adc02..63bb7814 100644 --- a/vendor/k8s.io/apimachinery/pkg/OWNERS +++ b/vendor/k8s.io/apimachinery/pkg/OWNERS @@ -3,3 +3,4 @@ approvers: - deads2k - lavalamp - smarterclayton +- liggitt diff --git a/vendor/k8s.io/apimachinery/pkg/api/meta/meta.go b/vendor/k8s.io/apimachinery/pkg/api/meta/meta.go index 4a958a92..7492324e 100644 --- a/vendor/k8s.io/apimachinery/pkg/api/meta/meta.go +++ b/vendor/k8s.io/apimachinery/pkg/api/meta/meta.go @@ -334,6 +334,14 @@ func extractFromOwnerReference(v reflect.Value, o *metav1.OwnerReference) error controller := *controllerPtr o.Controller = &controller } + var blockOwnerDeletionPtr *bool + if err := runtime.Field(v, "BlockOwnerDeletion", &blockOwnerDeletionPtr); err != nil { + return err + } + if blockOwnerDeletionPtr != nil { + block := *blockOwnerDeletionPtr + o.BlockOwnerDeletion = &block + } return nil } @@ -357,6 +365,12 @@ func setOwnerReference(v reflect.Value, o *metav1.OwnerReference) error { return err } } + if o.BlockOwnerDeletion != nil { + block := *(o.BlockOwnerDeletion) + if err := runtime.SetField(&block, v, "BlockOwnerDeletion"); err != nil { + return err + } + } return nil } diff --git a/vendor/k8s.io/apimachinery/pkg/api/testing/codec.go b/vendor/k8s.io/apimachinery/pkg/api/testing/codec.go new file mode 100644 index 00000000..89375ffb --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/testing/codec.go @@ -0,0 +1,86 @@ +/* +Copyright 2017 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 testing + +import ( + "fmt" + "mime" + "os" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" +) + +var ( + testCodecMediaType string + testStorageCodecMediaType string +) + +// TestCodec returns the codec for the API version to test against, as set by the +// KUBE_TEST_API_TYPE env var. +func TestCodec(codecs runtimeserializer.CodecFactory, gvs ...schema.GroupVersion) runtime.Codec { + if len(testCodecMediaType) != 0 { + serializerInfo, ok := runtime.SerializerInfoForMediaType(codecs.SupportedMediaTypes(), testCodecMediaType) + if !ok { + panic(fmt.Sprintf("no serializer for %s", testCodecMediaType)) + } + return codecs.CodecForVersions(serializerInfo.Serializer, codecs.UniversalDeserializer(), schema.GroupVersions(gvs), nil) + } + return codecs.LegacyCodec(gvs...) +} + +// TestStorageCodec returns the codec for the API version to test against used in storage, as set by the +// KUBE_TEST_API_STORAGE_TYPE env var. +func TestStorageCodec(codecs runtimeserializer.CodecFactory, gvs ...schema.GroupVersion) runtime.Codec { + if len(testStorageCodecMediaType) != 0 { + serializerInfo, ok := runtime.SerializerInfoForMediaType(codecs.SupportedMediaTypes(), testStorageCodecMediaType) + if !ok { + panic(fmt.Sprintf("no serializer for %s", testStorageCodecMediaType)) + } + + // etcd2 only supports string data - we must wrap any result before returning + // TODO: remove for etcd3 / make parameterizable + serializer := serializerInfo.Serializer + if !serializerInfo.EncodesAsText { + serializer = runtime.NewBase64Serializer(serializer) + } + + decoder := recognizer.NewDecoder(serializer, codecs.UniversalDeserializer()) + return codecs.CodecForVersions(serializer, decoder, schema.GroupVersions(gvs), nil) + + } + return codecs.LegacyCodec(gvs...) +} + +func init() { + var err error + if apiMediaType := os.Getenv("KUBE_TEST_API_TYPE"); len(apiMediaType) > 0 { + testCodecMediaType, _, err = mime.ParseMediaType(apiMediaType) + if err != nil { + panic(err) + } + } + + if storageMediaType := os.Getenv("KUBE_TEST_API_STORAGE_TYPE"); len(storageMediaType) > 0 { + testStorageCodecMediaType, _, err = mime.ParseMediaType(storageMediaType) + if err != nil { + panic(err) + } + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/api/testing/fuzzer.go b/vendor/k8s.io/apimachinery/pkg/api/testing/fuzzer.go index 001f1dfa..7655908d 100644 --- a/vendor/k8s.io/apimachinery/pkg/api/testing/fuzzer.go +++ b/vendor/k8s.io/apimachinery/pkg/api/testing/fuzzer.go @@ -17,19 +17,25 @@ limitations under the License. package testing import ( - "strconv" "math/rand" + "reflect" + "strconv" "testing" "github.com/google/gofuzz" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/types" ) -func GenericFuzzerFuncs(t TestingCommon) []interface{} { +func GenericFuzzerFuncs(t TestingCommon, codecs runtimeserializer.CodecFactory) []interface{} { return []interface{}{ + func(q *resource.Quantity, c fuzz.Continue) { + *q = *resource.NewQuantity(c.Int63n(1000), resource.DecimalExponent) + }, func(j *int, c fuzz.Continue) { *j = int(c.Int31()) }, @@ -92,7 +98,7 @@ func GenericFuzzerFuncs(t TestingCommon) []interface{} { // Find a codec for converting the object to raw bytes. This is necessary for the // api version and kind to be correctly set be serialization. - var codec = Codec(metav1.SchemeGroupVersion) + var codec = TestCodec(codecs, metav1.SchemeGroupVersion) // Convert the object to raw bytes bytes, err := runtime.Encode(codec, obj) @@ -131,3 +137,38 @@ func FuzzerFor(funcs []interface{}, src rand.Source) *fuzz.Fuzzer { f.Funcs(funcs...) return f } + +// MergeFuzzerFuncs will merge the given funcLists, overriding early funcs with later ones if there first +// argument has the same type. +func MergeFuzzerFuncs(t TestingCommon, funcLists ...[]interface{}) []interface{} { + funcMap := map[string]interface{}{} + for _, list := range funcLists { + for _, f := range list { + fT := reflect.TypeOf(f) + if fT.Kind() != reflect.Func || fT.NumIn() != 2 { + t.Errorf("Fuzzer func with invalid type: %v", fT) + continue + } + funcMap[fT.In(0).String()] = f + } + } + + result := []interface{}{} + for _, f := range funcMap { + result = append(result, f) + } + return result +} + +func DefaultFuzzers(t TestingCommon, codecFactory runtimeserializer.CodecFactory, fuzzerFuncs []interface{}) *fuzz.Fuzzer { + seed := rand.Int63() + + return FuzzerFor( + MergeFuzzerFuncs(t, + GenericFuzzerFuncs(t, codecFactory), + fuzzerFuncs, + ), + rand.NewSource(seed), + ) + +} diff --git a/vendor/k8s.io/apimachinery/pkg/api/testing/register.go b/vendor/k8s.io/apimachinery/pkg/api/testing/register.go deleted file mode 100644 index 2809f68d..00000000 --- a/vendor/k8s.io/apimachinery/pkg/api/testing/register.go +++ /dev/null @@ -1,57 +0,0 @@ -/* -Copyright 2017 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 testing - -import ( - "os" - "mime" - "fmt" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var scheme = runtime.NewScheme() -var codecs = runtimeserializer.NewCodecFactory(scheme) -var serializer runtime.SerializerInfo - -// Codec returns the codec for the API version to test against, as set by the -// KUBE_TEST_API_TYPE env var. -func Codec(gvs ...schema.GroupVersion) runtime.Codec { - if serializer.Serializer == nil { - return codecs.LegacyCodec(gvs...) - } - return codecs.CodecForVersions(serializer.Serializer, codecs.UniversalDeserializer(), schema.GroupVersions(gvs), nil) -} - -func init() { - metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion) - - if apiMediaType := os.Getenv("KUBE_TEST_API_TYPE"); len(apiMediaType) > 0 { - var ok bool - mediaType, _, err := mime.ParseMediaType(apiMediaType) - if err != nil { - panic(err) - } - serializer, ok = runtime.SerializerInfoForMediaType(codecs.SupportedMediaTypes(), mediaType) - if !ok { - panic(fmt.Sprintf("no serializer for %s", apiMediaType)) - } - } -} diff --git a/vendor/k8s.io/apimachinery/pkg/api/testing/roundtrip.go b/vendor/k8s.io/apimachinery/pkg/api/testing/roundtrip.go new file mode 100644 index 00000000..217614ce --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/testing/roundtrip.go @@ -0,0 +1,295 @@ +/* +Copyright 2017 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 testing + +import ( + "encoding/hex" + "fmt" + "reflect" + "strings" + "testing" + + "github.com/davecgh/go-spew/spew" + "github.com/golang/protobuf/proto" + "github.com/google/gofuzz" + flag "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" +) + +type InstallFunc func(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) + +// RoundTripTestForAPIGroup is convenient to call from your install package to make sure that a "bare" install of your group provides +// enough information to round trip +func RoundTripTestForAPIGroup(t *testing.T, installFn InstallFunc, fuzzingFuncs []interface{}) { + groupFactoryRegistry := make(announced.APIGroupFactoryRegistry) + registry := registered.NewOrDie("") + scheme := runtime.NewScheme() + installFn(groupFactoryRegistry, registry, scheme) + + RoundTripTestForScheme(t, scheme, fuzzingFuncs) +} + +// RoundTripTestForScheme is convenient to call if you already have a scheme and want to make sure that its well-formed +func RoundTripTestForScheme(t *testing.T, scheme *runtime.Scheme, fuzzingFuncs []interface{}) { + codecFactory := runtimeserializer.NewCodecFactory(scheme) + fuzzer := DefaultFuzzers(t, codecFactory, fuzzingFuncs) + RoundTripTypesWithoutProtobuf(t, scheme, codecFactory, fuzzer, nil) +} + +// RoundTripProtobufTestForAPIGroup is convenient to call from your install package to make sure that a "bare" install of your group provides +// enough information to round trip +func RoundTripProtobufTestForAPIGroup(t *testing.T, installFn InstallFunc, fuzzingFuncs []interface{}) { + groupFactoryRegistry := make(announced.APIGroupFactoryRegistry) + registry := registered.NewOrDie("") + scheme := runtime.NewScheme() + installFn(groupFactoryRegistry, registry, scheme) + + RoundTripProtobufTestForScheme(t, scheme, fuzzingFuncs) +} + +// RoundTripProtobufTestForScheme is convenient to call if you already have a scheme and want to make sure that its well-formed +func RoundTripProtobufTestForScheme(t *testing.T, scheme *runtime.Scheme, fuzzingFuncs []interface{}) { + codecFactory := runtimeserializer.NewCodecFactory(scheme) + fuzzer := DefaultFuzzers(t, codecFactory, fuzzingFuncs) + RoundTripTypes(t, scheme, codecFactory, fuzzer, nil) +} + +var FuzzIters = flag.Int("fuzz-iters", 20, "How many fuzzing iterations to do.") + +// globalNonRoundTrippableTypes are kinds that are effectively reserved across all GroupVersions +// They don't roundtrip +var globalNonRoundTrippableTypes = sets.NewString( + "ExportOptions", + "GetOptions", + // WatchEvent does not include kind and version and can only be deserialized + // implicitly (if the caller expects the specific object). The watch call defines + // the schema by content type, rather than via kind/version included in each + // object. + "WatchEvent", + // ListOptions is now part of the meta group + "ListOptions", + // Delete options is only read in metav1 + "DeleteOptions", +) + +// RoundTripTypesWithoutProtobuf applies the round-trip test to all round-trippable Kinds +// in the scheme. It will skip all the GroupVersionKinds in the skip list. +func RoundTripTypesWithoutProtobuf(t *testing.T, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, nonRoundTrippableTypes map[schema.GroupVersionKind]bool) { + roundTripTypes(t, scheme, codecFactory, fuzzer, nonRoundTrippableTypes, true) +} + +func RoundTripTypes(t *testing.T, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, nonRoundTrippableTypes map[schema.GroupVersionKind]bool) { + roundTripTypes(t, scheme, codecFactory, fuzzer, nonRoundTrippableTypes, false) +} + +func roundTripTypes(t *testing.T, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, nonRoundTrippableTypes map[schema.GroupVersionKind]bool, skipProtobuf bool) { + for _, group := range groupsFromScheme(scheme) { + t.Logf("starting group %q", group) + internalVersion := schema.GroupVersion{Group: group, Version: runtime.APIVersionInternal} + internalKindToGoType := scheme.KnownTypes(internalVersion) + + for kind := range internalKindToGoType { + if globalNonRoundTrippableTypes.Has(kind) { + continue + } + + internalGVK := internalVersion.WithKind(kind) + roundTripSpecificKind(t, internalGVK, scheme, codecFactory, fuzzer, nonRoundTrippableTypes, skipProtobuf) + } + + t.Logf("finished group %q", group) + } +} + +func RoundTripSpecificKindWithoutProtobuf(t *testing.T, internalGVK schema.GroupVersionKind, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, nonRoundTrippableTypes map[schema.GroupVersionKind]bool) { + roundTripSpecificKind(t, internalGVK, scheme, codecFactory, fuzzer, nonRoundTrippableTypes, true) +} + +func RoundTripSpecificKind(t *testing.T, internalGVK schema.GroupVersionKind, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, nonRoundTrippableTypes map[schema.GroupVersionKind]bool) { + roundTripSpecificKind(t, internalGVK, scheme, codecFactory, fuzzer, nonRoundTrippableTypes, false) +} + +func roundTripSpecificKind(t *testing.T, internalGVK schema.GroupVersionKind, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, nonRoundTrippableTypes map[schema.GroupVersionKind]bool, skipProtobuf bool) { + if nonRoundTrippableTypes[internalGVK] { + t.Logf("skipping %v", internalGVK) + return + } + t.Logf("round tripping %v", internalGVK) + + // Try a few times, since runTest uses random values. + for i := 0; i < *FuzzIters; i++ { + roundTripToAllExternalVersions(t, scheme, codecFactory, fuzzer, internalGVK, nonRoundTrippableTypes, skipProtobuf) + if t.Failed() { + break + } + } +} + +// fuzzInternalObject fuzzes an arbitrary runtime object using the appropriate +// fuzzer registered with the apitesting package. +func fuzzInternalObject(t *testing.T, fuzzer *fuzz.Fuzzer, object runtime.Object) runtime.Object { + fuzzer.Fuzz(object) + + j, err := meta.TypeAccessor(object) + if err != nil { + t.Fatalf("Unexpected error %v for %#v", err, object) + } + j.SetKind("") + j.SetAPIVersion("") + + return object +} + +func groupsFromScheme(scheme *runtime.Scheme) []string { + ret := sets.String{} + for gvk := range scheme.AllKnownTypes() { + ret.Insert(gvk.Group) + } + return ret.List() +} + +func roundTripToAllExternalVersions(t *testing.T, scheme *runtime.Scheme, codecFactory runtimeserializer.CodecFactory, fuzzer *fuzz.Fuzzer, internalGVK schema.GroupVersionKind, nonRoundTrippableTypes map[schema.GroupVersionKind]bool, skipProtobuf bool) { + object, err := scheme.New(internalGVK) + if err != nil { + t.Fatalf("Couldn't make a %v? %v", internalGVK, err) + } + if _, err := meta.TypeAccessor(object); err != nil { + t.Fatalf("%q is not a TypeMeta and cannot be tested - add it to nonRoundTrippableInternalTypes: %v", internalGVK, err) + } + + fuzzInternalObject(t, fuzzer, object) + + // find all potential serializations in the scheme. + // TODO fix this up to handle kinds that cross registered with different names. + for externalGVK, externalGoType := range scheme.AllKnownTypes() { + if externalGVK.Version == runtime.APIVersionInternal { + continue + } + if externalGVK.GroupKind() != internalGVK.GroupKind() { + continue + } + if nonRoundTrippableTypes[externalGVK] { + t.Logf("\tskipping %v %v", externalGVK, externalGoType) + continue + } + t.Logf("\tround tripping to %v %v", externalGVK, externalGoType) + + roundTrip(t, scheme, TestCodec(codecFactory, externalGVK.GroupVersion()), object) + + // TODO remove this hack after we're past the intermediate steps + if !skipProtobuf && externalGVK.Group != "kubeadm.k8s.io" { + s := protobuf.NewSerializer(scheme, scheme, "application/arbitrary.content.type") + protobufCodec := codecFactory.CodecForVersions(s, s, externalGVK.GroupVersion(), nil) + roundTrip(t, scheme, protobufCodec, object) + } + } +} + +// roundTrip applies a single round-trip test to the given runtime object +// using the given codec. The round-trip test ensures that an object can be +// deep-copied and converted from internal -> versioned -> internal without +// loss of data. +func roundTrip(t *testing.T, scheme *runtime.Scheme, codec runtime.Codec, object runtime.Object) { + printer := spew.ConfigState{DisableMethods: true} + original := object + + // deep copy the original object + copied, err := scheme.DeepCopy(object) + if err != nil { + panic(fmt.Sprintf("unable to copy: %v", err)) + } + object = copied.(runtime.Object) + name := reflect.TypeOf(object).Elem().Name() + + // encode (serialize) the deep copy using the provided codec + data, err := runtime.Encode(codec, object) + if err != nil { + if runtime.IsNotRegisteredError(err) { + t.Logf("%v: not registered: %v (%s)", name, err, printer.Sprintf("%#v", object)) + } else { + t.Errorf("%v: %v (%s)", name, err, printer.Sprintf("%#v", object)) + } + return + } + + // ensure that the deep copy is equal to the original; neither the deep + // copy or conversion should alter the object + // TODO eliminate this global + if !apiequality.Semantic.DeepEqual(original, object) { + t.Errorf("0: %v: encode altered the object, diff: %v", name, diff.ObjectReflectDiff(original, object)) + return + } + + // decode (deserialize) the encoded data back into an object + obj2, err := runtime.Decode(codec, data) + if err != nil { + t.Errorf("0: %v: %v\nCodec: %#v\nData: %s\nSource: %#v", name, err, codec, dataAsString(data), printer.Sprintf("%#v", object)) + panic("failed") + } + + // ensure that the object produced from decoding the encoded data is equal + // to the original object + if !apiequality.Semantic.DeepEqual(original, obj2) { + t.Errorf("1: %v: diff: %v\nCodec: %#v\nSource:\n\n%#v\n\nEncoded:\n\n%s\n\nFinal:\n\n%#v", name, diff.ObjectReflectDiff(object, obj2), codec, printer.Sprintf("%#v", object), dataAsString(data), printer.Sprintf("%#v", obj2)) + return + } + + // decode the encoded data into a new object (instead of letting the codec + // create a new object) + obj3 := reflect.New(reflect.TypeOf(object).Elem()).Interface().(runtime.Object) + if err := runtime.DecodeInto(codec, data, obj3); err != nil { + t.Errorf("2: %v: %v", name, err) + return + } + + // ensure that the new runtime object is equal to the original after being + // decoded into + if !apiequality.Semantic.DeepEqual(object, obj3) { + t.Errorf("3: %v: diff: %v\nCodec: %#v", name, diff.ObjectReflectDiff(object, obj3), codec) + return + } + + // do structure-preserving fuzzing of the deep-copied object. If it shares anything with the original, + // the deep-copy was actually only a shallow copy. Then original and obj3 will be different after fuzzing. + // NOTE: we use the encoding+decoding here as an alternative, guaranteed deep-copy to compare against. + ValueFuzz(object) + if !apiequality.Semantic.DeepEqual(original, obj3) { + t.Errorf("0: %v: fuzzing a copy altered the original, diff: %v", name, diff.ObjectReflectDiff(original, object)) + return + } +} + +// dataAsString returns the given byte array as a string; handles detecting +// protocol buffers. +func dataAsString(data []byte) string { + dataString := string(data) + if !strings.HasPrefix(dataString, "{") { + dataString = "\n" + hex.Dump(data) + proto.NewBuffer(make([]byte, 0, 1024)).DebugPrint("decoded object", data) + } + return dataString +} diff --git a/vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz.go b/vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz.go new file mode 100644 index 00000000..4cb03b7b --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz.go @@ -0,0 +1,86 @@ +/* +Copyright 2017 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 testing + +import ( + "reflect" +) + +// ValueFuzz recursively changes all basic type values in an object. Any kind of references will not +// be touch, i.e. the addresses of slices, maps, pointers will stay unchanged. +func ValueFuzz(obj interface{}) { + valueFuzz(reflect.ValueOf(obj)) +} + +func valueFuzz(obj reflect.Value) { + switch obj.Kind() { + case reflect.Array: + for i := 0; i < obj.Len(); i++ { + valueFuzz(obj.Index(i)) + } + case reflect.Slice: + if obj.IsNil() { + // TODO: set non-nil value + } else { + for i := 0; i < obj.Len(); i++ { + valueFuzz(obj.Index(i)) + } + } + case reflect.Interface, reflect.Ptr: + if obj.IsNil() { + // TODO: set non-nil value + } else { + valueFuzz(obj.Elem()) + } + case reflect.Struct: + for i, n := 0, obj.NumField(); i < n; i++ { + valueFuzz(obj.Field(i)) + } + case reflect.Map: + if obj.IsNil() { + // TODO: set non-nil value + } else { + for _, k := range obj.MapKeys() { + // map values are not addressable. We need a copy. + v := obj.MapIndex(k) + copy := reflect.New(v.Type()) + copy.Elem().Set(v) + valueFuzz(copy.Elem()) + obj.SetMapIndex(k, copy.Elem()) + } + // TODO: set some new value + } + case reflect.Func: // ignore, we don't have function types in our API + default: + if !obj.CanSet() { + return + } + switch obj.Kind() { + case reflect.String: + obj.SetString(obj.String() + "x") + case reflect.Bool: + obj.SetBool(!obj.Bool()) + case reflect.Float32, reflect.Float64: + obj.SetFloat(obj.Float()*2.0 + 1.0) + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + obj.SetInt(obj.Int() + 1) + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + obj.SetUint(obj.Uint() + 1) + default: + } + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz_test.go b/vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz_test.go new file mode 100644 index 00000000..07dca802 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/testing/valuefuzz_test.go @@ -0,0 +1,73 @@ +/* +Copyright 2017 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 testing + +import "testing" + +func TestValueFuzz(t *testing.T) { + type ( + Y struct { + I int + B bool + F float32 + U uint + } + X struct { + Ptr *X + Y Y + Map map[string]int + Slice []int + } + ) + + x := X{ + Ptr: &X{}, + Map: map[string]int{"foo": 42}, + Slice: []int{1, 2, 3}, + } + + p := x.Ptr + m := x.Map + s := x.Slice + + ValueFuzz(x) + + if x.Ptr.Y.I == 0 { + t.Errorf("x.Ptr.Y.I should have changed") + } + + if x.Map["foo"] == 42 { + t.Errorf("x.Map[foo] should have changed") + } + + if x.Slice[0] == 1 { + t.Errorf("x.Slice[0] should have changed") + } + + if x.Ptr != p { + t.Errorf("x.Ptr changed") + } + + m["foo"] = 7 + if x.Map["foo"] != m["foo"] { + t.Errorf("x.Map changed") + } + s[0] = 7 + if x.Slice[0] != s[0] { + t.Errorf("x.Slice changed") + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta.go b/vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta.go new file mode 100644 index 00000000..0074e3c9 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta.go @@ -0,0 +1,261 @@ +/* +Copyright 2014 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 validation + +import ( + "fmt" + "strings" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1validation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" +) + +// TODO: delete this global variable when we enable the validation of common +// fields by default. +var RepairMalformedUpdates bool = true + +const FieldImmutableErrorMsg string = `field is immutable` + +const totalAnnotationSizeLimitB int = 256 * (1 << 10) // 256 kB + +// BannedOwners is a black list of object that are not allowed to be owners. +var BannedOwners = map[schema.GroupVersionKind]struct{}{ + schema.GroupVersionKind{Group: "", Version: "v1", Kind: "Event"}: {}, +} + +// ValidateClusterName can be used to check whether the given cluster name is valid. +var ValidateClusterName = NameIsDNS1035Label + +// ValidateAnnotations validates that a set of annotations are correctly defined. +func ValidateAnnotations(annotations map[string]string, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + var totalSize int64 + for k, v := range annotations { + for _, msg := range validation.IsQualifiedName(strings.ToLower(k)) { + allErrs = append(allErrs, field.Invalid(fldPath, k, msg)) + } + totalSize += (int64)(len(k)) + (int64)(len(v)) + } + if totalSize > (int64)(totalAnnotationSizeLimitB) { + allErrs = append(allErrs, field.TooLong(fldPath, "", totalAnnotationSizeLimitB)) + } + return allErrs +} + +func validateOwnerReference(ownerReference metav1.OwnerReference, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + gvk := schema.FromAPIVersionAndKind(ownerReference.APIVersion, ownerReference.Kind) + // gvk.Group is empty for the legacy group. + if len(gvk.Version) == 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("apiVersion"), ownerReference.APIVersion, "version must not be empty")) + } + if len(gvk.Kind) == 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("kind"), ownerReference.Kind, "kind must not be empty")) + } + if len(ownerReference.Name) == 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("name"), ownerReference.Name, "name must not be empty")) + } + if len(ownerReference.UID) == 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("uid"), ownerReference.UID, "uid must not be empty")) + } + if _, ok := BannedOwners[gvk]; ok { + allErrs = append(allErrs, field.Invalid(fldPath, ownerReference, fmt.Sprintf("%s is disallowed from being an owner", gvk))) + } + return allErrs +} + +func ValidateOwnerReferences(ownerReferences []metav1.OwnerReference, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + controllerName := "" + for _, ref := range ownerReferences { + allErrs = append(allErrs, validateOwnerReference(ref, fldPath)...) + if ref.Controller != nil && *ref.Controller { + if controllerName != "" { + allErrs = append(allErrs, field.Invalid(fldPath, ownerReferences, + fmt.Sprintf("Only one reference can have Controller set to true. Found \"true\" in references for %v and %v", controllerName, ref.Name))) + } else { + controllerName = ref.Name + } + } + } + return allErrs +} + +// Validate finalizer names +func ValidateFinalizerName(stringValue string, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + for _, msg := range validation.IsQualifiedName(stringValue) { + allErrs = append(allErrs, field.Invalid(fldPath, stringValue, msg)) + } + + return allErrs +} + +func ValidateNoNewFinalizers(newFinalizers []string, oldFinalizers []string, fldPath *field.Path) field.ErrorList { + const newFinalizersErrorMsg string = `no new finalizers can be added if the object is being deleted` + allErrs := field.ErrorList{} + extra := sets.NewString(newFinalizers...).Difference(sets.NewString(oldFinalizers...)) + if len(extra) != 0 { + allErrs = append(allErrs, field.Forbidden(fldPath, fmt.Sprintf("no new finalizers can be added if the object is being deleted, found new finalizers %#v", extra.List()))) + } + return allErrs +} + +func ValidateImmutableField(newVal, oldVal interface{}, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + if !apiequality.Semantic.DeepEqual(oldVal, newVal) { + allErrs = append(allErrs, field.Invalid(fldPath, newVal, FieldImmutableErrorMsg)) + } + return allErrs +} + +// ValidateObjectMeta validates an object's metadata on creation. It expects that name generation has already +// been performed. +// It doesn't return an error for rootscoped resources with namespace, because namespace should already be cleared before. +func ValidateObjectMeta(meta *metav1.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if len(meta.GenerateName) != 0 { + for _, msg := range nameFn(meta.GenerateName, true) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("generateName"), meta.GenerateName, msg)) + } + } + // If the generated name validates, but the calculated value does not, it's a problem with generation, and we + // report it here. This may confuse users, but indicates a programming bug and still must be validated. + // If there are multiple fields out of which one is required then add an or as a separator + if len(meta.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("name"), "name or generateName is required")) + } else { + for _, msg := range nameFn(meta.Name, false) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("name"), meta.Name, msg)) + } + } + if requiresNamespace { + if len(meta.Namespace) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("namespace"), "")) + } else { + for _, msg := range ValidateNamespaceName(meta.Namespace, false) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("namespace"), meta.Namespace, msg)) + } + } + } else { + if len(meta.Namespace) != 0 { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("namespace"), "not allowed on this type")) + } + } + if len(meta.ClusterName) != 0 { + for _, msg := range ValidateClusterName(meta.ClusterName, false) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("clusterName"), meta.ClusterName, msg)) + } + } + allErrs = append(allErrs, ValidateNonnegativeField(meta.Generation, fldPath.Child("generation"))...) + allErrs = append(allErrs, v1validation.ValidateLabels(meta.Labels, fldPath.Child("labels"))...) + allErrs = append(allErrs, ValidateAnnotations(meta.Annotations, fldPath.Child("annotations"))...) + allErrs = append(allErrs, ValidateOwnerReferences(meta.OwnerReferences, fldPath.Child("ownerReferences"))...) + allErrs = append(allErrs, ValidateFinalizers(meta.Finalizers, fldPath.Child("finalizers"))...) + return allErrs +} + +// ValidateFinalizers tests if the finalizers name are valid, and if there are conflicting finalizers. +func ValidateFinalizers(finalizers []string, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + hasFinalizerOrphanDependents := false + hasFinalizerDeleteDependents := false + for _, finalizer := range finalizers { + allErrs = append(allErrs, ValidateFinalizerName(finalizer, fldPath)...) + if finalizer == metav1.FinalizerOrphanDependents { + hasFinalizerOrphanDependents = true + } + if finalizer == metav1.FinalizerDeleteDependents { + hasFinalizerDeleteDependents = true + } + } + if hasFinalizerDeleteDependents && hasFinalizerOrphanDependents { + allErrs = append(allErrs, field.Invalid(fldPath, finalizers, fmt.Sprintf("finalizer %s and %s cannot be both set", metav1.FinalizerOrphanDependents, metav1.FinalizerDeleteDependents))) + } + return allErrs +} + +// ValidateObjectMetaUpdate validates an object's metadata when updated +func ValidateObjectMetaUpdate(newMeta, oldMeta *metav1.ObjectMeta, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if !RepairMalformedUpdates && newMeta.UID != oldMeta.UID { + allErrs = append(allErrs, field.Invalid(fldPath.Child("uid"), newMeta.UID, "field is immutable")) + } + // in the event it is left empty, set it, to allow clients more flexibility + // TODO: remove the following code that repairs the update request when we retire the clients that modify the immutable fields. + // Please do not copy this pattern elsewhere; validation functions should not be modifying the objects they are passed! + if RepairMalformedUpdates { + if len(newMeta.UID) == 0 { + newMeta.UID = oldMeta.UID + } + // ignore changes to timestamp + if oldMeta.CreationTimestamp.IsZero() { + oldMeta.CreationTimestamp = newMeta.CreationTimestamp + } else { + newMeta.CreationTimestamp = oldMeta.CreationTimestamp + } + // an object can never remove a deletion timestamp or clear/change grace period seconds + if !oldMeta.DeletionTimestamp.IsZero() { + newMeta.DeletionTimestamp = oldMeta.DeletionTimestamp + } + if oldMeta.DeletionGracePeriodSeconds != nil && newMeta.DeletionGracePeriodSeconds == nil { + newMeta.DeletionGracePeriodSeconds = oldMeta.DeletionGracePeriodSeconds + } + } + + // TODO: needs to check if newMeta==nil && oldMeta !=nil after the repair logic is removed. + if newMeta.DeletionGracePeriodSeconds != nil && (oldMeta.DeletionGracePeriodSeconds == nil || *newMeta.DeletionGracePeriodSeconds != *oldMeta.DeletionGracePeriodSeconds) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("deletionGracePeriodSeconds"), newMeta.DeletionGracePeriodSeconds, "field is immutable; may only be changed via deletion")) + } + if newMeta.DeletionTimestamp != nil && (oldMeta.DeletionTimestamp == nil || !newMeta.DeletionTimestamp.Equal(*oldMeta.DeletionTimestamp)) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("deletionTimestamp"), newMeta.DeletionTimestamp, "field is immutable; may only be changed via deletion")) + } + + // Finalizers cannot be added if the object is already being deleted. + if oldMeta.DeletionTimestamp != nil { + allErrs = append(allErrs, ValidateNoNewFinalizers(newMeta.Finalizers, oldMeta.Finalizers, fldPath.Child("finalizers"))...) + } + + // Reject updates that don't specify a resource version + if len(newMeta.ResourceVersion) == 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("resourceVersion"), newMeta.ResourceVersion, "must be specified for an update")) + } + + // Generation shouldn't be decremented + if newMeta.Generation < oldMeta.Generation { + allErrs = append(allErrs, field.Invalid(fldPath.Child("generation"), newMeta.Generation, "must not be decremented")) + } + + allErrs = append(allErrs, ValidateImmutableField(newMeta.Name, oldMeta.Name, fldPath.Child("name"))...) + allErrs = append(allErrs, ValidateImmutableField(newMeta.Namespace, oldMeta.Namespace, fldPath.Child("namespace"))...) + allErrs = append(allErrs, ValidateImmutableField(newMeta.UID, oldMeta.UID, fldPath.Child("uid"))...) + allErrs = append(allErrs, ValidateImmutableField(newMeta.CreationTimestamp, oldMeta.CreationTimestamp, fldPath.Child("creationTimestamp"))...) + allErrs = append(allErrs, ValidateImmutableField(newMeta.ClusterName, oldMeta.ClusterName, fldPath.Child("clusterName"))...) + + allErrs = append(allErrs, v1validation.ValidateLabels(newMeta.Labels, fldPath.Child("labels"))...) + allErrs = append(allErrs, ValidateAnnotations(newMeta.Annotations, fldPath.Child("annotations"))...) + allErrs = append(allErrs, ValidateOwnerReferences(newMeta.OwnerReferences, fldPath.Child("ownerReferences"))...) + + return allErrs +} diff --git a/vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go b/vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go new file mode 100644 index 00000000..a8041d7f --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/validation/objectmeta_test.go @@ -0,0 +1,500 @@ +/* +Copyright 2017 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 validation + +import ( + "math/rand" + "reflect" + "strings" + "testing" + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/validation/field" +) + +const ( + maxLengthErrMsg = "must be no more than" + namePartErrMsg = "name part must consist of" + nameErrMsg = "a qualified name must consist of" +) + +// Ensure custom name functions are allowed +func TestValidateObjectMetaCustomName(t *testing.T) { + errs := ValidateObjectMeta( + &metav1.ObjectMeta{Name: "test", GenerateName: "foo"}, + false, + func(s string, prefix bool) []string { + if s == "test" { + return nil + } + return []string{"name-gen"} + }, + field.NewPath("field")) + if len(errs) != 1 { + t.Fatalf("unexpected errors: %v", errs) + } + if !strings.Contains(errs[0].Error(), "name-gen") { + t.Errorf("unexpected error message: %v", errs) + } +} + +// Ensure namespace names follow dns label format +func TestValidateObjectMetaNamespaces(t *testing.T) { + errs := ValidateObjectMeta( + &metav1.ObjectMeta{Name: "test", Namespace: "foo.bar"}, + true, + func(s string, prefix bool) []string { + return nil + }, + field.NewPath("field")) + if len(errs) != 1 { + t.Fatalf("unexpected errors: %v", errs) + } + if !strings.Contains(errs[0].Error(), `Invalid value: "foo.bar"`) { + t.Errorf("unexpected error message: %v", errs) + } + maxLength := 63 + letters := []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") + b := make([]rune, maxLength+1) + for i := range b { + b[i] = letters[rand.Intn(len(letters))] + } + errs = ValidateObjectMeta( + &metav1.ObjectMeta{Name: "test", Namespace: string(b)}, + true, + func(s string, prefix bool) []string { + return nil + }, + field.NewPath("field")) + if len(errs) != 2 { + t.Fatalf("unexpected errors: %v", errs) + } + if !strings.Contains(errs[0].Error(), "Invalid value") || !strings.Contains(errs[1].Error(), "Invalid value") { + t.Errorf("unexpected error message: %v", errs) + } +} + +func TestValidateObjectMetaOwnerReferences(t *testing.T) { + trueVar := true + falseVar := false + testCases := []struct { + description string + ownerReferences []metav1.OwnerReference + expectError bool + expectedErrorMessage string + }{ + { + description: "simple success - third party extension.", + ownerReferences: []metav1.OwnerReference{ + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "1", + }, + }, + expectError: false, + expectedErrorMessage: "", + }, + { + description: "simple failures - event shouldn't be set as an owner", + ownerReferences: []metav1.OwnerReference{ + { + APIVersion: "v1", + Kind: "Event", + Name: "name", + UID: "1", + }, + }, + expectError: true, + expectedErrorMessage: "is disallowed from being an owner", + }, + { + description: "simple controller ref success - one reference with Controller set", + ownerReferences: []metav1.OwnerReference{ + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "1", + Controller: &falseVar, + }, + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "2", + Controller: &trueVar, + }, + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "3", + Controller: &falseVar, + }, + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "4", + }, + }, + expectError: false, + expectedErrorMessage: "", + }, + { + description: "simple controller ref failure - two references with Controller set", + ownerReferences: []metav1.OwnerReference{ + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "1", + Controller: &falseVar, + }, + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "2", + Controller: &trueVar, + }, + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "3", + Controller: &trueVar, + }, + { + APIVersion: "thirdpartyVersion", + Kind: "thirdpartyKind", + Name: "name", + UID: "4", + }, + }, + expectError: true, + expectedErrorMessage: "Only one reference can have Controller set to true", + }, + } + + for _, tc := range testCases { + errs := ValidateObjectMeta( + &metav1.ObjectMeta{Name: "test", Namespace: "test", OwnerReferences: tc.ownerReferences}, + true, + func(s string, prefix bool) []string { + return nil + }, + field.NewPath("field")) + if len(errs) != 0 && !tc.expectError { + t.Errorf("unexpected error: %v in test case %v", errs, tc.description) + } + if len(errs) == 0 && tc.expectError { + t.Errorf("expect error in test case %v", tc.description) + } + if len(errs) != 0 && !strings.Contains(errs[0].Error(), tc.expectedErrorMessage) { + t.Errorf("unexpected error message: %v in test case %v", errs, tc.description) + } + } +} + +func TestValidateObjectMetaUpdateIgnoresCreationTimestamp(t *testing.T) { + if errs := ValidateObjectMetaUpdate( + &metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + &metav1.ObjectMeta{Name: "test", ResourceVersion: "1", CreationTimestamp: metav1.NewTime(time.Unix(10, 0))}, + field.NewPath("field"), + ); len(errs) != 0 { + t.Fatalf("unexpected errors: %v", errs) + } + if errs := ValidateObjectMetaUpdate( + &metav1.ObjectMeta{Name: "test", ResourceVersion: "1", CreationTimestamp: metav1.NewTime(time.Unix(10, 0))}, + &metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + field.NewPath("field"), + ); len(errs) != 0 { + t.Fatalf("unexpected errors: %v", errs) + } + if errs := ValidateObjectMetaUpdate( + &metav1.ObjectMeta{Name: "test", ResourceVersion: "1", CreationTimestamp: metav1.NewTime(time.Unix(10, 0))}, + &metav1.ObjectMeta{Name: "test", ResourceVersion: "1", CreationTimestamp: metav1.NewTime(time.Unix(11, 0))}, + field.NewPath("field"), + ); len(errs) != 0 { + t.Fatalf("unexpected errors: %v", errs) + } +} + +func TestValidateFinalizersUpdate(t *testing.T) { + testcases := map[string]struct { + Old metav1.ObjectMeta + New metav1.ObjectMeta + ExpectedErr string + }{ + "invalid adding finalizers": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &metav1.Time{}, Finalizers: []string{"x/a"}}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &metav1.Time{}, Finalizers: []string{"x/a", "y/b"}}, + ExpectedErr: "y/b", + }, + "invalid changing finalizers": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &metav1.Time{}, Finalizers: []string{"x/a"}}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &metav1.Time{}, Finalizers: []string{"x/b"}}, + ExpectedErr: "x/b", + }, + "valid removing finalizers": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &metav1.Time{}, Finalizers: []string{"x/a", "y/b"}}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &metav1.Time{}, Finalizers: []string{"x/a"}}, + ExpectedErr: "", + }, + "valid adding finalizers for objects not being deleted": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Finalizers: []string{"x/a"}}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Finalizers: []string{"x/a", "y/b"}}, + ExpectedErr: "", + }, + } + for name, tc := range testcases { + errs := ValidateObjectMetaUpdate(&tc.New, &tc.Old, field.NewPath("field")) + if len(errs) == 0 { + if len(tc.ExpectedErr) != 0 { + t.Errorf("case: %q, expected error to contain %q", name, tc.ExpectedErr) + } + } else if e, a := tc.ExpectedErr, errs.ToAggregate().Error(); !strings.Contains(a, e) { + t.Errorf("case: %q, expected error to contain %q, got error %q", name, e, a) + } + } +} + +func TestValidateFinalizersPreventConflictingFinalizers(t *testing.T) { + testcases := map[string]struct { + ObjectMeta metav1.ObjectMeta + ExpectedErr string + }{ + "conflicting finalizers": { + ObjectMeta: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Finalizers: []string{metav1.FinalizerOrphanDependents, metav1.FinalizerDeleteDependents}}, + ExpectedErr: "cannot be both set", + }, + } + for name, tc := range testcases { + errs := ValidateObjectMeta(&tc.ObjectMeta, false, NameIsDNSSubdomain, field.NewPath("field")) + if len(errs) == 0 { + if len(tc.ExpectedErr) != 0 { + t.Errorf("case: %q, expected error to contain %q", name, tc.ExpectedErr) + } + } else if e, a := tc.ExpectedErr, errs.ToAggregate().Error(); !strings.Contains(a, e) { + t.Errorf("case: %q, expected error to contain %q, got error %q", name, e, a) + } + } +} + +func TestValidateObjectMetaUpdatePreventsDeletionFieldMutation(t *testing.T) { + now := metav1.NewTime(time.Unix(1000, 0).UTC()) + later := metav1.NewTime(time.Unix(2000, 0).UTC()) + gracePeriodShort := int64(30) + gracePeriodLong := int64(40) + + testcases := map[string]struct { + Old metav1.ObjectMeta + New metav1.ObjectMeta + ExpectedNew metav1.ObjectMeta + ExpectedErrs []string + }{ + "valid without deletion fields": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + ExpectedErrs: []string{}, + }, + "valid with deletion fields": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now, DeletionGracePeriodSeconds: &gracePeriodShort}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now, DeletionGracePeriodSeconds: &gracePeriodShort}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now, DeletionGracePeriodSeconds: &gracePeriodShort}, + ExpectedErrs: []string{}, + }, + + "invalid set deletionTimestamp": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now}, + ExpectedErrs: []string{"field.deletionTimestamp: Invalid value: 1970-01-01 00:16:40 +0000 UTC: field is immutable; may only be changed via deletion"}, + }, + "invalid clear deletionTimestamp": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now}, + ExpectedErrs: []string{}, // no errors, validation copies the old value + }, + "invalid change deletionTimestamp": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &later}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionTimestamp: &now}, + ExpectedErrs: []string{}, // no errors, validation copies the old value + }, + + "invalid set deletionGracePeriodSeconds": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodShort}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodShort}, + ExpectedErrs: []string{"field.deletionGracePeriodSeconds: Invalid value: 30: field is immutable; may only be changed via deletion"}, + }, + "invalid clear deletionGracePeriodSeconds": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodShort}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1"}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodShort}, + ExpectedErrs: []string{}, // no errors, validation copies the old value + }, + "invalid change deletionGracePeriodSeconds": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodShort}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodLong}, + ExpectedNew: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", DeletionGracePeriodSeconds: &gracePeriodLong}, + ExpectedErrs: []string{"field.deletionGracePeriodSeconds: Invalid value: 40: field is immutable; may only be changed via deletion"}, + }, + } + + for k, tc := range testcases { + errs := ValidateObjectMetaUpdate(&tc.New, &tc.Old, field.NewPath("field")) + if len(errs) != len(tc.ExpectedErrs) { + t.Logf("%s: Expected: %#v", k, tc.ExpectedErrs) + t.Logf("%s: Got: %#v", k, errs) + t.Errorf("%s: expected %d errors, got %d", k, len(tc.ExpectedErrs), len(errs)) + continue + } + for i := range errs { + if errs[i].Error() != tc.ExpectedErrs[i] { + t.Errorf("%s: error #%d: expected %q, got %q", k, i, tc.ExpectedErrs[i], errs[i].Error()) + } + } + if !reflect.DeepEqual(tc.New, tc.ExpectedNew) { + t.Errorf("%s: Expected after validation:\n%#v\ngot\n%#v", k, tc.ExpectedNew, tc.New) + } + } +} + +func TestObjectMetaGenerationUpdate(t *testing.T) { + testcases := map[string]struct { + Old metav1.ObjectMeta + New metav1.ObjectMeta + ExpectedErrs []string + }{ + "invalid generation change - decremented": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Generation: 5}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Generation: 4}, + ExpectedErrs: []string{"field.generation: Invalid value: 4: must not be decremented"}, + }, + "valid generation change - incremented by one": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Generation: 1}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Generation: 2}, + ExpectedErrs: []string{}, + }, + "valid generation field - not updated": { + Old: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Generation: 5}, + New: metav1.ObjectMeta{Name: "test", ResourceVersion: "1", Generation: 5}, + ExpectedErrs: []string{}, + }, + } + + for k, tc := range testcases { + errList := []string{} + errs := ValidateObjectMetaUpdate(&tc.New, &tc.Old, field.NewPath("field")) + if len(errs) != len(tc.ExpectedErrs) { + t.Logf("%s: Expected: %#v", k, tc.ExpectedErrs) + for _, err := range errs { + errList = append(errList, err.Error()) + } + t.Logf("%s: Got: %#v", k, errList) + t.Errorf("%s: expected %d errors, got %d", k, len(tc.ExpectedErrs), len(errs)) + continue + } + for i := range errList { + if errList[i] != tc.ExpectedErrs[i] { + t.Errorf("%s: error #%d: expected %q, got %q", k, i, tc.ExpectedErrs[i], errList[i]) + } + } + } +} + +// Ensure trailing slash is allowed in generate name +func TestValidateObjectMetaTrimsTrailingSlash(t *testing.T) { + errs := ValidateObjectMeta( + &metav1.ObjectMeta{Name: "test", GenerateName: "foo-"}, + false, + NameIsDNSSubdomain, + field.NewPath("field")) + if len(errs) != 0 { + t.Fatalf("unexpected errors: %v", errs) + } +} + +func TestValidateAnnotations(t *testing.T) { + successCases := []map[string]string{ + {"simple": "bar"}, + {"now-with-dashes": "bar"}, + {"1-starts-with-num": "bar"}, + {"1234": "bar"}, + {"simple/simple": "bar"}, + {"now-with-dashes/simple": "bar"}, + {"now-with-dashes/now-with-dashes": "bar"}, + {"now.with.dots/simple": "bar"}, + {"now-with.dashes-and.dots/simple": "bar"}, + {"1-num.2-num/3-num": "bar"}, + {"1234/5678": "bar"}, + {"1.2.3.4/5678": "bar"}, + {"UpperCase123": "bar"}, + {"a": strings.Repeat("b", totalAnnotationSizeLimitB-1)}, + { + "a": strings.Repeat("b", totalAnnotationSizeLimitB/2-1), + "c": strings.Repeat("d", totalAnnotationSizeLimitB/2-1), + }, + } + for i := range successCases { + errs := ValidateAnnotations(successCases[i], field.NewPath("field")) + if len(errs) != 0 { + t.Errorf("case[%d] expected success, got %#v", i, errs) + } + } + + nameErrorCases := []struct { + annotations map[string]string + expect string + }{ + {map[string]string{"nospecialchars^=@": "bar"}, namePartErrMsg}, + {map[string]string{"cantendwithadash-": "bar"}, namePartErrMsg}, + {map[string]string{"only/one/slash": "bar"}, nameErrMsg}, + {map[string]string{strings.Repeat("a", 254): "bar"}, maxLengthErrMsg}, + } + for i := range nameErrorCases { + errs := ValidateAnnotations(nameErrorCases[i].annotations, field.NewPath("field")) + if len(errs) != 1 { + t.Errorf("case[%d]: expected failure", i) + } else { + if !strings.Contains(errs[0].Detail, nameErrorCases[i].expect) { + t.Errorf("case[%d]: error details do not include %q: %q", i, nameErrorCases[i].expect, errs[0].Detail) + } + } + } + totalSizeErrorCases := []map[string]string{ + {"a": strings.Repeat("b", totalAnnotationSizeLimitB)}, + { + "a": strings.Repeat("b", totalAnnotationSizeLimitB/2), + "c": strings.Repeat("d", totalAnnotationSizeLimitB/2), + }, + } + for i := range totalSizeErrorCases { + errs := ValidateAnnotations(totalSizeErrorCases[i], field.NewPath("field")) + if len(errs) != 1 { + t.Errorf("case[%d] expected failure", i) + } + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go b/vendor/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go index 2f4b0898..afb03295 100644 --- a/vendor/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go +++ b/vendor/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go @@ -42,10 +42,16 @@ type GroupVersionFactoryArgs struct { // GroupMetaFactoryArgs contains the group-level args of a GroupMetaFactory. type GroupMetaFactoryArgs struct { + // GroupName is the name of the API-Group + // + // example: 'servicecatalog.k8s.io' GroupName string VersionPreferenceOrder []string - ImportPrefix string - + // ImportPrefix is the base go package of the API-Group + // + // example: 'k8s.io/kubernetes/pkg/apis/autoscaling' + ImportPrefix string + // RootScopedKinds are resources that are not namespaced. RootScopedKinds sets.String // nil is allowed IgnoredKinds sets.String // nil is allowed diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/register_test.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/register_test.go index 151f99a0..8a6fefa4 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/register_test.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/register_test.go @@ -49,8 +49,8 @@ func TestListOptions(t *testing.T) { // verify failing conversion for i, failingObject := range []*metav1.ListOptions{ - &metav1.ListOptions{LabelSelector: "a!!!"}, - &metav1.ListOptions{FieldSelector: "a!!!"}, + {LabelSelector: "a!!!"}, + {FieldSelector: "a!!!"}, } { out = &ListOptions{} if err := scheme.Convert(failingObject, out, nil); err == nil { diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go new file mode 100644 index 00000000..b9a8fd02 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go @@ -0,0 +1,264 @@ +/* +Copyright 2014 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 v1 + +import ( + "fmt" + "strconv" + "strings" + + "k8s.io/apimachinery/pkg/api/resource" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/intstr" +) + +func AddConversionFuncs(scheme *runtime.Scheme) error { + return scheme.AddConversionFuncs( + Convert_v1_TypeMeta_To_v1_TypeMeta, + + Convert_unversioned_ListMeta_To_unversioned_ListMeta, + + Convert_intstr_IntOrString_To_intstr_IntOrString, + + Convert_unversioned_Time_To_unversioned_Time, + + Convert_Slice_string_To_unversioned_Time, + + Convert_resource_Quantity_To_resource_Quantity, + + Convert_string_To_labels_Selector, + Convert_labels_Selector_To_string, + + Convert_string_To_fields_Selector, + Convert_fields_Selector_To_string, + + Convert_Pointer_bool_To_bool, + Convert_bool_To_Pointer_bool, + + Convert_Pointer_string_To_string, + Convert_string_To_Pointer_string, + + Convert_Pointer_int64_To_int, + Convert_int_To_Pointer_int64, + + Convert_Pointer_int32_To_int32, + Convert_int32_To_Pointer_int32, + + Convert_Pointer_float64_To_float64, + Convert_float64_To_Pointer_float64, + + Convert_map_to_unversioned_LabelSelector, + Convert_unversioned_LabelSelector_to_map, + + Convert_Slice_string_To_Slice_int32, + ) +} + +func Convert_Pointer_float64_To_float64(in **float64, out *float64, s conversion.Scope) error { + if *in == nil { + *out = 0 + return nil + } + *out = float64(**in) + return nil +} + +func Convert_float64_To_Pointer_float64(in *float64, out **float64, s conversion.Scope) error { + temp := float64(*in) + *out = &temp + return nil +} + +func Convert_Pointer_int32_To_int32(in **int32, out *int32, s conversion.Scope) error { + if *in == nil { + *out = 0 + return nil + } + *out = int32(**in) + return nil +} + +func Convert_int32_To_Pointer_int32(in *int32, out **int32, s conversion.Scope) error { + temp := int32(*in) + *out = &temp + return nil +} + +func Convert_Pointer_int64_To_int(in **int64, out *int, s conversion.Scope) error { + if *in == nil { + *out = 0 + return nil + } + *out = int(**in) + return nil +} + +func Convert_int_To_Pointer_int64(in *int, out **int64, s conversion.Scope) error { + temp := int64(*in) + *out = &temp + return nil +} + +func Convert_Pointer_string_To_string(in **string, out *string, s conversion.Scope) error { + if *in == nil { + *out = "" + return nil + } + *out = **in + return nil +} + +func Convert_string_To_Pointer_string(in *string, out **string, s conversion.Scope) error { + if in == nil { + stringVar := "" + *out = &stringVar + return nil + } + *out = in + return nil +} + +func Convert_Pointer_bool_To_bool(in **bool, out *bool, s conversion.Scope) error { + if *in == nil { + *out = false + return nil + } + *out = **in + return nil +} + +func Convert_bool_To_Pointer_bool(in *bool, out **bool, s conversion.Scope) error { + if in == nil { + boolVar := false + *out = &boolVar + return nil + } + *out = in + return nil +} + +// +k8s:conversion-fn=drop +func Convert_v1_TypeMeta_To_v1_TypeMeta(in, out *TypeMeta, s conversion.Scope) error { + // These values are explicitly not copied + //out.APIVersion = in.APIVersion + //out.Kind = in.Kind + return nil +} + +// +k8s:conversion-fn=copy-only +func Convert_unversioned_ListMeta_To_unversioned_ListMeta(in, out *ListMeta, s conversion.Scope) error { + *out = *in + return nil +} + +// +k8s:conversion-fn=copy-only +func Convert_intstr_IntOrString_To_intstr_IntOrString(in, out *intstr.IntOrString, s conversion.Scope) error { + *out = *in + return nil +} + +// +k8s:conversion-fn=copy-only +func Convert_unversioned_Time_To_unversioned_Time(in *Time, out *Time, s conversion.Scope) error { + // Cannot deep copy these, because time.Time has unexported fields. + *out = *in + return nil +} + +// Convert_Slice_string_To_unversioned_Time allows converting a URL query parameter value +func Convert_Slice_string_To_unversioned_Time(input *[]string, out *Time, s conversion.Scope) error { + str := "" + if len(*input) > 0 { + str = (*input)[0] + } + return out.UnmarshalQueryParameter(str) +} + +func Convert_string_To_labels_Selector(in *string, out *labels.Selector, s conversion.Scope) error { + selector, err := labels.Parse(*in) + if err != nil { + return err + } + *out = selector + return nil +} + +func Convert_string_To_fields_Selector(in *string, out *fields.Selector, s conversion.Scope) error { + selector, err := fields.ParseSelector(*in) + if err != nil { + return err + } + *out = selector + return nil +} + +func Convert_labels_Selector_To_string(in *labels.Selector, out *string, s conversion.Scope) error { + if *in == nil { + return nil + } + *out = (*in).String() + return nil +} + +func Convert_fields_Selector_To_string(in *fields.Selector, out *string, s conversion.Scope) error { + if *in == nil { + return nil + } + *out = (*in).String() + return nil +} + +// +k8s:conversion-fn=copy-only +func Convert_resource_Quantity_To_resource_Quantity(in *resource.Quantity, out *resource.Quantity, s conversion.Scope) error { + *out = *in + return nil +} + +func Convert_map_to_unversioned_LabelSelector(in *map[string]string, out *LabelSelector, s conversion.Scope) error { + if in == nil { + return nil + } + out = new(LabelSelector) + for labelKey, labelValue := range *in { + AddLabelToSelector(out, labelKey, labelValue) + } + return nil +} + +func Convert_unversioned_LabelSelector_to_map(in *LabelSelector, out *map[string]string, s conversion.Scope) error { + var err error + *out, err = LabelSelectorAsMap(in) + return err +} + +// Convert_Slice_string_To_Slice_int32 converts multiple query parameters or +// a single query parameter with a comma delimited value to multiple int32. +// This is used for port forwarding which needs the ports as int32. +func Convert_Slice_string_To_Slice_int32(in *[]string, out *[]int32, s conversion.Scope) error { + for _, s := range *in { + for _, v := range strings.Split(s, ",") { + x, err := strconv.ParseUint(v, 10, 16) + if err != nil { + return fmt.Errorf("cannot convert to []int32: %v", err) + } + *out = append(*out, int32(x)) + } + } + return nil +} diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go index 2167cbf3..72282474 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go @@ -512,6 +512,12 @@ func (m *DeleteOptions) MarshalTo(data []byte) (int, error) { } i++ } + if m.PropagationPolicy != nil { + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(len(*m.PropagationPolicy))) + i += copy(data[i:], *m.PropagationPolicy) + } return i, nil } @@ -1087,6 +1093,16 @@ func (m *OwnerReference) MarshalTo(data []byte) (int, error) { } i++ } + if m.BlockOwnerDeletion != nil { + data[i] = 0x38 + i++ + if *m.BlockOwnerDeletion { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -1539,6 +1555,10 @@ func (m *DeleteOptions) Size() (n int) { if m.OrphanDependents != nil { n += 2 } + if m.PropagationPolicy != nil { + l = len(*m.PropagationPolicy) + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -1763,6 +1783,9 @@ func (m *OwnerReference) Size() (n int) { if m.Controller != nil { n += 2 } + if m.BlockOwnerDeletion != nil { + n += 2 + } return n } @@ -1957,6 +1980,7 @@ func (this *DeleteOptions) String() string { `GracePeriodSeconds:` + valueToStringGenerated(this.GracePeriodSeconds) + `,`, `Preconditions:` + strings.Replace(fmt.Sprintf("%v", this.Preconditions), "Preconditions", "Preconditions", 1) + `,`, `OrphanDependents:` + valueToStringGenerated(this.OrphanDependents) + `,`, + `PropagationPolicy:` + valueToStringGenerated(this.PropagationPolicy) + `,`, `}`, }, "") return s @@ -2115,6 +2139,7 @@ func (this *OwnerReference) String() string { `UID:` + fmt.Sprintf("%v", this.UID) + `,`, `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`, `Controller:` + valueToStringGenerated(this.Controller) + `,`, + `BlockOwnerDeletion:` + valueToStringGenerated(this.BlockOwnerDeletion) + `,`, `}`, }, "") return s @@ -2997,6 +3022,36 @@ func (m *DeleteOptions) Unmarshal(data []byte) error { } b := bool(v != 0) m.OrphanDependents = &b + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PropagationPolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := DeletionPropagation(data[iNdEx:postIndex]) + m.PropagationPolicy = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -5379,6 +5434,27 @@ func (m *OwnerReference) Unmarshal(data []byte) error { } b := bool(v != 0) m.Controller = &b + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockOwnerDeletion", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.BlockOwnerDeletion = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -6700,137 +6776,140 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 2098 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x19, 0x4b, 0x6f, 0x23, 0x49, - 0x39, 0x6d, 0xc7, 0x1e, 0xfb, 0x73, 0x9c, 0x47, 0x91, 0x01, 0x6f, 0x24, 0xec, 0x6c, 0xef, 0x0a, - 0x65, 0x61, 0xd6, 0x26, 0x59, 0x58, 0x0d, 0x03, 0x0c, 0xc4, 0x71, 0x26, 0x8a, 0x76, 0x32, 0x89, - 0x2a, 0x3b, 0x83, 0x58, 0x46, 0x88, 0x8e, 0xbb, 0xe2, 0x34, 0x69, 0x77, 0x37, 0x55, 0x65, 0x4f, - 0xc2, 0x1e, 0x58, 0x69, 0x41, 0x70, 0x40, 0x68, 0x8e, 0x1c, 0x10, 0xda, 0x11, 0xdc, 0xb8, 0xf1, - 0x27, 0x98, 0xe3, 0x4a, 0x5c, 0x38, 0x20, 0x8b, 0x09, 0x07, 0x8e, 0xdc, 0x23, 0x0e, 0xa8, 0xaa, - 0xab, 0xfa, 0xe1, 0x8c, 0x37, 0x6d, 0x76, 0x0f, 0x9c, 0xe2, 0xfa, 0xde, 0xf5, 0xd5, 0xf7, 0xec, - 0xc0, 0xde, 0xe9, 0x6d, 0xd6, 0x74, 0xfc, 0xd6, 0xe9, 0xe0, 0x88, 0x50, 0x8f, 0x70, 0xc2, 0x5a, - 0x43, 0xe2, 0xd9, 0x3e, 0x6d, 0x29, 0x84, 0x15, 0x38, 0x7d, 0xab, 0x7b, 0xe2, 0x78, 0x84, 0x9e, - 0xb7, 0x82, 0xd3, 0x9e, 0x00, 0xb0, 0x56, 0x9f, 0x70, 0xab, 0x35, 0x5c, 0x6f, 0xf5, 0x88, 0x47, - 0xa8, 0xc5, 0x89, 0xdd, 0x0c, 0xa8, 0xcf, 0x7d, 0xf4, 0x7a, 0xc8, 0xd5, 0x4c, 0x72, 0x35, 0x83, - 0xd3, 0x9e, 0x00, 0xb0, 0xa6, 0xe0, 0x6a, 0x0e, 0xd7, 0x57, 0xde, 0xec, 0x39, 0xfc, 0x64, 0x70, - 0xd4, 0xec, 0xfa, 0xfd, 0x56, 0xcf, 0xef, 0xf9, 0x2d, 0xc9, 0x7c, 0x34, 0x38, 0x96, 0x27, 0x79, - 0x90, 0xbf, 0x42, 0xa1, 0x2b, 0x13, 0x4d, 0xa1, 0x03, 0x8f, 0x3b, 0x7d, 0x32, 0x6e, 0xc5, 0xca, - 0xdb, 0xd7, 0x31, 0xb0, 0xee, 0x09, 0xe9, 0x5b, 0x57, 0xf8, 0xde, 0x9a, 0xc4, 0x37, 0xe0, 0x8e, - 0xdb, 0x72, 0x3c, 0xce, 0x38, 0x1d, 0x67, 0x32, 0xff, 0x92, 0x87, 0xd2, 0xe6, 0xc1, 0xee, 0x0e, - 0xf5, 0x07, 0x01, 0x5a, 0x85, 0x59, 0xcf, 0xea, 0x93, 0x9a, 0xb1, 0x6a, 0xac, 0x95, 0xdb, 0x73, - 0xcf, 0x47, 0x8d, 0x99, 0x8b, 0x51, 0x63, 0xf6, 0x81, 0xd5, 0x27, 0x58, 0x62, 0x90, 0x0b, 0xa5, - 0x21, 0xa1, 0xcc, 0xf1, 0x3d, 0x56, 0xcb, 0xad, 0xe6, 0xd7, 0x2a, 0x1b, 0x77, 0x9b, 0x59, 0x9c, - 0xd6, 0x94, 0x0a, 0x1e, 0x85, 0xac, 0xf7, 0x7c, 0xda, 0x71, 0x58, 0xd7, 0x1f, 0x12, 0x7a, 0xde, - 0x5e, 0x54, 0x5a, 0x4a, 0x0a, 0xc9, 0x70, 0xa4, 0x01, 0xfd, 0xdc, 0x80, 0xc5, 0x80, 0x92, 0x63, - 0x42, 0x29, 0xb1, 0x15, 0xbe, 0x96, 0x5f, 0x35, 0x3e, 0x03, 0xb5, 0x35, 0xa5, 0x76, 0xf1, 0x60, - 0x4c, 0x3e, 0xbe, 0xa2, 0x11, 0xfd, 0xc1, 0x80, 0x15, 0x46, 0xe8, 0x90, 0xd0, 0x4d, 0xdb, 0xa6, - 0x84, 0xb1, 0xf6, 0xf9, 0x96, 0xeb, 0x10, 0x8f, 0x6f, 0xed, 0x76, 0x30, 0xab, 0xcd, 0x4a, 0x3f, - 0x7c, 0x27, 0x9b, 0x41, 0x87, 0x93, 0xe4, 0xb4, 0x4d, 0x65, 0xd1, 0xca, 0x44, 0x12, 0x86, 0x3f, - 0xc1, 0x0c, 0xf3, 0x18, 0xe6, 0xf4, 0x43, 0xde, 0x77, 0x18, 0x47, 0x8f, 0xa0, 0xd8, 0x13, 0x07, - 0x56, 0x33, 0xa4, 0x81, 0xcd, 0x6c, 0x06, 0x6a, 0x19, 0xed, 0x79, 0x65, 0x4f, 0x51, 0x1e, 0x19, - 0x56, 0xd2, 0xcc, 0x0f, 0x73, 0x50, 0xd9, 0x3c, 0xd8, 0xc5, 0x84, 0xf9, 0x03, 0xda, 0x25, 0x19, - 0x82, 0x66, 0x03, 0x40, 0xfc, 0x65, 0x81, 0xd5, 0x25, 0x76, 0x2d, 0xb7, 0x6a, 0xac, 0x95, 0xda, - 0x48, 0xd1, 0xc1, 0x83, 0x08, 0x83, 0x13, 0x54, 0x42, 0xea, 0xa9, 0xe3, 0xd9, 0xf2, 0xb5, 0x13, - 0x52, 0xdf, 0x71, 0x3c, 0x1b, 0x4b, 0x0c, 0xba, 0x0f, 0x85, 0x21, 0xa1, 0x47, 0xc2, 0xff, 0x22, - 0x20, 0xbe, 0x92, 0xed, 0x7a, 0x8f, 0x04, 0x4b, 0xbb, 0x7c, 0x31, 0x6a, 0x14, 0xe4, 0x4f, 0x1c, - 0x0a, 0x41, 0x4d, 0x00, 0x76, 0xe2, 0x53, 0x2e, 0xcd, 0xa9, 0x15, 0x56, 0xf3, 0x6b, 0xe5, 0xf6, - 0xbc, 0xb0, 0xef, 0x30, 0x82, 0xe2, 0x04, 0x85, 0xf9, 0x67, 0x03, 0x16, 0x12, 0x5e, 0x90, 0x1e, - 0xbf, 0x0d, 0x73, 0xbd, 0x44, 0xbc, 0x29, 0x8f, 0x2c, 0x2b, 0xdb, 0xe7, 0x92, 0xb1, 0x88, 0x53, - 0x94, 0x88, 0x40, 0x99, 0x2a, 0x49, 0x3a, 0xaf, 0xd6, 0x33, 0x3f, 0x97, 0xb6, 0x21, 0xd6, 0x94, - 0x00, 0x32, 0x1c, 0x4b, 0x36, 0xff, 0x65, 0xc8, 0xa7, 0xd3, 0x99, 0x86, 0xd6, 0x12, 0xd9, 0x6c, - 0xc8, 0x2b, 0xcf, 0x4d, 0xc8, 0xc4, 0x6b, 0x52, 0x20, 0xf7, 0x7f, 0x91, 0x02, 0x77, 0x4a, 0xbf, - 0xfd, 0xa8, 0x31, 0xf3, 0xc1, 0xdf, 0x57, 0x67, 0xcc, 0x5f, 0xe6, 0xa0, 0xda, 0x21, 0x2e, 0xe1, - 0x64, 0x3f, 0xe0, 0xf2, 0x06, 0xf7, 0x00, 0xf5, 0xa8, 0xd5, 0x25, 0x07, 0x84, 0x3a, 0xbe, 0x7d, - 0x48, 0xba, 0xbe, 0x67, 0x33, 0xf9, 0x44, 0xf9, 0xf6, 0xe7, 0x2f, 0x46, 0x0d, 0xb4, 0x73, 0x05, - 0x8b, 0x5f, 0xc2, 0x81, 0x5c, 0xa8, 0x06, 0x54, 0xfe, 0x76, 0xb8, 0x2a, 0x83, 0x22, 0xfc, 0xde, - 0xca, 0x76, 0xf7, 0x83, 0x24, 0x6b, 0x7b, 0xe9, 0x62, 0xd4, 0xa8, 0xa6, 0x40, 0x38, 0x2d, 0x1c, - 0x7d, 0x17, 0x16, 0x7d, 0x1a, 0x9c, 0x58, 0x5e, 0x87, 0x04, 0xc4, 0xb3, 0x89, 0xc7, 0x99, 0x4c, - 0x89, 0x52, 0x7b, 0x59, 0x14, 0xaf, 0xfd, 0x31, 0x1c, 0xbe, 0x42, 0x6d, 0xee, 0x42, 0xa9, 0x33, - 0xa0, 0x96, 0x10, 0x87, 0xbe, 0x0d, 0x25, 0x5b, 0xfd, 0x56, 0x37, 0x7f, 0x55, 0x57, 0x5f, 0x4d, - 0x73, 0x39, 0x6a, 0x54, 0x45, 0x93, 0x69, 0x6a, 0x00, 0x8e, 0x58, 0xcc, 0xc7, 0x50, 0xdd, 0x3e, - 0x0b, 0x7c, 0xca, 0xb5, 0x4f, 0xbf, 0x04, 0x45, 0x22, 0x01, 0x52, 0x5a, 0x29, 0x2e, 0x19, 0x21, - 0x19, 0x56, 0x58, 0xf4, 0x1a, 0x14, 0xc8, 0x99, 0xd5, 0xe5, 0x2a, 0xf7, 0xab, 0x8a, 0xac, 0xb0, - 0x2d, 0x80, 0x38, 0xc4, 0x99, 0xfb, 0x00, 0x3b, 0x24, 0x12, 0xbd, 0x09, 0x0b, 0x3a, 0x6e, 0xd3, - 0xe9, 0xf4, 0x05, 0xc5, 0xbc, 0x80, 0xd3, 0x68, 0x3c, 0x4e, 0x6f, 0x3e, 0x86, 0xb2, 0x4c, 0x39, - 0x51, 0x33, 0x84, 0x09, 0x32, 0xe3, 0x94, 0x94, 0xc8, 0x04, 0x49, 0x81, 0x43, 0x5c, 0x54, 0x74, - 0x72, 0x93, 0x8a, 0x4e, 0x22, 0xc2, 0x5c, 0xa8, 0x86, 0xbc, 0xba, 0x0e, 0x66, 0xd2, 0x70, 0x0b, - 0x4a, 0xda, 0x4c, 0xa5, 0x25, 0xea, 0x7f, 0x5a, 0x10, 0x8e, 0x28, 0x12, 0xda, 0x4e, 0x20, 0x55, - 0x3e, 0xb2, 0x29, 0x7b, 0x03, 0x6e, 0xa8, 0x04, 0x56, 0xba, 0x16, 0x14, 0xd9, 0x0d, 0xed, 0x33, - 0x8d, 0x4f, 0x68, 0xfa, 0x19, 0xd4, 0x26, 0x35, 0xcd, 0x4f, 0x51, 0xe0, 0xb2, 0x9b, 0x62, 0xfe, - 0xc6, 0x80, 0xc5, 0xa4, 0xa4, 0xec, 0xcf, 0x97, 0x5d, 0xc9, 0xf5, 0xed, 0x25, 0xe1, 0x91, 0xdf, - 0x1b, 0xb0, 0x9c, 0xba, 0xda, 0x54, 0x2f, 0x3e, 0x85, 0x51, 0xc9, 0xe0, 0xc8, 0x4f, 0x11, 0x1c, - 0x7f, 0xcd, 0x41, 0xf5, 0xbe, 0x75, 0x44, 0xdc, 0x43, 0xe2, 0x92, 0x2e, 0xf7, 0x29, 0x7a, 0x1f, - 0x2a, 0x7d, 0x8b, 0x77, 0x4f, 0x24, 0x54, 0x0f, 0x00, 0x9d, 0x6c, 0x25, 0x2a, 0x25, 0xa9, 0xb9, - 0x17, 0x8b, 0xd9, 0xf6, 0x38, 0x3d, 0x6f, 0x7f, 0x4e, 0x99, 0x54, 0x49, 0x60, 0x70, 0x52, 0x9b, - 0x9c, 0xda, 0xe4, 0x79, 0xfb, 0x2c, 0x10, 0x35, 0x7a, 0xfa, 0x61, 0x31, 0x65, 0x02, 0x26, 0x3f, - 0x19, 0x38, 0x94, 0xf4, 0x89, 0xc7, 0xe3, 0xa9, 0x6d, 0x6f, 0x4c, 0x3e, 0xbe, 0xa2, 0x71, 0xe5, - 0x2e, 0x2c, 0x8e, 0x1b, 0x8f, 0x16, 0x21, 0x7f, 0x4a, 0xce, 0xc3, 0xf7, 0xc2, 0xe2, 0x27, 0x5a, - 0x86, 0xc2, 0xd0, 0x72, 0x07, 0x2a, 0x1b, 0x71, 0x78, 0xb8, 0x93, 0xbb, 0x6d, 0x98, 0x7f, 0x34, - 0xa0, 0x36, 0xc9, 0x10, 0xf4, 0xc5, 0x84, 0xa0, 0x76, 0x45, 0x59, 0x95, 0x7f, 0x87, 0x9c, 0x87, - 0x52, 0xb7, 0xa1, 0xe4, 0x07, 0x62, 0xce, 0xf6, 0xa9, 0x7a, 0xf5, 0x37, 0xf4, 0x4b, 0xee, 0x2b, - 0xf8, 0xe5, 0xa8, 0x71, 0x33, 0x25, 0x5e, 0x23, 0x70, 0xc4, 0x8a, 0x4c, 0x28, 0x4a, 0x7b, 0x44, - 0xcd, 0x17, 0xdd, 0x19, 0x44, 0x6d, 0x7d, 0x24, 0x21, 0x58, 0x61, 0xcc, 0xf7, 0xa1, 0x24, 0x86, - 0x8f, 0x3d, 0xc2, 0x2d, 0x11, 0x40, 0x8c, 0xb8, 0xc7, 0xf7, 0x1d, 0xef, 0x54, 0x99, 0x16, 0x05, - 0xd0, 0xa1, 0x82, 0xe3, 0x88, 0xe2, 0x65, 0x25, 0x36, 0x37, 0x65, 0x89, 0xfd, 0x53, 0x0e, 0x2a, - 0x42, 0xbb, 0xae, 0xda, 0xdf, 0x84, 0xaa, 0x9b, 0xbc, 0x93, 0xb2, 0xe2, 0xa6, 0x12, 0x98, 0x8e, - 0x52, 0x9c, 0xa6, 0x15, 0xcc, 0xc7, 0x0e, 0x71, 0xed, 0x88, 0x39, 0x97, 0x66, 0xbe, 0x97, 0x44, - 0xe2, 0x34, 0xad, 0xc8, 0xc5, 0x27, 0xe2, 0xb5, 0x55, 0x77, 0x8c, 0x72, 0xf1, 0x7b, 0x02, 0x88, - 0x43, 0xdc, 0xcb, 0x6e, 0x3c, 0x3b, 0xdd, 0x8d, 0xd1, 0x1d, 0x98, 0x17, 0xed, 0xd1, 0x1f, 0x70, - 0x3d, 0x42, 0x14, 0x64, 0x23, 0x45, 0x17, 0xa3, 0xc6, 0xfc, 0xbb, 0x29, 0x0c, 0x1e, 0xa3, 0x34, - 0x3f, 0x04, 0x80, 0xfd, 0xa3, 0x1f, 0x93, 0x6e, 0xf8, 0x5a, 0xd7, 0x0f, 0xce, 0xa2, 0xde, 0xaa, - 0x7d, 0x4d, 0x40, 0x95, 0x43, 0xe2, 0x7a, 0x9b, 0xc0, 0xe1, 0x14, 0x25, 0x6a, 0x41, 0x39, 0x1a, - 0xa6, 0x55, 0x2d, 0x59, 0x52, 0x6c, 0xe5, 0x68, 0xe2, 0xc6, 0x31, 0x4d, 0x2a, 0x74, 0x66, 0xaf, - 0x0d, 0x9d, 0x36, 0xe4, 0x07, 0x8e, 0x2d, 0xaf, 0x5e, 0x6e, 0x7f, 0x55, 0x87, 0xff, 0xc3, 0xdd, - 0xce, 0xe5, 0xa8, 0xf1, 0xea, 0xa4, 0x35, 0x94, 0x9f, 0x07, 0x84, 0x35, 0x1f, 0xee, 0x76, 0xb0, - 0x60, 0x7e, 0xd9, 0x63, 0x14, 0xa7, 0x7c, 0x8c, 0x0d, 0x00, 0x75, 0x6b, 0xc1, 0x7d, 0x23, 0x7c, - 0x08, 0xbd, 0x58, 0xec, 0x44, 0x18, 0x9c, 0xa0, 0x42, 0x0c, 0x96, 0xba, 0x94, 0xc8, 0xdf, 0xe2, - 0xb9, 0x18, 0xb7, 0xfa, 0x41, 0xad, 0x24, 0x67, 0xb8, 0x2f, 0x67, 0xab, 0x4e, 0x82, 0xad, 0xfd, - 0x8a, 0x52, 0xb3, 0xb4, 0x35, 0x2e, 0x0c, 0x5f, 0x95, 0x8f, 0x7c, 0x58, 0xb2, 0xc5, 0x34, 0x9a, - 0x52, 0x5a, 0x9e, 0x5a, 0xe9, 0x4d, 0xa1, 0xb0, 0x33, 0x2e, 0x08, 0x5f, 0x95, 0x8d, 0x7e, 0x08, - 0x2b, 0x1a, 0x78, 0x75, 0xae, 0xad, 0x81, 0xf4, 0x54, 0x5d, 0x4c, 0xda, 0x9d, 0x89, 0x54, 0xf8, - 0x13, 0x24, 0x20, 0x1b, 0x8a, 0x6e, 0xd8, 0x5b, 0x2a, 0xb2, 0xb0, 0x7f, 0x2b, 0xdb, 0x2d, 0xe2, - 0xe8, 0x6f, 0x26, 0x7b, 0x4a, 0x34, 0x37, 0xaa, 0x76, 0xa2, 0x64, 0xa3, 0x33, 0xa8, 0x58, 0x9e, - 0xe7, 0x73, 0x2b, 0x9c, 0xb4, 0xe7, 0xa4, 0xaa, 0xcd, 0xa9, 0x55, 0x6d, 0xc6, 0x32, 0xc6, 0x7a, - 0x58, 0x02, 0x83, 0x93, 0xaa, 0xd0, 0x13, 0x58, 0xf0, 0x9f, 0x78, 0x84, 0x62, 0x72, 0x4c, 0x28, - 0xf1, 0xc4, 0x5a, 0x56, 0x95, 0xda, 0xbf, 0x96, 0x51, 0x7b, 0x8a, 0x39, 0x0e, 0xe9, 0x34, 0x9c, - 0xe1, 0x71, 0x2d, 0x62, 0x0f, 0x3d, 0x76, 0x3c, 0xcb, 0x75, 0x7e, 0x4a, 0x28, 0xab, 0xcd, 0xc7, - 0x7b, 0xe8, 0xbd, 0x08, 0x8a, 0x13, 0x14, 0xe8, 0xeb, 0x50, 0xe9, 0xba, 0x03, 0xc6, 0x09, 0x95, - 0x15, 0x62, 0x41, 0x66, 0x50, 0x74, 0xbf, 0xad, 0x18, 0x85, 0x93, 0x74, 0x2b, 0xdf, 0x80, 0xca, - 0xff, 0xd8, 0x17, 0x45, 0x5f, 0x1d, 0x77, 0xe8, 0x54, 0x7d, 0xf5, 0x3f, 0x06, 0xcc, 0xa7, 0xdd, - 0x10, 0x4d, 0x63, 0xc6, 0xc4, 0x65, 0x5f, 0xd7, 0xca, 0xfc, 0xc4, 0x5a, 0xa9, 0x4a, 0xd2, 0xec, - 0xa7, 0x29, 0x49, 0x1b, 0x00, 0x56, 0xe0, 0xe8, 0x6a, 0x14, 0x56, 0xb7, 0xa8, 0x9e, 0xc4, 0x8b, - 0x33, 0x4e, 0x50, 0x89, 0x07, 0xeb, 0xfa, 0x1e, 0xa7, 0xbe, 0xeb, 0x12, 0x2a, 0x2b, 0x58, 0x29, - 0x7c, 0xb0, 0xad, 0x08, 0x8a, 0x13, 0x14, 0xe6, 0x3e, 0xa4, 0x37, 0x3e, 0x74, 0x37, 0x34, 0x3c, - 0xbc, 0xfb, 0xad, 0xa9, 0x8d, 0x36, 0x6f, 0x41, 0x19, 0xfb, 0x3e, 0x3f, 0xb0, 0xf8, 0x09, 0x43, - 0x0d, 0x28, 0x04, 0xe2, 0x87, 0x5a, 0xe7, 0xe5, 0x77, 0x0e, 0x89, 0xc1, 0x21, 0xdc, 0xfc, 0xb5, - 0x01, 0xaf, 0x4c, 0xdc, 0xae, 0x85, 0x03, 0xba, 0xd1, 0x49, 0x99, 0x14, 0x39, 0x20, 0xa6, 0xc3, - 0x09, 0x2a, 0xd1, 0xb6, 0x53, 0x2b, 0xf9, 0x78, 0xdb, 0x4e, 0x69, 0xc3, 0x69, 0x5a, 0xf3, 0xdf, - 0x39, 0x28, 0x1e, 0x72, 0x8b, 0x0f, 0x18, 0x7a, 0x0c, 0x25, 0x91, 0x3d, 0xb6, 0xc5, 0x2d, 0xa9, - 0x39, 0xf3, 0x17, 0x2b, 0x3d, 0xfe, 0xc4, 0x1d, 0x4b, 0x43, 0x70, 0x24, 0x51, 0xac, 0xaa, 0x4c, - 0xea, 0x51, 0xe6, 0x45, 0x25, 0x27, 0xd4, 0x8e, 0x15, 0x56, 0x8c, 0xeb, 0x7d, 0xc2, 0x98, 0xd5, - 0xd3, 0xb1, 0x16, 0x8d, 0xeb, 0x7b, 0x21, 0x18, 0x6b, 0x3c, 0x7a, 0x1b, 0x8a, 0x94, 0x58, 0x2c, - 0x1a, 0x22, 0xea, 0x5a, 0x24, 0x96, 0xd0, 0xcb, 0x51, 0x63, 0x4e, 0x09, 0x97, 0x67, 0xac, 0xa8, - 0xd1, 0x7b, 0x70, 0xc3, 0x26, 0xdc, 0x72, 0xdc, 0x70, 0x76, 0xc8, 0xfc, 0xed, 0x20, 0x14, 0xd6, - 0x09, 0x59, 0xdb, 0x15, 0x61, 0x93, 0x3a, 0x60, 0x2d, 0x50, 0xe4, 0x49, 0xd7, 0xb7, 0x89, 0x8c, - 0xc3, 0x42, 0x9c, 0x27, 0x5b, 0xbe, 0x4d, 0xb0, 0xc4, 0x98, 0x4f, 0x0d, 0xa8, 0x84, 0x92, 0xb6, - 0xac, 0x01, 0x23, 0x68, 0x3d, 0xba, 0x45, 0xf8, 0xdc, 0xba, 0xb1, 0xcd, 0xbe, 0x7b, 0x1e, 0x90, - 0xcb, 0x51, 0xa3, 0x2c, 0xc9, 0xc4, 0x21, 0xba, 0x40, 0xc2, 0x47, 0xb9, 0x6b, 0x7c, 0xf4, 0x1a, - 0x14, 0xe4, 0x9c, 0xa6, 0x9c, 0x19, 0x8d, 0x65, 0x72, 0x96, 0xc3, 0x21, 0xce, 0xfc, 0x5d, 0x0e, - 0xaa, 0xa9, 0xcb, 0x65, 0x18, 0x8d, 0xa2, 0xdd, 0x2b, 0x97, 0x61, 0x9f, 0x9f, 0xfc, 0x11, 0xf1, - 0xfb, 0x50, 0xec, 0x8a, 0xfb, 0xe9, 0xaf, 0xb8, 0xeb, 0xd3, 0x3c, 0x85, 0xf4, 0x4c, 0x1c, 0x49, - 0xf2, 0xc8, 0xb0, 0x12, 0x88, 0x76, 0x60, 0x89, 0x12, 0x4e, 0xcf, 0x37, 0x8f, 0x39, 0xa1, 0xc9, - 0x61, 0xb1, 0x10, 0x0f, 0x0f, 0x78, 0x9c, 0x00, 0x5f, 0xe5, 0x31, 0x5d, 0x98, 0x15, 0x8d, 0x5d, - 0xb8, 0x9d, 0xa5, 0x3e, 0x5b, 0x45, 0x6e, 0xd7, 0xcc, 0x1a, 0x2f, 0xbc, 0xe3, 0x59, 0x9e, 0x1f, - 0x06, 0x7b, 0x21, 0xf6, 0xce, 0x03, 0x01, 0xc4, 0x21, 0xee, 0xce, 0xb2, 0x58, 0x20, 0x7f, 0xf5, - 0xac, 0x31, 0xf3, 0xf4, 0x59, 0x63, 0xe6, 0xa3, 0x67, 0x6a, 0x99, 0xfc, 0x01, 0x94, 0xe3, 0x31, - 0xe2, 0x33, 0x56, 0x69, 0xfe, 0x08, 0x4a, 0x22, 0x92, 0xf4, 0xf8, 0x7b, 0x4d, 0xd1, 0x4f, 0x97, - 0xe3, 0x5c, 0x96, 0x72, 0x6c, 0x6e, 0x40, 0xf8, 0x5d, 0x57, 0x54, 0x42, 0x87, 0x93, 0x7e, 0xaa, - 0x12, 0xee, 0x0a, 0x00, 0x0e, 0xe1, 0x89, 0xfd, 0xf9, 0x17, 0x06, 0x80, 0xdc, 0x13, 0xb6, 0x87, - 0x62, 0xb7, 0x5b, 0x85, 0x59, 0x51, 0x62, 0xc7, 0x0d, 0x93, 0x29, 0x20, 0x31, 0xe8, 0x21, 0x14, - 0x7d, 0x39, 0x5e, 0xa8, 0x8f, 0x7f, 0x6f, 0x4e, 0x8c, 0x1a, 0xf5, 0x2f, 0x9b, 0x26, 0xb6, 0x9e, - 0x6c, 0x9f, 0x71, 0xe2, 0x09, 0x1b, 0xe3, 0x88, 0x09, 0x67, 0x14, 0xac, 0x84, 0xb5, 0x5f, 0x7f, - 0xfe, 0xa2, 0x3e, 0xf3, 0xf1, 0x8b, 0xfa, 0xcc, 0xdf, 0x5e, 0xd4, 0x67, 0x3e, 0xb8, 0xa8, 0x1b, - 0xcf, 0x2f, 0xea, 0xc6, 0xc7, 0x17, 0x75, 0xe3, 0x1f, 0x17, 0x75, 0xe3, 0xe9, 0x3f, 0xeb, 0x33, - 0xef, 0xe5, 0x86, 0xeb, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x99, 0xeb, 0x4a, 0xdd, 0xf4, 0x1a, - 0x00, 0x00, + // 2160 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x19, 0xcd, 0x6f, 0x23, 0x57, + 0x3d, 0x63, 0xc7, 0x5e, 0xfb, 0xe7, 0x38, 0x1f, 0xaf, 0x59, 0x70, 0x23, 0x61, 0xa7, 0xd3, 0x0a, + 0xa5, 0xb0, 0xb5, 0x49, 0x0a, 0xd5, 0xb2, 0xc0, 0x42, 0x26, 0xce, 0x46, 0x51, 0x37, 0x9b, 0xe8, + 0xa5, 0xbb, 0x88, 0x65, 0x85, 0x98, 0xcc, 0xbc, 0x38, 0x43, 0xc6, 0x33, 0xc3, 0x7b, 0x63, 0x6f, + 0x4c, 0x0f, 0x54, 0x2a, 0x48, 0x1c, 0x10, 0xda, 0x23, 0x07, 0x84, 0xba, 0x82, 0x1b, 0x37, 0xfe, + 0x06, 0x24, 0xf6, 0x58, 0x89, 0x0b, 0x07, 0x64, 0xb1, 0xee, 0x81, 0x23, 0xf7, 0x9c, 0xd0, 0x7b, + 0xf3, 0xe6, 0xcb, 0x8e, 0x9b, 0x31, 0xed, 0xa1, 0xa7, 0x78, 0x7e, 0xdf, 0xef, 0xf7, 0xfd, 0x5e, + 0xe0, 0xe0, 0xfc, 0x36, 0x6b, 0x5a, 0x6e, 0xeb, 0xbc, 0x77, 0x42, 0xa8, 0x43, 0x7c, 0xc2, 0x5a, + 0x7d, 0xe2, 0x98, 0x2e, 0x6d, 0x49, 0x84, 0xee, 0x59, 0x5d, 0xdd, 0x38, 0xb3, 0x1c, 0x42, 0x07, + 0x2d, 0xef, 0xbc, 0xc3, 0x01, 0xac, 0xd5, 0x25, 0xbe, 0xde, 0xea, 0x6f, 0xb6, 0x3a, 0xc4, 0x21, + 0x54, 0xf7, 0x89, 0xd9, 0xf4, 0xa8, 0xeb, 0xbb, 0xe8, 0x8d, 0x80, 0xab, 0x99, 0xe4, 0x6a, 0x7a, + 0xe7, 0x1d, 0x0e, 0x60, 0x4d, 0xce, 0xd5, 0xec, 0x6f, 0xae, 0xbd, 0xd5, 0xb1, 0xfc, 0xb3, 0xde, + 0x49, 0xd3, 0x70, 0xbb, 0xad, 0x8e, 0xdb, 0x71, 0x5b, 0x82, 0xf9, 0xa4, 0x77, 0x2a, 0xbe, 0xc4, + 0x87, 0xf8, 0x15, 0x08, 0x5d, 0x9b, 0x6a, 0x0a, 0xed, 0x39, 0xbe, 0xd5, 0x25, 0xe3, 0x56, 0xac, + 0xbd, 0x73, 0x1d, 0x03, 0x33, 0xce, 0x48, 0x57, 0x9f, 0xe0, 0x7b, 0x7b, 0x1a, 0x5f, 0xcf, 0xb7, + 0xec, 0x96, 0xe5, 0xf8, 0xcc, 0xa7, 0xe3, 0x4c, 0xea, 0xdf, 0xf3, 0x50, 0xda, 0x3e, 0xda, 0xdf, + 0xa3, 0x6e, 0xcf, 0x43, 0xeb, 0x30, 0xef, 0xe8, 0x5d, 0x52, 0x53, 0xd6, 0x95, 0x8d, 0xb2, 0xb6, + 0xf0, 0x62, 0xd8, 0x98, 0x1b, 0x0d, 0x1b, 0xf3, 0x0f, 0xf4, 0x2e, 0xc1, 0x02, 0x83, 0x6c, 0x28, + 0xf5, 0x09, 0x65, 0x96, 0xeb, 0xb0, 0x5a, 0x6e, 0x3d, 0xbf, 0x51, 0xd9, 0xba, 0xdb, 0xcc, 0xe2, + 0xb4, 0xa6, 0x50, 0xf0, 0x28, 0x60, 0xbd, 0xe7, 0xd2, 0xb6, 0xc5, 0x0c, 0xb7, 0x4f, 0xe8, 0x40, + 0x5b, 0x96, 0x5a, 0x4a, 0x12, 0xc9, 0x70, 0xa4, 0x01, 0xfd, 0x4a, 0x81, 0x65, 0x8f, 0x92, 0x53, + 0x42, 0x29, 0x31, 0x25, 0xbe, 0x96, 0x5f, 0x57, 0x3e, 0x07, 0xb5, 0x35, 0xa9, 0x76, 0xf9, 0x68, + 0x4c, 0x3e, 0x9e, 0xd0, 0x88, 0xfe, 0xa4, 0xc0, 0x1a, 0x23, 0xb4, 0x4f, 0xe8, 0xb6, 0x69, 0x52, + 0xc2, 0x98, 0x36, 0xd8, 0xb1, 0x2d, 0xe2, 0xf8, 0x3b, 0xfb, 0x6d, 0xcc, 0x6a, 0xf3, 0xc2, 0x0f, + 0xdf, 0xcf, 0x66, 0xd0, 0xf1, 0x34, 0x39, 0x9a, 0x2a, 0x2d, 0x5a, 0x9b, 0x4a, 0xc2, 0xf0, 0xa7, + 0x98, 0xa1, 0x9e, 0xc2, 0x42, 0x18, 0xc8, 0xfb, 0x16, 0xf3, 0xd1, 0x23, 0x28, 0x76, 0xf8, 0x07, + 0xab, 0x29, 0xc2, 0xc0, 0x66, 0x36, 0x03, 0x43, 0x19, 0xda, 0xa2, 0xb4, 0xa7, 0x28, 0x3e, 0x19, + 0x96, 0xd2, 0xd4, 0x0f, 0x73, 0x50, 0xd9, 0x3e, 0xda, 0xc7, 0x84, 0xb9, 0x3d, 0x6a, 0x90, 0x0c, + 0x49, 0xb3, 0x05, 0xc0, 0xff, 0x32, 0x4f, 0x37, 0x88, 0x59, 0xcb, 0xad, 0x2b, 0x1b, 0x25, 0x0d, + 0x49, 0x3a, 0x78, 0x10, 0x61, 0x70, 0x82, 0x8a, 0x4b, 0x3d, 0xb7, 0x1c, 0x53, 0x44, 0x3b, 0x21, + 0xf5, 0x5d, 0xcb, 0x31, 0xb1, 0xc0, 0xa0, 0xfb, 0x50, 0xe8, 0x13, 0x7a, 0xc2, 0xfd, 0xcf, 0x13, + 0xe2, 0xeb, 0xd9, 0x8e, 0xf7, 0x88, 0xb3, 0x68, 0xe5, 0xd1, 0xb0, 0x51, 0x10, 0x3f, 0x71, 0x20, + 0x04, 0x35, 0x01, 0xd8, 0x99, 0x4b, 0x7d, 0x61, 0x4e, 0xad, 0xb0, 0x9e, 0xdf, 0x28, 0x6b, 0x8b, + 0xdc, 0xbe, 0xe3, 0x08, 0x8a, 0x13, 0x14, 0xea, 0x5f, 0x15, 0x58, 0x4a, 0x78, 0x41, 0x78, 0xfc, + 0x36, 0x2c, 0x74, 0x12, 0xf9, 0x26, 0x3d, 0xb2, 0x2a, 0x6d, 0x5f, 0x48, 0xe6, 0x22, 0x4e, 0x51, + 0x22, 0x02, 0x65, 0x2a, 0x25, 0x85, 0x75, 0xb5, 0x99, 0x39, 0x5c, 0xa1, 0x0d, 0xb1, 0xa6, 0x04, + 0x90, 0xe1, 0x58, 0xb2, 0xfa, 0x1f, 0x45, 0x84, 0x2e, 0xac, 0x34, 0xb4, 0x91, 0xa8, 0x66, 0x45, + 0x1c, 0x79, 0x61, 0x4a, 0x25, 0x5e, 0x53, 0x02, 0xb9, 0x2f, 0x44, 0x09, 0xdc, 0x29, 0xfd, 0xfe, + 0xa3, 0xc6, 0xdc, 0x07, 0xff, 0x5a, 0x9f, 0x53, 0x3f, 0xc9, 0x41, 0xb5, 0x4d, 0x6c, 0xe2, 0x93, + 0x43, 0xcf, 0x17, 0x27, 0xb8, 0x07, 0xa8, 0x43, 0x75, 0x83, 0x1c, 0x11, 0x6a, 0xb9, 0xe6, 0x31, + 0x31, 0x5c, 0xc7, 0x64, 0x22, 0x44, 0x79, 0xed, 0x4b, 0xa3, 0x61, 0x03, 0xed, 0x4d, 0x60, 0xf1, + 0x15, 0x1c, 0xc8, 0x86, 0xaa, 0x47, 0xc5, 0x6f, 0xcb, 0x97, 0x6d, 0x90, 0xa7, 0xdf, 0xdb, 0xd9, + 0xce, 0x7e, 0x94, 0x64, 0xd5, 0x56, 0x46, 0xc3, 0x46, 0x35, 0x05, 0xc2, 0x69, 0xe1, 0xe8, 0x07, + 0xb0, 0xec, 0x52, 0xef, 0x4c, 0x77, 0xda, 0xc4, 0x23, 0x8e, 0x49, 0x1c, 0x9f, 0x89, 0x92, 0x28, + 0x69, 0xab, 0xbc, 0x79, 0x1d, 0x8e, 0xe1, 0xf0, 0x04, 0x35, 0x7a, 0x0c, 0x2b, 0x1e, 0x75, 0x3d, + 0xbd, 0xa3, 0x73, 0x89, 0x47, 0xae, 0x6d, 0x19, 0x03, 0x51, 0x32, 0x65, 0xed, 0xd6, 0x68, 0xd8, + 0x58, 0x39, 0x1a, 0x47, 0x5e, 0x0e, 0x1b, 0xaf, 0x08, 0xd7, 0x71, 0x48, 0x8c, 0xc4, 0x93, 0x62, + 0xd4, 0x7d, 0x28, 0xb5, 0x7b, 0x54, 0x40, 0xd0, 0xf7, 0xa0, 0x64, 0xca, 0xdf, 0xd2, 0xab, 0xaf, + 0x85, 0x9d, 0x3d, 0xa4, 0xb9, 0x1c, 0x36, 0xaa, 0x7c, 0x80, 0x35, 0x43, 0x00, 0x8e, 0x58, 0xd4, + 0x27, 0x50, 0xdd, 0xbd, 0xf0, 0x5c, 0xea, 0x87, 0xf1, 0xfa, 0x2a, 0x14, 0x89, 0x00, 0x08, 0x69, + 0xa5, 0xb8, 0x1d, 0x05, 0x64, 0x58, 0x62, 0xd1, 0xeb, 0x50, 0x20, 0x17, 0xba, 0xe1, 0xcb, 0xbe, + 0x52, 0x95, 0x64, 0x85, 0x5d, 0x0e, 0xc4, 0x01, 0x4e, 0x3d, 0x04, 0xd8, 0x23, 0x91, 0xe8, 0x6d, + 0x58, 0x0a, 0x6b, 0x22, 0x5d, 0xaa, 0x5f, 0x96, 0xcc, 0x4b, 0x38, 0x8d, 0xc6, 0xe3, 0xf4, 0xea, + 0x13, 0x28, 0x8b, 0x72, 0xe6, 0xfd, 0x88, 0x9b, 0x20, 0xaa, 0x59, 0x4a, 0x89, 0x4c, 0x10, 0x14, + 0x38, 0xc0, 0x45, 0x0d, 0x2d, 0x37, 0xad, 0xa1, 0x25, 0xb2, 0xd7, 0x86, 0x6a, 0xc0, 0x1b, 0xf6, + 0xd8, 0x4c, 0x1a, 0x6e, 0x41, 0x29, 0x34, 0x53, 0x6a, 0x89, 0x66, 0x6b, 0x28, 0x08, 0x47, 0x14, + 0x09, 0x6d, 0x67, 0x90, 0x6a, 0x4d, 0xd9, 0x94, 0xbd, 0x09, 0x37, 0x64, 0x73, 0x90, 0xba, 0x96, + 0x24, 0xd9, 0x8d, 0xd0, 0x67, 0x21, 0x3e, 0xa1, 0xe9, 0x97, 0x50, 0x9b, 0x36, 0x90, 0x3f, 0x43, + 0xf3, 0xcc, 0x6e, 0x8a, 0xfa, 0x3b, 0x05, 0x96, 0x93, 0x92, 0xb2, 0x87, 0x2f, 0xbb, 0x92, 0xeb, + 0x47, 0x57, 0xc2, 0x23, 0x7f, 0x54, 0x60, 0x35, 0x75, 0xb4, 0x99, 0x22, 0x3e, 0x83, 0x51, 0xc9, + 0xe4, 0xc8, 0xcf, 0x90, 0x1c, 0xff, 0xc8, 0x41, 0xf5, 0xbe, 0x7e, 0x42, 0xec, 0x63, 0x62, 0x13, + 0xc3, 0x77, 0x29, 0x7a, 0x1f, 0x2a, 0x5d, 0xdd, 0x37, 0xce, 0x04, 0x34, 0x5c, 0x2e, 0xda, 0xd9, + 0xda, 0x5f, 0x4a, 0x52, 0xf3, 0x20, 0x16, 0xb3, 0xeb, 0xf8, 0x74, 0xa0, 0xbd, 0x22, 0x4d, 0xaa, + 0x24, 0x30, 0x38, 0xa9, 0x4d, 0x6c, 0x84, 0xe2, 0x7b, 0xf7, 0xc2, 0xe3, 0xfd, 0x7f, 0xf6, 0x45, + 0x34, 0x65, 0x02, 0x26, 0x3f, 0xef, 0x59, 0x94, 0x74, 0x89, 0xe3, 0xc7, 0x1b, 0xe1, 0xc1, 0x98, + 0x7c, 0x3c, 0xa1, 0x71, 0xed, 0x2e, 0x2c, 0x8f, 0x1b, 0x8f, 0x96, 0x21, 0x7f, 0x4e, 0x06, 0x41, + 0xbc, 0x30, 0xff, 0x89, 0x56, 0xa1, 0xd0, 0xd7, 0xed, 0x9e, 0xac, 0x46, 0x1c, 0x7c, 0xdc, 0xc9, + 0xdd, 0x56, 0xd4, 0x3f, 0x2b, 0x50, 0x9b, 0x66, 0x08, 0xfa, 0x4a, 0x42, 0x90, 0x56, 0x91, 0x56, + 0xe5, 0xdf, 0x25, 0x83, 0x40, 0xea, 0x2e, 0x94, 0x5c, 0x8f, 0xef, 0xf0, 0x2e, 0x95, 0x51, 0x7f, + 0x33, 0x8c, 0xe4, 0xa1, 0x84, 0x5f, 0x0e, 0x1b, 0x37, 0x53, 0xe2, 0x43, 0x04, 0x8e, 0x58, 0x91, + 0x0a, 0x45, 0x61, 0x0f, 0x9f, 0x27, 0x7c, 0xf2, 0x03, 0xef, 0xad, 0x8f, 0x04, 0x04, 0x4b, 0x8c, + 0xfa, 0x3e, 0x94, 0xf8, 0x62, 0x73, 0x40, 0x7c, 0x9d, 0x27, 0x10, 0x23, 0xf6, 0xe9, 0x7d, 0xcb, + 0x39, 0x97, 0xa6, 0x45, 0x09, 0x74, 0x2c, 0xe1, 0x38, 0xa2, 0xb8, 0xaa, 0xc5, 0xe6, 0x66, 0x6c, + 0xb1, 0x7f, 0xc9, 0x41, 0x85, 0x6b, 0x0f, 0xbb, 0xf6, 0x77, 0xa0, 0x6a, 0x27, 0xcf, 0x24, 0xad, + 0xb8, 0x29, 0x05, 0xa6, 0xb3, 0x14, 0xa7, 0x69, 0x39, 0xf3, 0xa9, 0x45, 0x6c, 0x33, 0x62, 0xce, + 0xa5, 0x99, 0xef, 0x25, 0x91, 0x38, 0x4d, 0xcb, 0x6b, 0xf1, 0x29, 0x8f, 0xb6, 0x9c, 0xbc, 0x51, + 0x2d, 0xfe, 0x90, 0x03, 0x71, 0x80, 0xbb, 0xea, 0xc4, 0xf3, 0xb3, 0x9d, 0x18, 0xdd, 0x81, 0x45, + 0x3e, 0x1e, 0xdd, 0x9e, 0x1f, 0xae, 0x27, 0x05, 0x31, 0x48, 0xd1, 0x68, 0xd8, 0x58, 0x7c, 0x2f, + 0x85, 0xc1, 0x63, 0x94, 0xea, 0x87, 0x00, 0x70, 0x78, 0xf2, 0x33, 0x62, 0x04, 0xd1, 0xba, 0x7e, + 0x29, 0xe7, 0xfd, 0x56, 0xde, 0x05, 0x39, 0x54, 0x3a, 0x24, 0xee, 0xb7, 0x09, 0x1c, 0x4e, 0x51, + 0xa2, 0x16, 0x94, 0xa3, 0x45, 0x5d, 0xf6, 0x92, 0x15, 0xc9, 0x56, 0x8e, 0xb6, 0x79, 0x1c, 0xd3, + 0xa4, 0x52, 0x67, 0xfe, 0xda, 0xd4, 0xd1, 0x20, 0xdf, 0xb3, 0x4c, 0x71, 0xf4, 0xb2, 0xf6, 0x8d, + 0x30, 0xfd, 0x1f, 0xee, 0xb7, 0x2f, 0x87, 0x8d, 0xd7, 0xa6, 0x5d, 0x71, 0xfd, 0x81, 0x47, 0x58, + 0xf3, 0xe1, 0x7e, 0x1b, 0x73, 0xe6, 0xab, 0x82, 0x51, 0x9c, 0x31, 0x18, 0x5b, 0x00, 0xf2, 0xd4, + 0x9c, 0xfb, 0x46, 0x10, 0x88, 0xf0, 0xd2, 0xb2, 0x17, 0x61, 0x70, 0x82, 0x0a, 0x31, 0x58, 0x31, + 0x28, 0x11, 0xbf, 0x79, 0xb8, 0x98, 0xaf, 0x77, 0xbd, 0x5a, 0x49, 0xec, 0x87, 0x5f, 0xcb, 0xd6, + 0x9d, 0x38, 0x9b, 0xf6, 0xaa, 0x54, 0xb3, 0xb2, 0x33, 0x2e, 0x0c, 0x4f, 0xca, 0x47, 0x2e, 0xac, + 0x98, 0x72, 0x5d, 0x8b, 0x95, 0x96, 0x67, 0x56, 0x7a, 0x93, 0x2b, 0x6c, 0x8f, 0x0b, 0xc2, 0x93, + 0xb2, 0xd1, 0x4f, 0x60, 0x2d, 0x04, 0x4e, 0xee, 0xcc, 0x35, 0x10, 0x9e, 0xaa, 0xf3, 0x2d, 0xbe, + 0x3d, 0x95, 0x0a, 0x7f, 0x8a, 0x04, 0x64, 0x42, 0xd1, 0x0e, 0x66, 0x4b, 0x45, 0x34, 0xf6, 0xef, + 0x66, 0x3b, 0x45, 0x9c, 0xfd, 0xcd, 0xe4, 0x4c, 0x89, 0xf6, 0x46, 0x39, 0x4e, 0xa4, 0x6c, 0x74, + 0x01, 0x15, 0xdd, 0x71, 0x5c, 0x5f, 0x0f, 0xb6, 0xf8, 0x05, 0xa1, 0x6a, 0x7b, 0x66, 0x55, 0xdb, + 0xb1, 0x8c, 0xb1, 0x19, 0x96, 0xc0, 0xe0, 0xa4, 0x2a, 0xf4, 0x14, 0x96, 0xdc, 0xa7, 0x0e, 0xa1, + 0x98, 0x9c, 0x12, 0x4a, 0x1c, 0x7e, 0xe5, 0xab, 0x0a, 0xed, 0xdf, 0xcc, 0xa8, 0x3d, 0xc5, 0x1c, + 0xa7, 0x74, 0x1a, 0xce, 0xf0, 0xb8, 0x16, 0x7e, 0xc7, 0x3d, 0xb5, 0x1c, 0xdd, 0xb6, 0x7e, 0x41, + 0x28, 0xab, 0x2d, 0xc6, 0x77, 0xdc, 0x7b, 0x11, 0x14, 0x27, 0x28, 0xd0, 0xb7, 0xa0, 0x62, 0xd8, + 0x3d, 0xe6, 0x13, 0x2a, 0x3a, 0xc4, 0x92, 0xa8, 0xa0, 0xe8, 0x7c, 0x3b, 0x31, 0x0a, 0x27, 0xe9, + 0xd6, 0xbe, 0x0d, 0x95, 0xff, 0x73, 0x2e, 0xf2, 0xb9, 0x3a, 0xee, 0xd0, 0x99, 0xe6, 0xea, 0xdf, + 0x72, 0xb0, 0x98, 0x76, 0x43, 0xb4, 0x8d, 0x29, 0x53, 0x1f, 0x12, 0xc2, 0x5e, 0x99, 0x9f, 0xda, + 0x2b, 0x65, 0x4b, 0x9a, 0xff, 0x2c, 0x2d, 0x69, 0x0b, 0x40, 0xf7, 0xac, 0xb0, 0x1b, 0x05, 0xdd, + 0x2d, 0xea, 0x27, 0xf1, 0xa5, 0x1c, 0x27, 0xa8, 0x78, 0xc0, 0x0c, 0xd7, 0xf1, 0xa9, 0x6b, 0xdb, + 0x84, 0x8a, 0x0e, 0x56, 0x0a, 0x02, 0xb6, 0x13, 0x41, 0x71, 0x82, 0x82, 0xdf, 0x71, 0x4f, 0x6c, + 0xd7, 0x38, 0x17, 0x2e, 0x08, 0xab, 0x4f, 0xf4, 0xae, 0x52, 0x70, 0xc7, 0xd5, 0x26, 0xb0, 0xf8, + 0x0a, 0x0e, 0xf5, 0x10, 0xd2, 0xb7, 0x52, 0x74, 0x37, 0x70, 0x80, 0x12, 0x5d, 0x1b, 0x67, 0x3b, + 0xbc, 0x7a, 0x0b, 0xca, 0xd8, 0x75, 0xfd, 0x23, 0xdd, 0x3f, 0x63, 0xa8, 0x01, 0x05, 0x8f, 0xff, + 0x90, 0x4f, 0x0e, 0xe2, 0x2d, 0x46, 0x60, 0x70, 0x00, 0x57, 0x7f, 0xab, 0xc0, 0xab, 0x53, 0x5f, + 0x00, 0xb8, 0x23, 0x8d, 0xe8, 0x4b, 0x9a, 0x14, 0x39, 0x32, 0xa6, 0xc3, 0x09, 0x2a, 0x3e, 0xfe, + 0x53, 0xcf, 0x06, 0xe3, 0xe3, 0x3f, 0xa5, 0x0d, 0xa7, 0x69, 0xd5, 0xff, 0xe6, 0xa0, 0x78, 0xec, + 0xeb, 0x7e, 0x8f, 0xa1, 0x27, 0x50, 0xe2, 0x55, 0x68, 0xea, 0xbe, 0x2e, 0x34, 0x67, 0x7e, 0x55, + 0x0b, 0xd7, 0xa8, 0x78, 0xf2, 0x85, 0x10, 0x1c, 0x49, 0xe4, 0x57, 0x5e, 0x26, 0xf4, 0x48, 0xf3, + 0xa2, 0xd6, 0x15, 0x68, 0xc7, 0x12, 0xcb, 0xd7, 0xfe, 0x2e, 0x61, 0x4c, 0xef, 0x84, 0x39, 0x1b, + 0xad, 0xfd, 0x07, 0x01, 0x18, 0x87, 0x78, 0xf4, 0x0e, 0x14, 0x29, 0xd1, 0x59, 0xb4, 0x8c, 0xd4, + 0x43, 0x91, 0x58, 0x40, 0x2f, 0x87, 0x8d, 0x05, 0x29, 0x5c, 0x7c, 0x63, 0x49, 0x8d, 0x1e, 0xc3, + 0x0d, 0x93, 0xf8, 0xba, 0x65, 0x07, 0x3b, 0x48, 0xe6, 0xf7, 0x8d, 0x40, 0x58, 0x3b, 0x60, 0xd5, + 0x2a, 0xdc, 0x26, 0xf9, 0x81, 0x43, 0x81, 0xbc, 0xde, 0x0c, 0xd7, 0x24, 0x22, 0x9f, 0x0b, 0x71, + 0xbd, 0xed, 0xb8, 0x26, 0xc1, 0x02, 0xa3, 0x3e, 0x53, 0xa0, 0x12, 0x48, 0xda, 0xd1, 0x7b, 0x8c, + 0xa0, 0xcd, 0xe8, 0x14, 0x41, 0xb8, 0xc3, 0x01, 0x39, 0xff, 0xde, 0xc0, 0x23, 0x97, 0xc3, 0x46, + 0x59, 0x90, 0xf1, 0x8f, 0xe8, 0x00, 0x09, 0x1f, 0xe5, 0xae, 0xf1, 0xd1, 0xeb, 0x50, 0x10, 0xfb, + 0x9e, 0x74, 0x66, 0xb4, 0xde, 0x89, 0x9d, 0x10, 0x07, 0x38, 0xf5, 0x0f, 0x39, 0xa8, 0xa6, 0x0e, + 0x97, 0x61, 0xc5, 0x8a, 0xee, 0x70, 0xb9, 0x0c, 0xef, 0x02, 0xd3, 0x1f, 0x3a, 0x7f, 0x04, 0x45, + 0x83, 0x9f, 0x2f, 0x7c, 0x69, 0xde, 0x9c, 0x25, 0x14, 0xc2, 0x33, 0x71, 0x26, 0x89, 0x4f, 0x86, + 0xa5, 0x40, 0xb4, 0x07, 0x2b, 0x94, 0xf8, 0x74, 0xb0, 0x7d, 0xea, 0x13, 0x9a, 0x5c, 0x3a, 0x0b, + 0xf1, 0x12, 0x82, 0xc7, 0x09, 0xf0, 0x24, 0x8f, 0x6a, 0xc3, 0x3c, 0x5f, 0x10, 0xb8, 0xdb, 0x59, + 0xea, 0x69, 0x2d, 0x72, 0x7b, 0xc8, 0x1c, 0xe2, 0xb9, 0x77, 0x1c, 0xdd, 0x71, 0x83, 0x64, 0x2f, + 0xc4, 0xde, 0x79, 0xc0, 0x81, 0x38, 0xc0, 0xdd, 0x59, 0xe5, 0x17, 0xd1, 0xdf, 0x3c, 0x6f, 0xcc, + 0x3d, 0x7b, 0xde, 0x98, 0xfb, 0xe8, 0xb9, 0xbc, 0x94, 0xfe, 0x18, 0xca, 0xf1, 0x3a, 0xf2, 0x39, + 0xab, 0x54, 0x7f, 0x0a, 0x25, 0x9e, 0x49, 0xe1, 0x1a, 0x7d, 0xcd, 0xf0, 0x48, 0xb7, 0xf5, 0x5c, + 0x96, 0xb6, 0xae, 0x6e, 0x41, 0xf0, 0xf6, 0xcc, 0x3b, 0xa1, 0xe5, 0x93, 0x6e, 0xaa, 0x13, 0xee, + 0x73, 0x00, 0x0e, 0xe0, 0x89, 0x7b, 0xf8, 0xaf, 0x15, 0x00, 0x71, 0xdf, 0xd8, 0xed, 0xf3, 0x3b, + 0xe2, 0x3a, 0xcc, 0xf3, 0x16, 0x3b, 0x6e, 0x98, 0x28, 0x01, 0x81, 0x41, 0x0f, 0xa1, 0xe8, 0x8a, + 0x35, 0x45, 0x3e, 0x50, 0xbe, 0x35, 0x35, 0x6b, 0xe4, 0xbf, 0x95, 0x9a, 0x58, 0x7f, 0xba, 0x7b, + 0xe1, 0x13, 0x87, 0xdb, 0x18, 0x67, 0x4c, 0xb0, 0xeb, 0x60, 0x29, 0x4c, 0x7b, 0xe3, 0xc5, 0xcb, + 0xfa, 0xdc, 0xc7, 0x2f, 0xeb, 0x73, 0xff, 0x7c, 0x59, 0x9f, 0xfb, 0x60, 0x54, 0x57, 0x5e, 0x8c, + 0xea, 0xca, 0xc7, 0xa3, 0xba, 0xf2, 0xef, 0x51, 0x5d, 0x79, 0xf6, 0x49, 0x7d, 0xee, 0x71, 0xae, + 0xbf, 0xf9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xe8, 0xc1, 0x2f, 0x98, 0x1b, 0x00, 0x00, } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 60049067..61029731 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -121,10 +121,18 @@ message DeleteOptions { // +optional optional Preconditions preconditions = 2; + // Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. // Should the dependent objects be orphaned. If true/false, the "orphan" // finalizer will be added to/removed from the object's finalizers list. + // Either this field or PropagationPolicy may be set, but not both. // +optional optional bool orphanDependents = 3; + + // Whether and how garbage collection will be performed. + // Defaults to Default. + // Either this field or OrphanDependents may be set, but not both. + // +optional + optional string propagationPolicy = 4; } // Duration is a wrapper around time.Duration which supports correct @@ -469,6 +477,15 @@ message OwnerReference { // If true, this reference points to the managing controller. // +optional optional bool controller = 6; + + // If true, AND if the owner has the "foregroundDeletion" finalizer, then + // the owner cannot be deleted from the key-value store until this + // reference is removed. + // Defaults to false. + // To set this field, a user needs "delete" permission of the owner, + // otherwise 422 (Unprocessable Entity) will be returned. + // +optional + optional bool blockOwnerDeletion = 7; } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go index 877aa193..b62dd9ee 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go @@ -226,3 +226,9 @@ func NewUIDPreconditions(uid string) *Preconditions { u := types.UID(uid) return &Preconditions{UID: &u} } + +// HasObjectMetaSystemFieldValues returns true if fields that are managed by the system on ObjectMeta have values. +func HasObjectMetaSystemFieldValues(meta *ObjectMeta) bool { + return !meta.CreationTimestamp.Time.IsZero() || + len(meta.UID) != 0 +} diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go index 871858ec..108e34f0 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go @@ -174,6 +174,10 @@ func (meta *ObjectMeta) GetOwnerReferences() []OwnerReference { value := *meta.OwnerReferences[i].Controller ret[i].Controller = &value } + if meta.OwnerReferences[i].BlockOwnerDeletion != nil { + value := *meta.OwnerReferences[i].BlockOwnerDeletion + ret[i].BlockOwnerDeletion = &value + } } return ret } @@ -189,6 +193,10 @@ func (meta *ObjectMeta) SetOwnerReferences(references []OwnerReference) { value := *references[i].Controller newReferences[i].Controller = &value } + if references[i].BlockOwnerDeletion != nil { + value := *references[i].BlockOwnerDeletion + newReferences[i].BlockOwnerDeletion = &value + } } meta.OwnerReferences = newReferences } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go index 3b858034..8645d1ab 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go @@ -55,6 +55,11 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) Convert_watch_Event_to_versioned_Event, Convert_versioned_Event_to_versioned_InternalEvent, ) + + // register manually. This usually goes through the SchemeBuilder, which we cannot use here. + scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...) + AddConversionFuncs(scheme) + RegisterDefaults(scheme) } // scheme is the registry for the common types that adhere to the meta v1 API spec. @@ -70,4 +75,8 @@ func init() { &GetOptions{}, &DeleteOptions{}, ) + + // register manually. This usually goes through the SchemeBuilder, which we cannot use here. + scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...) + RegisterDefaults(scheme) } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index 11fc5b60..9a40b7e9 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -71,6 +71,12 @@ type ListMeta struct { ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,2,opt,name=resourceVersion"` } +// These are internal finalizer values for Kubernetes-like APIs, must be qualified name unless defined here +const ( + FinalizerOrphanDependents string = "orphan" + FinalizerDeleteDependents string = "foregroundDeletion" +) + // ObjectMeta is metadata that all persisted resources must have, which includes all objects // users must create. type ObjectMeta struct { @@ -228,6 +234,8 @@ const ( NamespaceNone string = "" // NamespaceSystem is the system namespace where we place system components. NamespaceSystem string = "kube-system" + // NamespacePublic is the namespace where we place public info (ConfigMaps) + NamespacePublic string = "kube-public" ) // OwnerReference contains enough information to let you identify an owning @@ -248,6 +256,14 @@ type OwnerReference struct { // If true, this reference points to the managing controller. // +optional Controller *bool `json:"controller,omitempty" protobuf:"varint,6,opt,name=controller"` + // If true, AND if the owner has the "foregroundDeletion" finalizer, then + // the owner cannot be deleted from the key-value store until this + // reference is removed. + // Defaults to false. + // To set this field, a user needs "delete" permission of the owner, + // otherwise 422 (Unprocessable Entity) will be returned. + // +optional + BlockOwnerDeletion *bool `json:"blockOwnerDeletion,omitempty" protobuf:"varint,7,opt,name=blockOwnerDeletion"` } // ListOptions is the query options to a standard REST list call. @@ -298,6 +314,24 @@ type GetOptions struct { ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,1,opt,name=resourceVersion"` } +// DeletionPropagation decides if a deletion will propagate to the dependents of +// the object, and how the garbage collector will handle the propagation. +type DeletionPropagation string + +const ( + // Orphans the dependents. + DeletePropagationOrphan DeletionPropagation = "Orphan" + // Deletes the object from the key-value store, the garbage collector will + // delete the dependents in the background. + DeletePropagationBackground DeletionPropagation = "Background" + // The object exists in the key-value store until the garbage collector + // deletes all the dependents whose ownerReference.blockOwnerDeletion=true + // from the key-value store. API sever will put the "foregroundDeletion" + // finalizer on the object, and sets its deletionTimestamp. This policy is + // cascading, i.e., the dependents will be deleted with Foreground. + DeletePropagationForeground DeletionPropagation = "Foreground" +) + // DeleteOptions may be provided when deleting an API object. type DeleteOptions struct { TypeMeta `json:",inline"` @@ -314,10 +348,18 @@ type DeleteOptions struct { // +optional Preconditions *Preconditions `json:"preconditions,omitempty" protobuf:"bytes,2,opt,name=preconditions"` + // Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. // Should the dependent objects be orphaned. If true/false, the "orphan" // finalizer will be added to/removed from the object's finalizers list. + // Either this field or PropagationPolicy may be set, but not both. // +optional OrphanDependents *bool `json:"orphanDependents,omitempty" protobuf:"varint,3,opt,name=orphanDependents"` + + // Whether and how garbage collection will be performed. + // Defaults to Default. + // Either this field or OrphanDependents may be set, but not both. + // +optional + PropagationPolicy *DeletionPropagation `json:"propagationPolicy,omitempty" protobuf:"varint,4,opt,name=propagationPolicy"` } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go index 361038bd..b31cd4f4 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go @@ -85,7 +85,8 @@ var map_DeleteOptions = map[string]string{ "": "DeleteOptions may be provided when deleting an API object.", "gracePeriodSeconds": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "preconditions": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", - "orphanDependents": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "orphanDependents": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "propagationPolicy": "Whether and how garbage collection will be performed. Defaults to Default. Either this field or OrphanDependents may be set, but not both.", } func (DeleteOptions) SwaggerDoc() map[string]string { @@ -189,12 +190,13 @@ func (ObjectMeta) SwaggerDoc() map[string]string { } var map_OwnerReference = map[string]string{ - "": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", - "apiVersion": "API version of the referent.", - "kind": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "name": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", - "uid": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", - "controller": "If true, this reference points to the managing controller.", + "": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "apiVersion": "API version of the referent.", + "kind": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "name": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "uid": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "controller": "If true, this reference points to the managing controller.", + "blockOwnerDeletion": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.", } func (OwnerReference) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go index bb16abe4..ae20726b 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go @@ -73,11 +73,24 @@ func (obj *Unstructured) UnstructuredContent() map[string]interface{} { } return obj.Object } + +// UnstructuredContent returns a map contain an overlay of the Items field onto +// the Object field. Items always overwrites overlay. Changing "items" in the +// returned object will affect items in the underlying Items field, but changing +// the "items" slice itself will have no effect. +// TODO: expose SetUnstructuredContent on runtime.Unstructured that allows +// items to be changed. func (obj *UnstructuredList) UnstructuredContent() map[string]interface{} { - if obj.Object == nil { - obj.Object = make(map[string]interface{}) + out := obj.Object + if out == nil { + out = make(map[string]interface{}) } - return obj.Object + items := make([]interface{}, len(obj.Items)) + for i, item := range obj.Items { + items[i] = item.Object + } + out["items"] = items + return out } // MarshalJSON ensures that the unstructured object produces proper @@ -191,21 +204,31 @@ func (u *Unstructured) setNestedMap(value map[string]string, fields ...string) { func extractOwnerReference(src interface{}) metav1.OwnerReference { v := src.(map[string]interface{}) - controllerPtr, ok := (getNestedField(v, "controller")).(*bool) + // though this field is a *bool, but when decoded from JSON, it's + // unmarshalled as bool. + var controllerPtr *bool + controller, ok := (getNestedField(v, "controller")).(bool) if !ok { controllerPtr = nil } else { - if controllerPtr != nil { - controller := *controllerPtr - controllerPtr = &controller - } + controllerCopy := controller + controllerPtr = &controllerCopy + } + var blockOwnerDeletionPtr *bool + blockOwnerDeletion, ok := (getNestedField(v, "blockOwnerDeletion")).(bool) + if !ok { + blockOwnerDeletionPtr = nil + } else { + blockOwnerDeletionCopy := blockOwnerDeletion + blockOwnerDeletionPtr = &blockOwnerDeletionCopy } return metav1.OwnerReference{ - Kind: getNestedString(v, "kind"), - Name: getNestedString(v, "name"), - APIVersion: getNestedString(v, "apiVersion"), - UID: (types.UID)(getNestedString(v, "uid")), - Controller: controllerPtr, + Kind: getNestedString(v, "kind"), + Name: getNestedString(v, "name"), + APIVersion: getNestedString(v, "apiVersion"), + UID: (types.UID)(getNestedString(v, "uid")), + Controller: controllerPtr, + BlockOwnerDeletion: blockOwnerDeletionPtr, } } @@ -216,11 +239,17 @@ func setOwnerReference(src metav1.OwnerReference) map[string]interface{} { controller := *controllerPtr controllerPtr = &controller } + blockOwnerDeletionPtr := src.BlockOwnerDeletion + if blockOwnerDeletionPtr != nil { + blockOwnerDeletion := *blockOwnerDeletionPtr + blockOwnerDeletionPtr = &blockOwnerDeletion + } setNestedField(ret, src.Kind, "kind") setNestedField(ret, src.Name, "name") setNestedField(ret, src.APIVersion, "apiVersion") setNestedField(ret, string(src.UID), "uid") setNestedField(ret, controllerPtr, "controller") + setNestedField(ret, blockOwnerDeletionPtr, "blockOwnerDeletion") return ret } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured_test.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured_test.go new file mode 100644 index 00000000..54596629 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured_test.go @@ -0,0 +1,36 @@ +/* +Copyright 2017 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 unstructured + +import "testing" + +func TestUnstructuredList(t *testing.T) { + list := &UnstructuredList{ + Object: map[string]interface{}{"kind": "List", "apiVersion": "v1"}, + Items: []*Unstructured{ + {Object: map[string]interface{}{"kind": "Pod", "apiVersion": "v1", "metadata": map[string]interface{}{"name": "test"}}}, + }, + } + content := list.UnstructuredContent() + items := content["items"].([]interface{}) + if len(items) != 1 { + t.Fatalf("unexpected items: %#v", items) + } + if getNestedField(items[0].(map[string]interface{}), "metadata", "name") != "test" { + t.Fatalf("unexpected fields: %#v", items[0]) + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/validation/validation.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/validation/validation.go index 7d2d355a..f06f075b 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/validation/validation.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/validation/validation.go @@ -17,6 +17,8 @@ limitations under the License. package validation import ( + "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/validation" "k8s.io/apimachinery/pkg/util/validation/field" @@ -72,3 +74,17 @@ func ValidateLabels(labels map[string]string, fldPath *field.Path) field.ErrorLi } return allErrs } + +func ValidateDeleteOptions(options *metav1.DeleteOptions) field.ErrorList { + allErrs := field.ErrorList{} + if options.OrphanDependents != nil && options.PropagationPolicy != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(""), options, "OrphanDependents and DeletionPropagation cannot be both set")) + } + if options.PropagationPolicy != nil && + *options.PropagationPolicy != metav1.DeletePropagationForeground && + *options.PropagationPolicy != metav1.DeletePropagationBackground && + *options.PropagationPolicy != metav1.DeletePropagationOrphan { + allErrs = append(allErrs, field.Invalid(field.NewPath(""), options, fmt.Sprintf("DeletionPropagation need to be one of %q, %q, %q or nil", metav1.DeletePropagationForeground, metav1.DeletePropagationBackground, metav1.DeletePropagationOrphan))) + } + return allErrs +} diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go index 91ba7126..b5f7360e 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go @@ -186,6 +186,11 @@ func DeepCopy_v1_DeleteOptions(in interface{}, out interface{}, c *conversion.Cl *out = new(bool) **out = **in } + if in.PropagationPolicy != nil { + in, out := &in.PropagationPolicy, &out.PropagationPolicy + *out = new(DeletionPropagation) + **out = **in + } return nil } } @@ -412,6 +417,11 @@ func DeepCopy_v1_OwnerReference(in interface{}, out interface{}, c *conversion.C *out = new(bool) **out = **in } + if in.BlockOwnerDeletion != nil { + in, out := &in.BlockOwnerDeletion, &out.BlockOwnerDeletion + *out = new(bool) + **out = **in + } return nil } } diff --git a/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter.go b/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter.go new file mode 100644 index 00000000..fc28406b --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter.go @@ -0,0 +1,681 @@ +/* +Copyright 2017 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 unstructured + +import ( + "bytes" + encodingjson "encoding/json" + "fmt" + "math" + "os" + "reflect" + "strconv" + "strings" + "sync" + "sync/atomic" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/json" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + + "github.com/golang/glog" +) + +// Converter is an interface for converting between runtime.Object +// and map[string]interface representation. +type Converter interface { + ToUnstructured(obj runtime.Object, u *map[string]interface{}) error + FromUnstructured(u map[string]interface{}, obj runtime.Object) error +} + +type structField struct { + structType reflect.Type + field int +} + +type fieldInfo struct { + name string + nameValue reflect.Value + omitempty bool +} + +type fieldsCacheMap map[structField]*fieldInfo + +type fieldsCache struct { + sync.Mutex + value atomic.Value +} + +func newFieldsCache() *fieldsCache { + cache := &fieldsCache{} + cache.value.Store(make(fieldsCacheMap)) + return cache +} + +var ( + marshalerType = reflect.TypeOf(new(encodingjson.Marshaler)).Elem() + unmarshalerType = reflect.TypeOf(new(encodingjson.Unmarshaler)).Elem() + 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() + DefaultConverter = NewConverter(parseBool(os.Getenv("KUBE_PATCH_CONVERSION_DETECTOR"))) +) + +func parseBool(key string) bool { + if len(key) == 0 { + return false + } + value, err := strconv.ParseBool(key) + if err != nil { + utilruntime.HandleError(fmt.Errorf("Couldn't parse '%s' as bool for unstructured mismatch detection", key)) + } + return value +} + +// ConverterImpl knows how to convert betweek runtime.Object and +// Unstructured in both ways. +type converterImpl struct { + // If true, we will be additionally running conversion via json + // to ensure that the result is true. + // This is supposed to be set only in tests. + mismatchDetection bool +} + +func NewConverter(mismatchDetection bool) Converter { + return &converterImpl{ + mismatchDetection: mismatchDetection, + } +} + +func (c *converterImpl) FromUnstructured(u map[string]interface{}, obj runtime.Object) error { + err := fromUnstructured(reflect.ValueOf(u), reflect.ValueOf(obj).Elem()) + if c.mismatchDetection { + newObj := reflect.New(reflect.TypeOf(obj).Elem()).Interface().(runtime.Object) + newErr := fromUnstructuredViaJSON(u, newObj) + if (err != nil) != (newErr != nil) { + glog.Fatalf("FromUnstructured unexpected error for %v: error: %v", u, err) + } + if err == nil && !apiequality.Semantic.DeepEqual(obj, newObj) { + glog.Fatalf("FromUnstructured mismatch for %#v, diff: %v", obj, diff.ObjectReflectDiff(obj, newObj)) + } + } + return err +} + +func fromUnstructuredViaJSON(u map[string]interface{}, obj runtime.Object) error { + data, err := json.Marshal(u) + if err != nil { + return err + } + return json.Unmarshal(data, obj) +} + +func fromUnstructured(sv, dv reflect.Value) error { + sv = unwrapInterface(sv) + if !sv.IsValid() { + dv.Set(reflect.Zero(dv.Type())) + return nil + } + st, dt := sv.Type(), dv.Type() + + switch dt.Kind() { + case reflect.Map, reflect.Slice, reflect.Ptr, reflect.Struct, reflect.Interface: + // Those require non-trivial conversion. + default: + // This should handle all simple types. + if st.AssignableTo(dt) { + dv.Set(sv) + return nil + } + // We cannot simply use "ConvertibleTo", as JSON doesn't support conversions + // between those four groups: bools, integers, floats and string. We need to + // do the same. + if st.ConvertibleTo(dt) { + switch st.Kind() { + case reflect.String: + switch dt.Kind() { + case reflect.String: + dv.Set(sv.Convert(dt)) + return nil + } + case reflect.Bool: + switch dt.Kind() { + case reflect.Bool: + dv.Set(sv.Convert(dt)) + return nil + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + switch dt.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + dv.Set(sv.Convert(dt)) + return nil + } + case reflect.Float32, reflect.Float64: + switch dt.Kind() { + case reflect.Float32, reflect.Float64: + dv.Set(sv.Convert(dt)) + return nil + } + if sv.Float() == math.Trunc(sv.Float()) { + dv.Set(sv.Convert(dt)) + return nil + } + } + return fmt.Errorf("cannot convert %s to %s", st.String(), dt.String()) + } + } + + // Check if the object has a custom JSON marshaller/unmarshaller. + if reflect.PtrTo(dt).Implements(unmarshalerType) { + data, err := json.Marshal(sv.Interface()) + if err != nil { + return fmt.Errorf("error encoding %s to json: %v", st.String(), err) + } + unmarshaler := dv.Addr().Interface().(encodingjson.Unmarshaler) + return unmarshaler.UnmarshalJSON(data) + } + + switch dt.Kind() { + case reflect.Map: + return mapFromUnstructured(sv, dv) + case reflect.Slice: + return sliceFromUnstructured(sv, dv) + case reflect.Ptr: + return pointerFromUnstructured(sv, dv) + case reflect.Struct: + return structFromUnstructured(sv, dv) + case reflect.Interface: + return interfaceFromUnstructured(sv, dv) + default: + return fmt.Errorf("unrecognized type: %v", dt.Kind()) + } +} + +func fieldInfoFromField(structType reflect.Type, field int) *fieldInfo { + fieldCacheMap := fieldCache.value.Load().(fieldsCacheMap) + if info, ok := fieldCacheMap[structField{structType, field}]; ok { + return info + } + + // Cache miss - we need to compute the field name. + info := &fieldInfo{} + typeField := structType.Field(field) + jsonTag := typeField.Tag.Get("json") + if len(jsonTag) == 0 { + // Make the first character lowercase. + if typeField.Name == "" { + info.name = typeField.Name + } else { + info.name = strings.ToLower(typeField.Name[:1]) + typeField.Name[1:] + } + } else { + items := strings.Split(jsonTag, ",") + info.name = items[0] + for i := range items { + if items[i] == "omitempty" { + info.omitempty = true + } + } + } + info.nameValue = reflect.ValueOf(info.name) + + fieldCache.Lock() + defer fieldCache.Unlock() + fieldCacheMap = fieldCache.value.Load().(fieldsCacheMap) + newFieldCacheMap := make(fieldsCacheMap) + for k, v := range fieldCacheMap { + newFieldCacheMap[k] = v + } + newFieldCacheMap[structField{structType, field}] = info + fieldCache.value.Store(newFieldCacheMap) + return info +} + +func unwrapInterface(v reflect.Value) reflect.Value { + for v.Kind() == reflect.Interface { + v = v.Elem() + } + return v +} + +func mapFromUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + if st.Kind() != reflect.Map { + return fmt.Errorf("cannot restore map from %v", st.Kind()) + } + + if !st.Key().AssignableTo(dt.Key()) && !st.Key().ConvertibleTo(dt.Key()) { + return fmt.Errorf("cannot copy map with non-assignable keys: %v %v", st.Key(), dt.Key()) + } + + if sv.IsNil() { + dv.Set(reflect.Zero(dt)) + return nil + } + dv.Set(reflect.MakeMap(dt)) + for _, key := range sv.MapKeys() { + value := reflect.New(dt.Elem()).Elem() + if val := unwrapInterface(sv.MapIndex(key)); val.IsValid() { + if err := fromUnstructured(val, value); err != nil { + return err + } + } else { + value.Set(reflect.Zero(dt.Elem())) + } + if st.Key().AssignableTo(dt.Key()) { + dv.SetMapIndex(key, value) + } else { + dv.SetMapIndex(key.Convert(dt.Key()), value) + } + } + return nil +} + +func sliceFromUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + if st.Kind() == reflect.String && dt.Elem().Kind() == reflect.Uint8 { + // We store original []byte representation as string. + // This conversion is allowed, but we need to be careful about + // marshaling data appropriately. + if len(sv.Interface().(string)) > 0 { + marshalled, err := json.Marshal(sv.Interface()) + if err != nil { + return fmt.Errorf("error encoding %s to json: %v", st, err) + } + // TODO: Is this Unmarshal needed? + var data []byte + err = json.Unmarshal(marshalled, &data) + if err != nil { + return fmt.Errorf("error decoding from json: %v", err) + } + dv.SetBytes(data) + } else { + dv.Set(reflect.Zero(dt)) + } + return nil + } + if st.Kind() != reflect.Slice { + return fmt.Errorf("cannot restore slice from %v", st.Kind()) + } + + if sv.IsNil() { + dv.Set(reflect.Zero(dt)) + return nil + } + dv.Set(reflect.MakeSlice(dt, sv.Len(), sv.Cap())) + for i := 0; i < sv.Len(); i++ { + if err := fromUnstructured(sv.Index(i), dv.Index(i)); err != nil { + return err + } + } + return nil +} + +func pointerFromUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + + if st.Kind() == reflect.Ptr && sv.IsNil() { + dv.Set(reflect.Zero(dt)) + return nil + } + dv.Set(reflect.New(dt.Elem())) + switch st.Kind() { + case reflect.Ptr, reflect.Interface: + return fromUnstructured(sv.Elem(), dv.Elem()) + default: + return fromUnstructured(sv, dv.Elem()) + } +} + +func structFromUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + if st.Kind() != reflect.Map { + return fmt.Errorf("cannot restore struct from: %v", st.Kind()) + } + + for i := 0; i < dt.NumField(); i++ { + fieldInfo := fieldInfoFromField(dt, i) + fv := dv.Field(i) + + if len(fieldInfo.name) == 0 { + // This field is inlined. + if err := fromUnstructured(sv, fv); err != nil { + return err + } + } else { + value := unwrapInterface(sv.MapIndex(fieldInfo.nameValue)) + if value.IsValid() { + if err := fromUnstructured(value, fv); err != nil { + return err + } + } else { + fv.Set(reflect.Zero(fv.Type())) + } + } + } + return nil +} + +func interfaceFromUnstructured(sv, dv reflect.Value) error { + // TODO: Is this conversion safe? + dv.Set(sv) + return nil +} + +func (c *converterImpl) ToUnstructured(obj runtime.Object, u *map[string]interface{}) error { + err := toUnstructured(reflect.ValueOf(obj).Elem(), reflect.ValueOf(u).Elem()) + if c.mismatchDetection { + newUnstr := &map[string]interface{}{} + newErr := toUnstructuredViaJSON(obj, newUnstr) + if (err != nil) != (newErr != nil) { + glog.Fatalf("ToUnstructured unexpected error for %v: error: %v", obj, err) + } + if err == nil && !apiequality.Semantic.DeepEqual(u, newUnstr) { + glog.Fatalf("ToUnstructured mismatch for %#v, diff: %v", u, diff.ObjectReflectDiff(u, newUnstr)) + } + } + return err +} + +func toUnstructuredViaJSON(obj runtime.Object, u *map[string]interface{}) error { + data, err := json.Marshal(obj) + if err != nil { + return err + } + return json.Unmarshal(data, u) +} + +func toUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + + // Check if the object has a custom JSON marshaller/unmarshaller. + if st.Implements(marshalerType) { + if sv.Kind() == reflect.Ptr && sv.IsNil() { + // We're done - we don't need to store anything. + return nil + } + + marshaler := sv.Interface().(encodingjson.Marshaler) + data, err := marshaler.MarshalJSON() + if err != nil { + return err + } + if bytes.Equal(data, []byte("null")) { + // We're done - we don't need to store anything. + } else { + switch { + case len(data) > 0 && data[0] == '"': + var result string + err := json.Unmarshal(data, &result) + if err != nil { + return fmt.Errorf("error decoding from json: %v", err) + } + dv.Set(reflect.ValueOf(result)) + case len(data) > 0 && data[0] == '{': + result := make(map[string]interface{}) + err := json.Unmarshal(data, &result) + if err != nil { + return fmt.Errorf("error decoding from json: %v", err) + } + dv.Set(reflect.ValueOf(result)) + default: + var result int64 + err := json.Unmarshal(data, &result) + if err != nil { + return fmt.Errorf("error decoding from json: %v", err) + } + dv.Set(reflect.ValueOf(result)) + } + } + return nil + } + + switch st.Kind() { + case reflect.String: + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + dv.Set(reflect.New(stringType)) + } + dv.Set(reflect.ValueOf(sv.String())) + return nil + case reflect.Bool: + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + dv.Set(reflect.New(boolType)) + } + dv.Set(reflect.ValueOf(sv.Bool())) + return nil + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + dv.Set(reflect.New(int64Type)) + } + 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)) + } + dv.Set(reflect.ValueOf(sv.Uint())) + return nil + case reflect.Float32, reflect.Float64: + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + dv.Set(reflect.New(float64Type)) + } + dv.Set(reflect.ValueOf(sv.Float())) + return nil + case reflect.Map: + return mapToUnstructured(sv, dv) + case reflect.Slice: + return sliceToUnstructured(sv, dv) + case reflect.Ptr: + return pointerToUnstructured(sv, dv) + case reflect.Struct: + return structToUnstructured(sv, dv) + case reflect.Interface: + return interfaceToUnstructured(sv, dv) + default: + return fmt.Errorf("unrecognized type: %v", st.Kind()) + } +} + +func mapToUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + if sv.IsNil() { + dv.Set(reflect.Zero(dt)) + return nil + } + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + if st.Key().Kind() == reflect.String { + switch st.Elem().Kind() { + // TODO It should be possible to reuse the slice for primitive types. + // However, it is panicing in the following form. + // case reflect.String, reflect.Bool, + // reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + // reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + // sv.Set(sv) + // return nil + default: + // We need to do a proper conversion. + } + } + dv.Set(reflect.MakeMap(mapStringInterfaceType)) + dv = dv.Elem() + dt = dv.Type() + } + if dt.Kind() != reflect.Map { + return fmt.Errorf("cannot convert struct to: %v", dt.Kind()) + } + + if !st.Key().AssignableTo(dt.Key()) && !st.Key().ConvertibleTo(dt.Key()) { + return fmt.Errorf("cannot copy map with non-assignable keys: %v %v", st.Key(), dt.Key()) + } + + for _, key := range sv.MapKeys() { + value := reflect.New(dt.Elem()).Elem() + if err := toUnstructured(sv.MapIndex(key), value); err != nil { + return err + } + if st.Key().AssignableTo(dt.Key()) { + dv.SetMapIndex(key, value) + } else { + dv.SetMapIndex(key.Convert(dt.Key()), value) + } + } + return nil +} + +func sliceToUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + if sv.IsNil() { + dv.Set(reflect.Zero(dt)) + return nil + } + if st.Elem().Kind() == reflect.Uint8 { + dv.Set(reflect.New(stringType)) + data, err := json.Marshal(sv.Bytes()) + if err != nil { + return err + } + var result string + if err = json.Unmarshal(data, &result); err != nil { + return err + } + dv.Set(reflect.ValueOf(result)) + return nil + } + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + switch st.Elem().Kind() { + // TODO It should be possible to reuse the slice for primitive types. + // However, it is panicing in the following form. + // case reflect.String, reflect.Bool, + // reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + // reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + // sv.Set(sv) + // return nil + default: + // We need to do a proper conversion. + dv.Set(reflect.MakeSlice(reflect.SliceOf(dt), sv.Len(), sv.Cap())) + dv = dv.Elem() + dt = dv.Type() + } + } + if dt.Kind() != reflect.Slice { + return fmt.Errorf("cannot convert slice to: %v", dt.Kind()) + } + for i := 0; i < sv.Len(); i++ { + if err := toUnstructured(sv.Index(i), dv.Index(i)); err != nil { + return err + } + } + return nil +} + +func pointerToUnstructured(sv, dv reflect.Value) error { + if sv.IsNil() { + // We're done - we don't need to store anything. + return nil + } + return toUnstructured(sv.Elem(), dv) +} + +func isZero(v reflect.Value) bool { + switch v.Kind() { + case reflect.Array, reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Map, reflect.Slice: + // TODO: It seems that 0-len maps are ignored in it. + return v.IsNil() || v.Len() == 0 + case reflect.Ptr, reflect.Interface: + return v.IsNil() + } + return false +} + +func structToUnstructured(sv, dv reflect.Value) error { + st, dt := sv.Type(), dv.Type() + if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 { + dv.Set(reflect.MakeMap(mapStringInterfaceType)) + dv = dv.Elem() + dt = dv.Type() + } + if dt.Kind() != reflect.Map { + return fmt.Errorf("cannot convert struct to: %v", dt.Kind()) + } + realMap := dv.Interface().(map[string]interface{}) + + for i := 0; i < st.NumField(); i++ { + fieldInfo := fieldInfoFromField(st, i) + fv := sv.Field(i) + + if fieldInfo.name == "-" { + // This field should be skipped. + continue + } + if fieldInfo.omitempty && isZero(fv) { + // omitempty fields should be ignored. + continue + } + if len(fieldInfo.name) == 0 { + // This field is inlined. + if err := toUnstructured(fv, dv); err != nil { + return err + } + continue + } + switch fv.Type().Kind() { + case reflect.String: + realMap[fieldInfo.name] = fv.String() + case reflect.Bool: + realMap[fieldInfo.name] = fv.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + realMap[fieldInfo.name] = fv.Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + realMap[fieldInfo.name] = fv.Uint() + case reflect.Float32, reflect.Float64: + realMap[fieldInfo.name] = fv.Float() + default: + subv := reflect.New(dt.Elem()).Elem() + if err := toUnstructured(fv, subv); err != nil { + return err + } + dv.SetMapIndex(fieldInfo.nameValue, subv) + } + } + return nil +} + +func interfaceToUnstructured(sv, dv reflect.Value) error { + if !sv.IsValid() || sv.IsNil() { + dv.Set(reflect.Zero(dv.Type())) + return nil + } + return toUnstructured(sv.Elem(), dv) +} diff --git a/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter_test.go b/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter_test.go new file mode 100644 index 00000000..cbab0d1d --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/converter_test.go @@ -0,0 +1,462 @@ +/* +Copyright 2015 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 unstructured + +import ( + "fmt" + "reflect" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/json" +) + +// Definte a number of test types. +type A struct { + A int `json:"aa,omitempty"` + B string `json:"ab,omitempty"` + C bool `json:"ac,omitempty"` +} + +type B struct { + A A `json:"ba"` + B string `json:"bb"` + C map[string]string `json:"bc"` + D []string `json:"bd"` +} + +type C struct { + A []A `json:"ca"` + B `json:",inline"` + C string `json:"cc"` + D *int64 `json:"cd"` + E map[string]int `json:"ce"` + F []bool `json:"cf"` + G []int `json:"cg"` + H float32 `json:"ch"` + I []interface{} `json:"ci"` +} + +type D struct { + A []interface{} `json:"da"` +} + +type E struct { + A interface{} `json:"ea"` +} + +type F struct { + A string `json:"fa"` + B map[string]string `json:"fb"` + C []A `json:"fc"` + D int `json:"fd"` + E float32 `json:"fe"` + F []string `json:"ff"` + G []int `json:"fg"` + H []bool `json:"fh"` + I []float32 `json:"fi"` +} + +// Implement runtime.Object to make types usable for tests. + +func (c *C) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +func (d *D) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +func (e *E) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +func (f *F) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +func doRoundTrip(t *testing.T, item runtime.Object) { + data, err := json.Marshal(item) + if err != nil { + t.Errorf("Error when marshaling object: %v", err) + return + } + + unstr := make(map[string]interface{}) + err = json.Unmarshal(data, &unstr) + if err != nil { + t.Errorf("Error when unmarshaling to unstructured: %v", err) + return + } + + data, err = json.Marshal(unstr) + if err != nil { + t.Errorf("Error when marshaling unstructured: %v", err) + return + } + unmarshalledObj := reflect.New(reflect.TypeOf(item).Elem()).Interface() + err = json.Unmarshal(data, &unmarshalledObj) + if err != nil { + t.Errorf("Error when unmarshaling to object: %v", err) + return + } + if !reflect.DeepEqual(item, unmarshalledObj) { + t.Errorf("Object changed during JSON operations, diff: %v", diff.ObjectReflectDiff(item, unmarshalledObj)) + return + } + + newUnstr := make(map[string]interface{}) + err = DefaultConverter.ToUnstructured(item, &newUnstr) + if err != nil { + t.Errorf("ToUnstructured failed: %v", err) + return + } + + newObj := reflect.New(reflect.TypeOf(item).Elem()).Interface().(runtime.Object) + err = DefaultConverter.FromUnstructured(newUnstr, newObj) + if err != nil { + t.Errorf("FromUnstructured failed: %v", err) + return + } + + if !reflect.DeepEqual(item, newObj) { + t.Errorf("Object changed, diff: %v", diff.ObjectReflectDiff(item, newObj)) + } +} + +func TestRoundTrip(t *testing.T) { + intVal := int64(42) + testCases := []struct { + obj runtime.Object + }{ + { + // This (among others) tests nil map, slice and pointer. + obj: &C{ + C: "ccc", + }, + }, + { + // This (among others) tests empty map and slice. + obj: &C{ + A: []A{}, + C: "ccc", + E: map[string]int{}, + I: []interface{}{}, + }, + }, + { + obj: &C{ + A: []A{ + { + A: 1, + B: "11", + C: true, + }, + { + A: 2, + B: "22", + C: false, + }, + }, + B: B{ + A: A{ + A: 3, + B: "33", + }, + B: "bbb", + C: map[string]string{ + "k1": "v1", + "k2": "v2", + }, + D: []string{"s1", "s2"}, + }, + C: "ccc", + D: &intVal, + E: map[string]int{ + "k1": 1, + "k2": 2, + }, + F: []bool{true, false, false}, + G: []int{1, 2, 5}, + H: 3.3, + I: []interface{}{nil, nil, nil}, + }, + }, + { + // Test slice of interface{} with empty slices. + obj: &D{ + A: []interface{}{[]interface{}{}, []interface{}{}}, + }, + }, + { + // Test slice of interface{} with different values. + obj: &D{ + A: []interface{}{3.0, "3.0", nil}, + }, + }, + } + + for i := range testCases { + doRoundTrip(t, testCases[i].obj) + if t.Failed() { + break + } + } +} + +// Verifies that: +// 1) serialized json -> object +// 2) serialized json -> map[string]interface{} -> object +// produces the same object. +func doUnrecognized(t *testing.T, jsonData string, item runtime.Object, expectedErr error) { + unmarshalledObj := reflect.New(reflect.TypeOf(item).Elem()).Interface() + err := json.Unmarshal([]byte(jsonData), &unmarshalledObj) + if (err != nil) != (expectedErr != nil) { + t.Errorf("Unexpected error when unmarshaling to object: %v, expected: %v", err, expectedErr) + return + } + + unstr := make(map[string]interface{}) + err = json.Unmarshal([]byte(jsonData), &unstr) + if err != nil { + t.Errorf("Error when unmarshaling to unstructured: %v", err) + return + } + newObj := reflect.New(reflect.TypeOf(item).Elem()).Interface().(runtime.Object) + err = DefaultConverter.FromUnstructured(unstr, newObj) + if (err != nil) != (expectedErr != nil) { + t.Errorf("Unexpected error in FromUnstructured: %v, expected: %v", err, expectedErr) + } + + if expectedErr == nil && !reflect.DeepEqual(unmarshalledObj, newObj) { + t.Errorf("Object changed, diff: %v", diff.ObjectReflectDiff(unmarshalledObj, newObj)) + } +} + +func TestUnrecognized(t *testing.T) { + testCases := []struct { + data string + obj runtime.Object + err error + }{ + { + data: "{\"da\":[3.0,\"3.0\",null]}", + obj: &D{}, + }, + { + data: "{\"ea\":[3.0,\"3.0\",null]}", + obj: &E{}, + }, + { + data: "{\"ea\":[null,null,null]}", + obj: &E{}, + }, + { + data: "{\"ea\":[[],[null]]}", + obj: &E{}, + }, + { + data: "{\"ea\":{\"a\":[],\"b\":null}}", + obj: &E{}, + }, + { + data: "{\"fa\":\"fa\",\"fb\":{\"a\":\"a\"}}", + obj: &F{}, + }, + { + data: "{\"fa\":\"fa\",\"fb\":{\"a\":null}}", + obj: &F{}, + }, + { + data: "{\"fc\":[null]}", + obj: &F{}, + }, + { + data: "{\"fc\":[{\"aa\":123,\"ab\":\"bbb\"}]}", + obj: &F{}, + }, + { + // Only unknown fields + data: "{\"fx\":[{\"aa\":123,\"ab\":\"bbb\"}],\"fz\":123}", + obj: &F{}, + }, + { + data: "{\"fc\":[{\"aa\":\"aaa\",\"ab\":\"bbb\"}]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type int"), + }, + { + data: "{\"fd\":123,\"fe\":3.5}", + obj: &F{}, + }, + { + data: "{\"ff\":[\"abc\"],\"fg\":[123],\"fh\":[true,false]}", + obj: &F{}, + }, + { + // Invalid string data + data: "{\"fa\":123}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type string"), + }, + { + // Invalid string data + data: "{\"fa\":13.5}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type string"), + }, + { + // Invalid string data + data: "{\"fa\":true}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal bool into Go value of type string"), + }, + { + // Invalid []string data + data: "{\"ff\":123}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type []string"), + }, + { + // Invalid []string data + data: "{\"ff\":3.5}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type []string"), + }, + { + // Invalid []string data + data: "{\"ff\":[123,345]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type string"), + }, + { + // Invalid []int data + data: "{\"fg\":123}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type []int"), + }, + { + // Invalid []int data + data: "{\"fg\":\"abc\"}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type []int"), + }, + { + // Invalid []int data + data: "{\"fg\":[\"abc\"]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type int"), + }, + { + // Invalid []int data + data: "{\"fg\":[3.5]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number 3.5 into Go value of type int"), + }, + { + // Invalid []int data + data: "{\"fg\":[true,false]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number 3.5 into Go value of type int"), + }, + { + // Invalid []bool data + data: "{\"fh\":123}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type []bool"), + }, + { + // Invalid []bool data + data: "{\"fh\":\"abc\"}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type []bool"), + }, + { + // Invalid []bool data + data: "{\"fh\":[\"abc\"]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type bool"), + }, + { + // Invalid []bool data + data: "{\"fh\":[3.5]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type bool"), + }, + { + // Invalid []bool data + data: "{\"fh\":[123]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type bool"), + }, + { + // Invalid []float data + data: "{\"fi\":123}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal number into Go value of type []float32"), + }, + { + // Invalid []float data + data: "{\"fi\":\"abc\"}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type []float32"), + }, + { + // Invalid []float data + data: "{\"fi\":[\"abc\"]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal string into Go value of type float32"), + }, + { + // Invalid []float data + data: "{\"fi\":[true]}", + obj: &F{}, + err: fmt.Errorf("json: cannot unmarshal bool into Go value of type float32"), + }, + } + + for i := range testCases { + doUnrecognized(t, testCases[i].data, testCases[i].obj, testCases[i].err) + if t.Failed() { + break + } + } +} + +func TestFloatIntConversion(t *testing.T) { + unstr := map[string]interface{}{"fd": float64(3)} + + var obj F + if err := DefaultConverter.FromUnstructured(unstr, &obj); err != nil { + t.Errorf("Unexpected error in FromUnstructured: %v", err) + } + + data, err := json.Marshal(unstr) + if err != nil { + t.Fatalf("Error when marshaling unstructured: %v", err) + } + var unmarshalled F + if err := json.Unmarshal(data, &unmarshalled); err != nil { + t.Fatalf("Error when unmarshaling to object: %v", err) + } + + if !reflect.DeepEqual(obj, unmarshalled) { + t.Errorf("Incorrect conversion, diff: %v", diff.ObjectReflectDiff(obj, unmarshalled)) + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/doc.go b/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/doc.go new file mode 100644 index 00000000..cd40e74b --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/conversion/unstructured/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2017 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 unstructured provides conversion from runtime objects +// to map[string]interface{} representation. +package unstructured // import "k8s.io/apimachinery/pkg/conversion/unstructured" diff --git a/vendor/k8s.io/apimachinery/pkg/fields/selector.go b/vendor/k8s.io/apimachinery/pkg/fields/selector.go index 554d011d..bb156b4c 100644 --- a/vendor/k8s.io/apimachinery/pkg/fields/selector.go +++ b/vendor/k8s.io/apimachinery/pkg/fields/selector.go @@ -406,3 +406,8 @@ func parseSelector(selector string, fn TransformFunc) (Selector, error) { func OneTermEqualSelector(k, v string) Selector { return &hasTerm{field: k, value: v} } + +// AndSelectors creates a selector that is the logical AND of all the given selectors +func AndSelectors(selectors ...Selector) Selector { + return andTerm(selectors) +} diff --git a/vendor/k8s.io/apimachinery/pkg/openapi/common.go b/vendor/k8s.io/apimachinery/pkg/openapi/common.go index e81dac9e..605776ed 100644 --- a/vendor/k8s.io/apimachinery/pkg/openapi/common.go +++ b/vendor/k8s.io/apimachinery/pkg/openapi/common.go @@ -19,6 +19,7 @@ package openapi import ( "github.com/emicklei/go-restful" "github.com/go-openapi/spec" + "strings" ) // OpenAPIDefinition describes single type. Normally these definitions are auto-generated using gen-openapi. @@ -27,8 +28,10 @@ type OpenAPIDefinition struct { Dependencies []string } +type ReferenceCallback func(path string) spec.Ref + // OpenAPIDefinitions is collection of all definitions. -type OpenAPIDefinitions map[string]OpenAPIDefinition +type GetOpenAPIDefinitions func(ReferenceCallback) map[string]OpenAPIDefinition // OpenAPIDefinitionGetter gets openAPI definitions for a given type. If a type implements this interface, // the definition returned by it will be used, otherwise the auto-generated definitions will be used. See @@ -59,11 +62,18 @@ type Config struct { // OpenAPIDefinitions should provide definition for all models used by routes. Failure to provide this map // or any of the models will result in spec generation failure. - Definitions *OpenAPIDefinitions + GetDefinitions GetOpenAPIDefinitions // GetOperationIDAndTags returns operation id and tags for a restful route. It is an optional function to customize operation IDs. GetOperationIDAndTags func(servePath string, r *restful.Route) (string, []string, error) + // GetDefinitionName returns a friendly name for a definition base on the serving path. parameter `name` is the full name of the definition. + // It is an optional function to customize model names. + GetDefinitionName func(servePath string, name string) (string, spec.Extensions) + + // PostProcessSpec runs after the spec is ready to serve. It allows a final modification to the spec before serving. + PostProcessSpec func(*spec.Swagger) (*spec.Swagger, error) + // SecurityDefinitions is list of all security definitions for OpenAPI service. If this is not nil, the user of config // is responsible to provide DefaultSecurity and (maybe) add unauthorized response to CommonResponses. SecurityDefinitions *spec.SecurityDefinitions @@ -141,3 +151,10 @@ func GetOpenAPITypeFormat(typeName string) (string, string) { } return mapped[0], mapped[1] } + +func EscapeJsonPointer(p string) string { + // Escaping reference name using rfc6901 + p = strings.Replace(p, "~", "~0", -1) + p = strings.Replace(p, "/", "~1", -1) + return p +} diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/codec.go b/vendor/k8s.io/apimachinery/pkg/runtime/codec.go index 21fd5019..cd0b8cf4 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/codec.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/codec.go @@ -161,11 +161,12 @@ func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.Gro if err != nil { return err } - targetGVK := targetGVKs[0] - if targetGVK.GroupVersion() == from { - return c.convertor.Convert(¶meters, into, nil) + for i := range targetGVKs { + if targetGVKs[i].GroupVersion() == from { + return c.convertor.Convert(¶meters, into, nil) + } } - input, err := c.creator.New(from.WithKind(targetGVK.Kind)) + input, err := c.creator.New(from.WithKind(targetGVKs[0].Kind)) if err != nil { return err } diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go index ad260ae4..fbec6ad9 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go @@ -163,22 +163,13 @@ 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) { - if len(gv.Version) == 0 { - panic(fmt.Sprintf("version is required on all types: %s %v", gv, types[0])) - } for _, obj := range types { t := reflect.TypeOf(obj) if t.Kind() != reflect.Ptr { panic("All types must be pointers to structs.") } t = t.Elem() - if t.Kind() != reflect.Struct { - panic("All types must be pointers to structs.") - } - - gvk := gv.WithKind(t.Name()) - s.gvkToType[gvk] = t - s.typeToGVK[t] = append(s.typeToGVK[t], gvk) + s.AddKnownTypeWithName(gv.WithKind(t.Name()), obj) } } @@ -199,7 +190,17 @@ func (s *Scheme) AddKnownTypeWithName(gvk schema.GroupVersionKind, obj Object) { panic("All types must be pointers to structs.") } + if oldT, found := s.gvkToType[gvk]; found && oldT != t { + panic(fmt.Sprintf("Double registration of different types for %v: old=%v.%v, new=%v.%v", gvk, oldT.PkgPath(), oldT.Name(), t.PkgPath(), t.Name())) + } + s.gvkToType[gvk] = t + + for _, existingGvk := range s.typeToGVK[t] { + if existingGvk == gvk { + return + } + } s.typeToGVK[t] = append(s.typeToGVK[t], gvk) } diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/scheme_test.go b/vendor/k8s.io/apimachinery/pkg/runtime/scheme_test.go index 970bde80..d34b491b 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/scheme_test.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/scheme_test.go @@ -548,6 +548,79 @@ func TestKnownTypes(t *testing.T) { } } +func TestAddKnownTypesIdemPotent(t *testing.T) { + s := runtime.NewScheme() + + gv := schema.GroupVersion{Group: "foo", Version: "v1"} + s.AddKnownTypes(gv, &InternalSimple{}) + s.AddKnownTypes(gv, &InternalSimple{}) + if len(s.KnownTypes(gv)) != 1 { + t.Errorf("expected only one %v type after double registration", gv) + } + if len(s.AllKnownTypes()) != 1 { + t.Errorf("expected only one type after double registration") + } + + s.AddKnownTypeWithName(gv.WithKind("InternalSimple"), &InternalSimple{}) + s.AddKnownTypeWithName(gv.WithKind("InternalSimple"), &InternalSimple{}) + if len(s.KnownTypes(gv)) != 1 { + t.Errorf("expected only one %v type after double registration with custom name", gv) + } + if len(s.AllKnownTypes()) != 1 { + t.Errorf("expected only one type after double registration with custom name") + } + + s.AddUnversionedTypes(gv, &InternalSimple{}) + if len(s.KnownTypes(gv)) != 1 { + t.Errorf("expected only one %v type after double registration with custom name", gv) + } + if len(s.AllKnownTypes()) != 1 { + t.Errorf("expected only one type after double registration with custom name") + } + + kinds, _, err := s.ObjectKinds(&InternalSimple{}) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if len(kinds) != 1 { + t.Errorf("expected only one kind for InternalSimple after double registration", gv) + } +} + +func TestConflictingAddKnownTypes(t *testing.T) { + s := runtime.NewScheme() + gv := schema.GroupVersion{Group: "foo", Version: "v1"} + + panicked := make(chan bool) + go func() { + defer func() { + if recover() != nil { + panicked <- true + } + }() + s.AddKnownTypeWithName(gv.WithKind("InternalSimple"), &InternalSimple{}) + s.AddKnownTypeWithName(gv.WithKind("InternalSimple"), &ExternalSimple{}) + panicked <- false + }() + if !<-panicked { + t.Errorf("Expected AddKnownTypesWithName to panic with conflicting type registrations") + } + + go func() { + defer func() { + if recover() != nil { + panicked <- true + } + }() + s.AddUnversionedTypes(gv, &InternalSimple{}) + s.AddUnversionedTypes(gv, &InternalSimple{}) + panicked <- false + }() + if !<-panicked { + t.Errorf("Expected AddUnversionedTypes to panic with conflicting type registrations") + } +} + func TestConvertToVersionBasic(t *testing.T) { s := GetTestScheme() tt := &TestType1{A: "I'm not a pointer object"} diff --git a/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/upgrade.go b/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/upgrade.go index 2f2ef259..97a21876 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/upgrade.go +++ b/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/upgrade.go @@ -21,8 +21,8 @@ import ( "net/http" "strings" - "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/httpstream" + "k8s.io/apimachinery/pkg/util/runtime" ) const HeaderSpdy31 = "SPDY/3.1" diff --git a/vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch.go b/vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch.go new file mode 100644 index 00000000..e81e4f23 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch.go @@ -0,0 +1,144 @@ +/* +Copyright 2017 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 jsonmergepatch + +import ( + "fmt" + "reflect" + + "github.com/evanphx/json-patch" + "k8s.io/apimachinery/pkg/util/json" + "k8s.io/apimachinery/pkg/util/mergepatch" +) + +// Create a 3-way merge patch based-on JSON merge patch. +// Calculate addition-and-change patch between current and modified. +// Calculate deletion patch between original and modified. +func CreateThreeWayJSONMergePatch(original, modified, current []byte, fns ...mergepatch.PreconditionFunc) ([]byte, error) { + if len(original) == 0 { + original = []byte(`{}`) + } + if len(modified) == 0 { + modified = []byte(`{}`) + } + if len(current) == 0 { + current = []byte(`{}`) + } + + addAndChangePatch, err := jsonpatch.CreateMergePatch(current, modified) + if err != nil { + return nil, err + } + // Only keep addition and changes + addAndChangePatch, addAndChangePatchObj, err := keepOrDeleteNullInJsonPatch(addAndChangePatch, false) + if err != nil { + return nil, err + } + + deletePatch, err := jsonpatch.CreateMergePatch(original, modified) + if err != nil { + return nil, err + } + // Only keep deletion + deletePatch, deletePatchObj, err := keepOrDeleteNullInJsonPatch(deletePatch, true) + if err != nil { + return nil, err + } + + hasConflicts, err := mergepatch.HasConflicts(addAndChangePatchObj, deletePatchObj) + if err != nil { + return nil, err + } + if hasConflicts { + return nil, mergepatch.NewErrConflict(mergepatch.ToYAMLOrError(addAndChangePatchObj), mergepatch.ToYAMLOrError(deletePatchObj)) + } + patch, err := jsonpatch.MergePatch(deletePatch, addAndChangePatch) + if err != nil { + return nil, err + } + + var patchMap map[string]interface{} + err = json.Unmarshal(patch, &patchMap) + if err != nil { + return nil, fmt.Errorf("Failed to unmarshal patch for precondition check: %s", patch) + } + meetPreconditions, err := meetPreconditions(patchMap, fns...) + if err != nil { + return nil, err + } + if !meetPreconditions { + return nil, mergepatch.NewErrPreconditionFailed(patchMap) + } + + return patch, nil +} + +// keepOrDeleteNullInJsonPatch takes a json-encoded byte array and a boolean. +// It returns a filtered object and its corresponding json-encoded byte array. +// It is a wrapper of func keepOrDeleteNullInObj +func keepOrDeleteNullInJsonPatch(patch []byte, keepNull bool) ([]byte, map[string]interface{}, error) { + var patchMap map[string]interface{} + err := json.Unmarshal(patch, &patchMap) + if err != nil { + return nil, nil, err + } + filteredMap, err := keepOrDeleteNullInObj(patchMap, keepNull) + if err != nil { + return nil, nil, err + } + o, err := json.Marshal(filteredMap) + return o, filteredMap, err +} + +// keepOrDeleteNullInObj will keep only the null value and delete all the others, +// if keepNull is true. Otherwise, it will delete all the null value and keep the others. +func keepOrDeleteNullInObj(m map[string]interface{}, keepNull bool) (map[string]interface{}, error) { + filteredMap := make(map[string]interface{}) + var err error + for key, val := range m { + switch { + case keepNull && val == nil: + filteredMap[key] = nil + case val != nil: + switch typedVal := val.(type) { + case map[string]interface{}: + filteredMap[key], err = keepOrDeleteNullInObj(typedVal, keepNull) + if err != nil { + return nil, err + } + case []interface{}, string, float64, bool, int, int64, nil: + // Lists are always replaced in Json, no need to check each entry in the list. + if !keepNull { + filteredMap[key] = val + } + default: + return nil, fmt.Errorf("unknown type: %v", reflect.TypeOf(typedVal)) + } + } + } + return filteredMap, nil +} + +func meetPreconditions(patchObj map[string]interface{}, fns ...mergepatch.PreconditionFunc) (bool, error) { + // Apply the preconditions to the patch, and return an error if any of them fail. + for _, fn := range fns { + if !fn(patchObj) { + return false, fmt.Errorf("precondition failed for: %v", patchObj) + } + } + return true, nil +} diff --git a/vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch_test.go b/vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch_test.go new file mode 100644 index 00000000..f462bf91 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/jsonmergepatch/patch_test.go @@ -0,0 +1,663 @@ +/* +Copyright 2017 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 jsonmergepatch + +import ( + "fmt" + "reflect" + "testing" + + "github.com/davecgh/go-spew/spew" + "github.com/evanphx/json-patch" + "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/util/json" +) + +type FilterNullTestCases struct { + TestCases []FilterNullTestCase +} + +type FilterNullTestCase struct { + Description string + OriginalObj map[string]interface{} + ExpectedWithNull map[string]interface{} + ExpectedWithoutNull map[string]interface{} +} + +var filterNullTestCaseData = []byte(` +testCases: + - description: nil original + originalObj: {} + expectedWithNull: {} + expectedWithoutNull: {} + - description: simple map + originalObj: + nilKey: null + nonNilKey: foo + expectedWithNull: + nilKey: null + expectedWithoutNull: + nonNilKey: foo + - description: simple map with all nil values + originalObj: + nilKey1: null + nilKey2: null + expectedWithNull: + nilKey1: null + nilKey2: null + expectedWithoutNull: {} + - description: simple map with all non-nil values + originalObj: + nonNilKey: foo + nonNilKey: bar + expectedWithNull: {} + expectedWithoutNull: + nonNilKey: foo + nonNilKey: bar + - description: nested map + originalObj: + mapKey: + nilKey: null + nonNilKey: foo + expectedWithNull: + mapKey: + nilKey: null + expectedWithoutNull: + mapKey: + nonNilKey: foo + - description: nested map that all subkeys are nil + originalObj: + mapKey: + nilKey1: null + nilKey2: null + expectedWithNull: + mapKey: + nilKey1: null + nilKey2: null + expectedWithoutNull: + mapKey: {} + - description: nested map that all subkeys are non-nil + originalObj: + mapKey: + nonNilKey: foo + nonNilKey: bar + expectedWithNull: + mapKey: {} + expectedWithoutNull: + mapKey: + nonNilKey: foo + nonNilKey: bar + - description: empty list + originalObj: + listKey: [] + expectedWithNull: {} + expectedWithoutNull: + listKey: [] + - description: list of primitives + originalObj: + listKey: + - 1 + - 2 + expectedWithNull: {} + expectedWithoutNull: + listKey: + - 1 + - 2 + - description: list of maps + originalObj: + listKey: + - k1: v1 + - k2: null + - k3: v3 + k4: null + expectedWithNull: {} + expectedWithoutNull: + listKey: + - k1: v1 + - k2: null + - k3: v3 + k4: null + - description: list of different types + originalObj: + listKey: + - k1: v1 + - k2: null + - v3 + expectedWithNull: {} + expectedWithoutNull: + listKey: + - k1: v1 + - k2: null + - v3 +`) + +func TestKeepOrDeleteNullInObj(t *testing.T) { + tc := FilterNullTestCases{} + err := yaml.Unmarshal(filterNullTestCaseData, &tc) + if err != nil { + t.Fatalf("can't unmarshal test cases: %s\n", err) + } + + for _, test := range tc.TestCases { + resultWithNull, err := keepOrDeleteNullInObj(test.OriginalObj, true) + if err != nil { + t.Errorf("Failed in test case %q when trying to keep null values: %s", test.Description, err) + } + if !reflect.DeepEqual(test.ExpectedWithNull, resultWithNull) { + t.Errorf("Failed in test case %q when trying to keep null values:\nexpected expectedWithNull:\n%+v\nbut got:\n%+v\n", test.Description, test.ExpectedWithNull, resultWithNull) + } + + resultWithoutNull, err := keepOrDeleteNullInObj(test.OriginalObj, false) + if err != nil { + t.Errorf("Failed in test case %q when trying to keep non-null values: %s", test.Description, err) + } + if !reflect.DeepEqual(test.ExpectedWithoutNull, resultWithoutNull) { + t.Errorf("Failed in test case %q when trying to keep non-null values:\n expected expectedWithoutNull:\n%+v\nbut got:\n%+v\n", test.Description, test.ExpectedWithoutNull, resultWithoutNull) + } + } +} + +type JSONMergePatchTestCases struct { + TestCases []JSONMergePatchTestCase +} + +type JSONMergePatchTestCase struct { + Description string + JSONMergePatchTestCaseData +} + +type JSONMergePatchTestCaseData struct { + // Original is the original object (last-applied config in annotation) + Original map[string]interface{} + // Modified is the modified object (new config we want) + Modified map[string]interface{} + // Current is the current object (live config in the server) + Current map[string]interface{} + // ThreeWay is the expected three-way merge patch + ThreeWay map[string]interface{} + // Result is the expected object after applying the three-way patch on current object. + Result map[string]interface{} +} + +var createJSONMergePatchTestCaseData = []byte(` +testCases: + - description: nil original + modified: + name: 1 + value: 1 + current: + name: 1 + other: a + threeWay: + value: 1 + result: + name: 1 + value: 1 + other: a + - description: nil patch + original: + name: 1 + modified: + name: 1 + current: + name: 1 + threeWay: + {} + result: + name: 1 + - description: add field to map + original: + name: 1 + modified: + name: 1 + value: 1 + current: + name: 1 + other: a + threeWay: + value: 1 + result: + name: 1 + value: 1 + other: a + - description: add field to map with conflict + original: + name: 1 + modified: + name: 1 + value: 1 + current: + name: a + other: a + threeWay: + name: 1 + value: 1 + result: + name: 1 + value: 1 + other: a + - description: add field and delete field from map + original: + name: 1 + modified: + value: 1 + current: + name: 1 + other: a + threeWay: + name: null + value: 1 + result: + value: 1 + other: a + - description: add field and delete field from map with conflict + original: + name: 1 + modified: + value: 1 + current: + name: a + other: a + threeWay: + name: null + value: 1 + result: + value: 1 + other: a + - description: delete field from nested map + original: + simpleMap: + key1: 1 + key2: 1 + modified: + simpleMap: + key1: 1 + current: + simpleMap: + key1: 1 + key2: 1 + other: a + threeWay: + simpleMap: + key2: null + result: + simpleMap: + key1: 1 + other: a + - description: delete field from nested map with conflict + original: + simpleMap: + key1: 1 + key2: 1 + modified: + simpleMap: + key1: 1 + current: + simpleMap: + key1: a + key2: 1 + other: a + threeWay: + simpleMap: + key1: 1 + key2: null + result: + simpleMap: + key1: 1 + other: a + - description: delete all fields from map + original: + name: 1 + value: 1 + modified: {} + current: + name: 1 + value: 1 + other: a + threeWay: + name: null + value: null + result: + other: a + - description: delete all fields from map with conflict + original: + name: 1 + value: 1 + modified: {} + current: + name: 1 + value: a + other: a + threeWay: + name: null + value: null + result: + other: a + - description: add field and delete all fields from map + original: + name: 1 + value: 1 + modified: + other: a + current: + name: 1 + value: 1 + other: a + threeWay: + name: null + value: null + result: + other: a + - description: add field and delete all fields from map with conflict + original: + name: 1 + value: 1 + modified: + other: a + current: + name: 1 + value: 1 + other: b + threeWay: + name: null + value: null + other: a + result: + other: a + - description: replace list of scalars + original: + intList: + - 1 + - 2 + modified: + intList: + - 2 + - 3 + current: + intList: + - 1 + - 2 + threeWay: + intList: + - 2 + - 3 + result: + intList: + - 2 + - 3 + - description: replace list of scalars with conflict + original: + intList: + - 1 + - 2 + modified: + intList: + - 2 + - 3 + current: + intList: + - 1 + - 4 + threeWay: + intList: + - 2 + - 3 + result: + intList: + - 2 + - 3 + - description: patch with different scalar type + original: + foo: 1 + modified: + foo: true + current: + foo: 1 + bar: 2 + threeWay: + foo: true + result: + foo: true + bar: 2 + - description: patch from scalar to list + original: + foo: 0 + modified: + foo: + - 1 + - 2 + current: + foo: 0 + bar: 2 + threeWay: + foo: + - 1 + - 2 + result: + foo: + - 1 + - 2 + bar: 2 + - description: patch from list to scalar + original: + foo: + - 1 + - 2 + modified: + foo: 0 + current: + foo: + - 1 + - 2 + bar: 2 + threeWay: + foo: 0 + result: + foo: 0 + bar: 2 + - description: patch from scalar to map + original: + foo: 0 + modified: + foo: + baz: 1 + current: + foo: 0 + bar: 2 + threeWay: + foo: + baz: 1 + result: + foo: + baz: 1 + bar: 2 + - description: patch from map to scalar + original: + foo: + baz: 1 + modified: + foo: 0 + current: + foo: + baz: 1 + bar: 2 + threeWay: + foo: 0 + result: + foo: 0 + bar: 2 + - description: patch from map to list + original: + foo: + baz: 1 + modified: + foo: + - 1 + - 2 + current: + foo: + baz: 1 + bar: 2 + threeWay: + foo: + - 1 + - 2 + result: + foo: + - 1 + - 2 + bar: 2 + - description: patch from list to map + original: + foo: + - 1 + - 2 + modified: + foo: + baz: 0 + current: + foo: + - 1 + - 2 + bar: 2 + threeWay: + foo: + baz: 0 + result: + foo: + baz: 0 + bar: 2 + - description: patch with different nested types + original: + foo: + - a: true + - 2 + - false + modified: + foo: + - 1 + - false + - b: 1 + current: + foo: + - a: true + - 2 + - false + bar: 0 + threeWay: + foo: + - 1 + - false + - b: 1 + result: + foo: + - 1 + - false + - b: 1 + bar: 0 +`) + +func TestCreateThreeWayJSONMergePatch(t *testing.T) { + tc := JSONMergePatchTestCases{} + err := yaml.Unmarshal(createJSONMergePatchTestCaseData, &tc) + if err != nil { + t.Errorf("can't unmarshal test cases: %s\n", err) + return + } + + for _, c := range tc.TestCases { + testThreeWayPatch(t, c) + } +} + +func testThreeWayPatch(t *testing.T, c JSONMergePatchTestCase) { + original, modified, current, expected, result := threeWayTestCaseToJSONOrFail(t, c) + actual, err := CreateThreeWayJSONMergePatch(original, modified, current) + if err != nil { + t.Fatalf("error: %s", err) + } + testPatchCreation(t, expected, actual, c.Description) + testPatchApplication(t, current, actual, result, c.Description) +} + +func testPatchCreation(t *testing.T, expected, actual []byte, description string) { + if !reflect.DeepEqual(actual, expected) { + t.Errorf("error in test case: %s\nexpected patch:\n%s\ngot:\n%s\n", + description, jsonToYAMLOrError(expected), jsonToYAMLOrError(actual)) + return + } +} + +func testPatchApplication(t *testing.T, original, patch, expected []byte, description string) { + result, err := jsonpatch.MergePatch(original, patch) + if err != nil { + t.Errorf("error: %s\nin test case: %s\ncannot apply patch:\n%s\nto original:\n%s\n", + err, description, jsonToYAMLOrError(patch), jsonToYAMLOrError(original)) + return + } + + if !reflect.DeepEqual(result, expected) { + format := "error in test case: %s\npatch application failed:\noriginal:\n%s\npatch:\n%s\nexpected:\n%s\ngot:\n%s\n" + t.Errorf(format, description, + jsonToYAMLOrError(original), jsonToYAMLOrError(patch), + jsonToYAMLOrError(expected), jsonToYAMLOrError(result)) + return + } +} + +func threeWayTestCaseToJSONOrFail(t *testing.T, c JSONMergePatchTestCase) ([]byte, []byte, []byte, []byte, []byte) { + return testObjectToJSONOrFail(t, c.Original), + testObjectToJSONOrFail(t, c.Modified), + testObjectToJSONOrFail(t, c.Current), + testObjectToJSONOrFail(t, c.ThreeWay), + testObjectToJSONOrFail(t, c.Result) +} + +func testObjectToJSONOrFail(t *testing.T, o map[string]interface{}) []byte { + if o == nil { + return nil + } + j, err := toJSON(o) + if err != nil { + t.Error(err) + } + return j +} + +func jsonToYAMLOrError(j []byte) string { + y, err := jsonToYAML(j) + if err != nil { + return err.Error() + } + return string(y) +} + +func toJSON(v interface{}) ([]byte, error) { + j, err := json.Marshal(v) + if err != nil { + return nil, fmt.Errorf("json marshal failed: %v\n%v\n", err, spew.Sdump(v)) + } + return j, nil +} + +func jsonToYAML(j []byte) ([]byte, error) { + y, err := yaml.JSONToYAML(j) + if err != nil { + return nil, fmt.Errorf("json to yaml failed: %v\n%v\n", err, j) + } + return y, nil +} diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/errors.go b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/errors.go new file mode 100644 index 00000000..b9d3e601 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/errors.go @@ -0,0 +1,66 @@ +/* +Copyright 2017 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 mergepatch + +import ( + "errors" + "fmt" +) + +var ErrBadJSONDoc = errors.New("Invalid JSON document") +var ErrNoListOfLists = errors.New("Lists of lists are not supported") +var ErrBadPatchFormatForPrimitiveList = errors.New("Invalid patch format of primitive list") + +// IsPreconditionFailed returns true if the provided error indicates +// a precondition failed. +func IsPreconditionFailed(err error) bool { + _, ok := err.(ErrPreconditionFailed) + return ok +} + +type ErrPreconditionFailed struct { + message string +} + +func NewErrPreconditionFailed(target map[string]interface{}) ErrPreconditionFailed { + s := fmt.Sprintf("precondition failed for: %v", target) + return ErrPreconditionFailed{s} +} + +func (err ErrPreconditionFailed) Error() string { + return err.message +} + +type ErrConflict struct { + message string +} + +func NewErrConflict(patch, current string) ErrConflict { + s := fmt.Sprintf("patch:\n%s\nconflicts with changes made from original to current:\n%s\n", patch, current) + return ErrConflict{s} +} + +func (err ErrConflict) Error() string { + return err.message +} + +// IsConflict returns true if the provided error indicates +// a conflict between the patch and the current configuration. +func IsConflict(err error) bool { + _, ok := err.(ErrConflict) + return ok +} diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/util.go b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/util.go new file mode 100644 index 00000000..591884e5 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/util.go @@ -0,0 +1,126 @@ +/* +Copyright 2017 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 mergepatch + +import ( + "fmt" + "reflect" + + "github.com/davecgh/go-spew/spew" + "github.com/ghodss/yaml" +) + +// PreconditionFunc asserts that an incompatible change is not present within a patch. +type PreconditionFunc func(interface{}) bool + +// RequireKeyUnchanged returns a precondition function that fails if the provided key +// is present in the patch (indicating that its value has changed). +func RequireKeyUnchanged(key string) PreconditionFunc { + return func(patch interface{}) bool { + patchMap, ok := patch.(map[string]interface{}) + if !ok { + return true + } + + // The presence of key means that its value has been changed, so the test fails. + _, ok = patchMap[key] + return !ok + } +} + +// RequireMetadataKeyUnchanged creates a precondition function that fails +// if the metadata.key is present in the patch (indicating its value +// has changed). +func RequireMetadataKeyUnchanged(key string) PreconditionFunc { + return func(patch interface{}) bool { + patchMap, ok := patch.(map[string]interface{}) + if !ok { + return true + } + patchMap1, ok := patchMap["metadata"] + if !ok { + return true + } + patchMap2, ok := patchMap1.(map[string]interface{}) + if !ok { + return true + } + _, ok = patchMap2[key] + return !ok + } +} + +func ToYAMLOrError(v interface{}) string { + y, err := toYAML(v) + if err != nil { + return err.Error() + } + + return y +} + +func toYAML(v interface{}) (string, error) { + y, err := yaml.Marshal(v) + if err != nil { + return "", fmt.Errorf("yaml marshal failed:%v\n%v\n", err, spew.Sdump(v)) + } + + return string(y), nil +} + +// HasConflicts returns true if the left and right JSON interface objects overlap with +// different values in any key. All keys are required to be strings. Since patches of the +// same Type have congruent keys, this is valid for multiple patch types. This method +// supports JSON merge patch semantics. +func HasConflicts(left, right interface{}) (bool, error) { + switch typedLeft := left.(type) { + case map[string]interface{}: + switch typedRight := right.(type) { + case map[string]interface{}: + for key, leftValue := range typedLeft { + rightValue, ok := typedRight[key] + if !ok { + return false, nil + } + return HasConflicts(leftValue, rightValue) + } + + return false, nil + default: + return true, nil + } + case []interface{}: + switch typedRight := right.(type) { + case []interface{}: + if len(typedLeft) != len(typedRight) { + return true, nil + } + + for i := range typedLeft { + return HasConflicts(typedLeft[i], typedRight[i]) + } + + return false, nil + default: + return true, nil + } + case string, float64, bool, int, int64, nil: + return !reflect.DeepEqual(left, right), nil + default: + return true, fmt.Errorf("unknown type: %v", reflect.TypeOf(left)) + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/util_test.go b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/util_test.go new file mode 100644 index 00000000..9e761c00 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/util_test.go @@ -0,0 +1,84 @@ +/* +Copyright 2017 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 mergepatch + +import ( + "testing" +) + +func TestHasConflicts(t *testing.T) { + testCases := []struct { + A interface{} + B interface{} + Ret bool + }{ + {A: "hello", B: "hello", Ret: false}, // 0 + {A: "hello", B: "hell", Ret: true}, + {A: "hello", B: nil, Ret: true}, + {A: "hello", B: 1, Ret: true}, + {A: "hello", B: float64(1.0), Ret: true}, + {A: "hello", B: false, Ret: true}, + {A: 1, B: 1, Ret: false}, + {A: false, B: false, Ret: false}, + {A: float64(3), B: float64(3), Ret: false}, + + {A: "hello", B: []interface{}{}, Ret: true}, // 6 + {A: []interface{}{1}, B: []interface{}{}, Ret: true}, + {A: []interface{}{}, B: []interface{}{}, Ret: false}, + {A: []interface{}{1}, B: []interface{}{1}, Ret: false}, + {A: map[string]interface{}{}, B: []interface{}{1}, Ret: true}, + + {A: map[string]interface{}{}, B: map[string]interface{}{"a": 1}, Ret: false}, // 11 + {A: map[string]interface{}{"a": 1}, B: map[string]interface{}{"a": 1}, Ret: false}, + {A: map[string]interface{}{"a": 1}, B: map[string]interface{}{"a": 2}, Ret: true}, + {A: map[string]interface{}{"a": 1}, B: map[string]interface{}{"b": 2}, Ret: false}, + + { // 15 + A: map[string]interface{}{"a": []interface{}{1}}, + B: map[string]interface{}{"a": []interface{}{1}}, + Ret: false, + }, + { + A: map[string]interface{}{"a": []interface{}{1}}, + B: map[string]interface{}{"a": []interface{}{}}, + Ret: true, + }, + { + A: map[string]interface{}{"a": []interface{}{1}}, + B: map[string]interface{}{"a": 1}, + Ret: true, + }, + } + + for i, testCase := range testCases { + out, err := HasConflicts(testCase.A, testCase.B) + if err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + } + if out != testCase.Ret { + t.Errorf("%d: expected %t got %t", i, testCase.Ret, out) + continue + } + out, err = HasConflicts(testCase.B, testCase.A) + if err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + } + if out != testCase.Ret { + t.Errorf("%d: expected reversed %t got %t", i, testCase.Ret, out) + } + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go index b9124b32..2eb67af4 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go +++ b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go @@ -23,10 +23,8 @@ import ( "strings" "k8s.io/apimachinery/pkg/util/json" + "k8s.io/apimachinery/pkg/util/mergepatch" forkedjson "k8s.io/apimachinery/third_party/forked/golang/json" - - "github.com/davecgh/go-spew/spew" - "github.com/ghodss/yaml" ) // An alternate implementation of JSON Merge Patch @@ -55,110 +53,26 @@ const ( // json marshaling and/or unmarshaling operations. type JSONMap map[string]interface{} -// IsPreconditionFailed returns true if the provided error indicates -// a precondition failed. -func IsPreconditionFailed(err error) bool { - _, ok := err.(errPreconditionFailed) - return ok -} - -type errPreconditionFailed struct { - message string -} - -func newErrPreconditionFailed(target map[string]interface{}) errPreconditionFailed { - s := fmt.Sprintf("precondition failed for: %v", target) - return errPreconditionFailed{s} -} - -func (err errPreconditionFailed) Error() string { - return err.message -} - -type errConflict struct { - message string -} - -func newErrConflict(patch, current string) errConflict { - s := fmt.Sprintf("patch:\n%s\nconflicts with changes made from original to current:\n%s\n", patch, current) - return errConflict{s} -} - -func (err errConflict) Error() string { - return err.message -} - -// IsConflict returns true if the provided error indicates -// a conflict between the patch and the current configuration. -func IsConflict(err error) bool { - _, ok := err.(errConflict) - return ok -} - -var errBadJSONDoc = fmt.Errorf("Invalid JSON document") -var errNoListOfLists = fmt.Errorf("Lists of lists are not supported") -var errBadPatchFormatForPrimitiveList = fmt.Errorf("Invalid patch format of primitive list") - // The following code is adapted from github.com/openshift/origin/pkg/util/jsonmerge. // Instead of defining a Delta that holds an original, a patch and a set of preconditions, // the reconcile method accepts a set of preconditions as an argument. -// PreconditionFunc asserts that an incompatible change is not present within a patch. -type PreconditionFunc func(interface{}) bool - -// RequireKeyUnchanged returns a precondition function that fails if the provided key -// is present in the patch (indicating that its value has changed). -func RequireKeyUnchanged(key string) PreconditionFunc { - return func(patch interface{}) bool { - patchMap, ok := patch.(map[string]interface{}) - if !ok { - return true - } - - // The presence of key means that its value has been changed, so the test fails. - _, ok = patchMap[key] - return !ok - } -} - -// RequireMetadataKeyUnchanged creates a precondition function that fails -// if the metadata.key is present in the patch (indicating its value -// has changed). -func RequireMetadataKeyUnchanged(key string) PreconditionFunc { - return func(patch interface{}) bool { - patchMap, ok := patch.(map[string]interface{}) - if !ok { - return true - } - patchMap1, ok := patchMap["metadata"] - if !ok { - return true - } - patchMap2, ok := patchMap1.(map[string]interface{}) - if !ok { - return true - } - _, ok = patchMap2[key] - return !ok - } -} - // CreateTwoWayMergePatch creates a patch that can be passed to StrategicMergePatch from an original // document and a modified document, which are passed to the method as json encoded content. It will // return a patch that yields the modified document when applied to the original document, or an error // if either of the two documents is invalid. -func CreateTwoWayMergePatch(original, modified []byte, dataStruct interface{}, fns ...PreconditionFunc) ([]byte, error) { +func CreateTwoWayMergePatch(original, modified []byte, dataStruct interface{}, fns ...mergepatch.PreconditionFunc) ([]byte, error) { originalMap := map[string]interface{}{} if len(original) > 0 { if err := json.Unmarshal(original, &originalMap); err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } } modifiedMap := map[string]interface{}{} if len(modified) > 0 { if err := json.Unmarshal(modified, &modifiedMap); err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } } @@ -173,7 +87,7 @@ func CreateTwoWayMergePatch(original, modified []byte, dataStruct interface{}, f // CreateTwoWayMergeMapPatch creates a patch from an original and modified JSON objects, // encoded JSONMap. // The serialized version of the map can then be passed to StrategicMergeMapPatch. -func CreateTwoWayMergeMapPatch(original, modified JSONMap, dataStruct interface{}, fns ...PreconditionFunc) (JSONMap, error) { +func CreateTwoWayMergeMapPatch(original, modified JSONMap, dataStruct interface{}, fns ...mergepatch.PreconditionFunc) (JSONMap, error) { t, err := getTagStructType(dataStruct) if err != nil { return nil, err @@ -187,7 +101,7 @@ func CreateTwoWayMergeMapPatch(original, modified JSONMap, dataStruct interface{ // Apply the preconditions to the patch, and return an error if any of them fail. for _, fn := range fns { if !fn(patchMap) { - return nil, newErrPreconditionFailed(patchMap) + return nil, mergepatch.NewErrPreconditionFailed(patchMap) } } @@ -244,11 +158,24 @@ func diffMaps(original, modified map[string]interface{}, t reflect.Type, ignoreC switch originalValueTyped := originalValue.(type) { case map[string]interface{}: modifiedValueTyped := modifiedValue.(map[string]interface{}) - fieldType, _, _, err := forkedjson.LookupPatchMetadata(t, key) + fieldType, fieldPatchStrategy, _, err := forkedjson.LookupPatchMetadata(t, key) if err != nil { + // We couldn't look up metadata for the field + // If the values are identical, this doesn't matter, no patch is needed + if reflect.DeepEqual(originalValue, modifiedValue) { + continue + } + // Otherwise, return the error return nil, err } + if fieldPatchStrategy == replaceDirective { + if !ignoreChangesAndAdditions { + patch[key] = modifiedValue + } + continue + } + patchValue, err := diffMaps(originalValueTyped, modifiedValueTyped, fieldType, ignoreChangesAndAdditions, ignoreDeletions) if err != nil { return nil, err @@ -263,6 +190,12 @@ func diffMaps(original, modified map[string]interface{}, t reflect.Type, ignoreC modifiedValueTyped := modifiedValue.([]interface{}) fieldType, fieldPatchStrategy, fieldPatchMergeKey, err := forkedjson.LookupPatchMetadata(t, key) if err != nil { + // We couldn't look up metadata for the field + // If the values are identical, this doesn't matter, no patch is needed + if reflect.DeepEqual(originalValue, modifiedValue) { + continue + } + // Otherwise, return the error return nil, err } @@ -332,7 +265,7 @@ func diffLists(original, modified []interface{}, t reflect.Type, mergeKey string return patchList, nil, err case reflect.Slice: // Lists of Lists are not permitted by the api - return nil, nil, errNoListOfLists + return nil, nil, mergepatch.ErrNoListOfLists default: return diffListsOfScalars(original, modified, ignoreChangesAndAdditions, ignoreDeletions) } @@ -523,13 +456,13 @@ func StrategicMergePatch(original, patch []byte, dataStruct interface{}) ([]byte originalMap := map[string]interface{}{} err := json.Unmarshal(original, &originalMap) if err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } patchMap := map[string]interface{}{} err = json.Unmarshal(patch, &patchMap) if err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } result, err := StrategicMergeMapPatch(originalMap, patchMap, dataStruct) @@ -548,7 +481,7 @@ func StrategicMergeMapPatch(original, patch JSONMap, dataStruct interface{}) (JS if err != nil { return nil, err } - return mergeMap(original, patch, t, true) + return mergeMap(original, patch, t, true, true) } func getTagStructType(dataStruct interface{}) (reflect.Type, error) { @@ -574,7 +507,10 @@ var errBadPatchTypeFmt = "unknown patch type: %s in map: %v" // both the original map and the patch because getting a deep copy of a map in // golang is highly non-trivial. // flag mergeDeleteList controls if using the parallel list to delete or keeping the list. -func mergeMap(original, patch map[string]interface{}, t reflect.Type, mergeDeleteList bool) (map[string]interface{}, error) { +// If patch contains any null field (e.g. field_1: null) that is not +// present in original, then to propagate it to the end result use +// ignoreUnmatchedNulls == false. +func mergeMap(original, patch map[string]interface{}, t reflect.Type, mergeDeleteList, ignoreUnmatchedNulls bool) (map[string]interface{}, error) { if v, ok := patch[directiveMarker]; ok { if v == replaceDirective { // If the patch contains "$patch: replace", don't merge it, just use the @@ -612,20 +548,24 @@ func mergeMap(original, patch map[string]interface{}, t reflect.Type, mergeDelet } substrings := strings.SplitN(k, "/", 2) if len(substrings) <= 1 { - return nil, errBadPatchFormatForPrimitiveList + return nil, mergepatch.ErrBadPatchFormatForPrimitiveList } isDeleteList = true k = substrings[1] } // If the value of this key is null, delete the key if it exists in the - // original. Otherwise, skip it. + // original. Otherwise, check if we want to preserve it or skip it. + // Preserving the null value is useful when we want to send an explicit + // delete to the API server. if patchV == nil { if _, ok := original[k]; ok { delete(original, k) } - continue + if ignoreUnmatchedNulls { + continue + } } _, ok := original[k] @@ -654,7 +594,7 @@ func mergeMap(original, patch map[string]interface{}, t reflect.Type, mergeDelet typedOriginal := original[k].(map[string]interface{}) typedPatch := patchV.(map[string]interface{}) var err error - original[k], err = mergeMap(typedOriginal, typedPatch, fieldType, mergeDeleteList) + original[k], err = mergeMap(typedOriginal, typedPatch, fieldType, mergeDeleteList, ignoreUnmatchedNulls) if err != nil { return nil, err } @@ -667,7 +607,7 @@ func mergeMap(original, patch map[string]interface{}, t reflect.Type, mergeDelet typedOriginal := original[k].([]interface{}) typedPatch := patchV.([]interface{}) var err error - original[k], err = mergeSlice(typedOriginal, typedPatch, elemType, fieldPatchMergeKey, mergeDeleteList, isDeleteList) + original[k], err = mergeSlice(typedOriginal, typedPatch, elemType, fieldPatchMergeKey, mergeDeleteList, isDeleteList, ignoreUnmatchedNulls) if err != nil { return nil, err } @@ -688,7 +628,7 @@ func mergeMap(original, patch map[string]interface{}, t reflect.Type, mergeDelet // Merge two slices together. Note: This may modify both the original slice and // the patch because getting a deep copy of a slice in golang is highly // non-trivial. -func mergeSlice(original, patch []interface{}, elemType reflect.Type, mergeKey string, mergeDeleteList, isDeleteList bool) ([]interface{}, error) { +func mergeSlice(original, patch []interface{}, elemType reflect.Type, mergeKey string, mergeDeleteList, isDeleteList, ignoreUnmatchedNulls bool) ([]interface{}, error) { if len(original) == 0 && len(patch) == 0 { return original, nil } @@ -779,7 +719,7 @@ func mergeSlice(original, patch []interface{}, elemType reflect.Type, mergeKey s var mergedMaps interface{} var err error // Merge into original. - mergedMaps, err = mergeMap(originalMap, typedV, elemType, mergeDeleteList) + mergedMaps, err = mergeMap(originalMap, typedV, elemType, mergeDeleteList, ignoreUnmatchedNulls) if err != nil { return nil, err } @@ -864,7 +804,7 @@ func sortMergeListsByNameMap(s map[string]interface{}, t reflect.Type) (map[stri if strings.HasPrefix(k, deleteFromPrimitiveListDirectivePrefix) { typedV, ok := v.([]interface{}) if !ok { - return nil, errBadPatchFormatForPrimitiveList + return nil, mergepatch.ErrBadPatchFormatForPrimitiveList } v = uniqifyAndSortScalars(typedV) } else if k != directiveMarker { @@ -1045,7 +985,7 @@ func sliceElementType(slices ...[]interface{}) (reflect.Type, error) { prevType = currentType // We don't support lists of lists yet. if prevType.Kind() == reflect.Slice { - return nil, errNoListOfLists + return nil, mergepatch.ErrNoListOfLists } } else { if prevType != currentType { @@ -1063,49 +1003,6 @@ func sliceElementType(slices ...[]interface{}) (reflect.Type, error) { return prevType, nil } -// HasConflicts returns true if the left and right JSON interface objects overlap with -// different values in any key. All keys are required to be strings. Since patches of the -// same Type have congruent keys, this is valid for multiple patch types. This method -// supports JSON merge patch semantics. -func HasConflicts(left, right interface{}) (bool, error) { - switch typedLeft := left.(type) { - case map[string]interface{}: - switch typedRight := right.(type) { - case map[string]interface{}: - for key, leftValue := range typedLeft { - rightValue, ok := typedRight[key] - if !ok { - return false, nil - } - return HasConflicts(leftValue, rightValue) - } - - return false, nil - default: - return true, nil - } - case []interface{}: - switch typedRight := right.(type) { - case []interface{}: - if len(typedLeft) != len(typedRight) { - return true, nil - } - - for i := range typedLeft { - return HasConflicts(typedLeft[i], typedRight[i]) - } - - return false, nil - default: - return true, nil - } - case string, float64, bool, int, int64, nil: - return !reflect.DeepEqual(left, right), nil - default: - return true, fmt.Errorf("unknown type: %v", reflect.TypeOf(left)) - } -} - // MergingMapsHaveConflicts returns true if the left and right JSON interface // objects overlap with different values in any key. All keys are required to be // strings. Since patches of the same Type have congruent keys, this is valid @@ -1148,6 +1045,10 @@ func mergingMapFieldsHaveConflicts( } } + if fieldPatchStrategy == replaceDirective { + return false, nil + } + // Check the individual keys. return mapsHaveConflicts(leftType, rightType, fieldType) default: @@ -1282,26 +1183,27 @@ func mapsOfMapsHaveConflicts(typedLeft, typedRight map[string]interface{}, struc // configurations. Conflicts are defined as keys changed differently from original to modified // than from original to current. In other words, a conflict occurs if modified changes any key // in a way that is different from how it is changed in current (e.g., deleting it, changing its -// value). -func CreateThreeWayMergePatch(original, modified, current []byte, dataStruct interface{}, overwrite bool, fns ...PreconditionFunc) ([]byte, error) { +// value). We also propagate values fields that do not exist in original but are explicitly +// defined in modified. +func CreateThreeWayMergePatch(original, modified, current []byte, dataStruct interface{}, overwrite bool, fns ...mergepatch.PreconditionFunc) ([]byte, error) { originalMap := map[string]interface{}{} if len(original) > 0 { if err := json.Unmarshal(original, &originalMap); err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } } modifiedMap := map[string]interface{}{} if len(modified) > 0 { if err := json.Unmarshal(modified, &modifiedMap); err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } } currentMap := map[string]interface{}{} if len(current) > 0 { if err := json.Unmarshal(current, ¤tMap); err != nil { - return nil, errBadJSONDoc + return nil, mergepatch.ErrBadJSONDoc } } @@ -1324,7 +1226,7 @@ func CreateThreeWayMergePatch(original, modified, current []byte, dataStruct int return nil, err } - patchMap, err := mergeMap(deletionsMap, deltaMap, t, false) + patchMap, err := mergeMap(deletionsMap, deltaMap, t, false, false) if err != nil { return nil, err } @@ -1332,7 +1234,7 @@ func CreateThreeWayMergePatch(original, modified, current []byte, dataStruct int // Apply the preconditions to the patch, and return an error if any of them fail. for _, fn := range fns { if !fn(patchMap) { - return nil, newErrPreconditionFailed(patchMap) + return nil, mergepatch.NewErrPreconditionFailed(patchMap) } } @@ -1350,27 +1252,9 @@ func CreateThreeWayMergePatch(original, modified, current []byte, dataStruct int } if hasConflicts { - return nil, newErrConflict(toYAMLOrError(patchMap), toYAMLOrError(changedMap)) + return nil, mergepatch.NewErrConflict(mergepatch.ToYAMLOrError(patchMap), mergepatch.ToYAMLOrError(changedMap)) } } return json.Marshal(patchMap) } - -func toYAMLOrError(v interface{}) string { - y, err := toYAML(v) - if err != nil { - return err.Error() - } - - return y -} - -func toYAML(v interface{}) (string, error) { - y, err := yaml.Marshal(v) - if err != nil { - return "", fmt.Errorf("yaml marshal failed:%v\n%v\n", err, spew.Sdump(v)) - } - - return string(y), nil -} diff --git a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go index 5af6d6ba..bca42c19 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go +++ b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go @@ -25,6 +25,9 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/mergepatch" + "k8s.io/apimachinery/pkg/util/sets" ) type SortMergeListTestCases struct { @@ -64,17 +67,21 @@ type StrategicMergePatchTestCaseData struct { ThreeWay map[string]interface{} // Result is the expected object after applying the three-way patch on current object. Result map[string]interface{} + // TwoWayResult is the expected object after applying the two-way patch on current object. + // If nil, Modified is used. + TwoWayResult map[string]interface{} } // The meaning of each field is the same as StrategicMergePatchTestCaseData's. // The difference is that all the fields in StrategicMergePatchRawTestCaseData are json-encoded data. type StrategicMergePatchRawTestCaseData struct { - Original []byte - Modified []byte - Current []byte - TwoWay []byte - ThreeWay []byte - Result []byte + Original []byte + Modified []byte + Current []byte + TwoWay []byte + ThreeWay []byte + Result []byte + TwoWayResult []byte } type MergeItem struct { @@ -87,6 +94,7 @@ type MergeItem struct { NonMergingIntList []int MergeItemPtr *MergeItem `patchStrategy:"merge" patchMergeKey:"name"` SimpleMap map[string]string + ReplacingItem runtime.RawExtension `patchStrategy:"replace"` } var mergeItem MergeItem @@ -262,7 +270,7 @@ func TestSortMergeLists(t *testing.T) { sorted := testObjectToJSONOrFail(t, c.Sorted, c.Description) if !reflect.DeepEqual(original, sorted) { t.Errorf("error in test case: %s\ncannot sort object:\n%s\nexpected:\n%s\ngot:\n%s\n", - c.Description, toYAMLOrError(c.Original), toYAMLOrError(c.Sorted), jsonToYAMLOrError(original)) + c.Description, mergepatch.ToYAMLOrError(c.Original), mergepatch.ToYAMLOrError(c.Sorted), jsonToYAMLOrError(original)) } } } @@ -360,8 +368,8 @@ func TestCustomStrategicMergePatch(t *testing.T) { } for _, c := range tc.TestCases { - original, twoWay, modified := twoWayTestCaseToJSONOrFail(t, c) - testPatchApplication(t, original, twoWay, modified, c.Description) + original, expectedTwoWayPatch, _, expectedResult := twoWayTestCaseToJSONOrFail(t, c) + testPatchApplication(t, original, expectedTwoWayPatch, expectedResult, c.Description) } } @@ -532,7 +540,7 @@ testCases: threeWay: name: null value: null - result: + result: other: a - description: delete all fields from map with conflict original: @@ -549,7 +557,7 @@ testCases: threeWay: name: null value: null - result: + result: other: a - description: add field and delete all fields from map original: @@ -677,12 +685,12 @@ testCases: mergingList: - name: 3 value: 3 - - name: 4 - value: 4 + - name: 4 + value: 4 modified: mergingList: - - name: 4 - value: 4 + - name: 4 + value: 4 - name: 1 - name: 2 value: 2 @@ -699,8 +707,8 @@ testCases: mergingList: - name: 3 value: 3 - - name: 4 - value: 4 + - name: 4 + value: 4 result: mergingList: - name: 1 @@ -710,8 +718,8 @@ testCases: other: b - name: 3 value: 3 - - name: 4 - value: 4 + - name: 4 + value: 4 - description: merge lists of maps with conflict original: mergingList: @@ -1817,6 +1825,52 @@ testCases: other: b - name: 2 other: b + - description: defined null values should propagate overwrite current fields (with conflict) + original: + name: 2 + twoWay: + name: 1 + value: 1 + other: null + twoWayResult: + name: 1 + value: 1 + modified: + name: 1 + value: 1 + other: null + current: + name: a + other: a + threeWay: + name: 1 + value: 1 + other: null + result: + name: 1 + value: 1 + - description: defined null values should propagate removing original fields + original: + name: original-name + value: original-value + current: + name: original-name + value: original-value + other: current-other + modified: + name: modified-name + value: null + twoWay: + name: modified-name + value: null + twoWayResult: + name: modified-name + threeWay: + name: modified-name + value: null + result: + name: modified-name + other: current-other `) var strategicMergePatchRawTestCases = []StrategicMergePatchRawTestCase{ @@ -1940,9 +1994,9 @@ mergingIntList: func TestStrategicMergePatch(t *testing.T) { testStrategicMergePatchWithCustomArguments(t, "bad original", - "", "{}", mergeItem, errBadJSONDoc) + "", "{}", mergeItem, mergepatch.ErrBadJSONDoc) testStrategicMergePatchWithCustomArguments(t, "bad patch", - "{}", "", mergeItem, errBadJSONDoc) + "{}", "", mergeItem, mergepatch.ErrBadJSONDoc) testStrategicMergePatchWithCustomArguments(t, "bad struct", "{}", "{}", []byte(""), fmt.Errorf(errBadArgTypeFmt, "struct", "slice")) testStrategicMergePatchWithCustomArguments(t, "nil struct", @@ -1982,58 +2036,68 @@ func testStrategicMergePatchWithCustomArguments(t *testing.T, description, origi } func testTwoWayPatch(t *testing.T, c StrategicMergePatchTestCase) { - original, expected, modified := twoWayTestCaseToJSONOrFail(t, c) + original, expectedPatch, modified, expectedResult := twoWayTestCaseToJSONOrFail(t, c) - actual, err := CreateTwoWayMergePatch(original, modified, mergeItem) + actualPatch, err := CreateTwoWayMergePatch(original, modified, mergeItem) if err != nil { t.Errorf("error: %s\nin test case: %s\ncannot create two way patch: %s:\n%s\n", - err, c.Description, original, toYAMLOrError(c.StrategicMergePatchTestCaseData)) + err, c.Description, original, mergepatch.ToYAMLOrError(c.StrategicMergePatchTestCaseData)) return } - testPatchCreation(t, expected, actual, c.Description) - testPatchApplication(t, original, actual, modified, c.Description) + testPatchCreation(t, expectedPatch, actualPatch, c.Description) + testPatchApplication(t, original, actualPatch, expectedResult, c.Description) } func testTwoWayPatchForRawTestCase(t *testing.T, c StrategicMergePatchRawTestCase) { - original, expected, modified := twoWayRawTestCaseToJSONOrFail(t, c) + original, expectedPatch, modified, expectedResult := twoWayRawTestCaseToJSONOrFail(t, c) - actual, err := CreateTwoWayMergePatch(original, modified, mergeItem) + actualPatch, err := CreateTwoWayMergePatch(original, modified, mergeItem) if err != nil { t.Errorf("error: %s\nin test case: %s\ncannot create two way patch:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) return } - testPatchCreation(t, expected, actual, c.Description) - testPatchApplication(t, original, actual, modified, c.Description) + testPatchCreation(t, expectedPatch, actualPatch, c.Description) + testPatchApplication(t, original, actualPatch, expectedResult, c.Description) } -func twoWayTestCaseToJSONOrFail(t *testing.T, c StrategicMergePatchTestCase) ([]byte, []byte, []byte) { +func twoWayTestCaseToJSONOrFail(t *testing.T, c StrategicMergePatchTestCase) ([]byte, []byte, []byte, []byte) { + expectedResult := c.TwoWayResult + if expectedResult == nil { + expectedResult = c.Modified + } return testObjectToJSONOrFail(t, c.Original, c.Description), testObjectToJSONOrFail(t, c.TwoWay, c.Description), - testObjectToJSONOrFail(t, c.Modified, c.Description) + testObjectToJSONOrFail(t, c.Modified, c.Description), + testObjectToJSONOrFail(t, expectedResult, c.Description) } -func twoWayRawTestCaseToJSONOrFail(t *testing.T, c StrategicMergePatchRawTestCase) ([]byte, []byte, []byte) { +func twoWayRawTestCaseToJSONOrFail(t *testing.T, c StrategicMergePatchRawTestCase) ([]byte, []byte, []byte, []byte) { + expectedResult := c.TwoWayResult + if expectedResult == nil { + expectedResult = c.Modified + } return yamlToJSONOrError(t, c.Original), yamlToJSONOrError(t, c.TwoWay), - yamlToJSONOrError(t, c.Modified) + yamlToJSONOrError(t, c.Modified), + yamlToJSONOrError(t, expectedResult) } func testThreeWayPatch(t *testing.T, c StrategicMergePatchTestCase) { original, modified, current, expected, result := threeWayTestCaseToJSONOrFail(t, c) actual, err := CreateThreeWayMergePatch(original, modified, current, mergeItem, false) if err != nil { - if !IsConflict(err) { + if !mergepatch.IsConflict(err) { t.Errorf("error: %s\nin test case: %s\ncannot create three way patch:\n%s\n", - err, c.Description, toYAMLOrError(c.StrategicMergePatchTestCaseData)) + err, c.Description, mergepatch.ToYAMLOrError(c.StrategicMergePatchTestCaseData)) return } if !strings.Contains(c.Description, "conflict") { t.Errorf("unexpected conflict: %s\nin test case: %s\ncannot create three way patch:\n%s\n", - err, c.Description, toYAMLOrError(c.StrategicMergePatchTestCaseData)) + err, c.Description, mergepatch.ToYAMLOrError(c.StrategicMergePatchTestCaseData)) return } @@ -2041,7 +2105,7 @@ func testThreeWayPatch(t *testing.T, c StrategicMergePatchTestCase) { actual, err := CreateThreeWayMergePatch(original, modified, current, mergeItem, true) if err != nil { t.Errorf("error: %s\nin test case: %s\ncannot force three way patch application:\n%s\n", - err, c.Description, toYAMLOrError(c.StrategicMergePatchTestCaseData)) + err, c.Description, mergepatch.ToYAMLOrError(c.StrategicMergePatchTestCaseData)) return } @@ -2054,7 +2118,7 @@ func testThreeWayPatch(t *testing.T, c StrategicMergePatchTestCase) { if strings.Contains(c.Description, "conflict") || len(c.Result) < 1 { t.Errorf("error in test case: %s\nexpected conflict did not occur:\n%s\n", - c.Description, toYAMLOrError(c.StrategicMergePatchTestCaseData)) + c.Description, mergepatch.ToYAMLOrError(c.StrategicMergePatchTestCaseData)) return } @@ -2066,7 +2130,7 @@ func testThreeWayPatchForRawTestCase(t *testing.T, c StrategicMergePatchRawTestC original, modified, current, expected, result := threeWayRawTestCaseToJSONOrFail(t, c) actual, err := CreateThreeWayMergePatch(original, modified, current, mergeItem, false) if err != nil { - if !IsConflict(err) { + if !mergepatch.IsConflict(err) { t.Errorf("error: %s\nin test case: %s\ncannot create three way patch:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) return @@ -2222,69 +2286,6 @@ func yamlToJSONOrError(t *testing.T, y []byte) []byte { return j } -func TestHasConflicts(t *testing.T) { - testCases := []struct { - A interface{} - B interface{} - Ret bool - }{ - {A: "hello", B: "hello", Ret: false}, // 0 - {A: "hello", B: "hell", Ret: true}, - {A: "hello", B: nil, Ret: true}, - {A: "hello", B: 1, Ret: true}, - {A: "hello", B: float64(1.0), Ret: true}, - {A: "hello", B: false, Ret: true}, - {A: 1, B: 1, Ret: false}, - {A: false, B: false, Ret: false}, - {A: float64(3), B: float64(3), Ret: false}, - - {A: "hello", B: []interface{}{}, Ret: true}, // 6 - {A: []interface{}{1}, B: []interface{}{}, Ret: true}, - {A: []interface{}{}, B: []interface{}{}, Ret: false}, - {A: []interface{}{1}, B: []interface{}{1}, Ret: false}, - {A: map[string]interface{}{}, B: []interface{}{1}, Ret: true}, - - {A: map[string]interface{}{}, B: map[string]interface{}{"a": 1}, Ret: false}, // 11 - {A: map[string]interface{}{"a": 1}, B: map[string]interface{}{"a": 1}, Ret: false}, - {A: map[string]interface{}{"a": 1}, B: map[string]interface{}{"a": 2}, Ret: true}, - {A: map[string]interface{}{"a": 1}, B: map[string]interface{}{"b": 2}, Ret: false}, - - { // 15 - A: map[string]interface{}{"a": []interface{}{1}}, - B: map[string]interface{}{"a": []interface{}{1}}, - Ret: false, - }, - { - A: map[string]interface{}{"a": []interface{}{1}}, - B: map[string]interface{}{"a": []interface{}{}}, - Ret: true, - }, - { - A: map[string]interface{}{"a": []interface{}{1}}, - B: map[string]interface{}{"a": 1}, - Ret: true, - }, - } - - for i, testCase := range testCases { - out, err := HasConflicts(testCase.A, testCase.B) - if err != nil { - t.Errorf("%d: unexpected error: %v", i, err) - } - if out != testCase.Ret { - t.Errorf("%d: expected %t got %t", i, testCase.Ret, out) - continue - } - out, err = HasConflicts(testCase.B, testCase.A) - if err != nil { - t.Errorf("%d: unexpected error: %v", i, err) - } - if out != testCase.Ret { - t.Errorf("%d: expected reversed %t got %t", i, testCase.Ret, out) - } - } -} - type PrecisionItem struct { Name string Int32 int32 @@ -2368,3 +2369,374 @@ func TestNumberConversion(t *testing.T) { } } } + +var replaceRawExtensionPatchTestCases = []StrategicMergePatchRawTestCase{ + { + Description: "replace RawExtension field, rest unchanched", + StrategicMergePatchRawTestCaseData: StrategicMergePatchRawTestCaseData{ + Original: []byte(` +name: my-object +value: some-value +other: current-other +replacingItem: + Some: Generic + Yaml: Inside + The: RawExtension + Field: Period +`), + Current: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 2 + - name: 3 +replacingItem: + Some: Generic + Yaml: Inside + The: RawExtension + Field: Period +`), + Modified: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 2 + - name: 3 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + TwoWay: []byte(` +merginglist: + - name: 1 + - name: 2 + - name: 3 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + TwoWayResult: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 2 + - name: 3 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + ThreeWay: []byte(` +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + Result: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 2 + - name: 3 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + }, + }, + { + Description: "replace RawExtension field and merge list", + StrategicMergePatchRawTestCaseData: StrategicMergePatchRawTestCaseData{ + Original: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 +replacingItem: + Some: Generic + Yaml: Inside + The: RawExtension + Field: Period +`), + Current: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 3 +replacingItem: + Some: Generic + Yaml: Inside + The: RawExtension + Field: Period +`), + Modified: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 2 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + TwoWay: []byte(` +merginglist: + - name: 2 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + TwoWayResult: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 2 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + ThreeWay: []byte(` +merginglist: + - name: 2 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + Result: []byte(` +name: my-object +value: some-value +other: current-other +merginglist: + - name: 1 + - name: 3 + - name: 2 +replacingItem: + Newly: Modified + Yaml: Inside + The: RawExtension +`), + }, + }, +} + +func TestReplaceWithRawExtension(t *testing.T) { + for _, c := range replaceRawExtensionPatchTestCases { + testTwoWayPatchWithoutSorting(t, c) + testThreeWayPatchWithoutSorting(t, c) + } +} + +func testTwoWayPatchWithoutSorting(t *testing.T, c StrategicMergePatchRawTestCase) { + original, expectedPatch, modified, expectedResult := twoWayRawTestCaseToJSONOrFail(t, c) + + actualPatch, err := CreateTwoWayMergePatch(original, modified, mergeItem) + if err != nil { + t.Errorf("error: %s\nin test case: %s\ncannot create two way patch:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", + err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) + return + } + + testPatchCreationWithoutSorting(t, expectedPatch, actualPatch, c.Description) + testPatchApplicationWithoutSorting(t, original, actualPatch, expectedResult, c.Description) +} + +func testThreeWayPatchWithoutSorting(t *testing.T, c StrategicMergePatchRawTestCase) { + original, modified, current, expected, result := threeWayRawTestCaseToJSONOrFail(t, c) + actual, err := CreateThreeWayMergePatch(original, modified, current, mergeItem, false) + if err != nil { + if !mergepatch.IsConflict(err) { + t.Errorf("error: %s\nin test case: %s\ncannot create three way patch:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", + err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) + return + } + + if !strings.Contains(c.Description, "conflict") { + t.Errorf("unexpected conflict: %s\nin test case: %s\ncannot create three way patch:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", + err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) + return + } + + if len(c.Result) > 0 { + actual, err := CreateThreeWayMergePatch(original, modified, current, mergeItem, true) + if err != nil { + t.Errorf("error: %s\nin test case: %s\ncannot force three way patch application:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", + err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) + return + } + + testPatchCreationWithoutSorting(t, expected, actual, c.Description) + testPatchApplicationWithoutSorting(t, current, actual, result, c.Description) + } + + return + } + + if strings.Contains(c.Description, "conflict") || len(c.Result) < 1 { + t.Errorf("error: %s\nin test case: %s\nexpected conflict did not occur:\noriginal:%s\ntwoWay:%s\nmodified:%s\ncurrent:%s\nthreeWay:%s\nresult:%s\n", + err, c.Description, c.Original, c.TwoWay, c.Modified, c.Current, c.ThreeWay, c.Result) + return + } + + testPatchCreationWithoutSorting(t, expected, actual, c.Description) + testPatchApplicationWithoutSorting(t, current, actual, result, c.Description) +} + +func testPatchCreationWithoutSorting(t *testing.T, expected, actual []byte, description string) { + if !reflect.DeepEqual(actual, expected) { + t.Errorf("error in test case: %s\nexpected patch:\n%s\ngot:\n%s\n", + description, jsonToYAMLOrError(expected), jsonToYAMLOrError(actual)) + return + } +} + +func testPatchApplicationWithoutSorting(t *testing.T, original, patch, expected []byte, description string) { + result, err := StrategicMergePatch(original, patch, mergeItem) + if err != nil { + t.Errorf("error: %s\nin test case: %s\ncannot apply patch:\n%s\nto original:\n%s\n", + err, description, jsonToYAMLOrError(patch), jsonToYAMLOrError(original)) + return + } + + if !reflect.DeepEqual(result, expected) { + format := "error in test case: %s\npatch application failed:\noriginal:\n%s\npatch:\n%s\nexpected:\n%s\ngot:\n%s\n" + t.Errorf(format, description, + jsonToYAMLOrError(original), jsonToYAMLOrError(patch), + jsonToYAMLOrError(expected), jsonToYAMLOrError(result)) + return + } +} + +func TestUnknownField(t *testing.T) { + testcases := map[string]struct { + Original string + Current string + Modified string + + ExpectedTwoWay string + ExpectedTwoWayErr string + ExpectedTwoWayResult string + ExpectedThreeWay string + ExpectedThreeWayErr string + ExpectedThreeWayResult string + }{ + // cases we can successfully strategically merge + "no diff": { + Original: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + Current: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + Modified: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + + ExpectedTwoWay: `{}`, + ExpectedTwoWayResult: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + ExpectedThreeWay: `{}`, + ExpectedThreeWayResult: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + }, + "added only": { + Original: `{"name":"foo"}`, + Current: `{"name":"foo"}`, + Modified: `{"name":"foo","scalar":true,"complex":{"nested":true},"array":[1,2,3]}`, + + ExpectedTwoWay: `{"array":[1,2,3],"complex":{"nested":true},"scalar":true}`, + ExpectedTwoWayResult: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + ExpectedThreeWay: `{"array":[1,2,3],"complex":{"nested":true},"scalar":true}`, + ExpectedThreeWayResult: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + }, + "removed only": { + Original: `{"name":"foo","scalar":true,"complex":{"nested":true}}`, + Current: `{"name":"foo","scalar":true,"complex":{"nested":true},"array":[1,2,3]}`, + Modified: `{"name":"foo"}`, + + ExpectedTwoWay: `{"complex":null,"scalar":null}`, + ExpectedTwoWayResult: `{"name":"foo"}`, + ExpectedThreeWay: `{"complex":null,"scalar":null}`, + ExpectedThreeWayResult: `{"array":[1,2,3],"name":"foo"}`, + }, + + // cases we cannot successfully strategically merge (expect errors) + "diff": { + Original: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + Current: `{"array":[1,2,3],"complex":{"nested":true},"name":"foo","scalar":true}`, + Modified: `{"array":[1,2,3],"complex":{"nested":false},"name":"foo","scalar":true}`, + + ExpectedTwoWayErr: `unable to find api field`, + ExpectedThreeWayErr: `unable to find api field`, + }, + } + + for _, k := range sets.StringKeySet(testcases).List() { + tc := testcases[k] + func() { + twoWay, err := CreateTwoWayMergePatch([]byte(tc.Original), []byte(tc.Modified), &MergeItem{}) + if err != nil { + if len(tc.ExpectedTwoWayErr) == 0 { + t.Errorf("%s: error making two-way patch: %v", k, err) + } + if !strings.Contains(err.Error(), tc.ExpectedTwoWayErr) { + t.Errorf("%s: expected error making two-way patch to contain '%s', got %s", k, tc.ExpectedTwoWayErr, err) + } + return + } + + if string(twoWay) != tc.ExpectedTwoWay { + t.Errorf("%s: expected two-way patch:\n\t%s\ngot\n\t%s", k, string(tc.ExpectedTwoWay), string(twoWay)) + return + } + + twoWayResult, err := StrategicMergePatch([]byte(tc.Original), twoWay, MergeItem{}) + if err != nil { + t.Errorf("%s: error applying two-way patch: %v", k, err) + return + } + if string(twoWayResult) != tc.ExpectedTwoWayResult { + t.Errorf("%s: expected two-way result:\n\t%s\ngot\n\t%s", k, string(tc.ExpectedTwoWayResult), string(twoWayResult)) + return + } + }() + + func() { + threeWay, err := CreateThreeWayMergePatch([]byte(tc.Original), []byte(tc.Modified), []byte(tc.Current), &MergeItem{}, false) + if err != nil { + if len(tc.ExpectedThreeWayErr) == 0 { + t.Errorf("%s: error making three-way patch: %v", k, err) + } else if !strings.Contains(err.Error(), tc.ExpectedThreeWayErr) { + t.Errorf("%s: expected error making three-way patch to contain '%s', got %s", k, tc.ExpectedThreeWayErr, err) + } + return + } + + if string(threeWay) != tc.ExpectedThreeWay { + t.Errorf("%s: expected three-way patch:\n\t%s\ngot\n\t%s", k, string(tc.ExpectedThreeWay), string(threeWay)) + return + } + + threeWayResult, err := StrategicMergePatch([]byte(tc.Current), threeWay, MergeItem{}) + if err != nil { + t.Errorf("%s: error applying three-way patch: %v", k, err) + return + } else if string(threeWayResult) != tc.ExpectedThreeWayResult { + t.Errorf("%s: expected three-way result:\n\t%s\ngot\n\t%s", k, string(tc.ExpectedThreeWayResult), string(threeWayResult)) + return + } + }() + } +} diff --git a/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors.go b/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors.go index 379129b1..43c779a1 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors.go +++ b/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors.go @@ -17,8 +17,8 @@ limitations under the License. package field import ( - "encoding/json" "fmt" + "reflect" "strings" utilerrors "k8s.io/apimachinery/pkg/util/errors" @@ -49,14 +49,33 @@ func (v *Error) ErrorBody() string { case ErrorTypeRequired, ErrorTypeForbidden, ErrorTypeTooLong, ErrorTypeInternal: s = fmt.Sprintf("%s", v.Type) default: - var bad string - badBytes, err := json.Marshal(v.BadValue) - if err != nil { - bad = err.Error() - } else { - bad = string(badBytes) + value := v.BadValue + valueType := reflect.TypeOf(value) + if value == nil || valueType == nil { + value = "null" + } else if valueType.Kind() == reflect.Ptr { + if reflectValue := reflect.ValueOf(value); reflectValue.IsNil() { + value = "null" + } else { + value = reflectValue.Elem().Interface() + } + } + switch t := value.(type) { + case int64, int32, float64, float32, bool: + // use simple printer for simple types + s = fmt.Sprintf("%s: %v", v.Type, value) + case string: + s = fmt.Sprintf("%s: %q", v.Type, t) + case fmt.Stringer: + // anything that defines String() is better than raw struct + s = fmt.Sprintf("%s: %s", v.Type, t.String()) + default: + // fallback to raw struct + // TODO: internal types have panic guards against json.Marshalling to prevent + // accidental use of internal types in external serialized form. For now, use + // %#v, although it would be better to show a more expressive output in the future + s = fmt.Sprintf("%s: %#v", v.Type, value) } - s = fmt.Sprintf("%s: %s", v.Type, bad) } if len(v.Detail) != 0 { s += fmt.Sprintf(": %s", v.Detail) diff --git a/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go b/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go index 023939c8..26612017 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go +++ b/vendor/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go @@ -62,6 +62,14 @@ func TestMakeFuncs(t *testing.T) { } func TestErrorUsefulMessage(t *testing.T) { + { + s := Invalid(nil, nil, "").Error() + t.Logf("message: %v", s) + if !strings.Contains(s, "null") { + t.Errorf("error message did not contain 'null': %s", s) + } + } + s := Invalid(NewPath("foo"), "bar", "deet").Error() t.Logf("message: %v", s) for _, part := range []string{"foo", "bar", "deet", ErrorTypeInvalid.String()} { @@ -90,7 +98,8 @@ func TestErrorUsefulMessage(t *testing.T) { for _, part := range []string{ "foo", ErrorTypeInvalid.String(), "Baz", "Qux", "Inner", "KV", "detail", - "1", "aoeu", "asdf", "Billy", "2", + "1", "aoeu", "Billy", "2", + // "asdf", TODO: reenable once we have a better nested printer } { if !strings.Contains(s, part) { t.Errorf("error message did not contain expected part '%v'", part) diff --git a/vendor/k8s.io/apimachinery/pkg/watch/until.go b/vendor/k8s.io/apimachinery/pkg/watch/until.go index 31ed280d..6e139de5 100644 --- a/vendor/k8s.io/apimachinery/pkg/watch/until.go +++ b/vendor/k8s.io/apimachinery/pkg/watch/until.go @@ -17,6 +17,7 @@ limitations under the License. package watch import ( + "errors" "time" "k8s.io/apimachinery/pkg/util/wait" @@ -28,6 +29,9 @@ import ( // from false to true). type ConditionFunc func(event Event) (bool, error) +// errWatchClosed is returned when the watch channel is closed before timeout in Until. +var errWatchClosed = errors.New("watch closed before Until timeout") + // Until reads items from the watch until each provided condition succeeds, and then returns the last watch // encountered. The first condition that returns an error terminates the watch (and the event is also returned). // If no event has been received, the returned event will be nil. @@ -61,7 +65,7 @@ func Until(timeout time.Duration, watcher Interface, conditions ...ConditionFunc select { case event, ok := <-ch: if !ok { - return lastEvent, wait.ErrWaitTimeout + return lastEvent, errWatchClosed } lastEvent = &event diff --git a/vendor/k8s.io/kubernetes/.bazelrc b/vendor/k8s.io/kubernetes/.bazelrc index 0ceb744e..ab5db1d2 100644 --- a/vendor/k8s.io/kubernetes/.bazelrc +++ b/vendor/k8s.io/kubernetes/.bazelrc @@ -2,5 +2,5 @@ build --verbose_failures test --test_output=errors -# Retry tests up to 3 times if they fail. -test --flaky_test_attempts=3 +# Include git version info +build --workspace_status_command hack/print-workspace-status.sh diff --git a/vendor/k8s.io/kubernetes/.generated_files b/vendor/k8s.io/kubernetes/.generated_files index 74d5477a..ac3b191a 100644 --- a/vendor/k8s.io/kubernetes/.generated_files +++ b/vendor/k8s.io/kubernetes/.generated_files @@ -27,4 +27,4 @@ path-prefix vendor/ path-prefix api/swagger-spec/ path-prefix pkg/generated/ -paths-from-repo .generated_docs +paths-from-repo docs/.generated_docs diff --git a/vendor/k8s.io/kubernetes/.github/ISSUE_TEMPLATE.md b/vendor/k8s.io/kubernetes/.github/ISSUE_TEMPLATE.md index 62c25eb6..e8e3a28a 100644 --- a/vendor/k8s.io/kubernetes/.github/ISSUE_TEMPLATE.md +++ b/vendor/k8s.io/kubernetes/.github/ISSUE_TEMPLATE.md @@ -43,5 +43,5 @@ explain why. **How to reproduce it** (as minimally and precisely as possible): -**Anything else do we need to know**: +**Anything else we need to know**: diff --git a/vendor/k8s.io/kubernetes/.github/PULL_REQUEST_TEMPLATE.md b/vendor/k8s.io/kubernetes/.github/PULL_REQUEST_TEMPLATE.md index dd05704c..f04f07bf 100644 --- a/vendor/k8s.io/kubernetes/.github/PULL_REQUEST_TEMPLATE.md +++ b/vendor/k8s.io/kubernetes/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ **What this PR does / why we need it**: diff --git a/vendor/k8s.io/kubernetes/.gitignore b/vendor/k8s.io/kubernetes/.gitignore index 09c4f287..20578f54 100644 --- a/vendor/k8s.io/kubernetes/.gitignore +++ b/vendor/k8s.io/kubernetes/.gitignore @@ -33,6 +33,9 @@ Session.vim .netrwhist +# cscope-related files +cscope.* + # Go test binaries *.test /hack/.test-cmd-auth diff --git a/vendor/k8s.io/kubernetes/BUILD.bazel b/vendor/k8s.io/kubernetes/BUILD.bazel index 339affff..6ab284d6 100644 --- a/vendor/k8s.io/kubernetes/BUILD.bazel +++ b/vendor/k8s.io/kubernetes/BUILD.bazel @@ -52,3 +52,10 @@ filegroup( ], tags = ["automanaged"], ) + +genrule( + name = "save_git_version", + outs = ["version"], + cmd = "grep ^STABLE_BUILD_SCM_REVISION bazel-out/stable-status.txt | cut -d' ' -f2 >$@", + stamp = 1, +) diff --git a/vendor/k8s.io/kubernetes/CHANGELOG.md b/vendor/k8s.io/kubernetes/CHANGELOG.md index a358a705..466bb62b 100644 --- a/vendor/k8s.io/kubernetes/CHANGELOG.md +++ b/vendor/k8s.io/kubernetes/CHANGELOG.md @@ -1,27 +1,96 @@ -- [v1.5.2](#v152) - - [Downloads for v1.5.2](#downloads-for-v152) +- [v1.5.5](#v155) + - [Downloads for v1.5.5](#downloads-for-v155) - [Client Binaries](#client-binaries) - [Server Binaries](#server-binaries) - - [Changelog since v1.5.1](#changelog-since-v151) + - [Changelog since v1.5.4](#changelog-since-v154) +- [v1.6.0-beta.4](#v160-beta4) + - [Downloads for v1.6.0-beta.4](#downloads-for-v160-beta4) + - [Client Binaries](#client-binaries-1) + - [Server Binaries](#server-binaries-1) + - [Changelog since v1.6.0-beta.3](#changelog-since-v160-beta3) - [Other notable changes](#other-notable-changes) -- [v1.4.8](#v148) - - [Downloads for v1.4.8](#downloads-for-v148) +- [v1.6.0-beta.3](#v160-beta3) + - [Downloads for v1.6.0-beta.3](#downloads-for-v160-beta3) - [Client Binaries](#client-binaries-2) - [Server Binaries](#server-binaries-2) - - [Changelog since v1.4.7](#changelog-since-v147) - - [Other notable changes](#other-notable-changes-2) -- [v1.5.1](#v151) - - [Downloads for v1.5.1](#downloads-for-v151) + - [Changelog since v1.6.0-beta.2](#changelog-since-v160-beta2) + - [Other notable changes](#other-notable-changes-1) +- [v1.6.0-beta.2](#v160-beta2) + - [Downloads for v1.6.0-beta.2](#downloads-for-v160-beta2) - [Client Binaries](#client-binaries-3) - [Server Binaries](#server-binaries-3) - - [Changelog since v1.5.0](#changelog-since-v150) + - [Changelog since v1.6.0-beta.1](#changelog-since-v160-beta1) + - [Action Required](#action-required) + - [Other notable changes](#other-notable-changes-2) +- [v1.5.4](#v154) + - [Downloads for v1.5.4](#downloads-for-v154) + - [Client Binaries](#client-binaries-4) + - [Server Binaries](#server-binaries-4) + - [Changelog since v1.5.3](#changelog-since-v153) - [Other notable changes](#other-notable-changes-3) +- [v1.6.0-beta.1](#v160-beta1) + - [Downloads for v1.6.0-beta.1](#downloads-for-v160-beta1) + - [Client Binaries](#client-binaries-5) + - [Server Binaries](#server-binaries-5) + - [Changelog since v1.6.0-alpha.3](#changelog-since-v160-alpha3) + - [Action Required](#action-required-1) + - [Other notable changes](#other-notable-changes-4) +- [v1.6.0-alpha.3](#v160-alpha3) + - [Downloads for v1.6.0-alpha.3](#downloads-for-v160-alpha3) + - [Client Binaries](#client-binaries-6) + - [Server Binaries](#server-binaries-6) + - [Changelog since v1.6.0-alpha.2](#changelog-since-v160-alpha2) + - [Other notable changes](#other-notable-changes-5) +- [v1.4.9](#v149) + - [Downloads for v1.4.9](#downloads-for-v149) + - [Client Binaries](#client-binaries-7) + - [Server Binaries](#server-binaries-7) + - [Changelog since v1.4.8](#changelog-since-v148) + - [Other notable changes](#other-notable-changes-6) +- [v1.5.3](#v153) + - [Downloads for v1.5.3](#downloads-for-v153) + - [Client Binaries](#client-binaries-8) + - [Server Binaries](#server-binaries-8) + - [Node Binaries](#node-binaries) + - [Changelog since v1.5.2](#changelog-since-v152) + - [Other notable changes](#other-notable-changes-7) +- [v1.6.0-alpha.2](#v160-alpha2) + - [Downloads for v1.6.0-alpha.2](#downloads-for-v160-alpha2) + - [Client Binaries](#client-binaries-9) + - [Server Binaries](#server-binaries-9) + - [Changelog since v1.6.0-alpha.1](#changelog-since-v160-alpha1) + - [Other notable changes](#other-notable-changes-8) +- [v1.6.0-alpha.1](#v160-alpha1) + - [Downloads for v1.6.0-alpha.1](#downloads-for-v160-alpha1) + - [Client Binaries](#client-binaries-10) + - [Server Binaries](#server-binaries-10) + - [Changelog since v1.5.0](#changelog-since-v150) + - [Action Required](#action-required-2) + - [Other notable changes](#other-notable-changes-9) +- [v1.5.2](#v152) + - [Downloads for v1.5.2](#downloads-for-v152) + - [Client Binaries](#client-binaries-11) + - [Server Binaries](#server-binaries-11) + - [Changelog since v1.5.1](#changelog-since-v151) + - [Other notable changes](#other-notable-changes-10) +- [v1.4.8](#v148) + - [Downloads for v1.4.8](#downloads-for-v148) + - [Client Binaries](#client-binaries-12) + - [Server Binaries](#server-binaries-12) + - [Changelog since v1.4.7](#changelog-since-v147) + - [Other notable changes](#other-notable-changes-11) +- [v1.5.1](#v151) + - [Downloads for v1.5.1](#downloads-for-v151) + - [Client Binaries](#client-binaries-13) + - [Server Binaries](#server-binaries-13) + - [Changelog since v1.5.0](#changelog-since-v150-1) + - [Other notable changes](#other-notable-changes-12) - [Known Issues for v1.5.1](#known-issues-for-v151) - [v1.5.0](#v150) - [Downloads for v1.5.0](#downloads-for-v150) - - [Client Binaries](#client-binaries-4) - - [Server Binaries](#server-binaries-4) + - [Client Binaries](#client-binaries-14) + - [Server Binaries](#server-binaries-14) - [Major Themes](#major-themes) - [Features](#features) - [Known Issues](#known-issues) @@ -30,205 +99,205 @@ - [Action Required Before Upgrading](#action-required-before-upgrading) - [External Dependency Version Information](#external-dependency-version-information) - [Changelog since v1.5.0-beta.3](#changelog-since-v150-beta3) - - [Other notable changes](#other-notable-changes-4) + - [Other notable changes](#other-notable-changes-13) - [Previous Releases Included in v1.5.0](#previous-releases-included-in-v150) - [v1.4.7](#v147) - [Downloads for v1.4.7](#downloads-for-v147) - - [Client Binaries](#client-binaries-5) - - [Server Binaries](#server-binaries-5) + - [Client Binaries](#client-binaries-15) + - [Server Binaries](#server-binaries-15) - [Changelog since v1.4.6](#changelog-since-v146) - - [Other notable changes](#other-notable-changes-5) + - [Other notable changes](#other-notable-changes-14) - [v1.5.0-beta.3](#v150-beta3) - [Downloads for v1.5.0-beta.3](#downloads-for-v150-beta3) - - [Client Binaries](#client-binaries-6) - - [Server Binaries](#server-binaries-6) + - [Client Binaries](#client-binaries-16) + - [Server Binaries](#server-binaries-16) - [Changelog since v1.5.0-beta.2](#changelog-since-v150-beta2) - - [Other notable changes](#other-notable-changes-6) + - [Other notable changes](#other-notable-changes-15) - [v1.5.0-beta.2](#v150-beta2) - [Downloads for v1.5.0-beta.2](#downloads-for-v150-beta2) - - [Client Binaries](#client-binaries-7) - - [Server Binaries](#server-binaries-7) + - [Client Binaries](#client-binaries-17) + - [Server Binaries](#server-binaries-17) - [Changelog since v1.5.0-beta.1](#changelog-since-v150-beta1) - - [Other notable changes](#other-notable-changes-7) + - [Other notable changes](#other-notable-changes-16) - [v1.5.0-beta.1](#v150-beta1) - [Downloads for v1.5.0-beta.1](#downloads-for-v150-beta1) - - [Client Binaries](#client-binaries-8) - - [Server Binaries](#server-binaries-8) + - [Client Binaries](#client-binaries-18) + - [Server Binaries](#server-binaries-18) - [Changelog since v1.5.0-alpha.2](#changelog-since-v150-alpha2) - - [Action Required](#action-required) - - [Other notable changes](#other-notable-changes-8) + - [Action Required](#action-required-3) + - [Other notable changes](#other-notable-changes-17) - [v1.4.6](#v146) - [Downloads for v1.4.6](#downloads-for-v146) - - [Client Binaries](#client-binaries-9) - - [Server Binaries](#server-binaries-9) + - [Client Binaries](#client-binaries-19) + - [Server Binaries](#server-binaries-19) - [Changelog since v1.4.5](#changelog-since-v145) - - [Other notable changes](#other-notable-changes-9) + - [Other notable changes](#other-notable-changes-18) - [v1.3.10](#v1310) - [Downloads for v1.3.10](#downloads-for-v1310) - - [Client Binaries](#client-binaries-10) - - [Server Binaries](#server-binaries-10) + - [Client Binaries](#client-binaries-20) + - [Server Binaries](#server-binaries-20) - [Changelog since v1.3.9](#changelog-since-v139) - - [Other notable changes](#other-notable-changes-10) + - [Other notable changes](#other-notable-changes-19) - [v1.4.5](#v145) - [Downloads for v1.4.5](#downloads-for-v145) - - [Client Binaries](#client-binaries-11) - - [Server Binaries](#server-binaries-11) + - [Client Binaries](#client-binaries-21) + - [Server Binaries](#server-binaries-21) - [Changelog since v1.4.4](#changelog-since-v144) - - [Other notable changes](#other-notable-changes-11) + - [Other notable changes](#other-notable-changes-20) - [v1.5.0-alpha.2](#v150-alpha2) - [Downloads for v1.5.0-alpha.2](#downloads-for-v150-alpha2) - - [Client Binaries](#client-binaries-12) - - [Server Binaries](#server-binaries-12) + - [Client Binaries](#client-binaries-22) + - [Server Binaries](#server-binaries-22) - [Changelog since v1.5.0-alpha.1](#changelog-since-v150-alpha1) - - [Action Required](#action-required-2) - - [Other notable changes](#other-notable-changes-12) + - [Action Required](#action-required-4) + - [Other notable changes](#other-notable-changes-21) - [v1.2.7](#v127) - [Downloads for v1.2.7](#downloads-for-v127) - - [Client Binaries](#client-binaries-13) - - [Server Binaries](#server-binaries-13) + - [Client Binaries](#client-binaries-23) + - [Server Binaries](#server-binaries-23) - [Changelog since v1.2.6](#changelog-since-v126) - - [Other notable changes](#other-notable-changes-13) + - [Other notable changes](#other-notable-changes-22) - [v1.4.4](#v144) - [Downloads for v1.4.4](#downloads-for-v144) - - [Client Binaries](#client-binaries-14) - - [Server Binaries](#server-binaries-14) + - [Client Binaries](#client-binaries-24) + - [Server Binaries](#server-binaries-24) - [Changelog since v1.4.3](#changelog-since-v143) - - [Other notable changes](#other-notable-changes-14) + - [Other notable changes](#other-notable-changes-23) - [v1.3.9](#v139) - [Downloads](#downloads) - [Changelog since v1.3.8](#changelog-since-v138) - - [Other notable changes](#other-notable-changes-15) + - [Other notable changes](#other-notable-changes-24) - [v1.4.3](#v143) - - [Downloads](#downloads-2) + - [Downloads](#downloads-1) - [Changelog since v1.4.2-beta.1](#changelog-since-v142-beta1) - - [Other notable changes](#other-notable-changes-16) + - [Other notable changes](#other-notable-changes-25) - [v1.4.2](#v142) - - [Downloads](#downloads-3) - - [Changelog since v1.4.2-beta.1](#changelog-since-v142-beta1-2) - - [Other notable changes](#other-notable-changes-17) + - [Downloads](#downloads-2) + - [Changelog since v1.4.2-beta.1](#changelog-since-v142-beta1-1) + - [Other notable changes](#other-notable-changes-26) - [v1.5.0-alpha.1](#v150-alpha1) - - [Downloads](#downloads-4) + - [Downloads](#downloads-3) - [Changelog since v1.4.0-alpha.3](#changelog-since-v140-alpha3) - [Experimental Features](#experimental-features) - - [Action Required](#action-required-3) - - [Other notable changes](#other-notable-changes-18) + - [Action Required](#action-required-5) + - [Other notable changes](#other-notable-changes-27) - [v1.4.2-beta.1](#v142-beta1) - - [Downloads](#downloads-5) + - [Downloads](#downloads-4) - [Changelog since v1.4.1](#changelog-since-v141) - - [Other notable changes](#other-notable-changes-19) + - [Other notable changes](#other-notable-changes-28) - [v1.4.1](#v141) - - [Downloads](#downloads-6) + - [Downloads](#downloads-5) - [Changelog since v1.4.1-beta.2](#changelog-since-v141-beta2) - [v1.4.1-beta.2](#v141-beta2) - - [Downloads](#downloads-7) + - [Downloads](#downloads-6) - [Changelog since v1.4.0](#changelog-since-v140) - - [Other notable changes](#other-notable-changes-20) + - [Other notable changes](#other-notable-changes-29) - [v1.3.8](#v138) - - [Downloads](#downloads-8) + - [Downloads](#downloads-7) - [Changelog since v1.3.7](#changelog-since-v137) - - [Other notable changes](#other-notable-changes-21) + - [Other notable changes](#other-notable-changes-30) - [v1.4.0](#v140) - - [Downloads](#downloads-9) - - [Major Themes](#major-themes-2) - - [Features](#features-2) - - [Known Issues](#known-issues-2) - - [Notable Changes to Existing Behavior](#notable-changes-to-existing-behavior-2) + - [Downloads](#downloads-8) + - [Major Themes](#major-themes-1) + - [Features](#features-1) + - [Known Issues](#known-issues-1) + - [Notable Changes to Existing Behavior](#notable-changes-to-existing-behavior-1) - [Deployments](#deployments) - [kubectl rolling-update: < v1.4.0 client vs >=v1.4.0 cluster](#kubectl-rolling-update:-<-v140-client-vs->=v140-cluster) - [kubectl delete: < v1.4.0 client vs >=v1.4.0 cluster](#kubectl-delete:-<-v140-client-vs->=v140-cluster) - [DELETE operation in REST API](#delete-operation-in-rest-api) - - [Action Required Before Upgrading](#action-required-before-upgrading-2) + - [Action Required Before Upgrading](#action-required-before-upgrading-1) - [optionally, remove the old secret](#optionally-remove-the-old-secret) - [Previous Releases Included in v1.4.0](#previous-releases-included-in-v140) - [v1.4.0-beta.11](#v140-beta11) - - [Downloads](#downloads-10) + - [Downloads](#downloads-9) - [Changelog since v1.4.0-beta.10](#changelog-since-v140-beta10) - [v1.4.0-beta.10](#v140-beta10) - - [Downloads](#downloads-11) + - [Downloads](#downloads-10) - [Changelog since v1.4.0-beta.8](#changelog-since-v140-beta8) - - [Other notable changes](#other-notable-changes-22) + - [Other notable changes](#other-notable-changes-31) - [v1.4.0-beta.8](#v140-beta8) - - [Downloads](#downloads-12) + - [Downloads](#downloads-11) - [Changelog since v1.4.0-beta.7](#changelog-since-v140-beta7) - [v1.4.0-beta.7](#v140-beta7) - - [Downloads](#downloads-13) + - [Downloads](#downloads-12) - [Changelog since v1.4.0-beta.6](#changelog-since-v140-beta6) - - [Other notable changes](#other-notable-changes-23) + - [Other notable changes](#other-notable-changes-32) - [v1.4.0-beta.6](#v140-beta6) - - [Downloads](#downloads-14) + - [Downloads](#downloads-13) - [Changelog since v1.4.0-beta.5](#changelog-since-v140-beta5) - - [Other notable changes](#other-notable-changes-24) + - [Other notable changes](#other-notable-changes-33) - [v1.4.0-beta.5](#v140-beta5) - - [Downloads](#downloads-15) + - [Downloads](#downloads-14) - [Changelog since v1.4.0-beta.3](#changelog-since-v140-beta3) - - [Other notable changes](#other-notable-changes-25) + - [Other notable changes](#other-notable-changes-34) - [v1.3.7](#v137) - - [Downloads](#downloads-16) + - [Downloads](#downloads-15) - [Changelog since v1.3.6](#changelog-since-v136) - - [Other notable changes](#other-notable-changes-26) + - [Other notable changes](#other-notable-changes-35) - [v1.4.0-beta.3](#v140-beta3) - - [Downloads](#downloads-17) + - [Downloads](#downloads-16) - [Changelog since v1.4.0-beta.2](#changelog-since-v140-beta2) - [Behavior changes caused by enabling the garbage collector](#behavior-changes-caused-by-enabling-the-garbage-collector) - [kubectl rolling-update](#kubectl-rolling-update) - [kubectl delete](#kubectl-delete) - - [DELETE operation in REST API](#delete-operation-in-rest-api-2) + - [DELETE operation in REST API](#delete-operation-in-rest-api-1) - [v1.4.0-beta.2](#v140-beta2) - - [Downloads](#downloads-18) + - [Downloads](#downloads-17) - [Changelog since v1.4.0-beta.1](#changelog-since-v140-beta1) - - [Other notable changes](#other-notable-changes-27) -- [v1.4.0-beta.1](#v140-beta1) - - [Downloads](#downloads-19) - - [Changelog since v1.4.0-alpha.3](#changelog-since-v140-alpha3-2) - - [Action Required](#action-required-4) - - [Other notable changes](#other-notable-changes-28) -- [v1.3.6](#v136) - - [Downloads](#downloads-20) - - [Changelog since v1.3.5](#changelog-since-v135) - - [Other notable changes](#other-notable-changes-29) -- [v1.4.0-alpha.3](#v140-alpha3) - - [Downloads](#downloads-21) - - [Changelog since v1.4.0-alpha.2](#changelog-since-v140-alpha2) - - [Action Required](#action-required-5) - - [Other notable changes](#other-notable-changes-30) -- [v1.3.5](#v135) - - [Downloads](#downloads-22) - - [Changelog since v1.3.4](#changelog-since-v134) - - [Other notable changes](#other-notable-changes-31) -- [v1.3.4](#v134) - - [Downloads](#downloads-23) - - [Changelog since v1.3.3](#changelog-since-v133) - - [Other notable changes](#other-notable-changes-32) -- [v1.4.0-alpha.2](#v140-alpha2) - - [Downloads](#downloads-24) - - [Changelog since v1.4.0-alpha.1](#changelog-since-v140-alpha1) - - [Action Required](#action-required-6) - - [Other notable changes](#other-notable-changes-33) -- [v1.3.3](#v133) - - [Downloads](#downloads-25) - - [Changelog since v1.3.2](#changelog-since-v132) - - [Other notable changes](#other-notable-changes-34) - - [Known Issues](#known-issues-3) -- [v1.3.2](#v132) - - [Downloads](#downloads-26) - - [Changelog since v1.3.1](#changelog-since-v131) - - [Other notable changes](#other-notable-changes-35) -- [v1.3.1](#v131) - - [Downloads](#downloads-27) - - [Changelog since v1.3.0](#changelog-since-v130) - [Other notable changes](#other-notable-changes-36) -- [v1.2.6](#v126) - - [Downloads](#downloads-28) - - [Changelog since v1.2.5](#changelog-since-v125) +- [v1.4.0-beta.1](#v140-beta1) + - [Downloads](#downloads-18) + - [Changelog since v1.4.0-alpha.3](#changelog-since-v140-alpha3-1) + - [Action Required](#action-required-6) - [Other notable changes](#other-notable-changes-37) -- [v1.4.0-alpha.1](#v140-alpha1) - - [Downloads](#downloads-29) - - [Changelog since v1.3.0](#changelog-since-v130-2) - - [Experimental Features](#experimental-features-2) - - [Action Required](#action-required-7) +- [v1.3.6](#v136) + - [Downloads](#downloads-19) + - [Changelog since v1.3.5](#changelog-since-v135) - [Other notable changes](#other-notable-changes-38) +- [v1.4.0-alpha.3](#v140-alpha3) + - [Downloads](#downloads-20) + - [Changelog since v1.4.0-alpha.2](#changelog-since-v140-alpha2) + - [Action Required](#action-required-7) + - [Other notable changes](#other-notable-changes-39) +- [v1.3.5](#v135) + - [Downloads](#downloads-21) + - [Changelog since v1.3.4](#changelog-since-v134) + - [Other notable changes](#other-notable-changes-40) +- [v1.3.4](#v134) + - [Downloads](#downloads-22) + - [Changelog since v1.3.3](#changelog-since-v133) + - [Other notable changes](#other-notable-changes-41) +- [v1.4.0-alpha.2](#v140-alpha2) + - [Downloads](#downloads-23) + - [Changelog since v1.4.0-alpha.1](#changelog-since-v140-alpha1) + - [Action Required](#action-required-8) + - [Other notable changes](#other-notable-changes-42) +- [v1.3.3](#v133) + - [Downloads](#downloads-24) + - [Changelog since v1.3.2](#changelog-since-v132) + - [Other notable changes](#other-notable-changes-43) + - [Known Issues](#known-issues-2) +- [v1.3.2](#v132) + - [Downloads](#downloads-25) + - [Changelog since v1.3.1](#changelog-since-v131) + - [Other notable changes](#other-notable-changes-44) +- [v1.3.1](#v131) + - [Downloads](#downloads-26) + - [Changelog since v1.3.0](#changelog-since-v130) + - [Other notable changes](#other-notable-changes-45) +- [v1.2.6](#v126) + - [Downloads](#downloads-27) + - [Changelog since v1.2.5](#changelog-since-v125) + - [Other notable changes](#other-notable-changes-46) +- [v1.4.0-alpha.1](#v140-alpha1) + - [Downloads](#downloads-28) + - [Changelog since v1.3.0](#changelog-since-v130-1) + - [Experimental Features](#experimental-features-1) + - [Action Required](#action-required-9) + - [Other notable changes](#other-notable-changes-47) - [v1.3.0](#v130) - - [Downloads](#downloads-30) + - [Downloads](#downloads-29) - [Highlights](#highlights) - [Known Issues and Important Steps before Upgrading](#known-issues-and-important-steps-before-upgrading) - [ThirdPartyResource](#thirdpartyresource) @@ -239,76 +308,76 @@ - [Provider-specific Notes](#provider-specific-notes) - [Previous Releases Included in v1.3.0](#previous-releases-included-in-v130) - [v1.3.0-beta.3](#v130-beta3) - - [Downloads](#downloads-31) + - [Downloads](#downloads-30) - [Changelog since v1.3.0-beta.2](#changelog-since-v130-beta2) - - [Action Required](#action-required-8) - - [Other notable changes](#other-notable-changes-39) -- [v1.2.5](#v125) - - [Downloads](#downloads-32) - - [Changes since v1.2.4](#changes-since-v124) - - [Other notable changes](#other-notable-changes-40) -- [v1.3.0-beta.2](#v130-beta2) - - [Downloads](#downloads-33) - - [Changes since v1.3.0-beta.1](#changes-since-v130-beta1) - - [Experimental Features](#experimental-features-3) - - [Other notable changes](#other-notable-changes-41) -- [v1.3.0-beta.1](#v130-beta1) - - [Downloads](#downloads-34) - - [Changes since v1.3.0-alpha.5](#changes-since-v130-alpha5) - - [Action Required](#action-required-9) - - [Other notable changes](#other-notable-changes-42) -- [v1.3.0-alpha.5](#v130-alpha5) - - [Downloads](#downloads-35) - - [Changes since v1.3.0-alpha.4](#changes-since-v130-alpha4) - [Action Required](#action-required-10) - - [Other notable changes](#other-notable-changes-43) -- [v1.3.0-alpha.4](#v130-alpha4) - - [Downloads](#downloads-36) - - [Changes since v1.3.0-alpha.3](#changes-since-v130-alpha3) - - [Action Required](#action-required-11) - - [Other notable changes](#other-notable-changes-44) -- [v1.2.4](#v124) - - [Downloads](#downloads-37) - - [Changes since v1.2.3](#changes-since-v123) - - [Other notable changes](#other-notable-changes-45) -- [v1.3.0-alpha.3](#v130-alpha3) - - [Downloads](#downloads-38) - - [Changes since v1.3.0-alpha.2](#changes-since-v130-alpha2) - - [Action Required](#action-required-12) - - [Other notable changes](#other-notable-changes-46) -- [v1.2.3](#v123) - - [Downloads](#downloads-39) - - [Changes since v1.2.2](#changes-since-v122) - - [Action Required](#action-required-13) - - [Other notable changes](#other-notable-changes-47) -- [v1.3.0-alpha.2](#v130-alpha2) - - [Downloads](#downloads-40) - - [Changes since v1.3.0-alpha.1](#changes-since-v130-alpha1) - [Other notable changes](#other-notable-changes-48) -- [v1.2.2](#v122) - - [Downloads](#downloads-41) - - [Changes since v1.2.1](#changes-since-v121) +- [v1.2.5](#v125) + - [Downloads](#downloads-31) + - [Changes since v1.2.4](#changes-since-v124) - [Other notable changes](#other-notable-changes-49) -- [v1.2.1](#v121) - - [Downloads](#downloads-42) - - [Changes since v1.2.0](#changes-since-v120) +- [v1.3.0-beta.2](#v130-beta2) + - [Downloads](#downloads-32) + - [Changes since v1.3.0-beta.1](#changes-since-v130-beta1) + - [Experimental Features](#experimental-features-2) - [Other notable changes](#other-notable-changes-50) -- [v1.3.0-alpha.1](#v130-alpha1) - - [Downloads](#downloads-43) - - [Changes since v1.2.0](#changes-since-v120-2) - - [Action Required](#action-required-14) +- [v1.3.0-beta.1](#v130-beta1) + - [Downloads](#downloads-33) + - [Changes since v1.3.0-alpha.5](#changes-since-v130-alpha5) + - [Action Required](#action-required-11) - [Other notable changes](#other-notable-changes-51) +- [v1.3.0-alpha.5](#v130-alpha5) + - [Downloads](#downloads-34) + - [Changes since v1.3.0-alpha.4](#changes-since-v130-alpha4) + - [Action Required](#action-required-12) + - [Other notable changes](#other-notable-changes-52) +- [v1.3.0-alpha.4](#v130-alpha4) + - [Downloads](#downloads-35) + - [Changes since v1.3.0-alpha.3](#changes-since-v130-alpha3) + - [Action Required](#action-required-13) + - [Other notable changes](#other-notable-changes-53) +- [v1.2.4](#v124) + - [Downloads](#downloads-36) + - [Changes since v1.2.3](#changes-since-v123) + - [Other notable changes](#other-notable-changes-54) +- [v1.3.0-alpha.3](#v130-alpha3) + - [Downloads](#downloads-37) + - [Changes since v1.3.0-alpha.2](#changes-since-v130-alpha2) + - [Action Required](#action-required-14) + - [Other notable changes](#other-notable-changes-55) +- [v1.2.3](#v123) + - [Downloads](#downloads-38) + - [Changes since v1.2.2](#changes-since-v122) + - [Action Required](#action-required-15) + - [Other notable changes](#other-notable-changes-56) +- [v1.3.0-alpha.2](#v130-alpha2) + - [Downloads](#downloads-39) + - [Changes since v1.3.0-alpha.1](#changes-since-v130-alpha1) + - [Other notable changes](#other-notable-changes-57) +- [v1.2.2](#v122) + - [Downloads](#downloads-40) + - [Changes since v1.2.1](#changes-since-v121) + - [Other notable changes](#other-notable-changes-58) +- [v1.2.1](#v121) + - [Downloads](#downloads-41) + - [Changes since v1.2.0](#changes-since-v120) + - [Other notable changes](#other-notable-changes-59) +- [v1.3.0-alpha.1](#v130-alpha1) + - [Downloads](#downloads-42) + - [Changes since v1.2.0](#changes-since-v120-1) + - [Action Required](#action-required-16) + - [Other notable changes](#other-notable-changes-60) - [v1.2.0](#v120) - - [Downloads](#downloads-44) + - [Downloads](#downloads-43) - [Changes since v1.1.1](#changes-since-v111) - - [Major Themes](#major-themes-3) + - [Major Themes](#major-themes-2) - [Other notable improvements](#other-notable-improvements) - - [Experimental Features](#experimental-features-4) - - [Action required](#action-required-15) - - [Known Issues](#known-issues-4) + - [Experimental Features](#experimental-features-3) + - [Action required](#action-required-17) + - [Known Issues](#known-issues-3) - [Docker Known Issues](#docker-known-issues) - [1.9.1](#191) - - [Provider-specific Notes](#provider-specific-notes-2) + - [Provider-specific Notes](#provider-specific-notes-1) - [Various](#various) - [AWS](#aws) - [GCE](#gce) @@ -317,6 +386,1035 @@ +# v1.5.5 + +This release contains a fix for a PodSecurityPolicy vulnerability which allows users to make use of any existing PodSecurityPolicy object, even ones they are not authorized to use. + +Other then that, this release contains no other changes from 1.5.4. + +The vulnerability is tracked in http://issue.k8s.io/43459. + +**Who is affected?** + +Only Kubernetes 1.5.0-1.5.4 installations that do all of the following: +* Enable the PodSecurityPolicy API (which is not enabled by default): + * `--runtime-config=extensions/v1beta1/podsecuritypolicy=true` +* Enable the PodSecurityPolicy admission plugin (which is not enabled by default): + * `--admission-control=...,PodSecurityPolicy,...` +* Use authorization to limit users' ability to use specific PodSecurityPolicy objects + +**What is the impact?** + +A user that is authorized to create pods can make use of any existing PodSecurityPolicy, even ones they are not authorized to use. + +**How can I mitigate this prior to installing 1.5.5?** + +1. Export existing PodSecurityPolicy objects: + * `kubectl get podsecuritypolicies -o yaml > psp.yaml` +2. Review and delete any PodSecurityPolicy objects you do not want all pod-creating users to be able to use (NOTE: Privileged users that were making use of those policies will also lose access to those policies). For example: + * `kubectl delete podsecuritypolicies/my-privileged-policy` +3. After upgrading to 1.5.5, re-create the exported PodSecurityPolicy objects: + * `kubectl create -f psp.yaml` + +## Downloads for v1.5.5 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes.tar.gz) | `ff171d53b6dba2aace899dbfa06044d3a54d798896f7b6dd483f20d2c05374ed` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-src.tar.gz) | `25207344982bcf76172c7d156106357a7113b3909ac851e19b437dbba9402af6` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-darwin-386.tar.gz) | `92eb19b1464674078927263642205498a9b4e496909138626de721f8ff2eb3f1` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-darwin-amd64.tar.gz) | `dd2076d8a3062459b82481bf064d80a198df580f2c34efe7132a091c19d8084c` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-linux-386.tar.gz) | `8366a72910c987e4140db42244741752efac8e06f0e13f5d0cbc1cc9bec9733c` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-linux-amd64.tar.gz) | `73536e200fee9f4de19ebfd7d2e063a04f5ccb93073982032e79dc47ae92e89a` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-linux-arm64.tar.gz) | `8f679bd012ecbc58f0a916f393d3fc79de6dc2624320b04edc1b9249213a49f8` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-linux-arm.tar.gz) | `1998d6398aef02898babc5ff20484fe7c538f75f78c650631afea1a555aee8d1` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-windows-386.tar.gz) | `dff6fe02a6090feb949acc5753633891bcbdb7ecfb2bff3fa132d025713cbd55` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-client-windows-amd64.tar.gz) | `bd7c7c39122135b58da89a700580475a3cadbb31aa1b35175ff2f80067bedc0d` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-server-linux-amd64.tar.gz) | `578977b62af58639548d743991cd2f71b0fd58f9caa729131824f8dde85b5c6e` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-server-linux-arm64.tar.gz) | `01a1104d8c5a22c26b8b0a402bf0362d749b7d13a636b31c64fb51bb61ea3a01` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.5.5/kubernetes-server-linux-arm.tar.gz) | `06c5ca1f962f368219835ed6d075ef6e3a72685f2f0988823f44dd2e602e1980` + +## Changelog since v1.5.4 + +**No notable changes for this release** + + + +# v1.6.0-beta.4 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.6/examples) + +## Downloads for v1.6.0-beta.4 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes.tar.gz) | `8f308a87bcc367656c777f74270a82ad6986517c28a08c7158c77b1d7954e243` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-src.tar.gz) | `3ba73cf27a05f78026d1cfb3a0e47c6e5e33932aefc630a0a5aa3619561bc4dc` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-darwin-386.tar.gz) | `7007e8024257fd2436c9f68ddb25383e889d58379e30a60c9bb6bffb1a6809df` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-darwin-amd64.tar.gz) | `f1bc3f0c8e4c8c9e0aa2f66fffea163a5bf139d528160eb4266cd5322cf112e1` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-linux-386.tar.gz) | `7ceb47d4b282b31d300aa7a81bf00eef744fb58df58d613e1ea01930287c85d9` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-linux-amd64.tar.gz) | `d25c73f0ebb3338fc3e674d4a667d3023d073b8bc4942eb98f1a3fc9001675ef` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-linux-arm64.tar.gz) | `3d5a1188f638cddad7cd5eca0668d25f46a6a6f80641a8e9e6f3777a23af0f7c` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-linux-arm.tar.gz) | `e9d40ad06385266cd993adf436270972412dd5407d436e682bddf30706fddbda` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-linux-ppc64le.tar.gz) | `17f9a60eb6175e28aa0a9ba534cc0ceda24ff8ab81eaf06d04c362146f707e81` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-linux-s390x.tar.gz) | `30017ac4603bda496a125162cd956e9e874a4d04eff170972c72c8095a9f9121` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-windows-386.tar.gz) | `6165b8d0781894b36b2f2cd72d79063ce95621012cd1ca38bd7d936feeea8416` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-client-windows-amd64.tar.gz) | `ac45e5ddf44dd0a680abc5641ae1cb59ad9c7ab8d4132e3b110ebca7ed2119ac` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-server-linux-amd64.tar.gz) | `a37f0b431aea2cc7e259ddf118fd42315589236106b279de5803e2d50af08531` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-server-linux-arm64.tar.gz) | `e6a5c8a9e59a12df5294766a4e31e08603a041dd75bcc23f19fb7d20d8a30b9a` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-server-linux-arm.tar.gz) | `ebe1ccf95a80a829c294fe8bb216a10a096bc7f311fb0f74b7a121772c4d238b` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-server-linux-ppc64le.tar.gz) | `8a09baa5c2ddfbc579a1601f76b7079dab695c1423d22a04acd039256e26355c` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.4/kubernetes-server-linux-s390x.tar.gz) | `621feb08ac3bee0b9f5b31c648b3011f91883c44954db04268c0da4ef59f16f1` + +## Changelog since v1.6.0-beta.3 + +### Other notable changes + +* Update dashboard version to v1.6.0 ([#43210](https://github.com/kubernetes/kubernetes/pull/43210), [@floreks](https://github.com/floreks)) +* Update photon controller go SDK in vendor code. ([#43108](https://github.com/kubernetes/kubernetes/pull/43108), [@luomiao](https://github.com/luomiao)) +* TBD ([#42931](https://github.com/kubernetes/kubernetes/pull/42931), [@piosz](https://github.com/piosz)) +* if kube-apiserver is started with `--storage-backend=etcd2`, the media type `application/json` is used. ([#43122](https://github.com/kubernetes/kubernetes/pull/43122), [@liggitt](https://github.com/liggitt)) +* Add -p to mkdirs in gci-mounter function of gce configure.sh script ([#43134](https://github.com/kubernetes/kubernetes/pull/43134), [@shyamjvs](https://github.com/shyamjvs)) +* TBD ([#43106](https://github.com/kubernetes/kubernetes/pull/43106), [@piosz](https://github.com/piosz)) +* kubeadm: `kubeadm reset` won't drain and remove the current node anymore ([#42713](https://github.com/kubernetes/kubernetes/pull/42713), [@luxas](https://github.com/luxas)) +* hack/godep-restore.sh: use godep v79 which works ([#42965](https://github.com/kubernetes/kubernetes/pull/42965), [@sttts](https://github.com/sttts)) +* Patch CVE-2016-8859 in gcr.io/google-containers/cluster-proportional-autoscaler-amd64 ([#42933](https://github.com/kubernetes/kubernetes/pull/42933), [@timstclair](https://github.com/timstclair)) +* Disable devicemapper thin_ls due to excessive iops ([#42899](https://github.com/kubernetes/kubernetes/pull/42899), [@dashpole](https://github.com/dashpole)) + + + +# v1.6.0-beta.3 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.6/examples) + +## Downloads for v1.6.0-beta.3 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes.tar.gz) | `3903f0a49945abe26f5775c20deb25ba65a8607a2944da8802255bd50d20aca7` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-src.tar.gz) | `62f5f9459c14163e319f878494d10296052d75345da7906e8b38a2d6d0d2a25c` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-darwin-386.tar.gz) | `1294256f09d3a78a05cf2c85466495b08f87830911e68fd0206964f0466682e3` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-darwin-amd64.tar.gz) | `ff6d8561163d9039c807f4cf05144dd3837104b111fac1ae4b667e2b8548d135` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-linux-386.tar.gz) | `d32a07b4a24a88cfee589cff91336e411a89ed470557b8f74f34bb6636adc800` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-linux-amd64.tar.gz) | `e3663e134cd42bbf71f4f6f0395e6c3ea2080d8621bdab9cc668c77f5478196a` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-linux-arm64.tar.gz) | `39465c409396a4cc0ae672f0f0c0db971e482de52e9dff835eb43a8f7e3412e9` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-linux-arm.tar.gz) | `8897b38e59cee396213f50453bdcb88808cd56d63be762362d79454ce526b1ea` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-linux-ppc64le.tar.gz) | `a32b85c5e495dd3645845f2e8ff0eb366fb4ae4795e2bdafceae97cfe71e34b5` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-linux-s390x.tar.gz) | `0af4f0d7778cb67c1acc3b2f3870283e3008c6e1ea8d532c6b90b5a7f1475db8` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-windows-386.tar.gz) | `b298561b924c8c88b062759cc69b733187310a7e1af74b1b3987ed256f422b05` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-client-windows-amd64.tar.gz) | `42ec39178885bb06cba4002844e80948e0c9c3618bfb0a009618a3fab1797a69` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-server-linux-amd64.tar.gz) | `333ea0cf5c25f65dbb5d353cac002af3fa5e6f8431e81eaba2534005164c9ce9` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-server-linux-arm64.tar.gz) | `2979a04409863f6e4dbc745eebfd57ee90e0b38ed4449dcb15cfd87d8f80dadc` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-server-linux-arm.tar.gz) | `2ed1e98b2566b4f552951d9496537b18b28ae53eb9e36c6fd17202e9e498eae5` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-server-linux-ppc64le.tar.gz) | `f4989351a6a98746c1d269d72d2fa87dba8ce782bdfc088d9f7f8d10029aa3fe` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.3/kubernetes-server-linux-s390x.tar.gz) | `31fb764136e97e851d1640464154f3ce4fc696e3286314f538da7b19eed3e2fe` + +## Changelog since v1.6.0-beta.2 + +### Other notable changes + +* Introduce new generator for apps/v1beta1 deployments ([#42362](https://github.com/kubernetes/kubernetes/pull/42362), [@soltysh](https://github.com/soltysh)) +* Use Prometheus instrumentation conventions ([#36704](https://github.com/kubernetes/kubernetes/pull/36704), [@fabxc](https://github.com/fabxc)) +* Add new DaemonSet status fields to kubectl printer and describer. ([#42843](https://github.com/kubernetes/kubernetes/pull/42843), [@janetkuo](https://github.com/janetkuo)) +* Dropped the support for docker 1.9.x and the belows. ([#42694](https://github.com/kubernetes/kubernetes/pull/42694), [@dchen1107](https://github.com/dchen1107)) + + + +# v1.6.0-beta.2 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.6/examples) + +## Downloads for v1.6.0-beta.2 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes.tar.gz) | `8199c781f8c98ed7048e939a590ea10a6c39f6a74bd35ed526b459fa18e20f50` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-src.tar.gz) | `f8de26ab6493d4547f9068f5ef396650c169702863535ba63feaf815464a6702` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-darwin-386.tar.gz) | `0b2350c5ffec582f86d2bd95fa9ecd1b4213fbcd3af79f2a7f67d071c3a0373f` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-darwin-amd64.tar.gz) | `a1c81457a34258f2622f841b9971ba490c66f6a0f5725c089430d0f0fb09dc8c` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-linux-386.tar.gz) | `40d45492f6741980afde0c83bb752382b699b3d62ac36203faca16fcd9fadd21` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-linux-amd64.tar.gz) | `a06baf31249b06375fde1f608ffea041bdbad0f4814ba8ea69839a7778fa4646` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-linux-arm64.tar.gz) | `d9e18ceb7efacee5cc2a579e204919bb4c272c586bc15750963946e7fe5dc741` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-linux-arm.tar.gz) | `7abc1a2e5c0e40b46b9839b9c9ca065fceec486413ee3c0687e832dc668560ca` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-linux-ppc64le.tar.gz) | `84d82f1c2a2b07bea7c827c20cc208f0741b72cf732319673edbf73b42f1b687` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-linux-s390x.tar.gz) | `605852ee99117abb5bf62f4239c7e2c7e3976f1f497e24ffed50ba4817c301dc` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-windows-386.tar.gz) | `2c442dbfaa393f67f2fe2a1fd2c10267092e99385ca40f7bed732d48bb36ae62` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-client-windows-amd64.tar.gz) | `6b64521cde0b239d9e23e0896919653dfe30ad064d363a9931305feefe04b359` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-server-linux-amd64.tar.gz) | `0a49f719cd295be9a4947b7b8b0fe68c29d8168d7e03a9e37173de340490b578` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-server-linux-arm64.tar.gz) | `fb1464794b9e6375cc7f5b8b72125d81921416b6825fe2c37073aef006e846d1` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-server-linux-arm.tar.gz) | `27acc02302c6d45ef6314a2bceca6012e35c88d0678b219528d21d8ee4c6b424` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-server-linux-ppc64le.tar.gz) | `8eef21ab0700ba2802ef70d2c0b84ee0b27ae0833d2259d425429984f972690e` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.2/kubernetes-server-linux-s390x.tar.gz) | `c6e383f897ceb8143a7b1f023e155c9c39e9e7c220e989cc6c1bfcffdb886dd5` + +## Changelog since v1.6.0-beta.1 + +### Action Required + +* Deployment now fully respects ControllerRef to avoid fighting over Pods and ReplicaSets. At the time of upgrade, **you must not have Deployments with selectors that overlap**, or else [ownership of ReplicaSets may change](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/controller-ref.md#upgrading). ([#42175](https://github.com/kubernetes/kubernetes/pull/42175), [@enisoc](https://github.com/enisoc)) +* StatefulSet now respects ControllerRef to avoid fighting over Pods. At the time of upgrade, **you must not have StatefulSets with selectors that overlap** with any other controllers (such as ReplicaSets), or else [ownership of Pods may change](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/controller-ref.md#upgrading). ([#42080](https://github.com/kubernetes/kubernetes/pull/42080), [@enisoc](https://github.com/enisoc)) + +### Other notable changes + +* DaemonSet now respects ControllerRef to avoid fighting over Pods. ([#42173](https://github.com/kubernetes/kubernetes/pull/42173), [@enisoc](https://github.com/enisoc)) +* restored normalization of custom `--etcd-prefix` when `--storage-backend` is set to etcd3 ([#42506](https://github.com/kubernetes/kubernetes/pull/42506), [@liggitt](https://github.com/liggitt)) +* kubelet created cgroups follow lowercase naming conventions ([#42497](https://github.com/kubernetes/kubernetes/pull/42497), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* Support whitespace in command path for gcp auth plugin ([#41653](https://github.com/kubernetes/kubernetes/pull/41653), [@jlowdermilk](https://github.com/jlowdermilk)) +* Updates the dnsmasq cache/mux layer to be managed by dnsmasq-nanny. ([#41826](https://github.com/kubernetes/kubernetes/pull/41826), [@bowei](https://github.com/bowei)) + * dnsmasq-nanny manages dnsmasq based on values from the + * kube-system:kube-dns configmap: + * "stubDomains": { + * "acme.local": ["1.2.3.4"] + * }, + * is a map of domain to list of nameservers for the domain. This is used + * to inject private DNS domains into the kube-dns namespace. In the above + * example, any DNS requests for *.acme.local will be served by the + * nameserver 1.2.3.4. + * "upstreamNameservers": ["8.8.8.8", "8.8.4.4"] + * is a list of upstreamNameservers to use, overriding the configuration + * specified in /etc/resolv.conf. +* kubelet exports metrics for cgroup management ([#41988](https://github.com/kubernetes/kubernetes/pull/41988), [@sjenning](https://github.com/sjenning)) +* kubectl: respect deployment strategy parameters for rollout status ([#41809](https://github.com/kubernetes/kubernetes/pull/41809), [@kargakis](https://github.com/kargakis)) +* Remove cmd/kube-discovery from the tree since it's not necessary anymore ([#42070](https://github.com/kubernetes/kubernetes/pull/42070), [@luxas](https://github.com/luxas)) +* kubeadm: Hook up kubeadm against the BootstrapSigner ([#41417](https://github.com/kubernetes/kubernetes/pull/41417), [@luxas](https://github.com/luxas)) +* Federated Ingress over GCE no longer requires separate firewall rules to be created for each cluster to circumvent flapping firewall health checks. ([#41942](https://github.com/kubernetes/kubernetes/pull/41942), [@csbell](https://github.com/csbell)) +* ScaleIO Kubernetes Volume Plugin added enabling pods to seamlessly access and use data stored on ScaleIO volumes. ([#38924](https://github.com/kubernetes/kubernetes/pull/38924), [@vladimirvivien](https://github.com/vladimirvivien)) +* Pods are launched in a separate cgroup hierarchy than system services. ([#42350](https://github.com/kubernetes/kubernetes/pull/42350), [@vishh](https://github.com/vishh)) +* Experimental support to reserve a pod's memory request from being utilized by pods in lower QoS tiers. ([#41149](https://github.com/kubernetes/kubernetes/pull/41149), [@sjenning](https://github.com/sjenning)) +* Juju: Disable anonymous auth on kubelet ([#41919](https://github.com/kubernetes/kubernetes/pull/41919), [@Cynerva](https://github.com/Cynerva)) +* Remove support for debian masters in GCE kube-up. ([#41666](https://github.com/kubernetes/kubernetes/pull/41666), [@mikedanese](https://github.com/mikedanese)) +* Implement bulk polling of volumes ([#41306](https://github.com/kubernetes/kubernetes/pull/41306), [@gnufied](https://github.com/gnufied)) +* stop kubectl edit from updating the last-applied-configuration annotation when --save-config is unspecified or false. ([#41924](https://github.com/kubernetes/kubernetes/pull/41924), [@ymqytw](https://github.com/ymqytw)) + + + +# v1.5.4 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.5/examples) + +## Downloads for v1.5.4 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes.tar.gz) | `2ff668c687c1bdf8351dcae102901b1d46cc50e446bde08a244c2e65739de4c3` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-src.tar.gz) | `172d33787ec2d11345d152becdc96982d3057ed16426910302c1b103980b634b` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-darwin-386.tar.gz) | `53e7c4839025ad04c1104b99e1f8b45f4fe639397c623e2e050acb53cb0a8cbd` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-darwin-amd64.tar.gz) | `6fac39282c9599566874d63c57b305798e4096a42ef83a8965f615c1d709559c` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-linux-386.tar.gz) | `80719626f7e6db6d2d04e57bb7edad3077b774a11ebccea3fcddadaa48cbf0a6` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-linux-amd64.tar.gz) | `24001bc0c7ddb32cd72ac9bed55543830424fba734587ac23b812d8d047a9091` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-linux-arm64.tar.gz) | `094ff4fe7a10e23a397803869a11a3cc508f3990d9e3b4fbccaefe44be2ad81a` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-linux-arm.tar.gz) | `b12b823d12942d7fccaf791343e9c9854073de3e03cc57a7e4bd7b03fec9806b` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-windows-386.tar.gz) | `e5ae9775cfe695d2d855b29c01f19b0fd0fad008071d8e95f47f70beb16291a8` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-client-windows-amd64.tar.gz) | `40cc26a8216e703217264194b68d6b5af28ffa1b9b48b23232027c5d63d8b28c` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-server-linux-amd64.tar.gz) | `a61cb36d64c8a4111cf04f9d1aac5d8418d07a7c8a682522203b0dfa76f9c806` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-server-linux-arm64.tar.gz) | `abaa5052f9d0daaebf6b7375c9667c9160355b8ea074daac76ba8a79a24cab37` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.5.4/kubernetes-server-linux-arm.tar.gz) | `ffff55a0f5f5848fdde32a2766dc63cdf26629ca4f91db458381ffb55cf49535` + +## Changelog since v1.5.3 + +### Other notable changes + +* Fix AWS device allocator to only use valid device names ([#41455](https://github.com/kubernetes/kubernetes/pull/41455), [@gnufied](https://github.com/gnufied)) +* The kube-apiserver [basic audit log](https://kubernetes.io/docs/admin/audit/) can be enabled in GCE by exporting the environment variable `ENABLE_APISERVER_BASIC_AUDIT=true` before running `cluster/kube-up.sh`. This will log to `/var/log/kube-apiserver-audit.log` and use the same `logrotate` settings as `/var/log/kube-apiserver.log`. ([#41211](https://github.com/kubernetes/kubernetes/pull/41211), [@enisoc](https://github.com/enisoc)) +* list-resources: don't fail if the grep fails to match any resources ([#41933](https://github.com/kubernetes/kubernetes/pull/41933), [@ixdy](https://github.com/ixdy)) +* Bump GCE ContainerVM to container-vm-v20170214 to address CVE-2016-9962. ([#41449](https://github.com/kubernetes/kubernetes/pull/41449), [@zmerlynn](https://github.com/zmerlynn)) + + + +# v1.6.0-beta.1 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.6/examples) + +## Downloads for v1.6.0-beta.1 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes.tar.gz) | `ca17c4f1ebdd4bbbd0e570bf3a29d52be1e962742155bc5e20765434f3141f2d` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-src.tar.gz) | `4aefc25b42594f0aab48e43608c8ef6eca8c115022fcc76a9a0d34430e33be0f` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-darwin-386.tar.gz) | `7629da89467e758e6e70c513d5332e6231941de60e99b6621376bc72f9ede314` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-darwin-amd64.tar.gz) | `3a6d6f78ca307486189c7a92e874508233d6b9b5697a0c42cb2803f4b17ccfb2` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-linux-386.tar.gz) | `544b944fdcbebb0dbf0e1acedf7e1deb40fd795c46b8f5afe5d622d2091f0ac9` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-linux-amd64.tar.gz) | `d13f3bede2beb1d7fbca7f01a2c0775938d9127073b0fa1cecba4fd152947eae` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-linux-arm64.tar.gz) | `8820b18ae1c3bdcb8c93b5641e9322aa8dba25ec42362aa86ecbe6ae690a9809` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-linux-arm.tar.gz) | `d928f7e772a74cf715cf382d66ba757394afcf02a03727edfe43305f279fdb87` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-linux-ppc64le.tar.gz) | `56ccc3a9def527278cd41ba1ce5b0528238ef7b7b5886d6ebc944b11e2f5228c` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-linux-s390x.tar.gz) | `4923b9617b5306b321e47450bbfe701242b46b2d27800d82a7289fbabe7a107d` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-windows-386.tar.gz) | `598703591fa2be13cc47930088117fc12731431b679f8ca2a5717430bb45fb93` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-client-windows-amd64.tar.gz) | `9e839346effcbe9c469519002967069c8d109282aaceb72e02f25cf606a691b2` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-server-linux-amd64.tar.gz) | `726b9e4ead829ebd293fe6674ab334f72aa163b1544963febb9bc35d1fb26e6f` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-server-linux-arm64.tar.gz) | `975d02629619d441f60442ca07c42721e103e9e5bbcc2eea302b7c936303d26b` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-server-linux-arm.tar.gz) | `98223dd80f34eed3cdb30fb57df1da96630db9c0f04aae6a685e22a29c16398d` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-server-linux-ppc64le.tar.gz) | `a73715b7db73d6d0ad0b78b01829fe9f22566b557eebe2c1a960a81693b0c8b5` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-beta.1/kubernetes-server-linux-s390x.tar.gz) | `d3cb54e9193c773ea9998106c75bb3f0af705477fb844bcc8f82c845c44bb00d` + +## Changelog since v1.6.0-alpha.3 + +### Action Required + +* The --dns-provider argument of 'kubefed init' is now mandatory and does not default to `google-clouddns`. To initialize a Federation control plane with Google Cloud DNS, use the following invocation: 'kubefed init --dns-provider=google-clouddns' ([#42092](https://github.com/kubernetes/kubernetes/pull/42092), [@marun](https://github.com/marun)) +* Change taints/tolerations to api fields ([#38957](https://github.com/kubernetes/kubernetes/pull/38957), [@aveshagarwal](https://github.com/aveshagarwal)) + +### Other notable changes + +* kubeadm: Rename some flags for beta UI and fixup some logic ([#42064](https://github.com/kubernetes/kubernetes/pull/42064), [@luxas](https://github.com/luxas)) +* StorageClassName attribute has been added to PersistentVolume and PersistentVolumeClaim objects and should be used instead of annotation `volume.beta.kubernetes.io/storage-class`. The beta annotation is still working in this release, however it will be removed in a future release. ([#42128](https://github.com/kubernetes/kubernetes/pull/42128), [@jsafrane](https://github.com/jsafrane)) +* Remove Azure kube-up as the Azure community has focused efforts elsewhere. ([#41672](https://github.com/kubernetes/kubernetes/pull/41672), [@mikedanese](https://github.com/mikedanese)) +* Fluentd-gcp containers spawned by DaemonSet are now configured using ConfigMap ([#42126](https://github.com/kubernetes/kubernetes/pull/42126), [@Crassirostris](https://github.com/Crassirostris)) +* Modified kubemark startup scripts to restore master on reboot ([#41980](https://github.com/kubernetes/kubernetes/pull/41980), [@shyamjvs](https://github.com/shyamjvs)) +* Added new Api `PodPreset` to enable defining cross-cutting injection of Volumes and Environment into Pods. ([#41931](https://github.com/kubernetes/kubernetes/pull/41931), [@jessfraz](https://github.com/jessfraz)) +* AWS cloud provider: allow to run the master with a different AWS account or even on a different cloud provider than the nodes. ([#39996](https://github.com/kubernetes/kubernetes/pull/39996), [@scheeles](https://github.com/scheeles)) +* Update defaultbackend image to 1.3 ([#42212](https://github.com/kubernetes/kubernetes/pull/42212), [@timstclair](https://github.com/timstclair)) +* Allow the Horizontal Pod Autoscaler controller to talk to the metrics API and custom metrics API as standard APIs. ([#41824](https://github.com/kubernetes/kubernetes/pull/41824), [@DirectXMan12](https://github.com/DirectXMan12)) +* Implement support for mount options in PVs ([#41906](https://github.com/kubernetes/kubernetes/pull/41906), [@gnufied](https://github.com/gnufied)) +* Introduce apps/v1beta1.Deployments resource with modified defaults compared to extensions/v1beta1.Deployments. ([#39683](https://github.com/kubernetes/kubernetes/pull/39683), [@soltysh](https://github.com/soltysh)) +* Add DNS suffix search list support in Windows kube-proxy. ([#41618](https://github.com/kubernetes/kubernetes/pull/41618), [@JiangtianLi](https://github.com/JiangtianLi)) +* `--experimental-nvidia-gpus` flag is **replaced** by `Accelerators` alpha feature gate along with support for multiple Nvidia GPUs. ([#42116](https://github.com/kubernetes/kubernetes/pull/42116), [@vishh](https://github.com/vishh)) + * To use GPUs, pass `Accelerators=true` as part of `--feature-gates` flag. + * Works only with Docker runtime. +* Clean up the kube-proxy container image by removing unnecessary packages and files. ([#42090](https://github.com/kubernetes/kubernetes/pull/42090), [@timstclair](https://github.com/timstclair)) +* AWS: Support shared tag `kubernetes.io/cluster/` ([#41695](https://github.com/kubernetes/kubernetes/pull/41695), [@justinsb](https://github.com/justinsb)) +* Insecure access to the API Server at localhost:8080 will be turned off in v1.6 when using kubeadm ([#42066](https://github.com/kubernetes/kubernetes/pull/42066), [@luxas](https://github.com/luxas)) +* AWS: Do not consider master instance zones for dynamic volume creation ([#41702](https://github.com/kubernetes/kubernetes/pull/41702), [@justinsb](https://github.com/justinsb)) +* Added foreground garbage collection: the owner object will not be deleted until all its dependents are deleted by the garbage collector. Please checkout the [user doc](https://kubernetes.io/docs/concepts/abstractions/controllers/garbage-collection/) for details. ([#38676](https://github.com/kubernetes/kubernetes/pull/38676), [@caesarxuchao](https://github.com/caesarxuchao)) + * deleteOptions.orphanDependents is going to be deprecated in 1.7. Please use deleteOptions.propagationPolicy instead. +* force unlock rbd image if the image is not used ([#41597](https://github.com/kubernetes/kubernetes/pull/41597), [@rootfs](https://github.com/rootfs)) +* The kubernetes-master, kubernetes-worker and kubeapi-load-balancer charms have gained an nrpe-external-master relation, allowing the integration of their monitoring in an external Nagios server. ([#41923](https://github.com/kubernetes/kubernetes/pull/41923), [@Cynerva](https://github.com/Cynerva)) +* make kubectl describe pod show tolerationSeconds ([#42162](https://github.com/kubernetes/kubernetes/pull/42162), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* Completed pods should not be hidden when requested by name via `kubectl get`. ([#42216](https://github.com/kubernetes/kubernetes/pull/42216), [@smarterclayton](https://github.com/smarterclayton)) +* [Federation][Kubefed] Flag cleanup ([#41335](https://github.com/kubernetes/kubernetes/pull/41335), [@irfanurrehman](https://github.com/irfanurrehman)) +* Add the support to the scheduler for spreading pods of StatefulSets. ([#41708](https://github.com/kubernetes/kubernetes/pull/41708), [@bsalamat](https://github.com/bsalamat)) +* Portworx Volume Plugin added enabling [Portworx](http://www.portworx.com) to be used as a storage provider for Kubernetes clusters. Portworx pools your servers capacity and turns your servers or cloud instances into converged, highly available compute and storage nodes. ([#39535](https://github.com/kubernetes/kubernetes/pull/39535), [@adityadani](https://github.com/adityadani)) +* Remove support for trusty in GCE kube-up. ([#41670](https://github.com/kubernetes/kubernetes/pull/41670), [@mikedanese](https://github.com/mikedanese)) +* Import a natural sorting library and use it in the sorting printer. ([#40746](https://github.com/kubernetes/kubernetes/pull/40746), [@matthyx](https://github.com/matthyx)) +* Parameter keys in a StorageClass `parameters` map may not use the `kubernetes.io` or `k8s.io` namespaces. ([#41837](https://github.com/kubernetes/kubernetes/pull/41837), [@liggitt](https://github.com/liggitt)) +* Make DaemonSet respect critical pods annotation when scheduling. ([#42028](https://github.com/kubernetes/kubernetes/pull/42028), [@janetkuo](https://github.com/janetkuo)) +* New Kubelet flag `--enforce-node-allocatable` with a default value of `pods` is added which will make kubelet create a top level cgroup for all pods to enforce Node Allocatable. Optionally, `system-reserved` & `kube-reserved` values can also be specified separated by comma to enforce node allocatable on cgroups specified via `--system-reserved-cgroup` & `--kube-reserved-cgroup` respectively. Note the default value of the latter flags are "". ([#41234](https://github.com/kubernetes/kubernetes/pull/41234), [@vishh](https://github.com/vishh)) + * This feature requires a **Node Drain** prior to upgrade failing which pods will be restarted if possible or terminated if they have a `RestartNever` policy. +* Deployment of AWS Kubernetes clusters using the in-tree bash deployment (i.e. cluster/kube-up.sh or get-kube.sh) is obsolete. v1.5.x will be the last release to support cluster/kube-up.sh with AWS. For a list of viable alternatives, see: http://kubernetes.io/docs/getting-started-guides/aws/ ([#42196](https://github.com/kubernetes/kubernetes/pull/42196), [@zmerlynn](https://github.com/zmerlynn)) +* kubectl logs allows getting logs directly from deployment, job and statefulset ([#40927](https://github.com/kubernetes/kubernetes/pull/40927), [@soltysh](https://github.com/soltysh)) +* make kubectl taint command respect effect NoExecute ([#42120](https://github.com/kubernetes/kubernetes/pull/42120), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* Flex volume plugin is updated to support attach/detach interfaces. It broke backward compatibility. Please update your drivers and implement the new callouts. ([#41804](https://github.com/kubernetes/kubernetes/pull/41804), [@chakri-nelluri](https://github.com/chakri-nelluri)) +* Implement the update feature for DaemonSet. ([#41116](https://github.com/kubernetes/kubernetes/pull/41116), [@lukaszo](https://github.com/lukaszo)) +* [Federation] Create configmap for the cluster kube-dns when cluster joins and remove when it unjoins ([#39338](https://github.com/kubernetes/kubernetes/pull/39338), [@irfanurrehman](https://github.com/irfanurrehman)) +* New GKE certificates controller. ([#41160](https://github.com/kubernetes/kubernetes/pull/41160), [@pipejakob](https://github.com/pipejakob)) +* Juju: Fix shebangs in charm actions to use python3 ([#42058](https://github.com/kubernetes/kubernetes/pull/42058), [@Cynerva](https://github.com/Cynerva)) +* Support kubectl apply set-last-applied command to update the applied-applied-configuration annotation ([#41694](https://github.com/kubernetes/kubernetes/pull/41694), [@shiywang](https://github.com/shiywang)) +* On GCI by default logrotate is disabled for application containers in favor of rotation mechanism provided by docker logging driver. ([#40634](https://github.com/kubernetes/kubernetes/pull/40634), [@Crassirostris](https://github.com/Crassirostris)) +* Cleanup fluentd-gcp image: rebase on debian-base, switch to upstream packages, remove fluent-ui & rails ([#41998](https://github.com/kubernetes/kubernetes/pull/41998), [@timstclair](https://github.com/timstclair)) +* Updating apiserver to return http status code 202 for a delete request when the resource is not immediately deleted because of user requesting cascading deletion using DeleteOptions.OrphanDependents=false. ([#41165](https://github.com/kubernetes/kubernetes/pull/41165), [@nikhiljindal](https://github.com/nikhiljindal)) +* [Federation][kubefed] Support configuring dns-provider ([#40528](https://github.com/kubernetes/kubernetes/pull/40528), [@shashidharatd](https://github.com/shashidharatd)) +* Added support to minimize sending verbose node information to scheduler extender by sending only node names and expecting extenders to cache the rest of the node information ([#41119](https://github.com/kubernetes/kubernetes/pull/41119), [@sarat-k](https://github.com/sarat-k)) +* Guaranteed admission for Critical Pods ([#40952](https://github.com/kubernetes/kubernetes/pull/40952), [@dashpole](https://github.com/dashpole)) +* Switch to the `node-role.kubernetes.io/master` label for marking and tainting the master node in kubeadm ([#41835](https://github.com/kubernetes/kubernetes/pull/41835), [@luxas](https://github.com/luxas)) +* Allow drain --force to remove pods whose managing resource is deleted. ([#41864](https://github.com/kubernetes/kubernetes/pull/41864), [@marun](https://github.com/marun)) +* add kubectl can-i to see if you can perform an action ([#41077](https://github.com/kubernetes/kubernetes/pull/41077), [@deads2k](https://github.com/deads2k)) +* enable DefaultTolerationSeconds admission controller by default ([#41815](https://github.com/kubernetes/kubernetes/pull/41815), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* Make DaemonSets survive taint-based evictions when nodes turn unreachable/notReady. ([#41896](https://github.com/kubernetes/kubernetes/pull/41896), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* Add configurable limits to CronJob resource to specify how many successful and failed jobs are preserved. ([#40932](https://github.com/kubernetes/kubernetes/pull/40932), [@peay](https://github.com/peay)) +* Deprecate outofdisk-transition-frequency and low-diskspace-threshold-mb flags ([#41941](https://github.com/kubernetes/kubernetes/pull/41941), [@dashpole](https://github.com/dashpole)) +* Add OWNERS for sample-apiserver in staging ([#42094](https://github.com/kubernetes/kubernetes/pull/42094), [@sttts](https://github.com/sttts)) +* Update gcr.io/google-containers/rescheduler to v0.2.2, which uses busybox as a base image instead of ubuntu. ([#41911](https://github.com/kubernetes/kubernetes/pull/41911), [@ixdy](https://github.com/ixdy)) +* Add storage.k8s.io/v1 API ([#40088](https://github.com/kubernetes/kubernetes/pull/40088), [@jsafrane](https://github.com/jsafrane)) +* Juju - K8s master charm now properly keeps distributed master files in sync for an HA control plane. ([#41351](https://github.com/kubernetes/kubernetes/pull/41351), [@chuckbutler](https://github.com/chuckbutler)) +* Fix zsh completion: unknown file attribute error ([#38104](https://github.com/kubernetes/kubernetes/pull/38104), [@elipapa](https://github.com/elipapa)) +* kubelet config should ignore file start with dots ([#39196](https://github.com/kubernetes/kubernetes/pull/39196), [@resouer](https://github.com/resouer)) +* Add an alpha feature that makes NodeController set Taints instead of deleting Pods from not Ready Nodes. ([#41133](https://github.com/kubernetes/kubernetes/pull/41133), [@gmarek](https://github.com/gmarek)) +* Base etcd-empty-dir-cleanup on busybox, run as nobody, and update to etcdctl 3.0.14 ([#41674](https://github.com/kubernetes/kubernetes/pull/41674), [@ixdy](https://github.com/ixdy)) +* Fix zone placement heuristics so that multiple mounts in a StatefulSet pod are created in the same zone ([#40910](https://github.com/kubernetes/kubernetes/pull/40910), [@justinsb](https://github.com/justinsb)) +* Flag --use-kubernetes-version for kubeadm init renamed to --kubernetes-version ([#41820](https://github.com/kubernetes/kubernetes/pull/41820), [@kad](https://github.com/kad)) +* `kube-dns` now runs using a separate `system:serviceaccount:kube-system:kube-dns` service account which is automatically bound to the correct RBAC permissions. ([#38816](https://github.com/kubernetes/kubernetes/pull/38816), [@deads2k](https://github.com/deads2k)) +* [Kubemark] Fixed hollow-npd container command to log to file ([#41858](https://github.com/kubernetes/kubernetes/pull/41858), [@shyamjvs](https://github.com/shyamjvs)) +* kubeadm: Remove the --cloud-provider flag for beta init UX ([#41710](https://github.com/kubernetes/kubernetes/pull/41710), [@luxas](https://github.com/luxas)) +* The CertificateSigningRequest API added the `extra` field to persist all information about the requesting user. This mirrors the fields in the SubjectAccessReview API used to check authorization. ([#41755](https://github.com/kubernetes/kubernetes/pull/41755), [@liggitt](https://github.com/liggitt)) +* Upgrade golang versions to 1.7.5 ([#41771](https://github.com/kubernetes/kubernetes/pull/41771), [@cblecker](https://github.com/cblecker)) +* Added a new secret type "bootstrap.kubernetes.io/token" for dynamically creating TLS bootstrapping bearer tokens. ([#41281](https://github.com/kubernetes/kubernetes/pull/41281), [@ericchiang](https://github.com/ericchiang)) +* Remove unnecessary metrics (http/process/go) from being exposed by etcd-version-monitor ([#41807](https://github.com/kubernetes/kubernetes/pull/41807), [@shyamjvs](https://github.com/shyamjvs)) +* Added `kubectl create clusterrole` command. ([#41538](https://github.com/kubernetes/kubernetes/pull/41538), [@xingzhou](https://github.com/xingzhou)) +* Support new kubectl apply view-last-applied command for viewing the last configuration file applied ([#41146](https://github.com/kubernetes/kubernetes/pull/41146), [@shiywang](https://github.com/shiywang)) +* Bump GCI to gci-stable-56-9000-84-2 ([#41819](https://github.com/kubernetes/kubernetes/pull/41819), [@dchen1107](https://github.com/dchen1107)) +* list-resources: don't fail if the grep fails to match any resources ([#41933](https://github.com/kubernetes/kubernetes/pull/41933), [@ixdy](https://github.com/ixdy)) +* client-go no longer imports GCP OAuth2 and OpenID Connect packages by default. ([#41532](https://github.com/kubernetes/kubernetes/pull/41532), [@ericchiang](https://github.com/ericchiang)) +* Each pod has its own associated cgroup by default. ([#41349](https://github.com/kubernetes/kubernetes/pull/41349), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* Whitelist kubemark in node_ssh_supported_providers for log dump ([#41800](https://github.com/kubernetes/kubernetes/pull/41800), [@shyamjvs](https://github.com/shyamjvs)) +* Support KUBE_MAX_PD_VOLS on Azure ([#41398](https://github.com/kubernetes/kubernetes/pull/41398), [@codablock](https://github.com/codablock)) +* Projected volume plugin ([#37237](https://github.com/kubernetes/kubernetes/pull/37237), [@jpeeler](https://github.com/jpeeler)) +* `--output-version` is ignored for all commands except `kubectl convert`. This is consistent with the generic nature of `kubectl` CRUD commands and the previous removal of `--api-version`. Specific versions can be specified in the resource field: `resource.version.group`, `jobs.v1.batch`. ([#41576](https://github.com/kubernetes/kubernetes/pull/41576), [@deads2k](https://github.com/deads2k)) +* Added bool type support for jsonpath. ([#39063](https://github.com/kubernetes/kubernetes/pull/39063), [@xingzhou](https://github.com/xingzhou)) +* Nodes can now report two additional address types in their status: InternalDNS and ExternalDNS. The apiserver can use `--kubelet-preferred-address-types` to give priority to the type of address it uses to reach nodes. ([#34259](https://github.com/kubernetes/kubernetes/pull/34259), [@liggitt](https://github.com/liggitt)) +* Clients now use the `?watch=true` parameter to make watch API calls, instead of the `/watch/` path prefix ([#41722](https://github.com/kubernetes/kubernetes/pull/41722), [@liggitt](https://github.com/liggitt)) +* ResourceQuota ability to support default limited resources ([#36765](https://github.com/kubernetes/kubernetes/pull/36765), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* Fix kubemark default e2e test suite's name ([#41751](https://github.com/kubernetes/kubernetes/pull/41751), [@shyamjvs](https://github.com/shyamjvs)) +* federation aws: add logging of route53 calls ([#39964](https://github.com/kubernetes/kubernetes/pull/39964), [@justinsb](https://github.com/justinsb)) +* Fix ConfigMap for Windows Containers. ([#39373](https://github.com/kubernetes/kubernetes/pull/39373), [@jbhurat](https://github.com/jbhurat)) +* add defaultTolerationSeconds admission controller ([#41414](https://github.com/kubernetes/kubernetes/pull/41414), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* Node Problem Detector is beta now. New features added: journald support, standalone mode and arbitrary system log monitoring. ([#40206](https://github.com/kubernetes/kubernetes/pull/40206), [@Random-Liu](https://github.com/Random-Liu)) +* Fix the output of health-mointor.sh ([#41525](https://github.com/kubernetes/kubernetes/pull/41525), [@yujuhong](https://github.com/yujuhong)) +* kubectl describe no longer prints the last-applied-configuration annotation for secrets. ([#34664](https://github.com/kubernetes/kubernetes/pull/34664), [@ymqytw](https://github.com/ymqytw)) +* Report node not ready on failed PLEG health check ([#41569](https://github.com/kubernetes/kubernetes/pull/41569), [@yujuhong](https://github.com/yujuhong)) +* Delay Deletion of a Pod until volumes are cleaned up ([#41456](https://github.com/kubernetes/kubernetes/pull/41456), [@dashpole](https://github.com/dashpole)) +* Alpha version of dynamic volume provisioning is removed in this release. Annotation ([#40000](https://github.com/kubernetes/kubernetes/pull/40000), [@jsafrane](https://github.com/jsafrane)) + * "volume.alpha.kubernetes.io/storage-class" does not have any special meaning. A default storage class + * and DefaultStorageClass admission plugin can be used to preserve similar behavior of Kubernetes cluster, + * see https://kubernetes.io/docs/user-guide/persistent-volumes/#class-1 for details. +* An `automountServiceAccountToken *bool` field was added to ServiceAccount and PodSpec objects. If set to `false` on a pod spec, no service account token is automounted in the pod. If set to `false` on a service account, no service account token is automounted for that service account unless explicitly overridden in the pod spec. ([#37953](https://github.com/kubernetes/kubernetes/pull/37953), [@liggitt](https://github.com/liggitt)) +* Bump addon-manager version to v6.4-alpha.1 in kubemark ([#41506](https://github.com/kubernetes/kubernetes/pull/41506), [@shyamjvs](https://github.com/shyamjvs)) +* Do not daemonize `salt-minion` for the openstack-heat provider. ([#40722](https://github.com/kubernetes/kubernetes/pull/40722), [@micmro](https://github.com/micmro)) +* Move private key parsing from serviceaccount/jwt.go to client-go/util/cert ([#40907](https://github.com/kubernetes/kubernetes/pull/40907), [@cblecker](https://github.com/cblecker)) +* Added configurable etcd initial-cluster-state to kube-up script. ([#41332](https://github.com/kubernetes/kubernetes/pull/41332), [@jszczepkowski](https://github.com/jszczepkowski)) + + + +# v1.6.0-alpha.3 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/master/examples) + +## Downloads for v1.6.0-alpha.3 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes.tar.gz) | `41b5e9edd973cbb8e68eb5d8d758c4f0afa11dfbd65df49e1c361206706a974c` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-src.tar.gz) | `ec13e22322c85752918c23b0b498ba02087a1227b8fdc169f19acdf128f907c4` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-darwin-386.tar.gz) | `5a631b7604a69ef13c27b43e6df10f8bf14ff9170440fb07d0c46bc88a5a1eac` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-darwin-amd64.tar.gz) | `cfba71e38a924b783fcdbc0b1a342671d52af3588a8211e35048e9c071ed03b2` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-linux-386.tar.gz) | `ceeee264b12959cb2b314efa9df4c165ea1598b8824ec652eb3994096f4ec07f` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-linux-amd64.tar.gz) | `1bd3a4b64ab1535780f18b3e7a56dd1301a8ea8d66869ee704f66985c1fca9b4` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-linux-arm64.tar.gz) | `d1615b3223c6e83422ed8409fc8d0a7a6069982d3413a482e12966b953520fe0` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-linux-arm.tar.gz) | `19133867e2d104db3e01212dbc4a702a315310a10e86076b6b80a16b94cf7954` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-linux-ppc64le.tar.gz) | `0f89e17eb881c7db39195bc94874e3ec54866d2f57eef1540b5d843bedbe4326` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-linux-s390x.tar.gz) | `3ed06cb89ffec011e4248c14d9e1c88c815b7363d1fdba217ed17e900f29960b` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-windows-386.tar.gz) | `87927cbe26cefa296e2752075d018a58826bc7fa141c4cbe56116a254a3470cc` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-client-windows-amd64.tar.gz) | `e97e7dafbf670140d3c4879a6738b970ac77d917861df3eea0c502238dd297b0` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-server-linux-amd64.tar.gz) | `3aa82b838be450ce8dedbebfda45c453864c15aae6363ae5f1c0b0d285ffad2a` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-server-linux-arm64.tar.gz) | `0bdeac3524ab7ef366f3bb75e2fbff3db156dcba2b862e8b2de393e4ec4377c9` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-server-linux-arm.tar.gz) | `1f37886aba4027ec682afe5f02a4d66a6645af2476f2954933c1b437ec66dafa` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-server-linux-ppc64le.tar.gz) | `eb81d3cdd703790d5c96e24917183dc123aeabbe9a291c2dd86c68d21d9fd213` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-alpha.3/kubernetes-server-linux-s390x.tar.gz) | `a50a57c689583f97fd4ff7af766bf7ae79c9fd97e46720bc41f385f2c51e1f99` + +## Changelog since v1.6.0-alpha.2 + +### Other notable changes + +* Fix AWS device allocator to only use valid device names ([#41455](https://github.com/kubernetes/kubernetes/pull/41455), [@gnufied](https://github.com/gnufied)) +* [Federation][Kubefed] Bug fix relating kubeconfig path in kubefed init ([#41410](https://github.com/kubernetes/kubernetes/pull/41410), [@irfanurrehman](https://github.com/irfanurrehman)) +* The apiserver audit log (`/var/log/kube-apiserver-audit.log`) will be sent through fluentd if enabled. ([#41360](https://github.com/kubernetes/kubernetes/pull/41360), [@enisoc](https://github.com/enisoc)) +* Bump GCE ContainerVM to container-vm-v20170214 to address CVE-2016-9962. ([#41449](https://github.com/kubernetes/kubernetes/pull/41449), [@zmerlynn](https://github.com/zmerlynn)) +* Fixed issues [#39202](https://github.com/kubernetes/kubernetes/pull/39202), [#41041](https://github.com/kubernetes/kubernetes/pull/41041) and [#40941](https://github.com/kubernetes/kubernetes/pull/40941) that caused the iSCSI connections to be prematurely closed when deleting a pod with an iSCSI persistent volume attached and that prevented the use of newly created LUNs on targets with preestablished connections. ([#41196](https://github.com/kubernetes/kubernetes/pull/41196), [@CristianPop](https://github.com/CristianPop)) +* The kube-apiserver [basic audit log](https://kubernetes.io/docs/admin/audit/) can be enabled in GCE by exporting the environment variable `ENABLE_APISERVER_BASIC_AUDIT=true` before running `cluster/kube-up.sh`. This will log to `/var/log/kube-apiserver-audit.log` and use the same `logrotate` settings as `/var/log/kube-apiserver.log`. ([#41211](https://github.com/kubernetes/kubernetes/pull/41211), [@enisoc](https://github.com/enisoc)) +* On kube-up.sh clusters on GCE, kube-scheduler now contacts the API on the secured port. ([#41285](https://github.com/kubernetes/kubernetes/pull/41285), [@liggitt](https://github.com/liggitt)) +* Default RBAC ClusterRole and ClusterRoleBinding objects are automatically updated at server start to add missing permissions and subjects (extra permissions and subjects are left in place). To prevent autoupdating a particular role or rolebinding, annotate it with `rbac.authorization.kubernetes.io/autoupdate=false`. ([#41155](https://github.com/kubernetes/kubernetes/pull/41155), [@liggitt](https://github.com/liggitt)) +* Make EnableCRI default to true ([#41378](https://github.com/kubernetes/kubernetes/pull/41378), [@yujuhong](https://github.com/yujuhong)) +* `kubectl edit` now edits objects exactly as they were retrieved from the API. This allows using `kubectl edit` with third-party resources and extension API servers. Because client-side conversion is no longer done, the `--output-version` option is deprecated for `kubectl edit`. To edit using a particular API version, fully-qualify the resource, version, and group used to fetch the object (for example, `job.v1.batch/myjob`) ([#41304](https://github.com/kubernetes/kubernetes/pull/41304), [@liggitt](https://github.com/liggitt)) +* We change the default attach_detach_controller sync period to 1 minute to reduce the query frequency through cloud provider to check whether volumes are attached or not. ([#41363](https://github.com/kubernetes/kubernetes/pull/41363), [@jingxu97](https://github.com/jingxu97)) +* RBAC `v1beta1` RoleBinding/ClusterRoleBinding subjects changed `apiVersion` to `apiGroup` to fully-qualify a subject. ServiceAccount subjects default to an apiGroup of `""`, User and Group subjects default to an apiGroup of `"rbac.authorization.k8s.io"`. ([#41184](https://github.com/kubernetes/kubernetes/pull/41184), [@liggitt](https://github.com/liggitt)) +* Add support for finalizers in federated configmaps (deletes configmaps from underlying clusters). ([#40464](https://github.com/kubernetes/kubernetes/pull/40464), [@csbell](https://github.com/csbell)) +* Make DaemonSet controller respect node taints and pod tolerations. ([#41172](https://github.com/kubernetes/kubernetes/pull/41172), [@janetkuo](https://github.com/janetkuo)) +* Added kubectl create role command ([#39852](https://github.com/kubernetes/kubernetes/pull/39852), [@xingzhou](https://github.com/xingzhou)) +* If `experimentalCriticalPodAnnotation` feature gate is set to true, fluentd pods will not be evicted by the kubelet. ([#41035](https://github.com/kubernetes/kubernetes/pull/41035), [@vishh](https://github.com/vishh)) + + + +# v1.4.9 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.4/examples) + +## Downloads for v1.4.9 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes.tar.gz) | `9d385d555073c7cf509a92ce3aa96d0414a93c21c51bcf020744c70b4b290aa2` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-src.tar.gz) | `6fd7d33775356f0245d06b401ac74d8227a92abd07cc5a0ef362bac16e01f011` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-darwin-386.tar.gz) | `16b362f3cf56dee7b0c291188767222fd65176ed9573a8b87e8acf7eb6b22ed9` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-darwin-amd64.tar.gz) | `537e5c5d8a9148cd464f5d6d0a796e214add04c185b859ea9e39a4cc7264394c` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-linux-386.tar.gz) | `e9d2e55b42e002771c32d9f26e8eb0b65c257ea257e8ab19f7fd928f21caace8` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-linux-amd64.tar.gz) | `1ba81d64d1ae165b73375d61d364c642068385d6a1d68196d90e42a8d0fd6c7d` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-linux-arm64.tar.gz) | `d0398d2b11ed591575adde3ce9e1ad877fe37b8b56bd2be5b2aee344a35db330` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-linux-arm.tar.gz) | `714b06319bf047084514803531edab6a0a262c5f38a0d0bfda0a8e59672595b6` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-windows-386.tar.gz) | `16a7224313889d2f98a7d072f328198790531fd0e724eaeeccffe82521ae63b8` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-client-windows-amd64.tar.gz) | `dc19651287701ea6dcbd7b4949db2331468f730e8ebe951de1216f1105761d97` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-server-linux-amd64.tar.gz) | `6a104d143f8568a8ce16c979d1cb2eb357263d96ab43bd399b05d28f8da2b961` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-server-linux-arm64.tar.gz) | `8137ecde19574e6aba0cd9efe127f3b3eb02c312d7691745df3a23e40b7a5d72` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.4.9/kubernetes-server-linux-arm.tar.gz) | `085195abeb9133cb43f0e6198e638ded7f15beca44d19503c2836339a7e604aa` + +## Changelog since v1.4.8 + +### Other notable changes + +* Bump GCE ContainerVM to container-vm-v20170201 to address CVE-2016-9962. ([#40828](https://github.com/kubernetes/kubernetes/pull/40828), [@zmerlynn](https://github.com/zmerlynn)) +* Bump GCI to gci-beta-56-9000-80-0 ([#41027](https://github.com/kubernetes/kubernetes/pull/41027), [@dchen1107](https://github.com/dchen1107)) +* Fix for detach volume when node is not present/ powered off ([#40118](https://github.com/kubernetes/kubernetes/pull/40118), [@BaluDontu](https://github.com/BaluDontu)) +* Bump GCI to gci-beta-56-9000-80-0 ([#41027](https://github.com/kubernetes/kubernetes/pull/41027), [@dchen1107](https://github.com/dchen1107)) +* Move b.gcr.io/k8s_authenticated_test to gcr.io/k8s-authenticated-test ([#40335](https://github.com/kubernetes/kubernetes/pull/40335), [@zmerlynn](https://github.com/zmerlynn)) +* Prep node_e2e for GCI to COS name change ([#41088](https://github.com/kubernetes/kubernetes/pull/41088), [@jessfraz](https://github.com/jessfraz)) +* If ExperimentalCriticalPodAnnotation=True flag gate is set, kubelet will ensure that pods with `scheduler.alpha.kubernetes.io/critical-pod` annotation will be admitted even under resource pressure, will not be evicted, and are reasonably protected from system OOMs. ([#41052](https://github.com/kubernetes/kubernetes/pull/41052), [@vishh](https://github.com/vishh)) +* Fix resync goroutine leak in ListAndWatch ([#35672](https://github.com/kubernetes/kubernetes/pull/35672), [@tatsuhiro-t](https://github.com/tatsuhiro-t)) +* Kubelet will no longer set hairpin mode on every interface on the machine when an error occurs in setting up hairpin for a specific interface. ([#36990](https://github.com/kubernetes/kubernetes/pull/36990), [@bboreham](https://github.com/bboreham)) +* Bump GCE ContainerVM to container-vm-v20170201 to address CVE-2016-9962. ([#40828](https://github.com/kubernetes/kubernetes/pull/40828), [@zmerlynn](https://github.com/zmerlynn)) +* Adding vmdk file extension for vmDiskPath in vsphere DeleteVolume ([#40538](https://github.com/kubernetes/kubernetes/pull/40538), [@divyenpatel](https://github.com/divyenpatel)) +* Prevent hotloops on error conditions, which could fill up the disk faster than log rotation can free space. ([#40497](https://github.com/kubernetes/kubernetes/pull/40497), [@lavalamp](https://github.com/lavalamp)) +* Update GCE ContainerVM deployment to container-vm-v20170117 to pick up CVE fixes in base image. ([#40094](https://github.com/kubernetes/kubernetes/pull/40094), [@zmerlynn](https://github.com/zmerlynn)) +* Update kube-proxy image to be based off of Debian 8.6 base image. ([#39695](https://github.com/kubernetes/kubernetes/pull/39695), [@ixdy](https://github.com/ixdy)) +* Update amd64 kube-proxy base image to debian-iptables-amd64:v5 ([#39725](https://github.com/kubernetes/kubernetes/pull/39725), [@ixdy](https://github.com/ixdy)) + + + +# v1.5.3 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.5/examples) + +## Downloads for v1.5.3 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes.tar.gz) | `a4d997be9e3ac0f9838a58fb80d08c2ab02e00afb9d16d3db18d99c85b88b316` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-src.tar.gz) | `a23636ee40a60c1bb3255a03177f522c28133f74c6d09a5437f6b56b7e1d5296` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-darwin-386.tar.gz) | `2f8eeb772c22c7dad5a32d6ee17e8b309503b56fbcb0abdc74e1f94e86b33520` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-darwin-amd64.tar.gz) | `b044240271223aa93f8bdb8054824a48ba5571460d2e6c90688dccd0892e5c7e` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-linux-386.tar.gz) | `d2649a41e4a64c2027e321254e4ef3e690371bd0c7eece12d3395e49d8171617` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-linux-amd64.tar.gz) | `eaf386a46eeee324bb71349bba7d5d3f41d7d19af75537cf9e4e7045d7068f68` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-linux-arm64.tar.gz) | `2f2d45296651e5696f373838ba019e8b8bb11b2a2772a55f0a6e367ec6c18e2d` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-linux-arm.tar.gz) | `56b8b207fd914dc7c16fdb675a3917ab9bff0efbe745ee1675abbff2b5854d32` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-windows-386.tar.gz) | `fe3136e3c6bd983e55396341c451f896e478e8c9d0b3d1418e1d1fccee3d7b75` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-client-windows-amd64.tar.gz) | `8e315cb48135a4ed26585e9d8cf88f550ac51e3658b981bb53cb0952e9b3393a` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-server-linux-amd64.tar.gz) | `ad4d101bec0ef981a7e1efbe11223e502ff644368d70ad54915e15fcb3ad6735` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-server-linux-arm64.tar.gz) | `bfd66c57d1071bdd213d4c6d124d491959ae3509994e5a23cc2720a8ad18526d` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-server-linux-arm.tar.gz) | `12b335637b7a4aa019cee600b0161d51e6317a87bec0500e1f9d85990f6352d5` + +### Node Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-node-linux-amd64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-node-linux-amd64.tar.gz) | `3f54e2d101b6351513ce9425a23f9a196e965326c3a7f78a98ef1dad452e5830` +[kubernetes-node-linux-arm.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-node-linux-arm.tar.gz) | `6508b64755dc0ff90f23921d2b8bb6c0c321c38edeaf24fd4c22282880a87a11` +[kubernetes-node-linux-arm64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-node-linux-arm64.tar.gz) | `578ef8a6958fb4bf2e0438cdef7707d12456186a1b8c4b18aa66f47b9221a713` +[kubernetes-node-windows-amd64.tar.gz](https://dl.k8s.io/v1.5.3/kubernetes-node-windows-amd64.tar.gz) | `aa166b275b3d0f80cbf23fbee7f42358b6176f37fd9ef66837f38910d4626079` + +## Changelog since v1.5.2 + +### Other notable changes + +* We change the default attach_detach_controller sync period to 1 minute to reduce the query frequency through cloud provider to check whether volumes are attached or not. ([#41363](https://github.com/kubernetes/kubernetes/pull/41363), [@jingxu97](https://github.com/jingxu97)) +* Added configurable etcd initial-cluster-state to kube-up script ([#41320](https://github.com/kubernetes/kubernetes/pull/41320), [@jszczepkowski](https://github.com/jszczepkowski)) +* If ExperimentalCriticalPodAnnotation=True flag gate is set, kubelet will ensure that pods with `scheduler.alpha.kubernetes.io/critical-pod` annotation will be admitted even under resource pressure, will not be evicted, and are reasonably protected from system OOMs. ([#41052](https://github.com/kubernetes/kubernetes/pull/41052), [@vishh](https://github.com/vishh)) +* Reverts to looking up the current VM in vSphere using the machine's UUID, either obtained via sysfs or via the `vm-uuid` parameter in the cloud configuration file. ([#40892](https://github.com/kubernetes/kubernetes/pull/40892), [@robdaemon](https://github.com/robdaemon)) +* Fix for detach volume when node is not present/ powered off ([#40118](https://github.com/kubernetes/kubernetes/pull/40118), [@BaluDontu](https://github.com/BaluDontu)) +* Move b.gcr.io/k8s_authenticated_test to gcr.io/k8s-authenticated-test ([#40335](https://github.com/kubernetes/kubernetes/pull/40335), [@zmerlynn](https://github.com/zmerlynn)) +* Bump up GLBC version from 0.9.0-beta to 0.9.1 ([#41037](https://github.com/kubernetes/kubernetes/pull/41037), [@bprashanth](https://github.com/bprashanth)) +* azure: fix Azure Container Registry integration ([#40142](https://github.com/kubernetes/kubernetes/pull/40142), [@colemickens](https://github.com/colemickens)) +* azure disk: restrict name length for Azure specifications ([#40030](https://github.com/kubernetes/kubernetes/pull/40030), [@colemickens](https://github.com/colemickens)) +* Bump GCI to gci-beta-56-9000-80-0 ([#41027](https://github.com/kubernetes/kubernetes/pull/41027), [@dchen1107](https://github.com/dchen1107)) +* Bump up glbc version to 0.9.0-beta.1 ([#40565](https://github.com/kubernetes/kubernetes/pull/40565), [@bprashanth](https://github.com/bprashanth)) +* Enable lazy inode table and journal initialization for ext3 and ext4 ([#38865](https://github.com/kubernetes/kubernetes/pull/38865), [@codablock](https://github.com/codablock)) +* Kubelet will no longer set hairpin mode on every interface on the machine when an error occurs in setting up hairpin for a specific interface. ([#36990](https://github.com/kubernetes/kubernetes/pull/36990), [@bboreham](https://github.com/bboreham)) +* The SubjectAccessReview API passes subresource and resource name information to the authorizer to answer authorization queries. ([#40935](https://github.com/kubernetes/kubernetes/pull/40935), [@liggitt](https://github.com/liggitt)) +* Bump GCE ContainerVM to container-vm-v20170201 to address CVE-2016-9962. ([#40828](https://github.com/kubernetes/kubernetes/pull/40828), [@zmerlynn](https://github.com/zmerlynn)) +* Reduce time needed to attach Azure disks ([#40066](https://github.com/kubernetes/kubernetes/pull/40066), [@codablock](https://github.com/codablock)) +* Fixes request header authenticator by presenting the request header client CA so that the front proxy will authenticate using its client certificate. ([#40301](https://github.com/kubernetes/kubernetes/pull/40301), [@deads2k](https://github.com/deads2k)) +* Fix failing load balancers in Azure ([#40405](https://github.com/kubernetes/kubernetes/pull/40405), [@codablock](https://github.com/codablock)) +* Add a KUBERNETES_NODE_* section to build kubelet/kube-proxy for windows ([#38919](https://github.com/kubernetes/kubernetes/pull/38919), [@brendandburns](https://github.com/brendandburns)) +* Update GCE ContainerVM deployment to container-vm-v20170117 to pick up CVE fixes in base image. ([#40094](https://github.com/kubernetes/kubernetes/pull/40094), [@zmerlynn](https://github.com/zmerlynn)) +* Adding vmdk file extension for vmDiskPath in vsphere DeleteVolume ([#40538](https://github.com/kubernetes/kubernetes/pull/40538), [@divyenpatel](https://github.com/divyenpatel)) +* AWS: Remove duplicate calls to DescribeInstance during volume operations ([#39842](https://github.com/kubernetes/kubernetes/pull/39842), [@gnufied](https://github.com/gnufied)) +* Caching added to the OIDC client auth plugin to fix races and reduce the time kubectl commands using this plugin take by several seconds. ([#38167](https://github.com/kubernetes/kubernetes/pull/38167), [@ericchiang](https://github.com/ericchiang)) +* Actually fix local-cluster-up on 1.5 branch ([#40501](https://github.com/kubernetes/kubernetes/pull/40501), [@lavalamp](https://github.com/lavalamp)) +* Prevent hotloops on error conditions, which could fill up the disk faster than log rotation can free space. ([#40497](https://github.com/kubernetes/kubernetes/pull/40497), [@lavalamp](https://github.com/lavalamp)) +* Fix issue with PodDisruptionBudgets in which `minAvailable` specified as a percentage did not work with StatefulSet Pods. ([#39454](https://github.com/kubernetes/kubernetes/pull/39454), [@foxish](https://github.com/foxish)) +* Fix panic in vSphere cloud provider ([#38423](https://github.com/kubernetes/kubernetes/pull/38423), [@BaluDontu](https://github.com/BaluDontu)) +* Allow missing keys in templates by default ([#39486](https://github.com/kubernetes/kubernetes/pull/39486), [@ncdc](https://github.com/ncdc)) +* Fix kubectl get -f -o so it prints all items in the file ([#39038](https://github.com/kubernetes/kubernetes/pull/39038), [@ncdc](https://github.com/ncdc)) +* Endpoints, that tolerate unready Pods, are now listing Pods in state Terminating as well ([#37093](https://github.com/kubernetes/kubernetes/pull/37093), [@simonswine](https://github.com/simonswine)) +* Add path exist check in getPodVolumePathListFromDisk ([#38909](https://github.com/kubernetes/kubernetes/pull/38909), [@jingxu97](https://github.com/jingxu97)) +* Ensure the GCI metadata files do not have newline at the end ([#38727](https://github.com/kubernetes/kubernetes/pull/38727), [@Amey-D](https://github.com/Amey-D)) +* AWS: recognize eu-west-2 region ([#38746](https://github.com/kubernetes/kubernetes/pull/38746), [@justinsb](https://github.com/justinsb)) +* Fix space issue in volumePath with vSphere Cloud Provider ([#38338](https://github.com/kubernetes/kubernetes/pull/38338), [@BaluDontu](https://github.com/BaluDontu)) +* Fix issue when attempting to unmount a wrong vSphere volume ([#37413](https://github.com/kubernetes/kubernetes/pull/37413), [@BaluDontu](https://github.com/BaluDontu)) +* Changed default scsi controller type in vSphere Cloud Provider ([#38426](https://github.com/kubernetes/kubernetes/pull/38426), [@abrarshivani](https://github.com/abrarshivani)) +* Fixes API compatibility issue with empty lists incorrectly returning a null `items` field instead of an empty array. ([#39834](https://github.com/kubernetes/kubernetes/pull/39834), [@liggitt](https://github.com/liggitt)) +* AWS: Add sequential allocator for device names. ([#38818](https://github.com/kubernetes/kubernetes/pull/38818), [@jsafrane](https://github.com/jsafrane)) +* Fix fsGroup to vSphere ([#38655](https://github.com/kubernetes/kubernetes/pull/38655), [@abrarshivani](https://github.com/abrarshivani)) + + + +# v1.6.0-alpha.2 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/master/examples) + +## Downloads for v1.6.0-alpha.2 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes.tar.gz) | `d1a5c7bc435c0f58dca9eab54e8155b6e4797d4b5d6b0cb8feab968dd3132165` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-src.tar.gz) | `8d09b973f3debfe3d10b0ad392e56141446bc0d04aac60df6d761189997d97ed` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-darwin-386.tar.gz) | `b1a7d002768fff8282f8873fde6a0ed215d20fd72197d8e583c024b7cbbe3eb8` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-darwin-amd64.tar.gz) | `b0f872bbefdc1ecc9585dfdeb9c7e094f7a16ebbe4db11c64c70d1ef7f93e361` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-linux-386.tar.gz) | `53be6adde2d13058d03d0f283ca166bb495cc49cd2e36339696dc46f85f78c8f` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-linux-amd64.tar.gz) | `6436463d51ed54b50023cd725b054fd2b039e391095d8a618e91979fc55d4ee0` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-linux-arm64.tar.gz) | `d6638c8950a9e03ed64c3f3e1ad82166642c02aeb8f7fb2079db1f137170a145` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-linux-arm.tar.gz) | `05d0e466a27fc9a5b6535cbd7683e08739cd37aa2c6213c000fdaa305e4eb888` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-linux-ppc64le.tar.gz) | `38971be682cbf1f194eeb9ad683272a58042f4f91992db6fc34720de28d88dd6` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-linux-s390x.tar.gz) | `774a002482d6b62338550b20d90b914a08481965ed1b78cd348535d90f88f344` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-windows-386.tar.gz) | `690ab995ac27c90c811578677fb8688d43198499bfc451a2f908ad7a76474ee8` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-client-windows-amd64.tar.gz) | `757fe9e2083e2da706b52c96da34548aa72bbbbff50bb261c1198c80b36189c3` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-server-linux-amd64.tar.gz) | `5aa3161a1030ddb02985171d4343a99d14ad6e09e130549b20fc96797588ff1e` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-server-linux-arm64.tar.gz) | `babce8c402c8e88310ba82315f758e981d4cfe20dcbf3047e55b279d5d4f3a33` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-server-linux-arm.tar.gz) | `4b1d4c4ba95d86481d32daf09e769f7f9e4e0d71e11d39a5a4e205804b023172` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-server-linux-ppc64le.tar.gz) | `070423e62a0dff7ef17e29a63ac2eda5a46b6e1badf67214c07970b83610bf6c` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-alpha.2/kubernetes-server-linux-s390x.tar.gz) | `3a826fef775819a4f03e7db91684db6edfdaaad3e3eb366c4321bdc5ec0b0f25` + +## Changelog since v1.6.0-alpha.1 + +### Other notable changes + +* Align the hyperkube image to support running binaries at /usr/local/bin/ like the other server images ([#41017](https://github.com/kubernetes/kubernetes/pull/41017), [@luxas](https://github.com/luxas)) +* Native support for token based bootstrap flow. This includes signing a well known ConfigMap in the `kube-public` namespace and cleaning out expired tokens. ([#36101](https://github.com/kubernetes/kubernetes/pull/36101), [@jbeda](https://github.com/jbeda)) +* Reverts to looking up the current VM in vSphere using the machine's UUID, either obtained via sysfs or via the `vm-uuid` parameter in the cloud configuration file. ([#40892](https://github.com/kubernetes/kubernetes/pull/40892), [@robdaemon](https://github.com/robdaemon)) +* This PR adds a manager to NodeController that is responsible for removing Pods from Nodes tainted with NoExecute Taints. This feature is beta (as the rest of taints) and enabled by default. It's gated by controller-manager enable-taint-manager flag. ([#40355](https://github.com/kubernetes/kubernetes/pull/40355), [@gmarek](https://github.com/gmarek)) +* The authentication.k8s.io API group was promoted to v1 ([#41058](https://github.com/kubernetes/kubernetes/pull/41058), [@liggitt](https://github.com/liggitt)) +* Fixes issue [#38418](https://github.com/kubernetes/kubernetes/pull/38418) which, under circumstance, could cause StatefulSet to deadlock. ([#40838](https://github.com/kubernetes/kubernetes/pull/40838), [@kow3ns](https://github.com/kow3ns)) + * Mediates issue [#36859](https://github.com/kubernetes/kubernetes/pull/36859). StatefulSet only acts on Pods whose identity matches the StatefulSet, providing a partial mediation for overlapping controllers. +* Introduces an new alpha version of the Horizontal Pod Autoscaler including expanded support for specifying metrics. ([#36033](https://github.com/kubernetes/kubernetes/pull/36033), [@DirectXMan12](https://github.com/DirectXMan12)) +* Set all node conditions to Unknown when node is unreachable ([#36592](https://github.com/kubernetes/kubernetes/pull/36592), [@andrewsykim](https://github.com/andrewsykim)) +* [Federation] Add override flags options to kubefed init ([#40917](https://github.com/kubernetes/kubernetes/pull/40917), [@irfanurrehman](https://github.com/irfanurrehman)) +* Fix for detach volume when node is not present/ powered off ([#40118](https://github.com/kubernetes/kubernetes/pull/40118), [@BaluDontu](https://github.com/BaluDontu)) +* Bump up GLBC version from 0.9.0-beta to 0.9.1 ([#41037](https://github.com/kubernetes/kubernetes/pull/41037), [@bprashanth](https://github.com/bprashanth)) +* The deprecated flags --config, --auth-path, --resource-container, and --system-container were removed. ([#40048](https://github.com/kubernetes/kubernetes/pull/40048), [@mtaufen](https://github.com/mtaufen)) +* Add `kubectl attach` support for multiple types ([#40365](https://github.com/kubernetes/kubernetes/pull/40365), [@shiywang](https://github.com/shiywang)) +* [Kubelet] Delay deletion of pod from the API server until volumes are deleted ([#41095](https://github.com/kubernetes/kubernetes/pull/41095), [@dashpole](https://github.com/dashpole)) +* remove the create-external-load-balancer flag in cmd/expose.go ([#38183](https://github.com/kubernetes/kubernetes/pull/38183), [@tianshapjq](https://github.com/tianshapjq)) +* The authorization.k8s.io API group was promoted to v1 ([#40709](https://github.com/kubernetes/kubernetes/pull/40709), [@liggitt](https://github.com/liggitt)) +* Bump GCI to gci-beta-56-9000-80-0 ([#41027](https://github.com/kubernetes/kubernetes/pull/41027), [@dchen1107](https://github.com/dchen1107)) +* [Federation][kubefed] Add option to expose federation apiserver on nodeport service ([#40516](https://github.com/kubernetes/kubernetes/pull/40516), [@shashidharatd](https://github.com/shashidharatd)) +* Rename --experiemental-cgroups-per-qos to --cgroups-per-qos ([#39972](https://github.com/kubernetes/kubernetes/pull/39972), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* PV E2E: provide each spec with a fresh nfs host ([#40879](https://github.com/kubernetes/kubernetes/pull/40879), [@copejon](https://github.com/copejon)) +* Remove the temporary fix for pre-1.0 mirror pods ([#40877](https://github.com/kubernetes/kubernetes/pull/40877), [@yujuhong](https://github.com/yujuhong)) +* fix --save-config in create subcommand ([#40289](https://github.com/kubernetes/kubernetes/pull/40289), [@xilabao](https://github.com/xilabao)) +* We should mention the caveats of in-place upgrade in release note. ([#40727](https://github.com/kubernetes/kubernetes/pull/40727), [@Random-Liu](https://github.com/Random-Liu)) +* The SubjectAccessReview API passes subresource and resource name information to the authorizer to answer authorization queries. ([#40935](https://github.com/kubernetes/kubernetes/pull/40935), [@liggitt](https://github.com/liggitt)) +* When feature gate "ExperimentalCriticalPodAnnotation" is set, Kubelet will avoid evicting pods in "kube-system" namespace that contains a special annotation - `scheduler.alpha.kubernetes.io/critical-pod` ([#40655](https://github.com/kubernetes/kubernetes/pull/40655), [@vishh](https://github.com/vishh)) + * This feature should be used in conjunction with the rescheduler to guarantee availability for critical system pods - https://kubernetes.io/docs/admin/rescheduler/ +* make tolerations respect wildcard key ([#39914](https://github.com/kubernetes/kubernetes/pull/39914), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* [Federation][kubefed] Add option to disable persistence storage for etcd ([#40862](https://github.com/kubernetes/kubernetes/pull/40862), [@shashidharatd](https://github.com/shashidharatd)) +* Init containers have graduated to GA and now appear as a field. The beta annotation value will still be respected and overrides the field value. ([#38382](https://github.com/kubernetes/kubernetes/pull/38382), [@hodovska](https://github.com/hodovska)) +* apply falls back to generic 3-way JSON merge patch if no go struct is registered for the target GVK ([#40666](https://github.com/kubernetes/kubernetes/pull/40666), [@ymqytw](https://github.com/ymqytw)) +* HorizontalPodAutoscaler is no longer supported in extensions/v1beta1 version. Use autoscaling/v1 instead. ([#35782](https://github.com/kubernetes/kubernetes/pull/35782), [@piosz](https://github.com/piosz)) +* Port forwarding can forward over websockets or SPDY. ([#33684](https://github.com/kubernetes/kubernetes/pull/33684), [@fraenkel](https://github.com/fraenkel)) +* Improve kubectl describe node output by adding closing paren ([#39217](https://github.com/kubernetes/kubernetes/pull/39217), [@luksa](https://github.com/luksa)) +* Bump GCE ContainerVM to container-vm-v20170201 to address CVE-2016-9962. ([#40828](https://github.com/kubernetes/kubernetes/pull/40828), [@zmerlynn](https://github.com/zmerlynn)) +* Use full package path for definition name in OpenAPI spec ([#40124](https://github.com/kubernetes/kubernetes/pull/40124), [@mbohlool](https://github.com/mbohlool)) +* kubectl apply now supports explicitly clearing values not present in the config by setting them to null ([#40630](https://github.com/kubernetes/kubernetes/pull/40630), [@liggitt](https://github.com/liggitt)) +* Fixed an issue where 'kubectl get --sort-by=' would return an error when the specified field were not present in at least one of the returned objects, even that being a valid field in the object model. ([#40541](https://github.com/kubernetes/kubernetes/pull/40541), [@fabianofranz](https://github.com/fabianofranz)) +* Add initial french translations for kubectl ([#40645](https://github.com/kubernetes/kubernetes/pull/40645), [@brendandburns](https://github.com/brendandburns)) +* OpenStack-Heat will now look for an image named "CentOS-7-x86_64-GenericCloud-1604". To restore the previous behavior set OPENSTACK_IMAGE_NAME="CentOS7" ([#40368](https://github.com/kubernetes/kubernetes/pull/40368), [@sc68cal](https://github.com/sc68cal)) +* Preventing nil pointer reference in client_config ([#40508](https://github.com/kubernetes/kubernetes/pull/40508), [@vjsamuel](https://github.com/vjsamuel)) +* The bash AWS deployment via kube-up.sh has been deprecated. See http://kubernetes.io/docs/getting-started-guides/aws/ for alternatives. ([#38772](https://github.com/kubernetes/kubernetes/pull/38772), [@zmerlynn](https://github.com/zmerlynn)) +* Fix failing load balancers in Azure ([#40405](https://github.com/kubernetes/kubernetes/pull/40405), [@codablock](https://github.com/codablock)) +* kubefed init creates a service account for federation controller manager in the federation-system namespace and binds that service account to the federation-system:federation-controller-manager role that has read and list access on secrets in the federation-system namespace. ([#40392](https://github.com/kubernetes/kubernetes/pull/40392), [@madhusudancs](https://github.com/madhusudancs)) +* Fixed an SELinux issue in kubeadm on Docker 1.12+ by moving etcd SELinux options from container to pod. ([#40682](https://github.com/kubernetes/kubernetes/pull/40682), [@dgoodwin](https://github.com/dgoodwin)) +* Juju kubernetes-master charm: improve status messages ([#40691](https://github.com/kubernetes/kubernetes/pull/40691), [@Cynerva](https://github.com/Cynerva)) + + + +# v1.6.0-alpha.1 + +[Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/master/examples) + +## Downloads for v1.6.0-alpha.1 + + +filename | sha256 hash +-------- | ----------- +[kubernetes.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes.tar.gz) | `abda73bc2a27ae16c66a5aea9e96cd59486ed8cf994afc55da35a3cea2edc1db` +[kubernetes-src.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-src.tar.gz) | `b429579ba83f9a3fa80e72ceb65b046659b17f16a0b7f70105e7096a441f32b9` + +### Client Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-client-darwin-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-darwin-386.tar.gz) | `d5b8adee6169515324f4f420e65e9d4e14cca3402f58ec99660a1947fd79d3ea` +[kubernetes-client-darwin-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-darwin-amd64.tar.gz) | `6232a7e46b2cbd1e30a1f44c9b424448c5def11f5132c742bf62bac8a4f26fa2` +[kubernetes-client-linux-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-linux-386.tar.gz) | `2974ed14b76885947c95b3c86fb8585aa08ccefe8cc11cd202dcc3cb8fcc0d1a` +[kubernetes-client-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-linux-amd64.tar.gz) | `3bcb40f4aa3a295ec23fe42a5e17b081ef8de174b7dfa03cb89c27a00ac16f5a` +[kubernetes-client-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-linux-arm64.tar.gz) | `f9a55bcb6af2a415d24d69ae919c56968f6b02369675fd7def63acbde6534430` +[kubernetes-client-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-linux-arm.tar.gz) | `b0bd7070eab2f19b9bc1840fb4da5307c7ce274f2e28f76f94c714aa08f087bf` +[kubernetes-client-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-linux-ppc64le.tar.gz) | `39f38972f93f64542ae325d9c937c9d527968bc0830fdd38dd38dc246b6f0c56` +[kubernetes-client-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-linux-s390x.tar.gz) | `032e21fe0000333f36e29ddf24e207cfd6c92cb9a6d69cc0123c31aacd12338c` +[kubernetes-client-windows-386.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-windows-386.tar.gz) | `84b7d58012760111067ec0907070cc2f6d4c95893e771533a9b335cc8d8c72b7` +[kubernetes-client-windows-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-client-windows-amd64.tar.gz) | `e9ce76f48a4cf58b261aec38f076ed3b61c444c55c123f30099c1d1763d6191f` + +### Server Binaries + +filename | sha256 hash +-------- | ----------- +[kubernetes-server-linux-amd64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-server-linux-amd64.tar.gz) | `fafa4b93a522b9e73b6c31e42d32dc5eb3fccb5ca1548425da03726b48a19175` +[kubernetes-server-linux-arm64.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-server-linux-arm64.tar.gz) | `f00f4874785d1c9cba4fd262e8086aa693027649da44b0eec69e96951e013913` +[kubernetes-server-linux-arm.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-server-linux-arm.tar.gz) | `e843a6357e0a2e441277e6b32d8d64a6b6fe367c3d223edec781c21d8b379ac6` +[kubernetes-server-linux-ppc64le.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-server-linux-ppc64le.tar.gz) | `12b73f7cc4928543eee09af91d632bcf5c4ed56c44d48d62d0087c7fcbaa3e02` +[kubernetes-server-linux-s390x.tar.gz](https://dl.k8s.io/v1.6.0-alpha.1/kubernetes-server-linux-s390x.tar.gz) | `aad15f260d166c2b295921468837efe4a51cb7a04bcaccb3faecc9b5979861e5` + +## Changelog since v1.5.0 + +### Action Required + +* Promote certificates.k8s.io to beta and enable it by default. Users using the alpha certificates API should delete v1alpha1 CSRs from the API before upgrading and recreate them as v1beta1 CSR after upgrading. ([#39772](https://github.com/kubernetes/kubernetes/pull/39772), [@mikedanese](https://github.com/mikedanese)) +* Switch default etcd version to 3.0.14. ([#36229](https://github.com/kubernetes/kubernetes/pull/36229), [@wojtek-t](https://github.com/wojtek-t)) + * Switch default storage backend flag in apiserver to `etcd3` mode. +* RBAC's special handling of the user `*` in RoleBinding and ClusterRoleBinding objects is deprecated and will be removed in v1beta1. To match all users, explicitly bind to the group `system:authenticated` and/or `system:unauthenticated`. Existing v1alpha1 bindings to the user `*` will be automatically converted to the group `system:authenticated`. ([#38981](https://github.com/kubernetes/kubernetes/pull/38981), [@liggitt](https://github.com/liggitt)) +* The 'endpoints.beta.kubernetes.io/hostnames-map' annotation is no longer supported. Users can use the 'Endpoints.subsets[].addresses[].hostname' field instead. ([#39284](https://github.com/kubernetes/kubernetes/pull/39284), [@bowei](https://github.com/bowei)) +* `federation/deploy/deploy.sh` was an interim solution introduced in Kubernetes v1.4 to simplify the federation control plane deployment experience. Now that we have `kubefed`, we are deprecating `deploy.sh` scripts. ([#38902](https://github.com/kubernetes/kubernetes/pull/38902), [@madhusudancs](https://github.com/madhusudancs)) +* Cluster federation servers have changed the location in etcd where federated services are stored, so existing federated services must be deleted and recreated. Before upgrading, export all federated services from the federation server and delete the services. After upgrading the cluster, recreate the federated services from the exported data. ([#37770](https://github.com/kubernetes/kubernetes/pull/37770), [@enj](https://github.com/enj)) +* etcd2: watching from 0 returns all initial states as ADDED events ([#38079](https://github.com/kubernetes/kubernetes/pull/38079), [@hongchaodeng](https://github.com/hongchaodeng)) + +### Other notable changes + +* kube-up.sh on GCE now includes the bootstrap admin in the super-user group, and ensures the auth token file is correct on upgrades ([#39537](https://github.com/kubernetes/kubernetes/pull/39537), [@liggitt](https://github.com/liggitt)) +* genericapiserver: cut off more dependencies – episode 3 ([#40426](https://github.com/kubernetes/kubernetes/pull/40426), [@sttts](https://github.com/sttts)) +* Adding vmdk file extension for vmDiskPath in vsphere DeleteVolume ([#40538](https://github.com/kubernetes/kubernetes/pull/40538), [@divyenpatel](https://github.com/divyenpatel)) +* Remove outdated net.experimental.kubernetes.io/proxy-mode and net.beta.kubernetes.io/proxy-mode annotations from kube-proxy. ([#40585](https://github.com/kubernetes/kubernetes/pull/40585), [@cblecker](https://github.com/cblecker)) +* Improve the ARM builds and make hyperkube on ARM working again by upgrading the Go version for ARM to go1.8beta2 ([#38926](https://github.com/kubernetes/kubernetes/pull/38926), [@luxas](https://github.com/luxas)) +* Prevent hotloops on error conditions, which could fill up the disk faster than log rotation can free space. ([#40497](https://github.com/kubernetes/kubernetes/pull/40497), [@lavalamp](https://github.com/lavalamp)) +* DaemonSet controller actively kills failed pods (to recreate them) ([#40330](https://github.com/kubernetes/kubernetes/pull/40330), [@janetkuo](https://github.com/janetkuo)) +* forgiveness alpha version api definition ([#39469](https://github.com/kubernetes/kubernetes/pull/39469), [@kevin-wangzefeng](https://github.com/kevin-wangzefeng)) +* Bump up glbc version to 0.9.0-beta.1 ([#40565](https://github.com/kubernetes/kubernetes/pull/40565), [@bprashanth](https://github.com/bprashanth)) +* Improve formatting of EventSource in kubectl get and kubectl describe ([#40073](https://github.com/kubernetes/kubernetes/pull/40073), [@matthyx](https://github.com/matthyx)) +* CRI: use more gogoprotobuf plugins ([#40397](https://github.com/kubernetes/kubernetes/pull/40397), [@yujuhong](https://github.com/yujuhong)) +* Adds `shortNames` to the `APIResource` from discovery which is a list of recommended shortNames for clients like `kubectl`. ([#40312](https://github.com/kubernetes/kubernetes/pull/40312), [@p0lyn0mial](https://github.com/p0lyn0mial)) +* Use existing ABAC policy file when upgrading GCE cluster ([#40172](https://github.com/kubernetes/kubernetes/pull/40172), [@liggitt](https://github.com/liggitt)) +* Added support for creating HA clusters for centos using kube-up.sh. ([#39462](https://github.com/kubernetes/kubernetes/pull/39462), [@Shawyeok](https://github.com/Shawyeok)) +* azure: fix Azure Container Registry integration ([#40142](https://github.com/kubernetes/kubernetes/pull/40142), [@colemickens](https://github.com/colemickens)) +* - Splits Juju Charm layers into master/worker roles ([#40324](https://github.com/kubernetes/kubernetes/pull/40324), [@chuckbutler](https://github.com/chuckbutler)) + * - Adds support for 1.5.x series of Kubernetes + * - Introduces a tactic for keeping templates in sync with upstream eliminating template drift + * - Adds CNI support to the Juju Charms + * - Adds durable storage support to the Juju Charms + * - Introduces an e2e Charm layer for repeatable testing efforts and validation of clusters +* genericapiserver: more dependency cutoffs ([#40216](https://github.com/kubernetes/kubernetes/pull/40216), [@sttts](https://github.com/sttts)) +* AWS: trust region if found from AWS metadata ([#38880](https://github.com/kubernetes/kubernetes/pull/38880), [@justinsb](https://github.com/justinsb)) +* Volumes and environment variables populated from ConfigMap and Secret objects can now tolerate the named source object or specific keys being missing, by adding `optional: true` to the volume or environment variable source specifications. ([#39981](https://github.com/kubernetes/kubernetes/pull/39981), [@fraenkel](https://github.com/fraenkel)) +* kubectl create now accepts the label selector flag for filtering objects to create ([#40057](https://github.com/kubernetes/kubernetes/pull/40057), [@MrHohn](https://github.com/MrHohn)) +* A new field `terminationMessagePolicy` has been added to containers that allows a user to request `FallbackToLogsOnError`, which will read from the container's logs to populate the termination message if the user does not write to the termination message log file. The termination message file is now properly readable for end users and has a maximum size (4k bytes) to prevent abuse. Each pod may have up to 12k bytes of termination messages before the contents of each will be truncated. ([#39341](https://github.com/kubernetes/kubernetes/pull/39341), [@smarterclayton](https://github.com/smarterclayton)) +* Add a special purpose tool for editing individual fields in a ConfigMap with kubectl ([#38445](https://github.com/kubernetes/kubernetes/pull/38445), [@brendandburns](https://github.com/brendandburns)) +* [Federation] Expose autoscaling apis through federation api server ([#38976](https://github.com/kubernetes/kubernetes/pull/38976), [@irfanurrehman](https://github.com/irfanurrehman)) +* Powershell script to start kubelet and kube-proxy ([#36250](https://github.com/kubernetes/kubernetes/pull/36250), [@jbhurat](https://github.com/jbhurat)) +* Reduce time needed to attach Azure disks ([#40066](https://github.com/kubernetes/kubernetes/pull/40066), [@codablock](https://github.com/codablock)) +* fixing Cassandra shutdown example to avoid data corruption ([#39199](https://github.com/kubernetes/kubernetes/pull/39199), [@deimosfr](https://github.com/deimosfr)) +* kubeadm: add optional self-hosted deployment for apiserver, controller-manager and scheduler. ([#40075](https://github.com/kubernetes/kubernetes/pull/40075), [@pires](https://github.com/pires)) +* kubelet tears down pod volumes on pod termination rather than pod deletion ([#37228](https://github.com/kubernetes/kubernetes/pull/37228), [@sjenning](https://github.com/sjenning)) +* The default client certificate generated by kube-up now contains the superuser `system:masters` group ([#39966](https://github.com/kubernetes/kubernetes/pull/39966), [@liggitt](https://github.com/liggitt)) +* CRI: upgrade protobuf to v3 ([#39158](https://github.com/kubernetes/kubernetes/pull/39158), [@feiskyer](https://github.com/feiskyer)) +* Add SIGCHLD handler to pause container ([#36853](https://github.com/kubernetes/kubernetes/pull/36853), [@verb](https://github.com/verb)) +* Populate environment variables from a secrets. ([#39446](https://github.com/kubernetes/kubernetes/pull/39446), [@fraenkel](https://github.com/fraenkel)) +* fluentd config for GKE clusters updated: detect exceptions in container log streams and forward them as one log entry. ([#39656](https://github.com/kubernetes/kubernetes/pull/39656), [@thomasschickinger](https://github.com/thomasschickinger)) +* Made multi-scheduler graduated to Beta and then v1. ([#38871](https://github.com/kubernetes/kubernetes/pull/38871), [@k82cn](https://github.com/k82cn)) +* Fixed forming resolver search line for pods: exclude duplicates, obey libc limitations, logging and eventing appropriately. ([#29666](https://github.com/kubernetes/kubernetes/pull/29666), [@vefimova](https://github.com/vefimova)) +* Add authorization mode to kubeadm ([#39846](https://github.com/kubernetes/kubernetes/pull/39846), [@andrewrynhard](https://github.com/andrewrynhard)) +* Update dependencies: aws-sdk-go to 1.6.10; also cadvisor ([#40095](https://github.com/kubernetes/kubernetes/pull/40095), [@dashpole](https://github.com/dashpole)) +* Fixes a bug in the OpenStack-Heat kubernetes provider, in the handling of differences between the Identity v2 and Identity v3 APIs ([#40105](https://github.com/kubernetes/kubernetes/pull/40105), [@sc68cal](https://github.com/sc68cal)) +* Update GCE ContainerVM deployment to container-vm-v20170117 to pick up CVE fixes in base image. ([#40094](https://github.com/kubernetes/kubernetes/pull/40094), [@zmerlynn](https://github.com/zmerlynn)) +* AWS: Remove duplicate calls to DescribeInstance during volume operations ([#39842](https://github.com/kubernetes/kubernetes/pull/39842), [@gnufied](https://github.com/gnufied)) +* The `attributeRestrictions` field has been removed from the PolicyRule type in the rbac.authorization.k8s.io/v1alpha1 API. The field was not used by the RBAC authorizer. ([#39625](https://github.com/kubernetes/kubernetes/pull/39625), [@deads2k](https://github.com/deads2k)) +* Enable lazy inode table and journal initialization for ext3 and ext4 ([#38865](https://github.com/kubernetes/kubernetes/pull/38865), [@codablock](https://github.com/codablock)) +* azure disk: restrict name length for Azure specifications ([#40030](https://github.com/kubernetes/kubernetes/pull/40030), [@colemickens](https://github.com/colemickens)) +* Follow redirects for streaming requests (exec/attach/port-forward) in the apiserver by default (alpha -> beta). ([#40039](https://github.com/kubernetes/kubernetes/pull/40039), [@timstclair](https://github.com/timstclair)) +* Use kube-dns:1.11.0 ([#39925](https://github.com/kubernetes/kubernetes/pull/39925), [@sadlil](https://github.com/sadlil)) +* Anonymous authentication is now automatically disabled if the API server is started with the AlwaysAllow authorizer. ([#38706](https://github.com/kubernetes/kubernetes/pull/38706), [@deads2k](https://github.com/deads2k)) +* genericapiserver: cut off kube pkg/version dependency ([#39943](https://github.com/kubernetes/kubernetes/pull/39943), [@sttts](https://github.com/sttts)) +* genericapiserver: cut off pkg/serviceaccount dependency ([#39945](https://github.com/kubernetes/kubernetes/pull/39945), [@sttts](https://github.com/sttts)) +* Move pkg/api/rest into genericapiserver ([#39948](https://github.com/kubernetes/kubernetes/pull/39948), [@sttts](https://github.com/sttts)) +* genericapiserver: cut off pkg/apis/extensions and pkg/storage dependencies ([#39946](https://github.com/kubernetes/kubernetes/pull/39946), [@sttts](https://github.com/sttts)) +* genericapiserver: cut off certificates api dependency ([#39947](https://github.com/kubernetes/kubernetes/pull/39947), [@sttts](https://github.com/sttts)) +* Admission control support for versioned configuration files ([#39109](https://github.com/kubernetes/kubernetes/pull/39109), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* Fix issue around merging lists of primitives when using PATCH or kubectl apply. ([#38665](https://github.com/kubernetes/kubernetes/pull/38665), [@ymqytw](https://github.com/ymqytw)) +* Fixes API compatibility issue with empty lists incorrectly returning a null `items` field instead of an empty array. ([#39834](https://github.com/kubernetes/kubernetes/pull/39834), [@liggitt](https://github.com/liggitt)) +* [scheduling] Moved pod affinity and anti-affinity from annotations to api fields [#25319](https://github.com/kubernetes/kubernetes/pull/25319) ([#39478](https://github.com/kubernetes/kubernetes/pull/39478), [@rrati](https://github.com/rrati)) +* PodSecurityPolicy resource is now enabled by default in the extensions API group. ([#39743](https://github.com/kubernetes/kubernetes/pull/39743), [@pweil-](https://github.com/pweil-)) +* add --controllers to controller manager ([#39740](https://github.com/kubernetes/kubernetes/pull/39740), [@deads2k](https://github.com/deads2k)) +* proxy/iptables: don't sync proxy rules if services map didn't change ([#38996](https://github.com/kubernetes/kubernetes/pull/38996), [@dcbw](https://github.com/dcbw)) +* NONE ([#39768](https://github.com/kubernetes/kubernetes/pull/39768), [@rkouj](https://github.com/rkouj)) +* Update amd64 kube-proxy base image to debian-iptables-amd64:v5 ([#39725](https://github.com/kubernetes/kubernetes/pull/39725), [@ixdy](https://github.com/ixdy)) +* Update dashboard version to v1.5.1 ([#39662](https://github.com/kubernetes/kubernetes/pull/39662), [@rf232](https://github.com/rf232)) +* Fix kubectl get -f -o so it prints all items in the file ([#39038](https://github.com/kubernetes/kubernetes/pull/39038), [@ncdc](https://github.com/ncdc)) +* Scheduler treats StatefulSet pods as belonging to a single equivalence class. ([#39718](https://github.com/kubernetes/kubernetes/pull/39718), [@foxish](https://github.com/foxish)) +* --basic-auth-file supports optionally specifying groups in the fourth column of the file ([#39651](https://github.com/kubernetes/kubernetes/pull/39651), [@liggitt](https://github.com/liggitt)) +* To create or update an RBAC RoleBinding or ClusterRoleBinding object, a user must: ([#39383](https://github.com/kubernetes/kubernetes/pull/39383), [@liggitt](https://github.com/liggitt)) + * Be authorized to make the create or update API request + * Be allowed to bind the referenced role, either by already having all of the permissions contained in the referenced role, or by having the `bind` permission on the referenced role. +* Fixes an HPA-related panic due to division-by-zero. ([#39694](https://github.com/kubernetes/kubernetes/pull/39694), [@DirectXMan12](https://github.com/DirectXMan12)) +* federation: Adding support for DeleteOptions.OrphanDependents for federated services. Setting it to false while deleting a federated service also deletes the corresponding services from all registered clusters. ([#36390](https://github.com/kubernetes/kubernetes/pull/36390), [@nikhiljindal](https://github.com/nikhiljindal)) +* Update kube-proxy image to be based off of Debian 8.6 base image. ([#39695](https://github.com/kubernetes/kubernetes/pull/39695), [@ixdy](https://github.com/ixdy)) +* Update FitError as a message component into the PodConditionUpdater. ([#39491](https://github.com/kubernetes/kubernetes/pull/39491), [@jayunit100](https://github.com/jayunit100)) +* rename kubernetes-discovery to kube-aggregator ([#39619](https://github.com/kubernetes/kubernetes/pull/39619), [@deads2k](https://github.com/deads2k)) +* Allow missing keys in templates by default ([#39486](https://github.com/kubernetes/kubernetes/pull/39486), [@ncdc](https://github.com/ncdc)) +* Caching added to the OIDC client auth plugin to fix races and reduce the time kubectl commands using this plugin take by several seconds. ([#38167](https://github.com/kubernetes/kubernetes/pull/38167), [@ericchiang](https://github.com/ericchiang)) +* AWS: recognize eu-west-2 region ([#38746](https://github.com/kubernetes/kubernetes/pull/38746), [@justinsb](https://github.com/justinsb)) +* Provide kubernetes-controller-manager flags to control volume attach/detach reconciler sync. The duration of the syncs can be controlled, and the syncs can be shut off as well. ([#39551](https://github.com/kubernetes/kubernetes/pull/39551), [@chrislovecnm](https://github.com/chrislovecnm)) +* Generate OpenAPI definition for inlined types ([#39466](https://github.com/kubernetes/kubernetes/pull/39466), [@mbohlool](https://github.com/mbohlool)) +* ShortcutExpander has been extended in a way that it will examine a ha… ([#38835](https://github.com/kubernetes/kubernetes/pull/38835), [@p0lyn0mial](https://github.com/p0lyn0mial)) +* fixes nil dereference when doing a volume type check on persistent volumes ([#39493](https://github.com/kubernetes/kubernetes/pull/39493), [@sjenning](https://github.com/sjenning)) +* Fix issue with PodDisruptionBudgets in which `minAvailable` specified as a percentage did not work with StatefulSet Pods. ([#39454](https://github.com/kubernetes/kubernetes/pull/39454), [@foxish](https://github.com/foxish)) +* fix issue with kubectl proxy so that it will proxy an empty path - e.g. http://localhost:8001 ([#39226](https://github.com/kubernetes/kubernetes/pull/39226), [@luksa](https://github.com/luksa)) +* Check if pathExists before performing Unmount ([#39311](https://github.com/kubernetes/kubernetes/pull/39311), [@rkouj](https://github.com/rkouj)) +* Adding kubectl tests for federation ([#38844](https://github.com/kubernetes/kubernetes/pull/38844), [@nikhiljindal](https://github.com/nikhiljindal)) +* Fix comment and optimize code ([#38084](https://github.com/kubernetes/kubernetes/pull/38084), [@tanshanshan](https://github.com/tanshanshan)) +* When using OIDC authentication and specifying --oidc-username-claim=email, an `"email_verified":true` claim must be returned from the identity provider. ([#36087](https://github.com/kubernetes/kubernetes/pull/36087), [@ericchiang](https://github.com/ericchiang)) +* Allow pods to define multiple environment variables from a whole ConfigMap ([#36245](https://github.com/kubernetes/kubernetes/pull/36245), [@fraenkel](https://github.com/fraenkel)) +* Refactor the certificate and kubeconfig code in the kubeadm binary into two phases ([#39280](https://github.com/kubernetes/kubernetes/pull/39280), [@luxas](https://github.com/luxas)) +* Added support for printing in all supported `--output` formats to `kubectl create ...` and `kubectl apply ...` ([#38112](https://github.com/kubernetes/kubernetes/pull/38112), [@juanvallejo](https://github.com/juanvallejo)) +* genericapiserver: extract CA cert from server cert and SNI cert chains ([#39022](https://github.com/kubernetes/kubernetes/pull/39022), [@sttts](https://github.com/sttts)) +* Endpoints, that tolerate unready Pods, are now listing Pods in state Terminating as well ([#37093](https://github.com/kubernetes/kubernetes/pull/37093), [@simonswine](https://github.com/simonswine)) +* DaemonSet ObservedGeneration ([#39157](https://github.com/kubernetes/kubernetes/pull/39157), [@lukaszo](https://github.com/lukaszo)) +* The `--reconcile-cidr` kubelet flag was removed since it had been deprecated since v1.5 ([#39322](https://github.com/kubernetes/kubernetes/pull/39322), [@luxas](https://github.com/luxas)) +* Add ready replicas in Deployments ([#37959](https://github.com/kubernetes/kubernetes/pull/37959), [@kargakis](https://github.com/kargakis)) +* Remove all MAINTAINER statements in Dockerfiles in the codebase as they are deprecated by docker ([#38927](https://github.com/kubernetes/kubernetes/pull/38927), [@luxas](https://github.com/luxas)) +* Remove the deprecated vsphere kube-up. ([#39140](https://github.com/kubernetes/kubernetes/pull/39140), [@kerneltime](https://github.com/kerneltime)) +* Kubectl top now also accepts short forms for "node" and "pod" ("no", "po") ([#39218](https://github.com/kubernetes/kubernetes/pull/39218), [@luksa](https://github.com/luksa)) +* Remove 'exec' network plugin - use CNI instead ([#39254](https://github.com/kubernetes/kubernetes/pull/39254), [@freehan](https://github.com/freehan)) +* Add three more columns to `kubectl get deploy -o wide` output. ([#39240](https://github.com/kubernetes/kubernetes/pull/39240), [@xingzhou](https://github.com/xingzhou)) +* Add path exist check in getPodVolumePathListFromDisk ([#38909](https://github.com/kubernetes/kubernetes/pull/38909), [@jingxu97](https://github.com/jingxu97)) +* Begin paths for internationalization in kubectl ([#36802](https://github.com/kubernetes/kubernetes/pull/36802), [@brendandburns](https://github.com/brendandburns)) +* Fixes an issue where commas were not accepted in --from-literal flags when creating secrets. Passing multiple values separated by a comma in a single --from-literal flag is no longer supported. Please use multiple --from-literal flags to provide multiple values. ([#35191](https://github.com/kubernetes/kubernetes/pull/35191), [@SamiHiltunen](https://github.com/SamiHiltunen)) +* Support loading UTF16 files if a byte-order-mark is present ([#39008](https://github.com/kubernetes/kubernetes/pull/39008), [@brendandburns](https://github.com/brendandburns)) +* Fix fsGroup to vSphere ([#38655](https://github.com/kubernetes/kubernetes/pull/38655), [@abrarshivani](https://github.com/abrarshivani)) +* ReplicaSet has onwer ref of the Deployment that created it ([#35676](https://github.com/kubernetes/kubernetes/pull/35676), [@krmayankk](https://github.com/krmayankk)) +* Don't evict static pods ([#39059](https://github.com/kubernetes/kubernetes/pull/39059), [@bprashanth](https://github.com/bprashanth)) +* Fixed a bug where the --server, --token, and --certificate-authority flags were not overriding the related in-cluster configs when provided in a `kubectl` call inside a cluster. ([#39006](https://github.com/kubernetes/kubernetes/pull/39006), [@fabianofranz](https://github.com/fabianofranz)) +* Make fluentd pods critical ([#39146](https://github.com/kubernetes/kubernetes/pull/39146), [@Crassirostris](https://github.com/Crassirostris)) +* assign -998 as the oom_score_adj for critical pods (e.g. kube-proxy) ([#39114](https://github.com/kubernetes/kubernetes/pull/39114), [@dchen1107](https://github.com/dchen1107)) +* delete continue in monitorNodeStatus ([#38798](https://github.com/kubernetes/kubernetes/pull/38798), [@NickrenREN](https://github.com/NickrenREN)) +* add create rolebinding ([#38991](https://github.com/kubernetes/kubernetes/pull/38991), [@deads2k](https://github.com/deads2k)) +* Add new command "kubectl set selector" ([#38966](https://github.com/kubernetes/kubernetes/pull/38966), [@kargakis](https://github.com/kargakis)) +* Federation: Add `batch/jobs` API objects to federation-apiserver ([#35943](https://github.com/kubernetes/kubernetes/pull/35943), [@jianhuiz](https://github.com/jianhuiz)) +* ABAC policies using `"user":"*"` or `"group":"*"` to match all users or groups will only match authenticated requests. To match unauthenticated requests, ABAC policies must explicitly specify `"group":"system:unauthenticated"` ([#38968](https://github.com/kubernetes/kubernetes/pull/38968), [@liggitt](https://github.com/liggitt)) +* To add local registry to libvirt_coreos ([#36751](https://github.com/kubernetes/kubernetes/pull/36751), [@sdminonne](https://github.com/sdminonne)) +* Add a KUBERNETES_NODE_* section to build kubelet/kube-proxy for windows ([#38919](https://github.com/kubernetes/kubernetes/pull/38919), [@brendandburns](https://github.com/brendandburns)) +* Added kubeadm commands to manage bootstrap tokens and the duration they are valid for. ([#35805](https://github.com/kubernetes/kubernetes/pull/35805), [@dgoodwin](https://github.com/dgoodwin)) +* AWS: Recognize ca-central-1 region ([#38410](https://github.com/kubernetes/kubernetes/pull/38410), [@justinsb](https://github.com/justinsb)) +* Unmount operation should not fail if volume is already unmounted ([#38547](https://github.com/kubernetes/kubernetes/pull/38547), [@rkouj](https://github.com/rkouj)) +* Changed default scsi controller type in vSphere Cloud Provider ([#38426](https://github.com/kubernetes/kubernetes/pull/38426), [@abrarshivani](https://github.com/abrarshivani)) +* Move non-generic apiserver code out of the generic packages ([#38191](https://github.com/kubernetes/kubernetes/pull/38191), [@sttts](https://github.com/sttts)) +* Remove extensions/v1beta1 Jobs resource, and job/v1beta1 generator. ([#38614](https://github.com/kubernetes/kubernetes/pull/38614), [@soltysh](https://github.com/soltysh)) +* Admit critical pods in the kubelet ([#38836](https://github.com/kubernetes/kubernetes/pull/38836), [@bprashanth](https://github.com/bprashanth)) +* Use daemonset in docker registry add on ([#35582](https://github.com/kubernetes/kubernetes/pull/35582), [@surajssd](https://github.com/surajssd)) +* Node affinity has moved from annotations to api fields in the pod spec. Node affinity that is defined in the annotations will be ignored. ([#37299](https://github.com/kubernetes/kubernetes/pull/37299), [@rrati](https://github.com/rrati)) +* Since `kubernetes.tar.gz` no longer includes client or server binaries, `cluster/kube-{up,down,push}.sh` now automatically download released binaries if they are missing. ([#38730](https://github.com/kubernetes/kubernetes/pull/38730), [@ixdy](https://github.com/ixdy)) +* genericapiserver: turn APIContainer.SecretRoutes into a real ServeMux ([#38826](https://github.com/kubernetes/kubernetes/pull/38826), [@sttts](https://github.com/sttts)) +* Migrated fluentd addon to daemon set ([#32088](https://github.com/kubernetes/kubernetes/pull/32088), [@piosz](https://github.com/piosz)) +* AWS: Add sequential allocator for device names. ([#38818](https://github.com/kubernetes/kubernetes/pull/38818), [@jsafrane](https://github.com/jsafrane)) +* Add 'X-Content-Type-Options: nosniff" to some error messages ([#37190](https://github.com/kubernetes/kubernetes/pull/37190), [@brendandburns](https://github.com/brendandburns)) +* Display pod node selectors with kubectl describe. ([#36396](https://github.com/kubernetes/kubernetes/pull/36396), [@aveshagarwal](https://github.com/aveshagarwal)) +* The main repository does not keep multiple releases of clientsets anymore. Please find previous releases at https://github.com/kubernetes/client-go ([#38154](https://github.com/kubernetes/kubernetes/pull/38154), [@caesarxuchao](https://github.com/caesarxuchao)) +* Remove a release-note on multiple OpenAPI specs ([#38732](https://github.com/kubernetes/kubernetes/pull/38732), [@mbohlool](https://github.com/mbohlool)) +* genericapiserver: unify swagger and openapi in config ([#38690](https://github.com/kubernetes/kubernetes/pull/38690), [@sttts](https://github.com/sttts)) +* fix connection upgrades through kuberentes-discovery ([#38724](https://github.com/kubernetes/kubernetes/pull/38724), [@deads2k](https://github.com/deads2k)) +* Fixes bug in resolving client-requested API versions ([#38533](https://github.com/kubernetes/kubernetes/pull/38533), [@DirectXMan12](https://github.com/DirectXMan12)) +* apiserver(s): Replace glog.Fatals with fmt.Errorfs ([#38175](https://github.com/kubernetes/kubernetes/pull/38175), [@sttts](https://github.com/sttts)) +* Remove Azure Subnet RouteTable check ([#38334](https://github.com/kubernetes/kubernetes/pull/38334), [@mogthesprog](https://github.com/mogthesprog)) +* Ensure the GCI metadata files do not have newline at the end ([#38727](https://github.com/kubernetes/kubernetes/pull/38727), [@Amey-D](https://github.com/Amey-D)) +* Significantly speed-up make ([#38700](https://github.com/kubernetes/kubernetes/pull/38700), [@sttts](https://github.com/sttts)) +* add QoS pod status field ([#37968](https://github.com/kubernetes/kubernetes/pull/37968), [@sjenning](https://github.com/sjenning)) +* Fixed validation of multizone cluster for GCE ([#38695](https://github.com/kubernetes/kubernetes/pull/38695), [@jszczepkowski](https://github.com/jszczepkowski)) +* Fixed detection of master during creation of multizone nodes cluster by kube-up. ([#38617](https://github.com/kubernetes/kubernetes/pull/38617), [@jszczepkowski](https://github.com/jszczepkowski)) +* Update CHANGELOG.md to warn about anon auth flag ([#38675](https://github.com/kubernetes/kubernetes/pull/38675), [@erictune](https://github.com/erictune)) +* Fixes NotAuthenticated errors that appear in the kubelet and kube-controller-manager due to never logging in to vSphere ([#36169](https://github.com/kubernetes/kubernetes/pull/36169), [@robdaemon](https://github.com/robdaemon)) +* Fix an issue where AWS tear-down leaks an DHCP Option Set. ([#38645](https://github.com/kubernetes/kubernetes/pull/38645), [@zmerlynn](https://github.com/zmerlynn)) +* Issue a warning when using `kubectl apply` on a resource lacking the `LastAppliedConfig` annotation ([#36672](https://github.com/kubernetes/kubernetes/pull/36672), [@ymqytw](https://github.com/ymqytw)) +* Re-add /healthz/ping handler in genericapiserver ([#38603](https://github.com/kubernetes/kubernetes/pull/38603), [@sttts](https://github.com/sttts)) +* Fail kubelet if runtime is unresponsive for 30 seconds ([#38527](https://github.com/kubernetes/kubernetes/pull/38527), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* Add support for Azure Container Registry, update Azure dependencies ([#37783](https://github.com/kubernetes/kubernetes/pull/37783), [@brendandburns](https://github.com/brendandburns)) +* Fix panic in vSphere cloud provider ([#38423](https://github.com/kubernetes/kubernetes/pull/38423), [@BaluDontu](https://github.com/BaluDontu)) +* fix broken cluster/centos and enhance the style ([#34002](https://github.com/kubernetes/kubernetes/pull/34002), [@xiaoping378](https://github.com/xiaoping378)) +* Ability to quota storage by storage class ([#34554](https://github.com/kubernetes/kubernetes/pull/34554), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* [Part 2] Adding s390x cross-compilation support for gcr.io images in this repo ([#36050](https://github.com/kubernetes/kubernetes/pull/36050), [@gajju26](https://github.com/gajju26)) +* kubectl run --rm no longer prints "pod xxx deleted" ([#38429](https://github.com/kubernetes/kubernetes/pull/38429), [@duglin](https://github.com/duglin)) +* Bump GCE debian image to container-vm-v20161208 ([release notes](https://cloud.google.com/compute/docs/containers/container_vms#changelog)) ([#38432](https://github.com/kubernetes/kubernetes/pull/38432), [@timstclair](https://github.com/timstclair)) +* Kubelet: Add image cache. ([#38375](https://github.com/kubernetes/kubernetes/pull/38375), [@Random-Liu](https://github.com/Random-Liu)) +* Allow a selector when retrieving logs ([#32752](https://github.com/kubernetes/kubernetes/pull/32752), [@fraenkel](https://github.com/fraenkel)) +* Fix unmountDevice issue caused by shared mount in GCI ([#38411](https://github.com/kubernetes/kubernetes/pull/38411), [@jingxu97](https://github.com/jingxu97)) +* [Federation] Implement dry run support in kubefed init ([#36447](https://github.com/kubernetes/kubernetes/pull/36447), [@irfanurrehman](https://github.com/irfanurrehman)) +* Fix space issue in volumePath with vSphere Cloud Provider ([#38338](https://github.com/kubernetes/kubernetes/pull/38338), [@BaluDontu](https://github.com/BaluDontu)) +* [Federation] Make federation etcd PVC size configurable ([#36310](https://github.com/kubernetes/kubernetes/pull/36310), [@irfanurrehman](https://github.com/irfanurrehman)) +* Allow no ports when exposing headless service ([#32811](https://github.com/kubernetes/kubernetes/pull/32811), [@fraenkel](https://github.com/fraenkel)) +* Wait for the port to be ready before starting ([#38260](https://github.com/kubernetes/kubernetes/pull/38260), [@fraenkel](https://github.com/fraenkel)) +* Add Version to the resource printer for 'get nodes' ([#37943](https://github.com/kubernetes/kubernetes/pull/37943), [@ailusazh](https://github.com/ailusazh)) +* contribute deis/registry-proxy as a replacement for kube-registry-proxy ([#35797](https://github.com/kubernetes/kubernetes/pull/35797), [@bacongobbler](https://github.com/bacongobbler)) +* [Part 1] Add support for cross-compiling s390x binaries ([#37092](https://github.com/kubernetes/kubernetes/pull/37092), [@gajju26](https://github.com/gajju26)) +* kernel memcg notification enabled via experimental flag ([#38258](https://github.com/kubernetes/kubernetes/pull/38258), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* fix permissions when using fsGroup ([#37009](https://github.com/kubernetes/kubernetes/pull/37009), [@sjenning](https://github.com/sjenning)) +* Pipe get options to storage ([#37693](https://github.com/kubernetes/kubernetes/pull/37693), [@wojtek-t](https://github.com/wojtek-t)) +* add a configuration for kubelet to register as a node with taints ([#31647](https://github.com/kubernetes/kubernetes/pull/31647), [@mikedanese](https://github.com/mikedanese)) +* Remove genericapiserver.Options.MasterServiceNamespace ([#38186](https://github.com/kubernetes/kubernetes/pull/38186), [@sttts](https://github.com/sttts)) +* The --long-running-request-regexp flag to kube-apiserver is deprecated and will be removed in a future release. Long-running requests are now detected based on specific verbs (watch, proxy) or subresources (proxy, portforward, log, exec, attach). ([#38119](https://github.com/kubernetes/kubernetes/pull/38119), [@liggitt](https://github.com/liggitt)) +* Better compat with very old iptables (e.g. CentOS 6) ([#37594](https://github.com/kubernetes/kubernetes/pull/37594), [@thockin](https://github.com/thockin)) +* Fix GCI mounter issue ([#38124](https://github.com/kubernetes/kubernetes/pull/38124), [@jingxu97](https://github.com/jingxu97)) +* Kubelet will no longer set hairpin mode on every interface on the machine when an error occurs in setting up hairpin for a specific interface. ([#36990](https://github.com/kubernetes/kubernetes/pull/36990), [@bboreham](https://github.com/bboreham)) +* fix mesos unit tests ([#38196](https://github.com/kubernetes/kubernetes/pull/38196), [@deads2k](https://github.com/deads2k)) +* Add `--controllers` flag to federation controller manager for enable/disable federation ingress controller ([#36643](https://github.com/kubernetes/kubernetes/pull/36643), [@kzwang](https://github.com/kzwang)) +* Allow backendpools in Azure Load Balancers which are not owned by cloud provider ([#36882](https://github.com/kubernetes/kubernetes/pull/36882), [@codablock](https://github.com/codablock)) +* remove rbac super user ([#38121](https://github.com/kubernetes/kubernetes/pull/38121), [@deads2k](https://github.com/deads2k)) +* API server have two separate limits for read-only and mutating inflight requests. ([#36064](https://github.com/kubernetes/kubernetes/pull/36064), [@gmarek](https://github.com/gmarek)) +* check the value of min and max in kubectl ([#37789](https://github.com/kubernetes/kubernetes/pull/37789), [@yarntime](https://github.com/yarntime)) +* The glusterfs dynamic volume provisioner will now choose a unique GID for new persistent volumes from a range that can be configured in the storage class with the "gidMin" and "gidMax" parameters. The default range is 2000 - 2147483647 (max int32). ([#37886](https://github.com/kubernetes/kubernetes/pull/37886), [@obnoxxx](https://github.com/obnoxxx)) +* Add kubectl create poddisruptionbudget command ([#36646](https://github.com/kubernetes/kubernetes/pull/36646), [@kargakis](https://github.com/kargakis)) +* Set kernel.softlockup_panic =1 based on the flag. ([#38001](https://github.com/kubernetes/kubernetes/pull/38001), [@dchen1107](https://github.com/dchen1107)) +* portfordwardtester: avoid data loss during send+close+exit ([#37103](https://github.com/kubernetes/kubernetes/pull/37103), [@sttts](https://github.com/sttts)) +* Enable containerized mounter only for nfs and glusterfs types ([#37990](https://github.com/kubernetes/kubernetes/pull/37990), [@jingxu97](https://github.com/jingxu97)) +* Add flag to enable contention profiling in scheduler. ([#37357](https://github.com/kubernetes/kubernetes/pull/37357), [@gmarek](https://github.com/gmarek)) +* Add kubernetes-anywhere as a new e2e deployment option ([#37019](https://github.com/kubernetes/kubernetes/pull/37019), [@pipejakob](https://github.com/pipejakob)) +* add create clusterrolebinding command ([#37098](https://github.com/kubernetes/kubernetes/pull/37098), [@deads2k](https://github.com/deads2k)) +* kubectl create service externalname ([#34789](https://github.com/kubernetes/kubernetes/pull/34789), [@AdoHe](https://github.com/AdoHe)) +* Fix logic error in graceful deletion ([#37721](https://github.com/kubernetes/kubernetes/pull/37721), [@derekwaynecarr](https://github.com/derekwaynecarr)) +* Exit with error if is not the final parameter. ([#37723](https://github.com/kubernetes/kubernetes/pull/37723), [@mtaufen](https://github.com/mtaufen)) +* Fix Service Update on LoadBalancerSourceRanges Field ([#37720](https://github.com/kubernetes/kubernetes/pull/37720), [@freehan](https://github.com/freehan)) +* Bug fix. Incoming UDP packets not reach newly deployed services ([#32561](https://github.com/kubernetes/kubernetes/pull/32561), [@zreigz](https://github.com/zreigz)) +* GCI: Remove /var/lib/docker/network ([#37593](https://github.com/kubernetes/kubernetes/pull/37593), [@yujuhong](https://github.com/yujuhong)) +* configure local-up-cluster.sh to handle auth proxies ([#36838](https://github.com/kubernetes/kubernetes/pull/36838), [@deads2k](https://github.com/deads2k)) +* Add `clusterid`, an optional parameter to storageclass. ([#36437](https://github.com/kubernetes/kubernetes/pull/36437), [@humblec](https://github.com/humblec)) +* local-up-cluster: avoid sudo for control plane ([#37443](https://github.com/kubernetes/kubernetes/pull/37443), [@sttts](https://github.com/sttts)) +* Add error message when trying to use clusterrole with namespace in kubectl ([#36424](https://github.com/kubernetes/kubernetes/pull/36424), [@xilabao](https://github.com/xilabao)) +* `kube-up.sh`/`kube-down.sh` no longer force update gcloud for provider=gce|gke. ([#36292](https://github.com/kubernetes/kubernetes/pull/36292), [@jlowdermilk](https://github.com/jlowdermilk)) +* Fix issue when attempting to unmount a wrong vSphere volume ([#37413](https://github.com/kubernetes/kubernetes/pull/37413), [@BaluDontu](https://github.com/BaluDontu)) +* Fix the equality checks for numeric values in cluster/gce/util.sh. ([#37638](https://github.com/kubernetes/kubernetes/pull/37638), [@roberthbailey](https://github.com/roberthbailey)) +* kubelet: don't reject pods without adding them to the pod manager ([#37661](https://github.com/kubernetes/kubernetes/pull/37661), [@yujuhong](https://github.com/yujuhong)) +* Modify GCI mounter to enable NFSv3 ([#37582](https://github.com/kubernetes/kubernetes/pull/37582), [@jingxu97](https://github.com/jingxu97)) +* Fix photon controller plugin to construct with correct PdID ([#37167](https://github.com/kubernetes/kubernetes/pull/37167), [@luomiao](https://github.com/luomiao)) +* Collect logs for dead kubelets too ([#37671](https://github.com/kubernetes/kubernetes/pull/37671), [@mtaufen](https://github.com/mtaufen)) +* Set Dashboard UI version to v1.5.0 ([#37684](https://github.com/kubernetes/kubernetes/pull/37684), [@rf232](https://github.com/rf232)) +* When deleting an object with `--grace-period=0`, the client will begin a graceful deletion and wait until the resource is fully deleted. To force deletion, use the `--force` flag. ([#37263](https://github.com/kubernetes/kubernetes/pull/37263), [@smarterclayton](https://github.com/smarterclayton)) +* federation service controller: stop deleting services from underlying clusters when federated service is deleted. ([#37353](https://github.com/kubernetes/kubernetes/pull/37353), [@nikhiljindal](https://github.com/nikhiljindal)) +* Fix nil pointer dereference in test framework ([#37583](https://github.com/kubernetes/kubernetes/pull/37583), [@mtaufen](https://github.com/mtaufen)) +* Kubernetes now automatically installs a StorageClass object when deployed on ([#31617](https://github.com/kubernetes/kubernetes/pull/31617), [@jsafrane](https://github.com/jsafrane)) + * AWS, Google Compute Engine, Google Container Engine, and OpenStack using + * the default kube-up.sh scripts. This StorageClass is marked as default so that + * a PersistentVolumeClaim without a StorageClass annotation now results in + * automatic provisioning of storage (GCE PersistentDisk on Google Cloud, AWS + * EBS on AWS, and Cinder on OpenStack). In previous versions of Kubernetes + * a PersistentVolumeClaim without a StorageClass annotation on these cloud + * platforms would be satisfied by manually-created PersistentVolume objects. + * Administrators can choose to disable this behavior by deleting the automatically + * installed StorageClass API object. Alternatively, administrators may choose to + * keep the automatically installed StorageClass and only disable the defaulting + * behavior by removing the "is-default-class" annotation from the StorageClass + * API object. +* Fix TestServiceAlloc flakes ([#37487](https://github.com/kubernetes/kubernetes/pull/37487), [@wojtek-t](https://github.com/wojtek-t)) +* Use gsed on the Mac ([#37562](https://github.com/kubernetes/kubernetes/pull/37562), [@roberthbailey](https://github.com/roberthbailey)) +* Try self-repair scheduler cache or panic ([#37379](https://github.com/kubernetes/kubernetes/pull/37379), [@wojtek-t](https://github.com/wojtek-t)) +* Fluentd/Elastisearch add-on: correctly parse and index kubernetes labels ([#36857](https://github.com/kubernetes/kubernetes/pull/36857), [@Shrugs](https://github.com/Shrugs)) +* Mention overflows when mistakenly call function FromInt ([#36487](https://github.com/kubernetes/kubernetes/pull/36487), [@xialonglee](https://github.com/xialonglee)) +* Update doc for kubectl apply ([#37397](https://github.com/kubernetes/kubernetes/pull/37397), [@ymqytw](https://github.com/ymqytw)) +* Removes shorthand flag -w from kubectl apply ([#37345](https://github.com/kubernetes/kubernetes/pull/37345), [@MrHohn](https://github.com/MrHohn)) +* Curating Owners: pkg/api ([#36525](https://github.com/kubernetes/kubernetes/pull/36525), [@apelisse](https://github.com/apelisse)) +* Reduce verbosity of volume reconciler when attaching volumes ([#36900](https://github.com/kubernetes/kubernetes/pull/36900), [@codablock](https://github.com/codablock)) +* Federated Ingress Proposal ([#29793](https://github.com/kubernetes/kubernetes/pull/29793), [@quinton-hoole](https://github.com/quinton-hoole)) + + + # v1.5.2 [Documentation](https://docs.k8s.io) & [Examples](https://releases.k8s.io/release-1.5/examples) diff --git a/vendor/k8s.io/kubernetes/CONTRIBUTING.md b/vendor/k8s.io/kubernetes/CONTRIBUTING.md index 8d98956f..470f556a 100644 --- a/vendor/k8s.io/kubernetes/CONTRIBUTING.md +++ b/vendor/k8s.io/kubernetes/CONTRIBUTING.md @@ -1,132 +1,9 @@ -# Contributing guidelines - -Want to hack on Kubernetes? Yay! - -## Developer Guide - -We have a [Developer's Guide](docs/devel/README.md) that outlines everything -you need to know from setting up your dev environment to how to get faster Pull -Request reviews. If you find something undocumented or incorrect along the way, -please feel free to send a Pull Request. - -## Filing issues - -If you have a question about Kubernetes or have a problem using it, please -start with the [troubleshooting guide](http://kubernetes.io/docs/troubleshooting/). If that -doesn't answer your questions, or if you think you found a bug, please [file an -issue](https://github.com/kubernetes/kubernetes/issues/new). - -## How to become a contributor and submit your own code - -### Contributor License Agreements - -We'd love to accept your patches! Before we can take them, we have to jump a -couple of legal hurdles. - -The Cloud Native Computing Foundation (CNCF) CLA [must be signed](https://github.com/kubernetes/community/blob/master/CLA.md) by all contributors. -Please fill out either the individual or corporate Contributor License -Agreement (CLA). - -Once you are CLA'ed, we'll be able to accept your pull requests. For any issues that you face during this process, -please add a comment [here](https://github.com/kubernetes/kubernetes/issues/27796) explaining the issue and we will help get it sorted out. - -***NOTE***: Only original source code from you and other people that have -signed the CLA can be accepted into the repository. This policy does not -apply to [third_party](third_party/) and [vendor](vendor/). - -### Finding Things That Need Help - -If you're new to the project and want to help, but don't know where to start, -we have a semi-curated list of issues that have should not need deep knowledge -of the system. [Have a look and see if anything sounds -interesting](https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted). - -Alternatively, read some of the many docs on the system, for example [the -architecture](docs/design/architecture.md), and pick a component that seems -interesting. Start with `main()` (look in the [cmd](cmd/) directory) and read -until you find something you want to fix. The best way to learn is to hack! -There's always code that can be clarified and variables or functions that can -be renamed or commented. - -### Contributing A Patch - -If you're working on an existing issue, such as one of the `help-wanted` ones -above, simply respond to the issue and express interest in working on it. This -helps other people know that the issue is active, and hopefully prevents -duplicated efforts. - -If you want to work on a new idea of relatively small scope: - -1. Submit an issue describing your proposed change to the repo in question. -1. The repo owners will respond to your issue promptly. -1. If your proposed change is accepted, and you haven't already done so, sign a - Contributor License Agreement (see details above). -1. Fork the repo, develop, and test your changes. -1. Submit a pull request. - -If you want to work on a bigger idea, we STRONGLY recommend that you start with -some bugs or smaller features. We have a [feature development -process](https://github.com/kubernetes/features/blob/master/README.md), but -navigating the Kubernetes system as a newcomer can be very challenging. - -### Downloading the project - -There are a few ways you can download this code. You must download it into a -GOPATH - see [golang.org](https://golang.org/doc/code.html) for more info on -how Go works with code. This project expects to be found at the Go package -`k8s.io/kubernetes`. - -1. You can `git clone` the repo. If you do this, you MUST make sure it is in - the GOPATH as `k8s.io/kubernetes` or it may not build. E.g.: `git clone - https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes` -1. You can use `go get` to fetch the repo. This will automatically put it into - your GOPATH in the right place. E.g.: `go get -d k8s.io/kubernetes` -1. You can download an archive of the source. If you do this, you MUST make - sure it is unpacked into the GOPATH as `k8s.io/kubernetes` or it may not - build. See [rel.k8s.io](http://rel.k8s.io) for a list of available releases. - -### Building the project - -There are a few things you need to build and test this project: - -1. `make` - the human interface to the Kubernetes build is `make`, so you must - have this tool installed on your machine. We try not to use too many crazy - features of `Makefile`s and other tools, so most commonly available versions - should work. -1. `docker` - some parts of the build/test system depend on `docker`. You - need a relatively recent version of Docker installed, and available to you. -1. `go` - Kubernetes is written in Go (aka golang), so you need a relatively - recent version of the [Go toolchain](https://golang.org/dl/) installed. - While Linux is the primary platform for Kubernetes, it should compile on a - Mac, too. Windows is in progress. - -To build Kubernetes, simply type `make`. This should figure out what it needs -to do and not need any input from you. If you want to just build a subset of -code, you can pass the `WHAT` variable to `make`: e.g. `make -WHAT="cmd/kubelet"`. - -To run basic tests, simply type `make test`. This will run all of the unit -tests in the project. If you want to just test a subset of the project, you -can pass the `WHAT` variable to `make`: e.g. `make test WHAT=pkg/kubelet`. - -### Protocols for Collaborative Development - -Please read [this doc](docs/devel/collab.md) for information on how we're -running development for the project. Also take a look at the [development -guide](docs/devel/development.md) for information on how to set up your -environment, run tests, manage dependencies, etc. - -### Adding dependencies - -If your patch depends on new packages, add that package with -[`godep`](https://github.com/tools/godep). Follow the [instructions to add a -dependency](docs/devel/development.md#godep-and-dependency-management). - -### Community Expectations - -Please see our [expectations](docs/devel/community-expectations.md) for members -of the Kubernetes community. +# Contributing +Information about contributing to the +[kubernetes code repo](README.md) lives in the +[kubernetes community repo](https://github.com/kubernetes/community) +(it's a big topic). [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/CONTRIBUTING.md?pixel)]() diff --git a/vendor/k8s.io/kubernetes/Godeps/Godeps.json b/vendor/k8s.io/kubernetes/Godeps/Godeps.json index 06146de8..926d4ff9 100644 --- a/vendor/k8s.io/kubernetes/Godeps/Godeps.json +++ b/vendor/k8s.io/kubernetes/Godeps/Godeps.json @@ -1,7 +1,7 @@ { "ImportPath": "k8s.io/kubernetes", "GoVersion": "go1.7", - "GodepVersion": "v74", + "GodepVersion": "v79", "Packages": [ "github.com/ugorji/go/codec/codecgen", "github.com/onsi/ginkgo/ginkgo", @@ -16,7 +16,7 @@ { "ImportPath": "bitbucket.org/ww/goautoneg", "Comment": "null-5", - "Rev": "'75cd24fc2f2c2a2088577d12123ddee5f54e0675'" + "Rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675" }, { "ImportPath": "cloud.google.com/go/compute/metadata", @@ -63,28 +63,28 @@ }, { "ImportPath": "github.com/Azure/go-autorest/autorest", - "Comment": "v7.2.2-8-ge0c77ec", - "Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453" + "Comment": "v7.2.3", + "Rev": "d7c034a8af24eda120dd6460bfcd6d9ed14e43ca" }, { "ImportPath": "github.com/Azure/go-autorest/autorest/azure", - "Comment": "v7.2.2-8-ge0c77ec", - "Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453" + "Comment": "v7.2.3", + "Rev": "d7c034a8af24eda120dd6460bfcd6d9ed14e43ca" }, { "ImportPath": "github.com/Azure/go-autorest/autorest/date", - "Comment": "v7.2.2-8-ge0c77ec", - "Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453" + "Comment": "v7.2.3", + "Rev": "d7c034a8af24eda120dd6460bfcd6d9ed14e43ca" }, { "ImportPath": "github.com/Azure/go-autorest/autorest/to", - "Comment": "v7.2.2-8-ge0c77ec", - "Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453" + "Comment": "v7.2.3", + "Rev": "d7c034a8af24eda120dd6460bfcd6d9ed14e43ca" }, { "ImportPath": "github.com/Azure/go-autorest/autorest/validation", - "Comment": "v7.2.2-8-ge0c77ec", - "Rev": "e0c77ecbe74311e03f2a629834d2110f031f1453" + "Comment": "v7.2.3", + "Rev": "d7c034a8af24eda120dd6460bfcd6d9ed14e43ca" }, { "ImportPath": "github.com/MakeNowJust/heredoc", @@ -115,18 +115,23 @@ }, { "ImportPath": "github.com/appc/spec/schema", - "Comment": "v0.8.1-6-gab50d12", - "Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b" + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" }, { "ImportPath": "github.com/appc/spec/schema/common", - "Comment": "v0.8.1-6-gab50d12", - "Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b" + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" }, { "ImportPath": "github.com/appc/spec/schema/types", - "Comment": "v0.8.1-6-gab50d12", - "Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b" + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" + }, + { + "ImportPath": "github.com/appc/spec/schema/types/resource", + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" }, { "ImportPath": "github.com/armon/circbuf", @@ -396,6 +401,14 @@ "ImportPath": "github.com/clusterhq/flocker-go", "Rev": "2b8b7259d3139c96c4a6871031355808ab3fd3b3" }, + { + "ImportPath": "github.com/codedellemc/goscaleio", + "Rev": "8ed64a07d23f79bab973f1630651841ccc656887" + }, + { + "ImportPath": "github.com/codedellemc/goscaleio/types/v1", + "Rev": "8ed64a07d23f79bab973f1630651841ccc656887" + }, { "ImportPath": "github.com/codegangsta/negroni", "Comment": "v0.1.0-62-g8d75e11", @@ -418,283 +431,283 @@ }, { "ImportPath": "github.com/coreos/etcd/alarm", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/auth", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/auth/authpb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/client", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/clientv3", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/compactor", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/discovery", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/error", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http/httptypes", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/auth", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/membership", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/stats", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/integration", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/lease", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/lease/leasehttp", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/lease/leasepb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/mvcc", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/mvcc/backend", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/mvcc/mvccpb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/adt", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/contention", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/crc", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/fileutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/httputil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/idutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/ioutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/logutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/netutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/pathutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/pbutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/runtime", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/schedule", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/testutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/tlsutil", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/transport", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/types", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/pkg/wait", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/raft", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/raft/raftpb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/rafthttp", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/snap", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/snap/snappb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/store", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/version", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/wal", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/etcd/wal/walpb", - "Comment": "v3.0.14", - "Rev": "8a37349097a592db79ba3087f3cae9cd4b0af21c" + "Comment": "v3.0.17", + "Rev": "cc198e22d3b8fd7ec98304c95e68ee375be54589" }, { "ImportPath": "github.com/coreos/go-oidc/http", - "Rev": "5644a2f50e2d2d5ba0b474bc5bc55fea1925936d" + "Rev": "be73733bb8cc830d0205609b95d125215f8e9c70" }, { "ImportPath": "github.com/coreos/go-oidc/jose", - "Rev": "5644a2f50e2d2d5ba0b474bc5bc55fea1925936d" + "Rev": "be73733bb8cc830d0205609b95d125215f8e9c70" }, { "ImportPath": "github.com/coreos/go-oidc/key", - "Rev": "5644a2f50e2d2d5ba0b474bc5bc55fea1925936d" + "Rev": "be73733bb8cc830d0205609b95d125215f8e9c70" }, { "ImportPath": "github.com/coreos/go-oidc/oauth2", - "Rev": "5644a2f50e2d2d5ba0b474bc5bc55fea1925936d" + "Rev": "be73733bb8cc830d0205609b95d125215f8e9c70" }, { "ImportPath": "github.com/coreos/go-oidc/oidc", - "Rev": "5644a2f50e2d2d5ba0b474bc5bc55fea1925936d" + "Rev": "be73733bb8cc830d0205609b95d125215f8e9c70" }, { "ImportPath": "github.com/coreos/go-semver/semver", @@ -752,7 +765,7 @@ }, { "ImportPath": "github.com/coreos/rkt/api/v1alpha", - "Comment": "v1.11.0-59-ga83419be", + "Comment": "v1.11.0-59-ga83419b", "Rev": "a83419be28ac626876f94a28b4df2dbc9eac7448" }, { @@ -775,12 +788,12 @@ }, { "ImportPath": "github.com/docker/distribution/digest", - "Comment": "v2.4.0-rc.1-38-gcd27f179", + "Comment": "v2.4.0-rc.1-38-gcd27f17", "Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51" }, { "ImportPath": "github.com/docker/distribution/reference", - "Comment": "v2.4.0-rc.1-38-gcd27f179", + "Comment": "v2.4.0-rc.1-38-gcd27f17", "Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51" }, { @@ -947,7 +960,7 @@ }, { "ImportPath": "github.com/evanphx/json-patch", - "Rev": "465937c80b3c07a7c7ad20cc934898646a91c1de" + "Rev": "ba18e35c5c1b36ef6334cad706eb681153d2d379" }, { "ImportPath": "github.com/exponent-io/jsonpath", @@ -1024,127 +1037,127 @@ }, { "ImportPath": "github.com/gogo/protobuf/gogoproto", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/compare", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/description", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/embedcheck", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/enumstringer", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/equal", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/face", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/gostring", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/marshalto", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/populate", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/size", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/stringer", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/testgen", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/union", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/plugin/unmarshal", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/proto", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/sortkeys", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/vanity", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { "ImportPath": "github.com/gogo/protobuf/vanity/command", - "Comment": "v0.2-33-ge18d7aa8", + "Comment": "v0.2-33-ge18d7aa", "Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173" }, { @@ -1173,203 +1186,203 @@ }, { "ImportPath": "github.com/google/cadvisor/api", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/cache/memory", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/client/v2", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/collector", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container/common", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container/docker", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container/libcontainer", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container/raw", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container/rkt", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/container/systemd", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/devicemapper", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/events", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/fs", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/healthz", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/http", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/http/mux", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/info/v1", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/info/v2", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/machine", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/manager", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/manager/watcher", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/manager/watcher/raw", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/manager/watcher/rkt", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/metrics", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/pages", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/pages/static", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/storage", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/summary", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/cloudinfo", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/cpuload", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/cpuload/netlink", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/docker", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/oomparser", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/sysfs", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/sysinfo", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/utils/tail", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/validate", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/cadvisor/version", - "Comment": "v0.24.0-alpha1-82-gc30a9e7", - "Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf" + "Comment": "v0.25.0", + "Rev": "17543becf9053e7e80806a57b05002a88c79ec8a" }, { "ImportPath": "github.com/google/certificate-transparency/go", @@ -1395,6 +1408,118 @@ "ImportPath": "github.com/google/gofuzz", "Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c" }, + { + "ImportPath": "github.com/gophercloud/gophercloud", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/common/extensions", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/compute/v2/flavors", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/compute/v2/images", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/compute/v2/servers", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v3/extensions/trusts", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/floatingips", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/members", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/monitors", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/pools", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/vips", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/rules", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/networking/v2/ports", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/openstack/utils", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, + { + "ImportPath": "github.com/gophercloud/gophercloud/pagination", + "Rev": "12f19e5e04d617182cffa5c11f189ef0013b9791" + }, { "ImportPath": "github.com/gorilla/context", "Rev": "215affda49addc4c8ef7e2534915df2c8c35c6cd" @@ -1497,18 +1622,23 @@ }, { "ImportPath": "github.com/influxdata/influxdb/client", - "Comment": "v0.12.2", - "Rev": "383332daed5595926c235f250b11433f67229c35" + "Comment": "v1.1.1", + "Rev": "e47cf1f2e83a02443d7115c54f838be8ee959644" + }, + { + "ImportPath": "github.com/influxdata/influxdb/client/v2", + "Comment": "v1.1.1", + "Rev": "e47cf1f2e83a02443d7115c54f838be8ee959644" }, { "ImportPath": "github.com/influxdata/influxdb/models", - "Comment": "v0.12.2", - "Rev": "383332daed5595926c235f250b11433f67229c35" + "Comment": "v1.1.1", + "Rev": "e47cf1f2e83a02443d7115c54f838be8ee959644" }, { "ImportPath": "github.com/influxdata/influxdb/pkg/escape", - "Comment": "v0.12.2", - "Rev": "383332daed5595926c235f250b11433f67229c35" + "Comment": "v1.1.1", + "Rev": "e47cf1f2e83a02443d7115c54f838be8ee959644" }, { "ImportPath": "github.com/jmespath/go-jmespath", @@ -1546,6 +1676,30 @@ "Comment": "release.r56-29-gf7ee69f", "Rev": "f7ee69f31298ecbe5d2b349c711e2547a617d398" }, + { + "ImportPath": "github.com/libopenstorage/openstorage/api", + "Rev": "6e787003b91ddba85f108b8aede075b1af0d3606" + }, + { + "ImportPath": "github.com/libopenstorage/openstorage/api/client", + "Rev": "6e787003b91ddba85f108b8aede075b1af0d3606" + }, + { + "ImportPath": "github.com/libopenstorage/openstorage/api/client/volume", + "Rev": "6e787003b91ddba85f108b8aede075b1af0d3606" + }, + { + "ImportPath": "github.com/libopenstorage/openstorage/api/spec", + "Rev": "6e787003b91ddba85f108b8aede075b1af0d3606" + }, + { + "ImportPath": "github.com/libopenstorage/openstorage/pkg/units", + "Rev": "6e787003b91ddba85f108b8aede075b1af0d3606" + }, + { + "ImportPath": "github.com/libopenstorage/openstorage/volume", + "Rev": "6e787003b91ddba85f108b8aede075b1af0d3606" + }, { "ImportPath": "github.com/lpabon/godbc", "Comment": "v1.0-1-g9577782", @@ -1634,113 +1788,123 @@ }, { "ImportPath": "github.com/onsi/ginkgo", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/config", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo/convert", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo/interrupthandler", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo/nodot", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo/testrunner", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo/testsuite", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/ginkgo/watch", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/codelocation", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/containernode", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/failer", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/leafnodes", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/remote", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/spec", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/specrunner", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/suite", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/testingtproxy", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/internal/writer", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/reporters", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/reporters/stenographer", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" + }, + { + "ImportPath": "github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable", + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" + }, + { + "ImportPath": "github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty", + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/ginkgo/types", - "Comment": "v1.2.0-66-g74c678d", - "Rev": "74c678d97c305753605c338c6c78c49ec104b5e7" + "Comment": "v1.2.0-90-gbb93381", + "Rev": "bb93381d543b0e5725244abe752214a110791d01" }, { "ImportPath": "github.com/onsi/gomega", @@ -1898,6 +2062,7 @@ }, { "ImportPath": "github.com/pelletier/go-buffruneio", + "Comment": "v0.1.0", "Rev": "df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d" }, { @@ -1946,187 +2111,107 @@ }, { "ImportPath": "github.com/rackspace/gophercloud", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/common/extensions", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/images", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/servers", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/extensions/trust", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/floatingips", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/routers", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/members", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/vips", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules", - "Comment": "v1.0.0-1012-ge00690e8", - "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" - }, - { - "ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/ports", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/openstack/utils", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/pagination", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/rackspace", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/testhelper", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { "ImportPath": "github.com/rackspace/gophercloud/testhelper/client", - "Comment": "v1.0.0-1012-ge00690e8", + "Comment": "v1.0.0-1012-ge00690e", "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" }, { @@ -2190,7 +2275,7 @@ }, { "ImportPath": "github.com/spf13/pflag", - "Rev": "5ccb023bc27df288a957c5e994cd44fd19619465" + "Rev": "9ff6c6923cfffbcd502984b8e0c80539a94968b7" }, { "ImportPath": "github.com/spf13/viper", @@ -2249,88 +2334,93 @@ }, { "ImportPath": "github.com/vmware/govmomi", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/find", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/list", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/object", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/property", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/session", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/task", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/debug", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/methods", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/mo", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/progress", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/soap", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/types", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" }, { "ImportPath": "github.com/vmware/govmomi/vim25/xml", - "Comment": "v0.8.0-9-gb5ee639", - "Rev": "b5ee639d7aa4b8dbb48ab4f75dddc19f71b5c514" + "Comment": "v0.12.1-14-g0a28e59", + "Rev": "0a28e595c8e9e99879e8d2f796e82c5a68202ff0" + }, + { + "ImportPath": "github.com/vmware/photon-controller-go-sdk/SSPI", + "Comment": "PROMOTED-488", + "Rev": "4a435daef6ccd3d0edaac1161e76f51a70c2589a" }, { "ImportPath": "github.com/vmware/photon-controller-go-sdk/photon", - "Comment": "PROMOTED-339", - "Rev": "dd6be2029ef341cae37b2557ddd302f68176f832" + "Comment": "PROMOTED-488", + "Rev": "4a435daef6ccd3d0edaac1161e76f51a70c2589a" }, { "ImportPath": "github.com/vmware/photon-controller-go-sdk/photon/lightwave", - "Comment": "PROMOTED-339", - "Rev": "dd6be2029ef341cae37b2557ddd302f68176f832" + "Comment": "PROMOTED-488", + "Rev": "4a435daef6ccd3d0edaac1161e76f51a70c2589a" }, { "ImportPath": "github.com/xanzy/go-cloudstack/cloudstack", @@ -2346,6 +2436,10 @@ "Comment": "v1.0-13-g5292687", "Rev": "5292687f5379e01054407da44d7c4590a61fd3de" }, + { + "ImportPath": "go.pedge.io/pb/go/google/protobuf", + "Rev": "f3c84f58974dc53d460d0855337cad85843bf0df" + }, { "ImportPath": "go4.org/errorutil", "Rev": "03efcb870d84809319ea509714dd6d19a1498483" @@ -2550,6 +2644,10 @@ "ImportPath": "google.golang.org/api/googleapi/internal/uritemplates", "Rev": "55146ba61254fdb1c26d65ff3c04bc1611ad73fb" }, + { + "ImportPath": "google.golang.org/api/logging/v2beta1", + "Rev": "55146ba61254fdb1c26d65ff3c04bc1611ad73fb" + }, { "ImportPath": "google.golang.org/appengine", "Rev": "4f7eeb5305a4ba1966344836ba4af9996b7b4e05" @@ -2710,6 +2808,62 @@ "ImportPath": "k8s.io/heapster/metrics/apis/metrics/v1alpha1", "Comment": "v1.2.0-beta.1", "Rev": "c2ac40f1adf8c42a79badddb2a2acd673cae3bcb" + }, + { + "ImportPath": "k8s.io/metrics/pkg/apis/custom_metrics", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/apis/custom_metrics/install", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/apis/metrics", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/apis/metrics/install", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/apis/metrics/v1alpha1", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/clientset_generated/clientset", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/clientset_generated/clientset/fake", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/clientset_generated/clientset/scheme", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1/fake", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/custom_metrics", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "k8s.io/metrics/pkg/client/custom_metrics/fake", + "Rev": "fd2415bb9381a6731027b48a8c6b78f28e13f876" + }, + { + "ImportPath": "vbom.ml/util/sortorder", + "Rev": "db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394" } ] } diff --git a/vendor/k8s.io/kubernetes/Godeps/LICENSES b/vendor/k8s.io/kubernetes/Godeps/LICENSES index beccada1..84937327 100644 --- a/vendor/k8s.io/kubernetes/Godeps/LICENSES +++ b/vendor/k8s.io/kubernetes/Godeps/LICENSES @@ -1546,6 +1546,216 @@ Apache License ================================================================================ +================================================================================ += vendor/github.com/appc/spec/schema/types/resource licensed under: = + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + + += vendor/github.com/appc/spec/LICENSE d2794c0df5b907fdace235a619d80314 - +================================================================================ + + ================================================================================ = vendor/github.com/armon/circbuf licensed under: = @@ -11265,6 +11475,426 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ +================================================================================ += vendor/github.com/codedellemc/goscaleio licensed under: = + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + + += vendor/github.com/codedellemc/goscaleio/LICENSE d2794c0df5b907fdace235a619d80314 - +================================================================================ + + +================================================================================ += vendor/github.com/codedellemc/goscaleio/types/v1 licensed under: = + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + + += vendor/github.com/codedellemc/goscaleio/LICENSE d2794c0df5b907fdace235a619d80314 - +================================================================================ + + ================================================================================ = vendor/github.com/codegangsta/negroni licensed under: = @@ -46661,6 +47291,5578 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ +================================================================================ += vendor/github.com/gophercloud/gophercloud licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/common/extensions licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/images licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/identity/v2/tenants licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/identity/v2/tokens licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/identity/v3/extensions/trusts licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/identity/v3/tokens licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/floatingips licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/members licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/monitors licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/pools licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/vips licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/rules licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/ports licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/openstack/utils licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + +================================================================================ += vendor/github.com/gophercloud/gophercloud/pagination licensed under: = + +Copyright 2012-2013 Rackspace, Inc. + +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. + +------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + += vendor/github.com/gophercloud/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - +================================================================================ + + ================================================================================ = vendor/github.com/gorilla/context licensed under: = @@ -51776,6 +57978,34 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================================================ +================================================================================ += vendor/github.com/influxdata/influxdb/client/v2 licensed under: = + +The MIT License (MIT) + +Copyright (c) 2013-2016 Errplane Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + += vendor/github.com/influxdata/influxdb/LICENSE ba8146ad9cc2a128209983265136e06a - +================================================================================ + + ================================================================================ = vendor/github.com/influxdata/influxdb/models licensed under: = @@ -52384,6 +58614,1200 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================================================ +================================================================================ += vendor/github.com/libopenstorage/openstorage/api licensed under: = + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2015 Openstorage.org. + + 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. + += vendor/github.com/libopenstorage/openstorage/LICENSE 40c3e1c9eacda859a17048003909a2f8 - +================================================================================ + + +================================================================================ += vendor/github.com/libopenstorage/openstorage/api/client licensed under: = + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2015 Openstorage.org. + + 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. + += vendor/github.com/libopenstorage/openstorage/LICENSE 40c3e1c9eacda859a17048003909a2f8 - +================================================================================ + + +================================================================================ += vendor/github.com/libopenstorage/openstorage/api/client/volume licensed under: = + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2015 Openstorage.org. + + 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. + += vendor/github.com/libopenstorage/openstorage/LICENSE 40c3e1c9eacda859a17048003909a2f8 - +================================================================================ + + +================================================================================ += vendor/github.com/libopenstorage/openstorage/api/spec licensed under: = + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2015 Openstorage.org. + + 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. + += vendor/github.com/libopenstorage/openstorage/LICENSE 40c3e1c9eacda859a17048003909a2f8 - +================================================================================ + + +================================================================================ += vendor/github.com/libopenstorage/openstorage/pkg/units licensed under: = + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2015 Openstorage.org. + + 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. + += vendor/github.com/libopenstorage/openstorage/LICENSE 40c3e1c9eacda859a17048003909a2f8 - +================================================================================ + + +================================================================================ += vendor/github.com/libopenstorage/openstorage/volume licensed under: = + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2015 Openstorage.org. + + 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. + += vendor/github.com/libopenstorage/openstorage/LICENSE 40c3e1c9eacda859a17048003909a2f8 - +================================================================================ + + ================================================================================ = vendor/github.com/lpabon/godbc licensed under: = @@ -55182,6 +62606,62 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================================================ +================================================================================ += vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable licensed under: = + +Copyright (c) 2013-2014 Onsi Fakhouri + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + += vendor/github.com/onsi/ginkgo/LICENSE 570603114d52313cb86c0206401c9af7 - +================================================================================ + + +================================================================================ += vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty licensed under: = + +Copyright (c) 2013-2014 Onsi Fakhouri + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + += vendor/github.com/onsi/ginkgo/LICENSE 570603114d52313cb86c0206401c9af7 - +================================================================================ + + ================================================================================ = vendor/github.com/onsi/ginkgo/types licensed under: = @@ -60737,205 +68217,6 @@ specific language governing permissions and limitations under the License. ================================================================================ -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/common/extensions licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - ================================================================================ = vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume licensed under: = @@ -62528,205 +69809,6 @@ specific language governing permissions and limitations under the License. ================================================================================ -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/identity/v3/extensions/trust licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - ================================================================================ = vendor/github.com/rackspace/gophercloud/openstack/identity/v3/tokens licensed under: = @@ -62926,2792 +70008,6 @@ specific language governing permissions and limitations under the License. ================================================================================ -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/floatingips licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/routers licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/members licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/vips licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - -================================================================================ -= vendor/github.com/rackspace/gophercloud/openstack/networking/v2/ports licensed under: = - -Copyright 2012-2013 Rackspace, Inc. - -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. - ------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -= vendor/github.com/rackspace/gophercloud/LICENSE dd19699707373c2ca31531a659130416 - -================================================================================ - - ================================================================================ = vendor/github.com/rackspace/gophercloud/openstack/utils licensed under: = @@ -73330,6 +77626,88 @@ To apply the Apache License to your work, attach the following boilerplate notic += vendor/github.com/vmware/photon-controller-go-sdk/LICENSE 0de60303c844eac44e45012dac1987de - +================================================================================ + + +================================================================================ += vendor/github.com/vmware/photon-controller-go-sdk/SSPI licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and +(b) You must cause any modified files to carry prominent notices stating that You changed the files; and +(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + + + = vendor/github.com/vmware/photon-controller-go-sdk/LICENSE 0de60303c844eac44e45012dac1987de - ================================================================================ @@ -73602,6 +77980,36 @@ SOFTWARE. ================================================================================ +================================================================================ += vendor/go.pedge.io/pb/go/google/protobuf licensed under: = + +The MIT License (MIT) + +Copyright (c) 2015 Peter Edge + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + += vendor/go.pedge.io/pb/LICENSE bd5821dd74e6e83799a4a8dd9f48c43f - +================================================================================ + + ================================================================================ = vendor/go4.org/errorutil licensed under: = @@ -75562,6 +79970,41 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ +================================================================================ += vendor/google.golang.org/api/logging/v2beta1 licensed under: = + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + += vendor/google.golang.org/api/LICENSE a651bb3d8b1c412632e28823bb432b40 - +================================================================================ + + ================================================================================ = vendor/google.golang.org/appengine licensed under: = @@ -80487,3 +84930,2745 @@ Apache License = vendor/k8s.io/heapster/LICENSE 136e4f49dbf29942c572a3a8f6e88a77 - ================================================================================ + +================================================================================ += vendor/k8s.io/metrics/pkg/apis/custom_metrics licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/apis/custom_metrics/install licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1 licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/apis/metrics licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/apis/metrics/install licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1 licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset/fake licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset/scheme licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1 licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/clientset_generated/clientset/typed/metrics/v1alpha1/fake licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/custom_metrics licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/k8s.io/metrics/pkg/client/custom_metrics/fake licensed under: = + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + += vendor/k8s.io/metrics/LICENSE e3fc50a88d0a364313df4b21ef20c29e - +================================================================================ + + +================================================================================ += vendor/vbom.ml/util/sortorder licensed under: = + +The MIT License (MIT) +Copyright (c) 2015 Frits van Bommel +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + += vendor/vbom.ml/util/LICENSE 9f7e1d7e8f527330ebb5f4c32e0f3e40 - +================================================================================ + diff --git a/vendor/k8s.io/kubernetes/Makefile b/vendor/k8s.io/kubernetes/Makefile index 36ff991e..a6b2fbef 100644 --- a/vendor/k8s.io/kubernetes/Makefile +++ b/vendor/k8s.io/kubernetes/Makefile @@ -53,6 +53,10 @@ KUBE_GOFLAGS := $(GOFLAGS) KUBE_GOLDFLAGS := $(GOLDFLAGS) KUBE_GOGCFLAGS = $(GOGCFLAGS) +# Extra options for the release or quick-release options: +KUBE_RELEASE_RUN_TESTS := $(KUBE_RELEASE_RUN_TESTS) +KUBE_FASTBUILD := $(KUBE_FASTBUILD) + # This controls the verbosity of the build. Higher numbers mean more output. KUBE_VERBOSE ?= 1 @@ -191,7 +195,7 @@ test-e2e: @echo "$$TEST_E2E_HELP_INFO" else test-e2e: ginkgo generated_files - go run hack/e2e.go -v --build --up --test --down + go run hack/e2e.go -- -v --build --up --test --down endif define TEST_E2E_NODE_HELP_INFO @@ -227,11 +231,13 @@ define TEST_E2E_NODE_HELP_INFO # GUBERNATOR: For REMOTE=true only. Produce link to Gubernator to view logs. # Defaults to false. # PARALLELISM: The number of gingko nodes to run. Defaults to 8. +# RUNTIME: Container runtime to use (eg. docker, rkt, remote). +# Defaults to "docker". # # Example: # make test-e2e-node FOCUS=Kubelet SKIP=container # make test-e2e-node REMOTE=true DELETE_INSTANCES=true -# make test-e2e-node TEST_ARGS="--experimental-cgroups-per-qos=true" +# make test-e2e-node TEST_ARGS="--cgroups-per-qos=true" # Build and run tests. endef .PHONY: test-e2e-node @@ -348,17 +354,24 @@ endif define RELEASE_SKIP_TESTS_HELP_INFO # Build a release, but skip tests +# +# Args: +# KUBE_RELEASE_RUN_TESTS: Whether to run tests. Set to 'y' to run tests anyways. +# KUBE_FASTBUILD: Whether to cross-compile for other architectures. Set to 'true' to do so. # # Example: # make release-skip-tests +# make quick-release endef .PHONY: release-skip-tests quick-release ifeq ($(PRINT_HELP),y) release-skip-tests quick-release: @echo "$$RELEASE_SKIP_TESTS_HELP_INFO" else +release-skip-tests quick-release: KUBE_RELEASE_RUN_TESTS = n +release-skip-tests quick-release: KUBE_FASTBUILD = true release-skip-tests quick-release: - KUBE_RELEASE_RUN_TESTS=n KUBE_FASTBUILD=true build/release.sh + build/release.sh endif define CROSS_HELP_INFO @@ -483,22 +496,22 @@ bazel-build: @echo "$$BAZEL_BUILD_HELP_INFO" else bazel-build: - bazel build //cmd/... //pkg/... //federation/... //plugin/... //build/... //examples/... //test/... //third_party/... + bazel build //cmd/... //pkg/... //federation/... //plugin/... //third_party/... //examples/... //test/... endif ifeq ($(PRINT_HELP),y) -bazel-test: define BAZEL_TEST_HELP_INFO # Test with bazel # # Example: # make bazel-test endef +bazel-test: @echo "$$BAZEL_TEST_HELP_INFO" else bazel-test: - bazel test //cmd/... //pkg/... //federation/... //plugin/... //build/... //third_party/... //hack/... //hack:verify-all + bazel test --flaky_test_attempts=3 //cmd/... //pkg/... //federation/... //plugin/... //third_party/... //hack/... //hack:verify-all endif ifeq ($(PRINT_HELP),y) diff --git a/vendor/k8s.io/kubernetes/OWNERS b/vendor/k8s.io/kubernetes/OWNERS index 0d5bc3b3..d4e79338 100644 --- a/vendor/k8s.io/kubernetes/OWNERS +++ b/vendor/k8s.io/kubernetes/OWNERS @@ -13,3 +13,4 @@ approvers: - lavalamp - smarterclayton - thockin + - wojtek-t diff --git a/vendor/k8s.io/kubernetes/OWNERS_ALIASES b/vendor/k8s.io/kubernetes/OWNERS_ALIASES index 7c810435..55108d03 100644 --- a/vendor/k8s.io/kubernetes/OWNERS_ALIASES +++ b/vendor/k8s.io/kubernetes/OWNERS_ALIASES @@ -1,10 +1,21 @@ aliases: + sig-scheduling-maintainers: + - davidopp + - timothysc + - wojtek-t + sig-scheduling: + - davidopp + - timothysc + - wojtek-t + - k82cn + - jayunit100 sig-cli-maintainers: - adohe - brendandburns - deads2k - fabianofranz - janetkuo + - liggitt - pwittrock - smarterclayton sig-cli: @@ -47,3 +58,11 @@ aliases: - vishh - yifan-gu - yujuhong + sig-network-reviewers: + - thockin + - freehan + - bowei + - mrhohn + - dcbw + - danwinship + - caseydavenport \ No newline at end of file diff --git a/vendor/k8s.io/kubernetes/README.md b/vendor/k8s.io/kubernetes/README.md index fdbba593..155d62a5 100644 --- a/vendor/k8s.io/kubernetes/README.md +++ b/vendor/k8s.io/kubernetes/README.md @@ -1,68 +1,45 @@ # Kubernetes -[![Submit Queue Widget]][Submit Queue] [![GoDoc Widget]][GoDoc] [![Coverage Status Widget]][Coverage Status] +[![Submit Queue Widget]][Submit Queue] [![GoDoc Widget]][GoDoc] -[Submit Queue]: http://submit-queue.k8s.io/#/e2e -[Submit Queue Widget]: http://submit-queue.k8s.io/health.svg?v=1 -[GoDoc]: https://godoc.org/k8s.io/kubernetes -[GoDoc Widget]: https://godoc.org/k8s.io/kubernetes?status.svg -[Coverage Status]: https://coveralls.io/r/kubernetes/kubernetes -[Coverage Status Widget]: https://coveralls.io/repos/kubernetes/kubernetes/badge.svg +---- -## Introduction +Kubernetes is an open source system for managing [containerized applications] +across multiple hosts, providing basic mechanisms for deployment, maintenance, +and scaling of applications. -Kubernetes is an open source system for managing [containerized applications](http://kubernetes.io/docs/whatisk8s/) across multiple hosts, -providing basic mechanisms for deployment, maintenance, and scaling of applications. Kubernetes is hosted by the Cloud Native Computing Foundation ([CNCF](https://www.cncf.io)) +Kubernetes builds upon a decade and a half of experience at Google running +production workloads at scale using a system called [Borg], +combined with best-of-breed ideas and practices from the community. -Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called [Borg](https://research.google.com/pubs/pub43438.html), combined with best-of-breed ideas and practices from the community. +Kubernetes is hosted by the Cloud Native Computing Foundation ([CNCF]). +If you are a company that wants to help shape the evolution of +technologies that are container-packaged, dynamically-scheduled +and microservices-oriented, consider joining the CNCF. +For details about who's involved and how Kubernetes plays a role, +read the CNCF [announcement]. -
+---- -### Are you ... +## To start using Kubernetes - * Interested in learning more about using Kubernetes? - - See our documentation on [kubernetes.io](http://kubernetes.io) - - Try our [interactive tutorial](http://kubernetes.io/docs/tutorials/kubernetes-basics/) - - Take a free course on [Scalable Microservices with Kubernetes](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615). - * Interested in developing the core Kubernetes code base, developing tools using the Kubernetes API or helping in anyway possible ? Keep reading! +See our documentation on [kubernetes.io]. -## Code of Conduct +Try our [interactive tutorial]. -The Kubernetes community abides by the CNCF [code of conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). Here is an excerpt: +Take a free course on [Scalable Microservices with Kubernetes]. -_As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities._ +## To start developing Kubernetes -## Community - -Do you want to help "shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented? ". If you are a company, you should consider joining the [CNCF](https://cncf.io/about). For details about who's involved in CNCF and how Kubernetes plays a role, read [the announcement](https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container). For general information about our community see the website [community](http://kubernetes.io/community/) page. - -Join us on social media ([Twitter](https://twitter.com/kubernetesio), [Google+](https://plus.google.com/u/0/b/116512812300813784482/116512812300813784482)) and read our [blog](http://blog.kubernetes.io/) - -Ask questions and help answer them on [Slack](http://slack.k8s.io/) or [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes) - -Attend our key events ([kubecon](http://events.linuxfoundation.org/events/kubecon), [cloudnativecon](http://events.linuxfoundation.org/events/cloudnativecon), weekly [community meeting](https://github.com/kubernetes/community/blob/master/community/README.md)) - -Join a Special Interest Group ([SIG](https://github.com/kubernetes/community)) - -## Contribute - -If you're interested in being a contributor and want to get involved in developing Kubernetes, get started with this reading: - -* The community [expectations](https://github.com/kubernetes/community/blob/master/contributors/devel/community-expectations.md) -* The [contributor guidelines](CONTRIBUTING.md) -* The [Kubernetes Developer Guide](https://github.com/kubernetes/community/tree/master/contributors/devel) - -You will then most certainly gain a lot from joining a [SIG](https://github.com/kubernetes/community), attending the regular hangouts as well as the community [meeting](https://github.com/kubernetes/community/blob/master/community/README.md). - -If you have an idea for a new feature, see the [Kubernetes Features](https://github.com/kubernetes/features) repository for a list of features that are coming in new releases as well as details on how to propose one. - -### Building Kubernetes for the impatient +The [community repository] hosts all information about +building Kubernetes from source, how to contribute code +and documentation, who to contact about what, etc. If you want to build Kubernetes right away there are two options: -* You have a working [Go environment](https://golang.org/doc/install). +##### You have a working [Go environment]. ``` $ go get -d k8s.io/kubernetes @@ -70,7 +47,7 @@ $ cd $GOPATH/src/k8s.io/kubernetes $ make ``` -* You have a working [Docker environment](https://docs.docker.com/engine/). +##### You have a working [Docker environment]. ``` $ git clone https://github.com/kubernetes/kubernetes @@ -78,15 +55,32 @@ $ cd kubernetes $ make quick-release ``` -If you are less impatient, head over to the [developer's documentation](https://github.com/kubernetes/community/tree/master/contributors/devel). +If you are less impatient, head over to the [developer's documentation]. ## Support -While there are many different channels that you can use to get hold of us ([Slack](http://slack.k8s.io/), [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes), [Issues](https://github.com/kubernetes/kubernetes/issues/new), [Forums/Mailing lists](https://groups.google.com/forum/#!forum/kubernetes-users)), you can help make sure that we are efficient in getting you the help that you need. +If you need support, start with the [troubleshooting guide] +and work your way through the process that we've outlined. -If you need support, start with the [troubleshooting guide](http://kubernetes.io/docs/troubleshooting/) and work your way through the process that we've outlined. +That said, if you have questions, reach out to us +[one way or another][communication]. -That said, if you have questions, reach out to us one way or another. We don't bite! +[announcement]: https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container +[Borg]: https://research.google.com/pubs/pub43438.html +[CNCF]: https://www.cncf.io/about +[communication]: https://github.com/kubernetes/community/blob/master/communication.md +[community repository]: https://github.com/kubernetes/community +[containerized applications]: http://kubernetes.io/docs/whatisk8s +[developer's documentation]: https://github.com/kubernetes/community/tree/master/contributors/devel +[Docker environment]: https://docs.docker.com/engine +[Go environment]: https://golang.org/doc/install +[GoDoc]: https://godoc.org/k8s.io/kubernetes +[GoDoc Widget]: https://godoc.org/k8s.io/kubernetes?status.svg +[interactive tutorial]: http://kubernetes.io/docs/tutorials/kubernetes-basics +[kubernetes.io]: http://kubernetes.io +[Scalable Microservices with Kubernetes]: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615 +[Submit Queue]: http://submit-queue.k8s.io/#/e2e +[Submit Queue Widget]: http://submit-queue.k8s.io/health.svg?v=1 +[troubleshooting guide]: http://kubernetes.io/docs/troubleshooting [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/README.md?pixel)]() - diff --git a/vendor/k8s.io/kubernetes/WORKSPACE b/vendor/k8s.io/kubernetes/WORKSPACE index 27391cc5..30e0d72e 100644 --- a/vendor/k8s.io/kubernetes/WORKSPACE +++ b/vendor/k8s.io/kubernetes/WORKSPACE @@ -1,13 +1,13 @@ git_repository( name = "io_bazel_rules_go", - commit = "d0142854a22a0dd98306280e897e64086289a0de", + commit = "7828452850597b52b49ec603b23f8ad2bcb22aed", remote = "https://github.com/bazelbuild/rules_go.git", ) git_repository( name = "io_kubernetes_build", - commit = "418b8e976cb32d94fd765c80f2b04e660c5ec4ec", - remote = "https://github.com/kubernetes/release.git", + commit = "685f15b90b454af3086ab071fdea1b6db213d1fb", + remote = "https://github.com/kubernetes/repo-infra.git", ) git_repository( @@ -24,8 +24,8 @@ go_repositories() debs = ( ( "busybox_deb", - "f262cc9cf893740bb70c3dd01da9429b858c94be696badd4a702e0a8c7f6f80b", - "http://ftp.us.debian.org/debian/pool/main/b/busybox/busybox-static_1.22.0-19+b1_amd64.deb", + "7465567f5e5255188b1d004d7081066cd79f77a5c18a5d418d27966d698e0bef", + "http://ftp.us.debian.org/debian/pool/main/b/busybox/busybox-static_1.22.0-19+b2_amd64.deb", ), ( "libc_deb", @@ -62,6 +62,6 @@ debs = ( http_file( name = "kubernetes_cni", - sha256 = "ddcb7a429f82b284a13bdb36313eeffd997753b6fa5191205f1e978dcfeb0792", - url = " https://storage.googleapis.com/kubernetes-release/network-plugins/cni-amd64-07a8a28637e97b22eb8dfe710eeae1344f69d16e.tar.gz", + sha256 = "05ab3937bc68562e989dc143362ec4d4275262ba9f359338aed720fc914457a5", + url = "https://storage.googleapis.com/kubernetes-release/network-plugins/cni-amd64-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz", ) diff --git a/vendor/k8s.io/kubernetes/api/openapi-spec/swagger.json b/vendor/k8s.io/kubernetes/api/openapi-spec/swagger.json index 078c5486..28170ddb 100644 --- a/vendor/k8s.io/kubernetes/api/openapi-spec/swagger.json +++ b/vendor/k8s.io/kubernetes/api/openapi-spec/swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "Kubernetes", - "version": "unversioned" + "version": "v1.6.1" }, "paths": { "/api/": { @@ -29,7 +29,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIVersions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions" } }, "401": { @@ -62,7 +62,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -95,7 +95,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ComponentStatusList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ComponentStatusList" } }, "401": { @@ -170,7 +170,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ComponentStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ComponentStatus" } }, "401": { @@ -220,7 +220,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ConfigMapList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapList" } }, "401": { @@ -297,7 +297,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.EndpointsList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EndpointsList" } }, "401": { @@ -374,7 +374,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.EventList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EventList" } }, "401": { @@ -451,7 +451,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.LimitRangeList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRangeList" } }, "401": { @@ -565,7 +565,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.NamespaceList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NamespaceList" } }, "401": { @@ -596,7 +596,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } } ], @@ -604,7 +604,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -670,7 +670,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -706,11 +706,21 @@ "core_v1" ], "operationId": "createCoreV1NamespacedBinding", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Binding" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Binding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Binding" } }, "401": { @@ -719,14 +729,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Binding" - } - }, { "uniqueItems": true, "type": "string", @@ -805,7 +807,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ConfigMapList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapList" } }, "401": { @@ -836,7 +838,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } } ], @@ -844,7 +846,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } }, "401": { @@ -910,7 +912,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -974,7 +976,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } }, "401": { @@ -1005,7 +1007,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } } ], @@ -1013,7 +1015,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } }, "401": { @@ -1044,7 +1046,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -1057,16 +1059,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -1099,7 +1108,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -1107,7 +1116,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } }, "401": { @@ -1202,7 +1211,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.EndpointsList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EndpointsList" } }, "401": { @@ -1233,7 +1242,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } } ], @@ -1241,7 +1250,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } }, "401": { @@ -1307,7 +1316,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -1371,7 +1380,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } }, "401": { @@ -1402,7 +1411,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } } ], @@ -1410,7 +1419,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } }, "401": { @@ -1441,7 +1450,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -1454,16 +1463,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -1496,7 +1512,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -1504,7 +1520,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } }, "401": { @@ -1599,7 +1615,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.EventList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EventList" } }, "401": { @@ -1630,7 +1646,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } } ], @@ -1638,7 +1654,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } }, "401": { @@ -1704,7 +1720,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -1768,7 +1784,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } }, "401": { @@ -1799,7 +1815,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } } ], @@ -1807,7 +1823,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } }, "401": { @@ -1838,7 +1854,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -1851,16 +1867,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -1893,7 +1916,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -1901,7 +1924,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } }, "401": { @@ -1996,7 +2019,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.LimitRangeList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRangeList" } }, "401": { @@ -2027,7 +2050,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } } ], @@ -2035,7 +2058,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } }, "401": { @@ -2101,7 +2124,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -2165,7 +2188,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } }, "401": { @@ -2196,7 +2219,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } } ], @@ -2204,7 +2227,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } }, "401": { @@ -2235,7 +2258,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -2248,16 +2271,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -2290,7 +2320,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -2298,7 +2328,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } }, "401": { @@ -2393,7 +2423,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaimList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimList" } }, "401": { @@ -2424,7 +2454,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } } ], @@ -2432,7 +2462,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2498,7 +2528,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -2562,7 +2592,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2593,7 +2623,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } } ], @@ -2601,7 +2631,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2632,7 +2662,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -2645,16 +2675,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -2687,7 +2724,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -2695,7 +2732,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2751,7 +2788,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2782,7 +2819,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } } ], @@ -2790,7 +2827,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2823,7 +2860,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -2831,7 +2868,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "401": { @@ -2926,7 +2963,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodList" } }, "401": { @@ -2957,7 +2994,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } } ], @@ -2965,7 +3002,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -3031,7 +3068,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -3095,7 +3132,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -3126,7 +3163,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } } ], @@ -3134,7 +3171,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -3165,7 +3202,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -3178,16 +3215,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -3220,7 +3264,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -3228,7 +3272,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -3389,11 +3433,21 @@ "core_v1" ], "operationId": "createCoreV1NamespacedBindingBinding", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Binding" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Binding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Binding" } }, "401": { @@ -3402,14 +3456,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Binding" - } - }, { "uniqueItems": true, "type": "string", @@ -3453,11 +3499,21 @@ "core_v1" ], "operationId": "createCoreV1NamespacedEvictionEviction", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.Eviction" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Eviction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.Eviction" } }, "401": { @@ -3466,14 +3522,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.Eviction" - } - }, { "uniqueItems": true, "type": "string", @@ -3792,6 +3840,13 @@ "name": "namespace", "in": "path", "required": true + }, + { + "uniqueItems": true, + "type": "integer", + "description": "List of ports to forward Required when using WebSockets", + "name": "ports", + "in": "query" } ] }, @@ -4203,7 +4258,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -4234,7 +4289,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } } ], @@ -4242,7 +4297,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -4275,7 +4330,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -4283,7 +4338,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "401": { @@ -4378,7 +4433,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodTemplateList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateList" } }, "401": { @@ -4409,7 +4464,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } } ], @@ -4417,7 +4472,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } }, "401": { @@ -4483,7 +4538,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -4547,7 +4602,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } }, "401": { @@ -4578,7 +4633,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } } ], @@ -4586,7 +4641,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } }, "401": { @@ -4617,7 +4672,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -4630,16 +4685,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -4672,7 +4734,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -4680,7 +4742,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } }, "401": { @@ -4775,7 +4837,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationControllerList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationControllerList" } }, "401": { @@ -4806,7 +4868,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } } ], @@ -4814,7 +4876,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -4880,7 +4942,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -4944,7 +5006,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -4975,7 +5037,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } } ], @@ -4983,7 +5045,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -5014,7 +5076,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -5027,16 +5089,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -5069,7 +5138,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -5077,7 +5146,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -5133,7 +5202,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.Scale" } }, "401": { @@ -5164,7 +5233,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.Scale" } } ], @@ -5172,7 +5241,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.Scale" } }, "401": { @@ -5205,7 +5274,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -5213,7 +5282,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.Scale" } }, "401": { @@ -5269,7 +5338,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -5300,7 +5369,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } } ], @@ -5308,7 +5377,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -5341,7 +5410,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -5349,7 +5418,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "401": { @@ -5444,7 +5513,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuotaList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuotaList" } }, "401": { @@ -5475,7 +5544,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } } ], @@ -5483,7 +5552,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5549,7 +5618,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -5613,7 +5682,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5644,7 +5713,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } } ], @@ -5652,7 +5721,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5683,7 +5752,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -5696,16 +5765,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -5738,7 +5814,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -5746,7 +5822,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5802,7 +5878,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5833,7 +5909,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } } ], @@ -5841,7 +5917,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5874,7 +5950,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -5882,7 +5958,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "401": { @@ -5977,7 +6053,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.SecretList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretList" } }, "401": { @@ -6008,7 +6084,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } } ], @@ -6016,7 +6092,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } }, "401": { @@ -6082,7 +6158,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -6146,7 +6222,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } }, "401": { @@ -6177,7 +6253,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } } ], @@ -6185,7 +6261,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } }, "401": { @@ -6216,7 +6292,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -6229,16 +6305,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -6271,7 +6354,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -6279,7 +6362,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } }, "401": { @@ -6374,7 +6457,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceAccountList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccountList" } }, "401": { @@ -6405,7 +6488,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } } ], @@ -6413,7 +6496,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } }, "401": { @@ -6479,7 +6562,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -6543,7 +6626,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } }, "401": { @@ -6574,7 +6657,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } } ], @@ -6582,7 +6665,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } }, "401": { @@ -6613,7 +6696,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -6626,16 +6709,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -6668,7 +6758,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -6676,7 +6766,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } }, "401": { @@ -6771,7 +6861,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceList" } }, "401": { @@ -6802,7 +6892,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } } ], @@ -6810,7 +6900,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -6874,7 +6964,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -6905,7 +6995,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } } ], @@ -6913,7 +7003,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -6942,7 +7032,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -6975,7 +7065,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -6983,7 +7073,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -7425,7 +7515,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -7456,7 +7546,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } } ], @@ -7464,7 +7554,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -7497,7 +7587,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -7505,7 +7595,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "401": { @@ -7577,7 +7667,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7608,7 +7698,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } } ], @@ -7616,7 +7706,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7647,7 +7737,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -7660,16 +7750,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -7702,7 +7799,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -7710,7 +7807,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7754,11 +7851,21 @@ "core_v1" ], "operationId": "replaceCoreV1NamespaceFinalize", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7767,14 +7874,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Namespace" - } - }, { "uniqueItems": true, "type": "string", @@ -7814,7 +7913,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7845,7 +7944,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } } ], @@ -7853,7 +7952,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7886,7 +7985,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -7894,7 +7993,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "401": { @@ -7981,7 +8080,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.NodeList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeList" } }, "401": { @@ -8012,7 +8111,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } } ], @@ -8020,7 +8119,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8086,7 +8185,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -8142,7 +8241,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8173,7 +8272,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } } ], @@ -8181,7 +8280,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8212,7 +8311,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -8225,16 +8324,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -8267,7 +8373,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -8275,7 +8381,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8693,7 +8799,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8724,7 +8830,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } } ], @@ -8732,7 +8838,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8765,7 +8871,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -8773,7 +8879,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "401": { @@ -8823,7 +8929,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeClaimList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimList" } }, "401": { @@ -8937,7 +9043,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolumeList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeList" } }, "401": { @@ -8968,7 +9074,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } } ], @@ -8976,7 +9082,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9042,7 +9148,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -9098,7 +9204,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9129,7 +9235,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } } ], @@ -9137,7 +9243,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9168,7 +9274,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -9181,16 +9287,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -9223,7 +9336,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -9231,7 +9344,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9279,7 +9392,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9310,7 +9423,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } } ], @@ -9318,7 +9431,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9351,7 +9464,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -9359,7 +9472,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "401": { @@ -9409,7 +9522,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodList" } }, "401": { @@ -9486,7 +9599,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.PodTemplateList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateList" } }, "401": { @@ -9702,6 +9815,33 @@ } } }, + "patch": { + "description": "proxy PATCH requests to Pod", + "consumes": [ + "*/*" + ], + "produces": [ + "*/*" + ], + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "operationId": "proxyCoreV1PATCHNamespacedPod", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, "parameters": [ { "uniqueItems": true, @@ -9884,6 +10024,33 @@ } } }, + "patch": { + "description": "proxy PATCH requests to Pod", + "consumes": [ + "*/*" + ], + "produces": [ + "*/*" + ], + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "operationId": "proxyCoreV1PATCHNamespacedPodWithPath", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, "parameters": [ { "uniqueItems": true, @@ -10074,6 +10241,33 @@ } } }, + "patch": { + "description": "proxy PATCH requests to Service", + "consumes": [ + "*/*" + ], + "produces": [ + "*/*" + ], + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "operationId": "proxyCoreV1PATCHNamespacedService", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, "parameters": [ { "uniqueItems": true, @@ -10256,6 +10450,33 @@ } } }, + "patch": { + "description": "proxy PATCH requests to Service", + "consumes": [ + "*/*" + ], + "produces": [ + "*/*" + ], + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "operationId": "proxyCoreV1PATCHNamespacedServiceWithPath", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, "parameters": [ { "uniqueItems": true, @@ -10446,6 +10667,33 @@ } } }, + "patch": { + "description": "proxy PATCH requests to Node", + "consumes": [ + "*/*" + ], + "produces": [ + "*/*" + ], + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "operationId": "proxyCoreV1PATCHNode", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, "parameters": [ { "uniqueItems": true, @@ -10620,6 +10868,33 @@ } } }, + "patch": { + "description": "proxy PATCH requests to Node", + "consumes": [ + "*/*" + ], + "produces": [ + "*/*" + ], + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "operationId": "proxyCoreV1PATCHNodeWithPath", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, "parameters": [ { "uniqueItems": true, @@ -10663,7 +10938,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ReplicationControllerList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationControllerList" } }, "401": { @@ -10740,7 +11015,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ResourceQuotaList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuotaList" } }, "401": { @@ -10817,7 +11092,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.SecretList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretList" } }, "401": { @@ -10894,7 +11169,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceAccountList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccountList" } }, "401": { @@ -10971,7 +11246,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.ServiceList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceList" } }, "401": { @@ -11048,7 +11323,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11125,7 +11400,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11202,7 +11477,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11279,7 +11554,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11356,7 +11631,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11433,7 +11708,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11518,7 +11793,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11611,7 +11886,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11696,7 +11971,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11789,7 +12064,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11874,7 +12149,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -11967,7 +12242,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12052,7 +12327,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12145,7 +12420,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12230,7 +12505,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12323,7 +12598,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12408,7 +12683,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12501,7 +12776,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12586,7 +12861,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12679,7 +12954,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12764,7 +13039,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12857,7 +13132,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -12942,7 +13217,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13035,7 +13310,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13120,7 +13395,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13213,7 +13488,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13298,7 +13573,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13391,7 +13666,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13476,7 +13751,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13569,7 +13844,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13654,7 +13929,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13731,7 +14006,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13816,7 +14091,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13893,7 +14168,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -13970,7 +14245,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14055,7 +14330,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14132,7 +14407,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14209,7 +14484,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14286,7 +14561,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14363,7 +14638,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14440,7 +14715,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14517,7 +14792,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -14594,7 +14869,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroupList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList" } }, "401": { @@ -14627,7 +14902,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -14660,7 +14935,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -14669,6 +14944,825 @@ } } }, + "/apis/apps/v1beta1/deployments": { + "get": { + "description": "list or watch objects of kind Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "listAppsV1beta1DeploymentForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/namespaces/{namespace}/deployments": { + "get": { + "description": "list or watch objects of kind Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "listAppsV1beta1NamespacedDeployment", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "post": { + "description": "create a Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "createAppsV1beta1NamespacedDeployment", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete collection of Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "deleteAppsV1beta1CollectionNamespacedDeployment", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}": { + "get": { + "description": "read the specified Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "readAppsV1beta1NamespacedDeployment", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "name": "exact", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "name": "export", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace the specified Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "replaceAppsV1beta1NamespacedDeployment", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete a Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "deleteAppsV1beta1NamespacedDeployment", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update the specified Deployment", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "patchAppsV1beta1NamespacedDeployment", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Deployment", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/rollback": { + "post": { + "description": "create rollback of a DeploymentRollback", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "createAppsV1beta1NamespacedDeploymentRollbackRollback", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentRollback" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentRollback" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the DeploymentRollback", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/scale": { + "get": { + "description": "read scale of the specified Scale", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "readAppsV1beta1NamespacedScaleScale", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Scale" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace scale of the specified Scale", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "replaceAppsV1beta1NamespacedScaleScale", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Scale" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Scale" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update scale of the specified Scale", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "patchAppsV1beta1NamespacedScaleScale", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Scale" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Scale", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/status": { + "get": { + "description": "read status of the specified Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "readAppsV1beta1NamespacedDeploymentStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace status of the specified Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "replaceAppsV1beta1NamespacedDeploymentStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update status of the specified Deployment", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "patchAppsV1beta1NamespacedDeploymentStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Deployment", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, "/apis/apps/v1beta1/namespaces/{namespace}/statefulsets": { "get": { "description": "list or watch objects of kind StatefulSet", @@ -14730,7 +15824,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetList" } }, "401": { @@ -14761,7 +15855,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } } ], @@ -14769,7 +15863,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -14835,7 +15929,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -14899,7 +15993,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -14930,7 +16024,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } } ], @@ -14938,7 +16032,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -14969,7 +16063,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -14982,16 +16076,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -15024,7 +16125,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -15032,7 +16133,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -15088,7 +16189,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -15119,7 +16220,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } } ], @@ -15127,7 +16228,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -15160,7 +16261,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -15168,7 +16269,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" } }, "401": { @@ -15226,7 +16327,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StatefulSetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetList" } }, "401": { @@ -15279,6 +16380,261 @@ } ] }, + "/apis/apps/v1beta1/watch/deployments": { + "get": { + "description": "watch individual changes to a list of Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "watchAppsV1beta1DeploymentListForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/watch/namespaces/{namespace}/deployments": { + "get": { + "description": "watch individual changes to a list of Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "watchAppsV1beta1NamespacedDeploymentList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/apps/v1beta1/watch/namespaces/{namespace}/deployments/{name}": { + "get": { + "description": "watch changes to an object of kind Deployment", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "apps_v1beta1" + ], + "operationId": "watchAppsV1beta1NamespacedDeployment", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the Deployment", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, "/apis/apps/v1beta1/watch/namespaces/{namespace}/statefulsets": { "get": { "description": "watch individual changes to a list of StatefulSet", @@ -15303,7 +16659,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -15388,7 +16744,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -15481,7 +16837,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -15558,7 +16914,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -15567,6 +16923,89 @@ } } }, + "/apis/authentication.k8s.io/v1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "authentication_v1" + ], + "operationId": "getAuthenticationV1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/apis/authentication.k8s.io/v1/tokenreviews": { + "post": { + "description": "create a TokenReview", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "authentication_v1" + ], + "operationId": "createAuthenticationV1TokenReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReview" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReview" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, "/apis/authentication.k8s.io/v1beta1/": { "get": { "description": "get available resources", @@ -15591,7 +17030,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -15618,11 +17057,21 @@ "authentication_v1beta1" ], "operationId": "createAuthenticationV1beta1TokenReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReview" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.TokenReview" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReview" } }, "401": { @@ -15631,14 +17080,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.TokenReview" - } - }, { "uniqueItems": true, "type": "string", @@ -15672,7 +17113,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -15681,6 +17122,197 @@ } } }, + "/apis/authorization.k8s.io/v1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "authorization_v1" + ], + "operationId": "getAuthorizationV1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews": { + "post": { + "description": "create a LocalSubjectAccessReview", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "authorization_v1" + ], + "operationId": "createAuthorizationV1NamespacedLocalSubjectAccessReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.LocalSubjectAccessReview" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.LocalSubjectAccessReview" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/authorization.k8s.io/v1/selfsubjectaccessreviews": { + "post": { + "description": "create a SelfSubjectAccessReview", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "authorization_v1" + ], + "operationId": "createAuthorizationV1SelfSubjectAccessReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SelfSubjectAccessReview" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SelfSubjectAccessReview" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/authorization.k8s.io/v1/subjectaccessreviews": { + "post": { + "description": "create a SubjectAccessReview", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "authorization_v1" + ], + "operationId": "createAuthorizationV1SubjectAccessReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReview" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReview" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, "/apis/authorization.k8s.io/v1beta1/": { "get": { "description": "get available resources", @@ -15705,7 +17337,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -15732,11 +17364,21 @@ "authorization_v1beta1" ], "operationId": "createAuthorizationV1beta1NamespacedLocalSubjectAccessReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.LocalSubjectAccessReview" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.LocalSubjectAccessReview" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.LocalSubjectAccessReview" } }, "401": { @@ -15745,14 +17387,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.LocalSubjectAccessReview" - } - }, { "uniqueItems": true, "type": "string", @@ -15788,11 +17422,21 @@ "authorization_v1beta1" ], "operationId": "createAuthorizationV1beta1SelfSubjectAccessReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SelfSubjectAccessReview" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.SelfSubjectAccessReview" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SelfSubjectAccessReview" } }, "401": { @@ -15801,14 +17445,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.SelfSubjectAccessReview" - } - }, { "uniqueItems": true, "type": "string", @@ -15836,11 +17472,21 @@ "authorization_v1beta1" ], "operationId": "createAuthorizationV1beta1SubjectAccessReview", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReview" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.SubjectAccessReview" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReview" } }, "401": { @@ -15849,14 +17495,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.SubjectAccessReview" - } - }, { "uniqueItems": true, "type": "string", @@ -15890,7 +17528,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -15923,7 +17561,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -15956,7 +17594,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerList" } }, "401": { @@ -16070,7 +17708,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerList" } }, "401": { @@ -16101,7 +17739,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } } ], @@ -16109,7 +17747,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16175,7 +17813,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -16239,7 +17877,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16270,7 +17908,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } } ], @@ -16278,7 +17916,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16309,7 +17947,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -16322,16 +17960,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -16364,7 +18009,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -16372,7 +18017,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16428,7 +18073,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16459,7 +18104,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } } ], @@ -16467,7 +18112,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16500,7 +18145,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -16508,7 +18153,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -16566,7 +18211,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -16643,7 +18288,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -16728,7 +18373,912 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the HorizontalPodAutoscaler", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "getAutoscalingV2alpha1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/apis/autoscaling/v2alpha1/horizontalpodautoscalers": { + "get": { + "description": "list or watch objects of kind HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "listAutoscalingV2alpha1HorizontalPodAutoscalerForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/namespaces/{namespace}/horizontalpodautoscalers": { + "get": { + "description": "list or watch objects of kind HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "listAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "post": { + "description": "create a HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "createAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete collection of HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "deleteAutoscalingV2alpha1CollectionNamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/namespaces/{namespace}/horizontalpodautoscalers/{name}": { + "get": { + "description": "read the specified HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "readAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "name": "exact", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "name": "export", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace the specified HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "replaceAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete a HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "deleteAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update the specified HorizontalPodAutoscaler", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "patchAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the HorizontalPodAutoscaler", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { + "get": { + "description": "read status of the specified HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "readAutoscalingV2alpha1NamespacedHorizontalPodAutoscalerStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace status of the specified HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "replaceAutoscalingV2alpha1NamespacedHorizontalPodAutoscalerStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update status of the specified HorizontalPodAutoscaler", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "patchAutoscalingV2alpha1NamespacedHorizontalPodAutoscalerStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the HorizontalPodAutoscaler", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/watch/horizontalpodautoscalers": { + "get": { + "description": "watch individual changes to a list of HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "watchAutoscalingV2alpha1HorizontalPodAutoscalerListForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/watch/namespaces/{namespace}/horizontalpodautoscalers": { + "get": { + "description": "watch individual changes to a list of HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "watchAutoscalingV2alpha1NamespacedHorizontalPodAutoscalerList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/autoscaling/v2alpha1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}": { + "get": { + "description": "watch changes to an object of kind HorizontalPodAutoscaler", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v2alpha1" + ], + "operationId": "watchAutoscalingV2alpha1NamespacedHorizontalPodAutoscaler", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -16821,7 +19371,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -16854,7 +19404,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -16887,7 +19437,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.JobList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobList" } }, "401": { @@ -17001,7 +19551,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.JobList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobList" } }, "401": { @@ -17032,7 +19582,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } } ], @@ -17040,7 +19590,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17106,7 +19656,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -17170,7 +19720,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17201,7 +19751,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } } ], @@ -17209,7 +19759,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17240,7 +19790,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -17253,16 +19803,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -17295,7 +19852,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -17303,7 +19860,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17359,7 +19916,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17390,7 +19947,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } } ], @@ -17398,7 +19955,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17431,7 +19988,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -17439,7 +19996,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Job" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" } }, "401": { @@ -17497,7 +20054,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -17574,7 +20131,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -17659,7 +20216,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -17752,7 +20309,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -17785,84 +20342,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJobList" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, - "/apis/batch/v2alpha1/jobs": { - "get": { - "description": "list or watch objects of kind Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "listBatchV2alpha1JobForAllNamespaces", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.JobList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobList" } }, "401": { @@ -17976,7 +20456,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJobList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobList" } }, "401": { @@ -18007,7 +20487,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } } ], @@ -18015,7 +20495,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18081,7 +20561,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -18145,7 +20625,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18176,7 +20656,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } } ], @@ -18184,7 +20664,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18215,7 +20695,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -18228,16 +20708,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -18270,7 +20757,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -18278,7 +20765,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18334,7 +20821,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18365,7 +20852,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } } ], @@ -18373,7 +20860,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18406,7 +20893,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -18414,7 +20901,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -18448,539 +20935,6 @@ } ] }, - "/apis/batch/v2alpha1/namespaces/{namespace}/jobs": { - "get": { - "description": "list or watch objects of kind Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "listBatchV2alpha1NamespacedJob", - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.JobList" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "post": { - "description": "create a Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "createBatchV2alpha1NamespacedJob", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "delete": { - "description": "delete collection of Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "deleteBatchV2alpha1CollectionNamespacedJob", - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - } - ] - }, - "/apis/batch/v2alpha1/namespaces/{namespace}/jobs/{name}": { - "get": { - "description": "read the specified Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "readBatchV2alpha1NamespacedJob", - "parameters": [ - { - "uniqueItems": true, - "type": "boolean", - "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", - "name": "exact", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Should this value be exported. Export strips fields that a user can not specify.", - "name": "export", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "put": { - "description": "replace the specified Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "replaceBatchV2alpha1NamespacedJob", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "delete": { - "description": "delete a Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "deleteBatchV2alpha1NamespacedJob", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.DeleteOptions" - } - }, - { - "uniqueItems": true, - "type": "integer", - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "name": "gracePeriodSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", - "name": "orphanDependents", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "patch": { - "description": "partially update the specified Job", - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "patchBatchV2alpha1NamespacedJob", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Patch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "name of the Job", - "name": "name", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - } - ] - }, - "/apis/batch/v2alpha1/namespaces/{namespace}/jobs/{name}/status": { - "get": { - "description": "read status of the specified Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "readBatchV2alpha1NamespacedJobStatus", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "put": { - "description": "replace status of the specified Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "replaceBatchV2alpha1NamespacedJobStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "patch": { - "description": "partially update status of the specified Job", - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "patchBatchV2alpha1NamespacedJobStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Patch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "name of the Job", - "name": "name", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - } - ] - }, "/apis/batch/v2alpha1/namespaces/{namespace}/scheduledjobs": { "get": { "description": "list or watch objects of kind ScheduledJob", @@ -19042,7 +20996,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJobList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobList" } }, "401": { @@ -19073,7 +21027,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } } ], @@ -19081,7 +21035,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19147,7 +21101,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -19211,7 +21165,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19242,7 +21196,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } } ], @@ -19250,7 +21204,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19281,7 +21235,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -19294,16 +21248,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -19336,7 +21297,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -19344,7 +21305,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19400,7 +21361,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19431,7 +21392,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } } ], @@ -19439,7 +21400,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19472,7 +21433,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -19480,7 +21441,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" } }, "401": { @@ -19538,7 +21499,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v2alpha1.CronJobList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobList" } }, "401": { @@ -19615,84 +21576,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, - "/apis/batch/v2alpha1/watch/jobs": { - "get": { - "description": "watch individual changes to a list of Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "watchBatchV2alpha1JobListForAllNamespaces", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -19769,7 +21653,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -19854,7 +21738,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -19923,184 +21807,6 @@ } ] }, - "/apis/batch/v2alpha1/watch/namespaces/{namespace}/jobs": { - "get": { - "description": "watch individual changes to a list of Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "watchBatchV2alpha1NamespacedJobList", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, - "/apis/batch/v2alpha1/watch/namespaces/{namespace}/jobs/{name}": { - "get": { - "description": "watch changes to an object of kind Job", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "batch_v2alpha1" - ], - "operationId": "watchBatchV2alpha1NamespacedJob", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "name of the Job", - "name": "name", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, "/apis/batch/v2alpha1/watch/namespaces/{namespace}/scheduledjobs": { "get": { "description": "watch individual changes to a list of ScheduledJob", @@ -20125,7 +21831,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -20210,7 +21916,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -20303,7 +22009,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -20380,7 +22086,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -20413,7 +22119,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -20483,7 +22189,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequestList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestList" } }, "401": { @@ -20514,7 +22220,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } } ], @@ -20522,7 +22228,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } }, "401": { @@ -20588,7 +22294,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -20644,7 +22350,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } }, "401": { @@ -20675,7 +22381,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } } ], @@ -20683,7 +22389,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } }, "401": { @@ -20714,7 +22420,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -20727,16 +22433,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -20769,7 +22482,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -20777,7 +22490,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } }, "401": { @@ -20821,11 +22534,21 @@ "certificates_v1beta1" ], "operationId": "replaceCertificatesV1beta1CertificateSigningRequestApproval", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } }, "401": { @@ -20834,14 +22557,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" - } - }, { "uniqueItems": true, "type": "string", @@ -20877,11 +22592,21 @@ "certificates_v1beta1" ], "operationId": "replaceCertificatesV1beta1CertificateSigningRequestStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" } }, "401": { @@ -20890,14 +22615,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" - } - }, { "uniqueItems": true, "type": "string", @@ -20939,7 +22656,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -21016,7 +22733,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -21101,7 +22818,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -21134,7 +22851,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -21167,7 +22884,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetList" } }, "401": { @@ -21244,84 +22961,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DeploymentList" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, - "/apis/extensions/v1beta1/horizontalpodautoscalers": { - "get": { - "description": "list or watch objects of kind HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "listExtensionsV1beta1HorizontalPodAutoscalerForAllNamespaces", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentList" } }, "401": { @@ -21398,7 +23038,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.IngressList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressList" } }, "401": { @@ -21512,7 +23152,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetList" } }, "401": { @@ -21543,7 +23183,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } } ], @@ -21551,7 +23191,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -21617,7 +23257,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -21681,7 +23321,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -21712,7 +23352,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } } ], @@ -21720,7 +23360,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -21751,7 +23391,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -21764,16 +23404,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -21806,7 +23453,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -21814,7 +23461,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -21870,7 +23517,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -21901,7 +23548,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } } ], @@ -21909,7 +23556,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -21942,7 +23589,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -21950,7 +23597,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DaemonSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" } }, "401": { @@ -22045,7 +23692,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DeploymentList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentList" } }, "401": { @@ -22076,7 +23723,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } } ], @@ -22084,7 +23731,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22150,7 +23797,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -22214,7 +23861,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22245,7 +23892,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } } ], @@ -22253,7 +23900,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22284,7 +23931,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -22297,16 +23944,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -22339,7 +23993,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -22347,7 +24001,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22399,11 +24053,21 @@ "extensions_v1beta1" ], "operationId": "createExtensionsV1beta1NamespacedDeploymentRollbackRollback", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentRollback" + } + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentRollback" } }, "401": { @@ -22412,14 +24076,6 @@ } }, "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.DeploymentRollback" - } - }, { "uniqueItems": true, "type": "string", @@ -22467,7 +24123,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -22498,7 +24154,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } } ], @@ -22506,7 +24162,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -22539,7 +24195,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -22547,7 +24203,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -22603,7 +24259,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22634,7 +24290,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } } ], @@ -22642,7 +24298,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22675,7 +24331,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -22683,7 +24339,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Deployment" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" } }, "401": { @@ -22717,539 +24373,6 @@ } ] }, - "/apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers": { - "get": { - "description": "list or watch objects of kind HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "listExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscalerList" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "post": { - "description": "create a HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "createExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "delete": { - "description": "delete collection of HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "deleteExtensionsV1beta1CollectionNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - } - ] - }, - "/apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}": { - "get": { - "description": "read the specified HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "readExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "uniqueItems": true, - "type": "boolean", - "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", - "name": "exact", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Should this value be exported. Export strips fields that a user can not specify.", - "name": "export", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "put": { - "description": "replace the specified HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "replaceExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "delete": { - "description": "delete a HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "deleteExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.DeleteOptions" - } - }, - { - "uniqueItems": true, - "type": "integer", - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "name": "gracePeriodSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", - "name": "orphanDependents", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "patch": { - "description": "partially update the specified HorizontalPodAutoscaler", - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "patchExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Patch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "name of the HorizontalPodAutoscaler", - "name": "name", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - } - ] - }, - "/apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { - "get": { - "description": "read status of the specified HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "readExtensionsV1beta1NamespacedHorizontalPodAutoscalerStatus", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "put": { - "description": "replace status of the specified HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "replaceExtensionsV1beta1NamespacedHorizontalPodAutoscalerStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "patch": { - "description": "partially update status of the specified HorizontalPodAutoscaler", - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "patchExtensionsV1beta1NamespacedHorizontalPodAutoscalerStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.Patch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "name of the HorizontalPodAutoscaler", - "name": "name", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - } - ] - }, "/apis/extensions/v1beta1/namespaces/{namespace}/ingresses": { "get": { "description": "list or watch objects of kind Ingress", @@ -23311,7 +24434,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.IngressList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressList" } }, "401": { @@ -23342,7 +24465,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } } ], @@ -23350,7 +24473,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23416,7 +24539,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -23480,7 +24603,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23511,7 +24634,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } } ], @@ -23519,7 +24642,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23550,7 +24673,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -23563,16 +24686,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -23605,7 +24735,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -23613,7 +24743,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23669,7 +24799,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23700,7 +24830,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } } ], @@ -23708,7 +24838,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23741,7 +24871,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -23749,7 +24879,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Ingress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" } }, "401": { @@ -23844,7 +24974,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicyList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyList" } }, "401": { @@ -23875,7 +25005,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" } } ], @@ -23883,7 +25013,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" } }, "401": { @@ -23949,7 +25079,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -24013,7 +25143,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" } }, "401": { @@ -24044,7 +25174,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" } } ], @@ -24052,7 +25182,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" } }, "401": { @@ -24083,7 +25213,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -24096,16 +25226,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -24138,7 +25275,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -24146,7 +25283,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" } }, "401": { @@ -24241,7 +25378,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetList" } }, "401": { @@ -24272,7 +25409,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } } ], @@ -24280,7 +25417,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24346,7 +25483,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -24410,7 +25547,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24441,7 +25578,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } } ], @@ -24449,7 +25586,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24480,7 +25617,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -24493,16 +25630,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -24535,7 +25679,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -24543,7 +25687,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24599,7 +25743,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -24630,7 +25774,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } } ], @@ -24638,7 +25782,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -24671,7 +25815,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -24679,7 +25823,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -24735,7 +25879,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24766,7 +25910,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } } ], @@ -24774,7 +25918,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24807,7 +25951,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -24815,7 +25959,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSet" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" } }, "401": { @@ -24871,7 +26015,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -24902,7 +26046,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } } ], @@ -24910,7 +26054,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -24943,7 +26087,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -24951,7 +26095,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Scale" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale" } }, "401": { @@ -25009,7 +26153,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.NetworkPolicyList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyList" } }, "401": { @@ -25123,7 +26267,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicyList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicyList" } }, "401": { @@ -25154,7 +26298,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" } } ], @@ -25162,7 +26306,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" } }, "401": { @@ -25228,7 +26372,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -25284,7 +26428,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" } }, "401": { @@ -25315,7 +26459,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" } } ], @@ -25323,7 +26467,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" } }, "401": { @@ -25354,7 +26498,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -25367,16 +26511,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -25409,7 +26560,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -25417,7 +26568,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" } }, "401": { @@ -25467,7 +26618,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ReplicaSetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetList" } }, "401": { @@ -25581,7 +26732,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResourceList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResourceList" } }, "401": { @@ -25612,7 +26763,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" } } ], @@ -25620,7 +26771,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" } }, "401": { @@ -25686,7 +26837,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -25742,7 +26893,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" } }, "401": { @@ -25773,7 +26924,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" } } ], @@ -25781,7 +26932,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" } }, "401": { @@ -25812,7 +26963,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -25825,16 +26976,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -25867,7 +27025,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -25875,7 +27033,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" } }, "401": { @@ -25925,7 +27083,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26002,84 +27160,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, - "/apis/extensions/v1beta1/watch/horizontalpodautoscalers": { - "get": { - "description": "watch individual changes to a list of HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "watchExtensionsV1beta1HorizontalPodAutoscalerListForAllNamespaces", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26156,7 +27237,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26233,7 +27314,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26318,7 +27399,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26411,7 +27492,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26496,7 +27577,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26565,184 +27646,6 @@ } ] }, - "/apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers": { - "get": { - "description": "watch individual changes to a list of HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "watchExtensionsV1beta1NamespacedHorizontalPodAutoscalerList", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, - "/apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}": { - "get": { - "description": "watch changes to an object of kind HorizontalPodAutoscaler", - "consumes": [ - "*/*" - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "schemes": [ - "https" - ], - "tags": [ - "extensions_v1beta1" - ], - "operationId": "watchExtensionsV1beta1NamespacedHorizontalPodAutoscaler", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - } - }, - "parameters": [ - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "name": "fieldSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "name": "labelSelector", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "name of the HorizontalPodAutoscaler", - "name": "name", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "object name and auth scope, such as for teams and projects", - "name": "namespace", - "in": "path", - "required": true - }, - { - "uniqueItems": true, - "type": "string", - "description": "If 'true', then the output is pretty printed.", - "name": "pretty", - "in": "query" - }, - { - "uniqueItems": true, - "type": "string", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "name": "resourceVersion", - "in": "query" - }, - { - "uniqueItems": true, - "type": "integer", - "description": "Timeout for the list/watch call.", - "name": "timeoutSeconds", - "in": "query" - }, - { - "uniqueItems": true, - "type": "boolean", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "name": "watch", - "in": "query" - } - ] - }, "/apis/extensions/v1beta1/watch/namespaces/{namespace}/ingresses": { "get": { "description": "watch individual changes to a list of Ingress", @@ -26767,7 +27670,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26852,7 +27755,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -26945,7 +27848,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27030,7 +27933,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27123,7 +28026,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27208,7 +28111,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27301,7 +28204,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27378,7 +28281,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27455,7 +28358,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27540,7 +28443,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27617,7 +28520,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27694,7 +28597,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -27779,7 +28682,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -27812,7 +28715,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -27882,7 +28785,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudgetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetList" } }, "401": { @@ -27913,7 +28816,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } } ], @@ -27921,7 +28824,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -27987,7 +28890,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -28051,7 +28954,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -28082,7 +28985,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } } ], @@ -28090,7 +28993,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -28121,7 +29024,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -28134,16 +29037,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -28176,7 +29086,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -28184,7 +29094,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -28240,7 +29150,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -28271,7 +29181,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } } ], @@ -28279,7 +29189,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -28312,7 +29222,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -28320,7 +29230,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" } }, "401": { @@ -28378,7 +29288,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudgetList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetList" } }, "401": { @@ -28455,7 +29365,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -28540,7 +29450,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -28633,7 +29543,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -28710,7 +29620,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -28743,7 +29653,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -28813,7 +29723,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBindingList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBindingList" } }, "401": { @@ -28844,7 +29754,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } } ], @@ -28852,7 +29762,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } }, "401": { @@ -28918,7 +29828,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -28958,7 +29868,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } }, "401": { @@ -28989,7 +29899,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } } ], @@ -28997,7 +29907,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } }, "401": { @@ -29028,7 +29938,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -29041,16 +29951,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -29083,7 +30000,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -29091,7 +30008,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } }, "401": { @@ -29178,7 +30095,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRoleList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleList" } }, "401": { @@ -29209,7 +30126,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } } ], @@ -29217,7 +30134,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } }, "401": { @@ -29283,7 +30200,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -29323,7 +30240,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } }, "401": { @@ -29354,7 +30271,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } } ], @@ -29362,7 +30279,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } }, "401": { @@ -29393,7 +30310,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -29406,16 +30323,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -29448,7 +30372,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -29456,7 +30380,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } }, "401": { @@ -29543,7 +30467,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleBindingList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBindingList" } }, "401": { @@ -29574,7 +30498,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } } ], @@ -29582,7 +30506,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } }, "401": { @@ -29648,7 +30572,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -29696,7 +30620,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } }, "401": { @@ -29727,7 +30651,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } } ], @@ -29735,7 +30659,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } }, "401": { @@ -29766,7 +30690,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -29779,16 +30703,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -29821,7 +30752,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -29829,7 +30760,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } }, "401": { @@ -29924,7 +30855,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleList" } }, "401": { @@ -29955,7 +30886,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } } ], @@ -29963,7 +30894,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } }, "401": { @@ -30029,7 +30960,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -30077,7 +31008,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } }, "401": { @@ -30108,7 +31039,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } } ], @@ -30116,7 +31047,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } }, "401": { @@ -30147,7 +31078,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -30160,16 +31091,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -30202,7 +31140,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -30210,7 +31148,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } }, "401": { @@ -30268,7 +31206,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleBindingList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBindingList" } }, "401": { @@ -30345,7 +31283,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1alpha1.RoleList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleList" } }, "401": { @@ -30422,7 +31360,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -30499,7 +31437,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -30584,7 +31522,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -30661,7 +31599,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -30746,7 +31684,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -30831,7 +31769,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -30924,7 +31862,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -31009,7 +31947,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -31102,7 +32040,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -31179,7 +32117,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -31256,7 +32194,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -31326,7 +32264,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBindingList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBindingList" } }, "401": { @@ -31357,7 +32295,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } } ], @@ -31365,7 +32303,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } }, "401": { @@ -31431,7 +32369,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31471,7 +32409,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } }, "401": { @@ -31502,7 +32440,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } } ], @@ -31510,7 +32448,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } }, "401": { @@ -31541,7 +32479,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -31554,16 +32492,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31596,7 +32541,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -31604,7 +32549,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } }, "401": { @@ -31691,7 +32636,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRoleList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleList" } }, "401": { @@ -31722,7 +32667,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } } ], @@ -31730,7 +32675,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } }, "401": { @@ -31796,7 +32741,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31836,7 +32781,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } }, "401": { @@ -31867,7 +32812,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } } ], @@ -31875,7 +32820,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } }, "401": { @@ -31906,7 +32851,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -31919,16 +32864,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31961,7 +32913,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -31969,7 +32921,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } }, "401": { @@ -32056,7 +33008,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleBindingList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBindingList" } }, "401": { @@ -32087,7 +33039,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } } ], @@ -32095,7 +33047,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } }, "401": { @@ -32161,7 +33113,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -32209,7 +33161,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } }, "401": { @@ -32240,7 +33192,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } } ], @@ -32248,7 +33200,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } }, "401": { @@ -32279,7 +33231,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -32292,16 +33244,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -32334,7 +33293,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -32342,7 +33301,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } }, "401": { @@ -32437,7 +33396,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleList" } }, "401": { @@ -32468,7 +33427,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } } ], @@ -32476,7 +33435,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } }, "401": { @@ -32542,7 +33501,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -32590,7 +33549,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } }, "401": { @@ -32621,7 +33580,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } } ], @@ -32629,7 +33588,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } }, "401": { @@ -32660,7 +33619,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -32673,16 +33632,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -32715,7 +33681,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -32723,7 +33689,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } }, "401": { @@ -32781,7 +33747,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleBindingList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBindingList" } }, "401": { @@ -32858,7 +33824,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.RoleList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleList" } }, "401": { @@ -32935,7 +33901,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33012,7 +33978,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33097,7 +34063,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33174,7 +34140,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33259,7 +34225,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33344,7 +34310,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33437,7 +34403,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33522,7 +34488,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33615,7 +34581,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33692,7 +34658,809 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/settings.k8s.io/": { + "get": { + "description": "get information of a group", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings" + ], + "operationId": "getSettingsAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/apis/settings.k8s.io/v1alpha1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "getSettingsV1alpha1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets": { + "get": { + "description": "list or watch objects of kind PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "listSettingsV1alpha1NamespacedPodPreset", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPresetList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "post": { + "description": "create a PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "createSettingsV1alpha1NamespacedPodPreset", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete collection of PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "deleteSettingsV1alpha1CollectionNamespacedPodPreset", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets/{name}": { + "get": { + "description": "read the specified PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "readSettingsV1alpha1NamespacedPodPreset", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "name": "exact", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "name": "export", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace the specified PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "replaceSettingsV1alpha1NamespacedPodPreset", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete a PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "deleteSettingsV1alpha1NamespacedPodPreset", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update the specified PodPreset", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "patchSettingsV1alpha1NamespacedPodPreset", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the PodPreset", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/settings.k8s.io/v1alpha1/podpresets": { + "get": { + "description": "list or watch objects of kind PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "listSettingsV1alpha1PodPresetForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPresetList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/settings.k8s.io/v1alpha1/watch/namespaces/{namespace}/podpresets": { + "get": { + "description": "watch individual changes to a list of PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "watchSettingsV1alpha1NamespacedPodPresetList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/settings.k8s.io/v1alpha1/watch/namespaces/{namespace}/podpresets/{name}": { + "get": { + "description": "watch changes to an object of kind PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "watchSettingsV1alpha1NamespacedPodPreset", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the PodPreset", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/settings.k8s.io/v1alpha1/watch/podpresets": { + "get": { + "description": "watch individual changes to a list of PodPreset", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "settings_v1alpha1" + ], + "operationId": "watchSettingsV1alpha1PodPresetListForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -33769,7 +35537,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -33778,6 +35546,589 @@ } } }, + "/apis/storage.k8s.io/v1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "getStorageV1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/apis/storage.k8s.io/v1/storageclasses": { + "get": { + "description": "list or watch objects of kind StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "listStorageV1StorageClass", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClassList" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "post": { + "description": "create a StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "createStorageV1StorageClass", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete collection of StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "deleteStorageV1CollectionStorageClass", + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/storage.k8s.io/v1/storageclasses/{name}": { + "get": { + "description": "read the specified StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "readStorageV1StorageClass", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "name": "exact", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "name": "export", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "put": { + "description": "replace the specified StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "replaceStorageV1StorageClass", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "delete": { + "description": "delete a StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "deleteStorageV1StorageClass", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "patch": { + "description": "partially update the specified StorageClass", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "patchStorageV1StorageClass", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the StorageClass", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/storageclasses": { + "get": { + "description": "watch individual changes to a list of StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "watchStorageV1StorageClassList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/storageclasses/{name}": { + "get": { + "description": "watch changes to an object of kind StorageClass", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "operationId": "watchStorageV1StorageClass", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the StorageClass", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, "/apis/storage.k8s.io/v1beta1/": { "get": { "description": "get available resources", @@ -33802,7 +36153,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -33872,7 +36223,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StorageClassList" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClassList" } }, "401": { @@ -33903,7 +36254,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.StorageClass" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" } } ], @@ -33911,7 +36262,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StorageClass" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" } }, "401": { @@ -33977,7 +36328,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -34033,7 +36384,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StorageClass" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" } }, "401": { @@ -34064,7 +36415,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1.StorageClass" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" } } ], @@ -34072,7 +36423,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StorageClass" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" } }, "401": { @@ -34103,7 +36454,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.DeleteOptions" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" } }, { @@ -34116,16 +36467,23 @@ { "uniqueItems": true, "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "name": "orphanDependents", "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "name": "propagationPolicy", + "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -34158,7 +36516,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1.Patch" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" } } ], @@ -34166,7 +36524,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1beta1.StorageClass" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" } }, "401": { @@ -34216,7 +36574,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -34293,7 +36651,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -34416,7 +36774,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/version.Info" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.version.Info" } }, "401": { @@ -34427,27 +36785,10 @@ } }, "definitions": { - "intstr.IntOrString": { - "type": "string", - "format": "int-or-string" - }, - "resource.Quantity": { + "io.k8s.apimachinery.pkg.api.resource.Quantity": { "type": "string" }, - "runtime.RawExtension": { - "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - "required": [ - "Raw" - ], - "properties": { - "Raw": { - "description": "Raw is the underlying serialization of this object.", - "type": "string", - "format": "byte" - } - } - }, - "v1.APIGroup": { + "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup": { "description": "APIGroup contains the name, the supported versions, and the preferred version of a group.", "required": [ "name", @@ -34469,25 +36810,25 @@ }, "preferredVersion": { "description": "preferredVersion is the version preferred by the API server, which probably is the storage version.", - "$ref": "#/definitions/v1.GroupVersionForDiscovery" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery" }, "serverAddressByClientCIDRs": { "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "type": "array", "items": { - "$ref": "#/definitions/v1.ServerAddressByClientCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" } }, "versions": { "description": "versions are the versions supported in this group.", "type": "array", "items": { - "$ref": "#/definitions/v1.GroupVersionForDiscovery" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery" } } } }, - "v1.APIGroupList": { + "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList": { "description": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.", "required": [ "groups" @@ -34501,7 +36842,7 @@ "description": "groups is a list of APIGroup.", "type": "array", "items": { - "$ref": "#/definitions/v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "kind": { @@ -34510,7 +36851,7 @@ } } }, - "v1.APIResource": { + "io.k8s.apimachinery.pkg.apis.meta.v1.APIResource": { "description": "APIResource specifies the name of a resource and whether it is namespaced.", "required": [ "name", @@ -34531,6 +36872,13 @@ "description": "namespaced indicates if a resource is namespaced or not.", "type": "boolean" }, + "shortNames": { + "description": "shortNames is a list of suggested short names of the resource.", + "type": "array", + "items": { + "type": "string" + } + }, "verbs": { "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)", "type": "array", @@ -34540,7 +36888,7 @@ } } }, - "v1.APIResourceList": { + "io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList": { "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", "required": [ "groupVersion", @@ -34563,12 +36911,12 @@ "description": "resources contains the name of the resources and if they are namespaced.", "type": "array", "items": { - "$ref": "#/definitions/v1.APIResource" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource" } } } }, - "v1.APIVersions": { + "io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions": { "description": "APIVersions lists the versions that are available, to allow clients to discover the API at /api, which is the root path of the legacy v1 API.", "required": [ "versions", @@ -34587,7 +36935,7 @@ "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "type": "array", "items": { - "$ref": "#/definitions/v1.ServerAddressByClientCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" } }, "versions": { @@ -34599,7 +36947,417 @@ } } }, - "v1.AWSElasticBlockStoreVolumeSource": { + "io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions": { + "description": "DeleteOptions may be provided when deleting an API object.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "gracePeriodSeconds": { + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "type": "integer", + "format": "int64" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "orphanDependents": { + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "type": "boolean" + }, + "preconditions": { + "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions" + }, + "propagationPolicy": { + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery": { + "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "required": [ + "groupVersion", + "version" + ], + "properties": { + "groupVersion": { + "description": "groupVersion specifies the API group and version in the form \"group/version\"", + "type": "string" + }, + "version": { + "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector": { + "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", + "properties": { + "matchExpressions": { + "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement" + } + }, + "matchLabels": { + "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement": { + "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "required": [ + "key", + "operator" + ], + "properties": { + "key": { + "description": "key is the label key that the selector applies to.", + "type": "string" + }, + "operator": { + "description": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.", + "type": "string" + }, + "values": { + "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta": { + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "properties": { + "resourceVersion": { + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "clusterName": { + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", + "type": "string" + }, + "creationTimestamp": { + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "deletionGracePeriodSeconds": { + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", + "type": "integer", + "format": "int64" + }, + "deletionTimestamp": { + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "finalizers": { + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.", + "type": "array", + "items": { + "type": "string" + } + }, + "generateName": { + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency", + "type": "string" + }, + "generation": { + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", + "type": "integer", + "format": "int64" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "namespace": { + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces", + "type": "string" + }, + "ownerReferences": { + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference" + } + }, + "resourceVersion": { + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference": { + "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "description": "API version of the referent.", + "type": "string" + }, + "blockOwnerDeletion": { + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.", + "type": "boolean" + }, + "controller": { + "description": "If true, this reference points to the managing controller.", + "type": "boolean" + }, + "kind": { + "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Patch": { + "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body." + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions": { + "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "properties": { + "uid": { + "description": "Specifies the target UID.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR": { + "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", + "required": [ + "clientCIDR", + "serverAddress" + ], + "properties": { + "clientCIDR": { + "description": "The CIDR with which clients can match their IP to figure out the server address that they should use.", + "type": "string" + }, + "serverAddress": { + "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Status": { + "description": "Status is a return value for calls that don't return other objects.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "code": { + "description": "Suggested HTTP return code for this status, 0 if not set.", + "type": "integer", + "format": "int32" + }, + "details": { + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "message": { + "description": "A human-readable description of the status of this operation.", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + }, + "reason": { + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", + "type": "string" + }, + "status": { + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause": { + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "properties": { + "field": { + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", + "type": "string" + }, + "message": { + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "type": "string" + }, + "reason": { + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails": { + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "properties": { + "causes": { + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause" + } + }, + "group": { + "description": "The group attribute of the resource associated with the status StatusReason.", + "type": "string" + }, + "kind": { + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "type": "string" + }, + "retryAfterSeconds": { + "description": "If specified, the time in seconds before the operation should be retried.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Time": { + "type": "string", + "format": "date-time" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent": { + "description": "Event represents a single event to a watched resource.", + "required": [ + "type", + "object" + ], + "properties": { + "object": { + "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension" + }, + "type": { + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.runtime.RawExtension": { + "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", + "required": [ + "Raw" + ], + "properties": { + "Raw": { + "description": "Raw is the underlying serialization of this object.", + "type": "string", + "format": "byte" + } + } + }, + "io.k8s.apimachinery.pkg.util.intstr.IntOrString": { + "type": "string", + "format": "int-or-string" + }, + "io.k8s.apimachinery.pkg.version.Info": { + "description": "Info contains versioning information. how we'll want to distribute that information.", + "required": [ + "major", + "minor", + "gitVersion", + "gitCommit", + "gitTreeState", + "buildDate", + "goVersion", + "compiler", + "platform" + ], + "properties": { + "buildDate": { + "type": "string" + }, + "compiler": { + "type": "string" + }, + "gitCommit": { + "type": "string" + }, + "gitTreeState": { + "type": "string" + }, + "gitVersion": { + "type": "string" + }, + "goVersion": { + "type": "string" + }, + "major": { + "type": "string" + }, + "minor": { + "type": "string" + }, + "platform": { + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource": { "description": "Represents a Persistent Disk resource in AWS.\n\nAn AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.", "required": [ "volumeID" @@ -34624,24 +37382,24 @@ } } }, - "v1.Affinity": { + "io.k8s.kubernetes.pkg.api.v1.Affinity": { "description": "Affinity is a group of affinity scheduling rules.", "properties": { "nodeAffinity": { "description": "Describes node affinity scheduling rules for the pod.", - "$ref": "#/definitions/v1.NodeAffinity" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeAffinity" }, "podAffinity": { "description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).", - "$ref": "#/definitions/v1.PodAffinity" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAffinity" }, "podAntiAffinity": { "description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).", - "$ref": "#/definitions/v1.PodAntiAffinity" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAntiAffinity" } } }, - "v1.AttachedVolume": { + "io.k8s.kubernetes.pkg.api.v1.AttachedVolume": { "description": "AttachedVolume describes a volume attached to a node", "required": [ "name", @@ -34658,7 +37416,7 @@ } } }, - "v1.AzureDiskVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource": { "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.", "required": [ "diskName", @@ -34687,7 +37445,7 @@ } } }, - "v1.AzureFileVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource": { "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.", "required": [ "secretName", @@ -34708,7 +37466,7 @@ } } }, - "v1.Binding": { + "io.k8s.kubernetes.pkg.api.v1.Binding": { "description": "Binding ties one object to another. For example, a pod is bound to a node by a scheduler.", "required": [ "target" @@ -34724,15 +37482,22 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "target": { "description": "The target object that you want to bind to the standard object.", - "$ref": "#/definitions/v1.ObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Binding" + } + ] }, - "v1.Capabilities": { + "io.k8s.kubernetes.pkg.api.v1.Capabilities": { "description": "Adds and removes POSIX capabilities from running containers.", "properties": { "add": { @@ -34751,7 +37516,7 @@ } } }, - "v1.CephFSVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource": { "description": "Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.", "required": [ "monitors" @@ -34778,7 +37543,7 @@ }, "secretRef": { "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", - "$ref": "#/definitions/v1.LocalObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference" }, "user": { "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", @@ -34786,7 +37551,7 @@ } } }, - "v1.CinderVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource": { "description": "Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.", "required": [ "volumeID" @@ -34806,7 +37571,7 @@ } } }, - "v1.ComponentCondition": { + "io.k8s.kubernetes.pkg.api.v1.ComponentCondition": { "description": "Information about the condition of a component.", "required": [ "type", @@ -34831,7 +37596,7 @@ } } }, - "v1.ComponentStatus": { + "io.k8s.kubernetes.pkg.api.v1.ComponentStatus": { "description": "ComponentStatus (and ComponentStatusList) holds the cluster validation info.", "properties": { "apiVersion": { @@ -34842,7 +37607,7 @@ "description": "List of component conditions observed", "type": "array", "items": { - "$ref": "#/definitions/v1.ComponentCondition" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ComponentCondition" } }, "kind": { @@ -34851,11 +37616,18 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ComponentStatus" + } + ] }, - "v1.ComponentStatusList": { + "io.k8s.kubernetes.pkg.api.v1.ComponentStatusList": { "description": "Status of all the conditions for the component as a list of ComponentStatus objects.", "required": [ "items" @@ -34869,7 +37641,7 @@ "description": "List of ComponentStatus objects.", "type": "array", "items": { - "$ref": "#/definitions/v1.ComponentStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ComponentStatus" } }, "kind": { @@ -34878,11 +37650,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ComponentStatusList" + } + ] }, - "v1.ConfigMap": { + "io.k8s.kubernetes.pkg.api.v1.ConfigMap": { "description": "ConfigMap holds configuration data for pods to consume.", "properties": { "apiVersion": { @@ -34902,11 +37681,18 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ConfigMap" + } + ] }, - "v1.ConfigMapEnvSource": { + "io.k8s.kubernetes.pkg.api.v1.ConfigMapEnvSource": { "description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", "properties": { "name": { @@ -34919,7 +37705,7 @@ } } }, - "v1.ConfigMapKeySelector": { + "io.k8s.kubernetes.pkg.api.v1.ConfigMapKeySelector": { "description": "Selects a key from a ConfigMap.", "required": [ "key" @@ -34939,7 +37725,7 @@ } } }, - "v1.ConfigMapList": { + "io.k8s.kubernetes.pkg.api.v1.ConfigMapList": { "description": "ConfigMapList is a resource containing a list of ConfigMap objects.", "required": [ "items" @@ -34953,7 +37739,7 @@ "description": "Items is the list of ConfigMaps.", "type": "array", "items": { - "$ref": "#/definitions/v1.ConfigMap" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap" } }, "kind": { @@ -34962,23 +37748,25 @@ }, "metadata": { "description": "More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ConfigMapList" + } + ] }, - "v1.ConfigMapVolumeSource": { - "description": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", + "io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection": { + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", "properties": { - "defaultMode": { - "description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", - "type": "integer", - "format": "int32" - }, "items": { "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", "type": "array", "items": { - "$ref": "#/definitions/v1.KeyToPath" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" } }, "name": { @@ -34991,7 +37779,32 @@ } } }, - "v1.Container": { + "io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource": { + "description": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", + "properties": { + "defaultMode": { + "description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "type": "integer", + "format": "int32" + }, + "items": { + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" + } + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the ConfigMap or it's keys must be defined", + "type": "boolean" + } + } + }, + "io.k8s.kubernetes.pkg.api.v1.Container": { "description": "A single application container that you want to run within a pod.", "required": [ "name" @@ -35015,14 +37828,14 @@ "description": "List of environment variables to set in the container. Cannot be updated.", "type": "array", "items": { - "$ref": "#/definitions/v1.EnvVar" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvVar" } }, "envFrom": { - "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. An invalid key will prevent the container from starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", + "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", "type": "array", "items": { - "$ref": "#/definitions/v1.EnvFromSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvFromSource" } }, "image": { @@ -35035,11 +37848,11 @@ }, "lifecycle": { "description": "Actions that the management system should take in response to container lifecycle events. Cannot be updated.", - "$ref": "#/definitions/v1.Lifecycle" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Lifecycle" }, "livenessProbe": { "description": "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/pod-states#container-probes", - "$ref": "#/definitions/v1.Probe" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Probe" }, "name": { "description": "Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.", @@ -35049,20 +37862,20 @@ "description": "List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated.", "type": "array", "items": { - "$ref": "#/definitions/v1.ContainerPort" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerPort" } }, "readinessProbe": { "description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/pod-states#container-probes", - "$ref": "#/definitions/v1.Probe" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Probe" }, "resources": { "description": "Compute Resources required by this container. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources", - "$ref": "#/definitions/v1.ResourceRequirements" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceRequirements" }, "securityContext": { "description": "Security options the pod should run with. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md", - "$ref": "#/definitions/v1.SecurityContext" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecurityContext" }, "stdin": { "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.", @@ -35088,7 +37901,7 @@ "description": "Pod volumes to mount into the container's filesystem. Cannot be updated.", "type": "array", "items": { - "$ref": "#/definitions/v1.VolumeMount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VolumeMount" } }, "workingDir": { @@ -35097,7 +37910,7 @@ } } }, - "v1.ContainerImage": { + "io.k8s.kubernetes.pkg.api.v1.ContainerImage": { "description": "Describe a container image", "required": [ "names" @@ -35117,7 +37930,7 @@ } } }, - "v1.ContainerPort": { + "io.k8s.kubernetes.pkg.api.v1.ContainerPort": { "description": "ContainerPort represents a network port in a single container.", "required": [ "containerPort" @@ -35147,33 +37960,33 @@ } } }, - "v1.ContainerState": { + "io.k8s.kubernetes.pkg.api.v1.ContainerState": { "description": "ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.", "properties": { "running": { "description": "Details about a running container", - "$ref": "#/definitions/v1.ContainerStateRunning" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerStateRunning" }, "terminated": { "description": "Details about a terminated container", - "$ref": "#/definitions/v1.ContainerStateTerminated" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerStateTerminated" }, "waiting": { "description": "Details about a waiting container", - "$ref": "#/definitions/v1.ContainerStateWaiting" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerStateWaiting" } } }, - "v1.ContainerStateRunning": { + "io.k8s.kubernetes.pkg.api.v1.ContainerStateRunning": { "description": "ContainerStateRunning is a running state of a container.", "properties": { "startedAt": { "description": "Time at which the container was last (re-)started", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } } }, - "v1.ContainerStateTerminated": { + "io.k8s.kubernetes.pkg.api.v1.ContainerStateTerminated": { "description": "ContainerStateTerminated is a terminated state of a container.", "required": [ "exitCode" @@ -35190,7 +38003,7 @@ }, "finishedAt": { "description": "Time at which the container last terminated", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "message": { "description": "Message regarding the last termination of the container", @@ -35207,11 +38020,11 @@ }, "startedAt": { "description": "Time at which previous execution of the container started", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } } }, - "v1.ContainerStateWaiting": { + "io.k8s.kubernetes.pkg.api.v1.ContainerStateWaiting": { "description": "ContainerStateWaiting is a waiting state of a container.", "properties": { "message": { @@ -35224,7 +38037,7 @@ } } }, - "v1.ContainerStatus": { + "io.k8s.kubernetes.pkg.api.v1.ContainerStatus": { "description": "ContainerStatus contains details for the current status of this container.", "required": [ "name", @@ -35248,7 +38061,7 @@ }, "lastState": { "description": "Details about the container's last termination condition.", - "$ref": "#/definitions/v1.ContainerState" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerState" }, "name": { "description": "This must be a DNS_LABEL. Each container in a pod must have a unique name. Cannot be updated.", @@ -35265,32 +38078,11 @@ }, "state": { "description": "Details about the container's current condition.", - "$ref": "#/definitions/v1.ContainerState" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerState" } } }, - "v1.CrossVersionObjectReference": { - "description": "CrossVersionObjectReference contains enough information to let you identify the referred resource.", - "required": [ - "kind", - "name" - ], - "properties": { - "apiVersion": { - "description": "API version of the referent", - "type": "string" - }, - "kind": { - "description": "Kind of the referent; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\"", - "type": "string" - }, - "name": { - "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names", - "type": "string" - } - } - }, - "v1.DaemonEndpoint": { + "io.k8s.kubernetes.pkg.api.v1.DaemonEndpoint": { "description": "DaemonEndpoint contains information about a single Daemon endpoint.", "required": [ "Port" @@ -35303,33 +38095,19 @@ } } }, - "v1.DeleteOptions": { - "description": "DeleteOptions may be provided when deleting an API object.", + "io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection": { + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "gracePeriodSeconds": { - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "type": "integer", - "format": "int64" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "orphanDependents": { - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", - "type": "boolean" - }, - "preconditions": { - "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", - "$ref": "#/definitions/v1.Preconditions" + "items": { + "description": "Items is a list of DownwardAPIVolume file", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile" + } } } }, - "v1.DownwardAPIVolumeFile": { + "io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile": { "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field", "required": [ "path" @@ -35337,7 +38115,7 @@ "properties": { "fieldRef": { "description": "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.", - "$ref": "#/definitions/v1.ObjectFieldSelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector" }, "mode": { "description": "Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", @@ -35350,11 +38128,11 @@ }, "resourceFieldRef": { "description": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.", - "$ref": "#/definitions/v1.ResourceFieldSelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceFieldSelector" } } }, - "v1.DownwardAPIVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeSource": { "description": "DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.", "properties": { "defaultMode": { @@ -35366,12 +38144,12 @@ "description": "Items is a list of downward API volume file", "type": "array", "items": { - "$ref": "#/definitions/v1.DownwardAPIVolumeFile" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile" } } } }, - "v1.EmptyDirVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.EmptyDirVolumeSource": { "description": "Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.", "properties": { "medium": { @@ -35380,7 +38158,7 @@ } } }, - "v1.EndpointAddress": { + "io.k8s.kubernetes.pkg.api.v1.EndpointAddress": { "description": "EndpointAddress is a tuple that describes single IP address.", "required": [ "ip" @@ -35400,11 +38178,11 @@ }, "targetRef": { "description": "Reference to object providing the endpoint.", - "$ref": "#/definitions/v1.ObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference" } } }, - "v1.EndpointPort": { + "io.k8s.kubernetes.pkg.api.v1.EndpointPort": { "description": "EndpointPort is a tuple that describes a single port.", "required": [ "port" @@ -35425,33 +38203,33 @@ } } }, - "v1.EndpointSubset": { + "io.k8s.kubernetes.pkg.api.v1.EndpointSubset": { "description": "EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n }\nThe resulting set of endpoints can be viewed as:\n a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],\n b: [ 10.10.1.1:309, 10.10.2.2:309 ]", "properties": { "addresses": { "description": "IP addresses which offer the related ports that are marked as ready. These endpoints should be considered safe for load balancers and clients to utilize.", "type": "array", "items": { - "$ref": "#/definitions/v1.EndpointAddress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EndpointAddress" } }, "notReadyAddresses": { "description": "IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.", "type": "array", "items": { - "$ref": "#/definitions/v1.EndpointAddress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EndpointAddress" } }, "ports": { "description": "Port numbers available on the related IP addresses.", "type": "array", "items": { - "$ref": "#/definitions/v1.EndpointPort" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EndpointPort" } } } }, - "v1.Endpoints": { + "io.k8s.kubernetes.pkg.api.v1.Endpoints": { "description": "Endpoints is a collection of endpoints that implement the actual service. Example:\n Name: \"mysvc\",\n Subsets: [\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n },\n {\n Addresses: [{\"ip\": \"10.10.3.3\"}],\n Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n },\n ]", "required": [ "subsets" @@ -35467,18 +38245,25 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "subsets": { "description": "The set of all endpoints is the union of all subsets. Addresses are placed into subsets according to the IPs they share. A single address with multiple ports, some of which are ready and some of which are not (because they come from different containers) will result in the address being displayed in different subsets for the different ports. No address will appear in both Addresses and NotReadyAddresses in the same subset. Sets of addresses and ports that comprise a service.", "type": "array", "items": { - "$ref": "#/definitions/v1.EndpointSubset" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EndpointSubset" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Endpoints" + } + ] }, - "v1.EndpointsList": { + "io.k8s.kubernetes.pkg.api.v1.EndpointsList": { "description": "EndpointsList is a list of endpoints.", "required": [ "items" @@ -35492,7 +38277,7 @@ "description": "List of endpoints.", "type": "array", "items": { - "$ref": "#/definitions/v1.Endpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Endpoints" } }, "kind": { @@ -35501,16 +38286,23 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "EndpointsList" + } + ] }, - "v1.EnvFromSource": { + "io.k8s.kubernetes.pkg.api.v1.EnvFromSource": { "description": "EnvFromSource represents the source of a set of ConfigMaps", "properties": { "configMapRef": { "description": "The ConfigMap to select from", - "$ref": "#/definitions/v1.ConfigMapEnvSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapEnvSource" }, "prefix": { "description": "An optional identifer to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", @@ -35518,11 +38310,11 @@ }, "secretRef": { "description": "The Secret to select from", - "$ref": "#/definitions/v1.SecretEnvSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretEnvSource" } } }, - "v1.EnvVar": { + "io.k8s.kubernetes.pkg.api.v1.EnvVar": { "description": "EnvVar represents an environment variable present in a Container.", "required": [ "name" @@ -35538,32 +38330,32 @@ }, "valueFrom": { "description": "Source for the environment variable's value. Cannot be used if value is not empty.", - "$ref": "#/definitions/v1.EnvVarSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvVarSource" } } }, - "v1.EnvVarSource": { + "io.k8s.kubernetes.pkg.api.v1.EnvVarSource": { "description": "EnvVarSource represents a source for the value of an EnvVar.", "properties": { "configMapKeyRef": { "description": "Selects a key of a ConfigMap.", - "$ref": "#/definitions/v1.ConfigMapKeySelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapKeySelector" }, "fieldRef": { "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.", - "$ref": "#/definitions/v1.ObjectFieldSelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector" }, "resourceFieldRef": { "description": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.", - "$ref": "#/definitions/v1.ResourceFieldSelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceFieldSelector" }, "secretKeyRef": { "description": "Selects a key of a secret in the pod's namespace", - "$ref": "#/definitions/v1.SecretKeySelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretKeySelector" } } }, - "v1.Event": { + "io.k8s.kubernetes.pkg.api.v1.Event": { "description": "Event is a report of an event somewhere in the cluster.", "required": [ "metadata", @@ -35581,11 +38373,11 @@ }, "firstTimestamp": { "description": "The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "involvedObject": { "description": "The object that this event is about.", - "$ref": "#/definitions/v1.ObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference" }, "kind": { "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", @@ -35593,7 +38385,7 @@ }, "lastTimestamp": { "description": "The time at which the most recent occurrence of this event was recorded.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "message": { "description": "A human-readable description of the status of this operation.", @@ -35601,7 +38393,7 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "reason": { "description": "This should be a short, machine understandable string that gives the reason for the transition into the object's current status.", @@ -35609,15 +38401,22 @@ }, "source": { "description": "The component reporting this event. Should be a short machine understandable string.", - "$ref": "#/definitions/v1.EventSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EventSource" }, "type": { "description": "Type of this event (Normal, Warning), new types could be added in the future", "type": "string" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Event" + } + ] }, - "v1.EventList": { + "io.k8s.kubernetes.pkg.api.v1.EventList": { "description": "EventList is a list of events.", "required": [ "items" @@ -35631,7 +38430,7 @@ "description": "List of events", "type": "array", "items": { - "$ref": "#/definitions/v1.Event" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event" } }, "kind": { @@ -35640,11 +38439,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "EventList" + } + ] }, - "v1.EventSource": { + "io.k8s.kubernetes.pkg.api.v1.EventSource": { "description": "EventSource contains information for an event.", "properties": { "component": { @@ -35657,7 +38463,7 @@ } } }, - "v1.ExecAction": { + "io.k8s.kubernetes.pkg.api.v1.ExecAction": { "description": "ExecAction describes a \"run in container\" action.", "properties": { "command": { @@ -35669,7 +38475,7 @@ } } }, - "v1.FCVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.FCVolumeSource": { "description": "Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.", "required": [ "targetWWNs", @@ -35698,7 +38504,7 @@ } } }, - "v1.FlexVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource": { "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.", "required": [ "driver" @@ -35725,11 +38531,11 @@ }, "secretRef": { "description": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.", - "$ref": "#/definitions/v1.LocalObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference" } } }, - "v1.FlockerVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource": { "description": "Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.", "properties": { "datasetName": { @@ -35742,7 +38548,7 @@ } } }, - "v1.GCEPersistentDiskVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource": { "description": "Represents a Persistent Disk resource in Google Compute Engine.\n\nA GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.", "required": [ "pdName" @@ -35767,7 +38573,7 @@ } } }, - "v1.GitRepoVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.GitRepoVolumeSource": { "description": "Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.", "required": [ "repository" @@ -35787,7 +38593,7 @@ } } }, - "v1.GlusterfsVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource": { "description": "Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.", "required": [ "endpoints", @@ -35808,24 +38614,7 @@ } } }, - "v1.GroupVersionForDiscovery": { - "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", - "required": [ - "groupVersion", - "version" - ], - "properties": { - "groupVersion": { - "description": "groupVersion specifies the API group and version in the form \"group/version\"", - "type": "string" - }, - "version": { - "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", - "type": "string" - } - } - }, - "v1.HTTPGetAction": { + "io.k8s.kubernetes.pkg.api.v1.HTTPGetAction": { "description": "HTTPGetAction describes an action based on HTTP Get requests.", "required": [ "port" @@ -35839,7 +38628,7 @@ "description": "Custom headers to set in the request. HTTP allows repeated headers.", "type": "array", "items": { - "$ref": "#/definitions/v1.HTTPHeader" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HTTPHeader" } }, "path": { @@ -35848,7 +38637,7 @@ }, "port": { "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", - "$ref": "#/definitions/intstr.IntOrString" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" }, "scheme": { "description": "Scheme to use for connecting to the host. Defaults to HTTP.", @@ -35856,7 +38645,7 @@ } } }, - "v1.HTTPHeader": { + "io.k8s.kubernetes.pkg.api.v1.HTTPHeader": { "description": "HTTPHeader describes a custom header to be used in HTTP probes", "required": [ "name", @@ -35873,137 +38662,24 @@ } } }, - "v1.Handler": { + "io.k8s.kubernetes.pkg.api.v1.Handler": { "description": "Handler defines a specific action that should be taken", "properties": { "exec": { "description": "One and only one of the following should be specified. Exec specifies the action to take.", - "$ref": "#/definitions/v1.ExecAction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ExecAction" }, "httpGet": { "description": "HTTPGet specifies the http request to perform.", - "$ref": "#/definitions/v1.HTTPGetAction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HTTPGetAction" }, "tcpSocket": { "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported", - "$ref": "#/definitions/v1.TCPSocketAction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.TCPSocketAction" } } }, - "v1.HorizontalPodAutoscaler": { - "description": "configuration of a horizontal pod autoscaler.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "behaviour of autoscaler. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", - "$ref": "#/definitions/v1.HorizontalPodAutoscalerSpec" - }, - "status": { - "description": "current information about the autoscaler.", - "$ref": "#/definitions/v1.HorizontalPodAutoscalerStatus" - } - } - }, - "v1.HorizontalPodAutoscalerList": { - "description": "list of horizontal pod autoscaler objects.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "list of horizontal pod autoscaler objects.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.HorizontalPodAutoscaler" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata.", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1.HorizontalPodAutoscalerSpec": { - "description": "specification of a horizontal pod autoscaler.", - "required": [ - "scaleTargetRef", - "maxReplicas" - ], - "properties": { - "maxReplicas": { - "description": "upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.", - "type": "integer", - "format": "int32" - }, - "minReplicas": { - "description": "lower limit for the number of pods that can be set by the autoscaler, default 1.", - "type": "integer", - "format": "int32" - }, - "scaleTargetRef": { - "description": "reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource.", - "$ref": "#/definitions/v1.CrossVersionObjectReference" - }, - "targetCPUUtilizationPercentage": { - "description": "target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified the default autoscaling policy will be used.", - "type": "integer", - "format": "int32" - } - } - }, - "v1.HorizontalPodAutoscalerStatus": { - "description": "current status of a horizontal pod autoscaler", - "required": [ - "currentReplicas", - "desiredReplicas" - ], - "properties": { - "currentCPUUtilizationPercentage": { - "description": "current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.", - "type": "integer", - "format": "int32" - }, - "currentReplicas": { - "description": "current number of replicas of pods managed by this autoscaler.", - "type": "integer", - "format": "int32" - }, - "desiredReplicas": { - "description": "desired number of replicas of pods managed by this autoscaler.", - "type": "integer", - "format": "int32" - }, - "lastScaleTime": { - "description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.", - "$ref": "#/definitions/v1.Time" - }, - "observedGeneration": { - "description": "most recent generation observed by this autoscaler.", - "type": "integer", - "format": "int64" - } - } - }, - "v1.HostPathVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource": { "description": "Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.", "required": [ "path" @@ -36015,7 +38691,7 @@ } } }, - "v1.ISCSIVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource": { "description": "Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.", "required": [ "targetPortal", @@ -36040,6 +38716,13 @@ "type": "integer", "format": "int32" }, + "portals": { + "description": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).", + "type": "array", + "items": { + "type": "string" + } + }, "readOnly": { "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "type": "boolean" @@ -36050,162 +38733,7 @@ } } }, - "v1.Job": { - "description": "Job represents the configuration of a single job.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec is a structure defining the expected behavior of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.JobSpec" - }, - "status": { - "description": "Status is a structure describing current status of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.JobStatus" - } - } - }, - "v1.JobCondition": { - "description": "JobCondition describes current state of a job.", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Last time the condition was checked.", - "$ref": "#/definitions/v1.Time" - }, - "lastTransitionTime": { - "description": "Last time the condition transit from one status to another.", - "$ref": "#/definitions/v1.Time" - }, - "message": { - "description": "Human readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "(brief) reason for the condition's last transition.", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "Type of job condition, Complete or Failed.", - "type": "string" - } - } - }, - "v1.JobList": { - "description": "JobList is a collection of jobs.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of Job.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.Job" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1.JobSpec": { - "description": "JobSpec describes how the job execution will look like.", - "required": [ - "template" - ], - "properties": { - "activeDeadlineSeconds": { - "description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer", - "type": "integer", - "format": "int64" - }, - "completions": { - "description": "Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://kubernetes.io/docs/user-guide/jobs", - "type": "integer", - "format": "int32" - }, - "manualSelector": { - "description": "ManualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template. When true, the user is responsible for picking unique labels and specifying the selector. Failure to pick a unique label may cause this and other jobs to not function correctly. However, You may see `manualSelector=true` in jobs that were created with the old `extensions/v1beta1` API. More info: http://releases.k8s.io/HEAD/docs/design/selector-generation.md", - "type": "boolean" - }, - "parallelism": { - "description": "Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) \u003c .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://kubernetes.io/docs/user-guide/jobs", - "type": "integer", - "format": "int32" - }, - "selector": { - "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "$ref": "#/definitions/v1.LabelSelector" - }, - "template": { - "description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs", - "$ref": "#/definitions/v1.PodTemplateSpec" - } - } - }, - "v1.JobStatus": { - "description": "JobStatus represents the current state of a Job.", - "properties": { - "active": { - "description": "Active is the number of actively running pods.", - "type": "integer", - "format": "int32" - }, - "completionTime": { - "description": "CompletionTime represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", - "$ref": "#/definitions/v1.Time" - }, - "conditions": { - "description": "Conditions represent the latest available observations of an object's current state. More info: http://kubernetes.io/docs/user-guide/jobs", - "type": "array", - "items": { - "$ref": "#/definitions/v1.JobCondition" - } - }, - "failed": { - "description": "Failed is the number of pods which reached Phase Failed.", - "type": "integer", - "format": "int32" - }, - "startTime": { - "description": "StartTime represents time when the job was acknowledged by the Job Manager. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", - "$ref": "#/definitions/v1.Time" - }, - "succeeded": { - "description": "Succeeded is the number of pods which reached Phase Succeeded.", - "type": "integer", - "format": "int32" - } - } - }, - "v1.KeyToPath": { + "io.k8s.kubernetes.pkg.api.v1.KeyToPath": { "description": "Maps a string key to a path within a volume.", "required": [ "key", @@ -36227,63 +38755,20 @@ } } }, - "v1.LabelSelector": { - "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.LabelSelectorRequirement" - } - }, - "matchLabels": { - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "v1.LabelSelectorRequirement": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", - "required": [ - "key", - "operator" - ], - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "v1.Lifecycle": { + "io.k8s.kubernetes.pkg.api.v1.Lifecycle": { "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.", "properties": { "postStart": { "description": "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details", - "$ref": "#/definitions/v1.Handler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Handler" }, "preStop": { "description": "PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://kubernetes.io/docs/user-guide/container-environment#hook-details", - "$ref": "#/definitions/v1.Handler" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Handler" } } }, - "v1.LimitRange": { + "io.k8s.kubernetes.pkg.api.v1.LimitRange": { "description": "LimitRange sets resource usage limits for each kind of resource in a Namespace.", "properties": { "apiVersion": { @@ -36296,50 +38781,57 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the limits enforced. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.LimitRangeSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRangeSpec" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "LimitRange" + } + ] }, - "v1.LimitRangeItem": { + "io.k8s.kubernetes.pkg.api.v1.LimitRangeItem": { "description": "LimitRangeItem defines a min/max usage limit for any resource that matches on kind.", "properties": { "default": { "description": "Default resource requirement limit value by resource name if resource limit is omitted.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "defaultRequest": { "description": "DefaultRequest is the default resource requirement request value by resource name if resource request is omitted.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "max": { "description": "Max usage constraints on this kind by resource name.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "maxLimitRequestRatio": { "description": "MaxLimitRequestRatio if specified, the named resource must have a request and limit that are both non-zero where limit divided by request is less than or equal to the enumerated value; this represents the max burst for the named resource.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "min": { "description": "Min usage constraints on this kind by resource name.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "type": { @@ -36348,7 +38840,7 @@ } } }, - "v1.LimitRangeList": { + "io.k8s.kubernetes.pkg.api.v1.LimitRangeList": { "description": "LimitRangeList is a list of LimitRange items.", "required": [ "items" @@ -36362,7 +38854,7 @@ "description": "Items is a list of LimitRange objects. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md", "type": "array", "items": { - "$ref": "#/definitions/v1.LimitRange" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRange" } }, "kind": { @@ -36371,11 +38863,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "LimitRangeList" + } + ] }, - "v1.LimitRangeSpec": { + "io.k8s.kubernetes.pkg.api.v1.LimitRangeSpec": { "description": "LimitRangeSpec defines a min/max usage limit for resources that match on kind.", "required": [ "limits" @@ -36385,25 +38884,12 @@ "description": "Limits is the list of LimitRangeItem objects that are enforced.", "type": "array", "items": { - "$ref": "#/definitions/v1.LimitRangeItem" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LimitRangeItem" } } } }, - "v1.ListMeta": { - "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", - "properties": { - "resourceVersion": { - "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", - "type": "string" - }, - "selfLink": { - "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.", - "type": "string" - } - } - }, - "v1.LoadBalancerIngress": { + "io.k8s.kubernetes.pkg.api.v1.LoadBalancerIngress": { "description": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.", "properties": { "hostname": { @@ -36416,19 +38902,19 @@ } } }, - "v1.LoadBalancerStatus": { + "io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus": { "description": "LoadBalancerStatus represents the status of a load-balancer.", "properties": { "ingress": { "description": "Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points.", "type": "array", "items": { - "$ref": "#/definitions/v1.LoadBalancerIngress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LoadBalancerIngress" } } } }, - "v1.LocalObjectReference": { + "io.k8s.kubernetes.pkg.api.v1.LocalObjectReference": { "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", "properties": { "name": { @@ -36437,7 +38923,7 @@ } } }, - "v1.NFSVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource": { "description": "Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.", "required": [ "server", @@ -36458,7 +38944,7 @@ } } }, - "v1.Namespace": { + "io.k8s.kubernetes.pkg.api.v1.Namespace": { "description": "Namespace provides a scope for Names. Use of multiple namespaces is optional.", "properties": { "apiVersion": { @@ -36471,19 +38957,26 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the behavior of the Namespace. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.NamespaceSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NamespaceSpec" }, "status": { "description": "Status describes the current status of a Namespace. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.NamespaceStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NamespaceStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Namespace" + } + ] }, - "v1.NamespaceList": { + "io.k8s.kubernetes.pkg.api.v1.NamespaceList": { "description": "NamespaceList is a list of Namespaces.", "required": [ "items" @@ -36497,7 +38990,7 @@ "description": "Items is the list of Namespace objects in the list. More info: http://kubernetes.io/docs/user-guide/namespaces", "type": "array", "items": { - "$ref": "#/definitions/v1.Namespace" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace" } }, "kind": { @@ -36506,11 +38999,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "NamespaceList" + } + ] }, - "v1.NamespaceSpec": { + "io.k8s.kubernetes.pkg.api.v1.NamespaceSpec": { "description": "NamespaceSpec describes the attributes on a Namespace.", "properties": { "finalizers": { @@ -36522,7 +39022,7 @@ } } }, - "v1.NamespaceStatus": { + "io.k8s.kubernetes.pkg.api.v1.NamespaceStatus": { "description": "NamespaceStatus is information about the current status of a Namespace.", "properties": { "phase": { @@ -36531,7 +39031,7 @@ } } }, - "v1.Node": { + "io.k8s.kubernetes.pkg.api.v1.Node": { "description": "Node is a worker node in Kubernetes. Each node will have a unique identifier in the cache (i.e. in etcd).", "properties": { "apiVersion": { @@ -36544,19 +39044,26 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the behavior of a node. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.NodeSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSpec" }, "status": { "description": "Most recently observed status of the node. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.NodeStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Node" + } + ] }, - "v1.NodeAddress": { + "io.k8s.kubernetes.pkg.api.v1.NodeAddress": { "description": "NodeAddress contains information for the node's address.", "required": [ "type", @@ -36573,23 +39080,23 @@ } } }, - "v1.NodeAffinity": { + "io.k8s.kubernetes.pkg.api.v1.NodeAffinity": { "description": "Node affinity is a group of node affinity scheduling rules.", "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.", "type": "array", "items": { - "$ref": "#/definitions/v1.PreferredSchedulingTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PreferredSchedulingTerm" } }, "requiredDuringSchedulingIgnoredDuringExecution": { "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.", - "$ref": "#/definitions/v1.NodeSelector" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelector" } } }, - "v1.NodeCondition": { + "io.k8s.kubernetes.pkg.api.v1.NodeCondition": { "description": "NodeCondition contains condition information for a node.", "required": [ "type", @@ -36598,11 +39105,11 @@ "properties": { "lastHeartbeatTime": { "description": "Last time we got an update on a given condition.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "lastTransitionTime": { "description": "Last time the condition transit from one status to another.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "message": { "description": "Human readable message indicating details about last transition.", @@ -36622,16 +39129,16 @@ } } }, - "v1.NodeDaemonEndpoints": { + "io.k8s.kubernetes.pkg.api.v1.NodeDaemonEndpoints": { "description": "NodeDaemonEndpoints lists ports opened by daemons running on the Node.", "properties": { "kubeletEndpoint": { "description": "Endpoint on which Kubelet is listening.", - "$ref": "#/definitions/v1.DaemonEndpoint" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DaemonEndpoint" } } }, - "v1.NodeList": { + "io.k8s.kubernetes.pkg.api.v1.NodeList": { "description": "NodeList is the whole list of all Nodes which have been registered with master.", "required": [ "items" @@ -36645,7 +39152,7 @@ "description": "List of nodes", "type": "array", "items": { - "$ref": "#/definitions/v1.Node" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Node" } }, "kind": { @@ -36654,11 +39161,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "NodeList" + } + ] }, - "v1.NodeSelector": { + "io.k8s.kubernetes.pkg.api.v1.NodeSelector": { "description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.", "required": [ "nodeSelectorTerms" @@ -36668,12 +39182,12 @@ "description": "Required. A list of node selector terms. The terms are ORed.", "type": "array", "items": { - "$ref": "#/definitions/v1.NodeSelectorTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm" } } } }, - "v1.NodeSelectorRequirement": { + "io.k8s.kubernetes.pkg.api.v1.NodeSelectorRequirement": { "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", "required": [ "key", @@ -36697,7 +39211,7 @@ } } }, - "v1.NodeSelectorTerm": { + "io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm": { "description": "A null or empty node selector term matches no objects.", "required": [ "matchExpressions" @@ -36707,12 +39221,12 @@ "description": "Required. A list of node selector requirements. The requirements are ANDed.", "type": "array", "items": { - "$ref": "#/definitions/v1.NodeSelectorRequirement" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelectorRequirement" } } } }, - "v1.NodeSpec": { + "io.k8s.kubernetes.pkg.api.v1.NodeSpec": { "description": "NodeSpec describes the attributes that a node is created with.", "properties": { "externalID": { @@ -36727,57 +39241,64 @@ "description": "ID of the node assigned by the cloud provider in the format: \u003cProviderName\u003e://\u003cProviderSpecificNodeID\u003e", "type": "string" }, + "taints": { + "description": "If specified, the node's taints.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Taint" + } + }, "unschedulable": { "description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration", "type": "boolean" } } }, - "v1.NodeStatus": { + "io.k8s.kubernetes.pkg.api.v1.NodeStatus": { "description": "NodeStatus is information about the current status of a node.", "properties": { "addresses": { "description": "List of addresses reachable to the node. Queried from cloud provider, if available. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses", "type": "array", "items": { - "$ref": "#/definitions/v1.NodeAddress" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeAddress" } }, "allocatable": { "description": "Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "capacity": { "description": "Capacity represents the total resources of a node. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#capacity for more details.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "conditions": { "description": "Conditions is an array of current observed node conditions. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition", "type": "array", "items": { - "$ref": "#/definitions/v1.NodeCondition" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeCondition" } }, "daemonEndpoints": { "description": "Endpoints of daemons running on the Node.", - "$ref": "#/definitions/v1.NodeDaemonEndpoints" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeDaemonEndpoints" }, "images": { "description": "List of container images on this node", "type": "array", "items": { - "$ref": "#/definitions/v1.ContainerImage" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerImage" } }, "nodeInfo": { "description": "Set of ids/uuids to uniquely identify the node. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-info", - "$ref": "#/definitions/v1.NodeSystemInfo" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSystemInfo" }, "phase": { "description": "NodePhase is the recently observed lifecycle phase of the node. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase The field is never populated, and now is deprecated.", @@ -36787,7 +39308,7 @@ "description": "List of volumes that are attached to the node.", "type": "array", "items": { - "$ref": "#/definitions/v1.AttachedVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AttachedVolume" } }, "volumesInUse": { @@ -36799,7 +39320,7 @@ } } }, - "v1.NodeSystemInfo": { + "io.k8s.kubernetes.pkg.api.v1.NodeSystemInfo": { "description": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node.", "required": [ "machineID", @@ -36856,7 +39377,7 @@ } } }, - "v1.ObjectFieldSelector": { + "io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector": { "description": "ObjectFieldSelector selects an APIVersioned field of an object.", "required": [ "fieldPath" @@ -36872,86 +39393,7 @@ } } }, - "v1.ObjectMeta": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "properties": { - "annotations": { - "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "clusterName": { - "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", - "type": "string" - }, - "creationTimestamp": { - "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.Time" - }, - "deletionGracePeriodSeconds": { - "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", - "type": "integer", - "format": "int64" - }, - "deletionTimestamp": { - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.Time" - }, - "finalizers": { - "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.", - "type": "array", - "items": { - "type": "string" - } - }, - "generateName": { - "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency", - "type": "string" - }, - "generation": { - "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", - "type": "integer", - "format": "int64" - }, - "labels": { - "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", - "type": "string" - }, - "namespace": { - "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces", - "type": "string" - }, - "ownerReferences": { - "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.OwnerReference" - } - }, - "resourceVersion": { - "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", - "type": "string" - }, - "selfLink": { - "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.", - "type": "string" - }, - "uid": { - "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", - "type": "string" - } - } - }, - "v1.ObjectReference": { + "io.k8s.kubernetes.pkg.api.v1.ObjectReference": { "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "properties": { "apiVersion": { @@ -36984,41 +39426,7 @@ } } }, - "v1.OwnerReference": { - "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", - "required": [ - "apiVersion", - "kind", - "name", - "uid" - ], - "properties": { - "apiVersion": { - "description": "API version of the referent.", - "type": "string" - }, - "controller": { - "description": "If true, this reference points to the managing controller.", - "type": "boolean" - }, - "kind": { - "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", - "type": "string" - }, - "uid": { - "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", - "type": "string" - } - } - }, - "v1.Patch": { - "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body." - }, - "v1.PersistentVolume": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolume": { "description": "PersistentVolume (PV) is a storage resource provisioned by an administrator. It is analogous to a node. More info: http://kubernetes.io/docs/user-guide/persistent-volumes", "properties": { "apiVersion": { @@ -37031,19 +39439,26 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines a specification of a persistent volume owned by the cluster. Provisioned by an administrator. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistent-volumes", - "$ref": "#/definitions/v1.PersistentVolumeSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeSpec" }, "status": { "description": "Status represents the current information/status for the persistent volume. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistent-volumes", - "$ref": "#/definitions/v1.PersistentVolumeStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PersistentVolume" + } + ] }, - "v1.PersistentVolumeClaim": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim": { "description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume", "properties": { "apiVersion": { @@ -37056,19 +39471,26 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the desired characteristics of a volume requested by a pod author. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims", - "$ref": "#/definitions/v1.PersistentVolumeClaimSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimSpec" }, "status": { "description": "Status represents the current information/status of a persistent volume claim. Read-only. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims", - "$ref": "#/definitions/v1.PersistentVolumeClaimStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PersistentVolumeClaim" + } + ] }, - "v1.PersistentVolumeClaimList": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimList": { "description": "PersistentVolumeClaimList is a list of PersistentVolumeClaim items.", "required": [ "items" @@ -37082,7 +39504,7 @@ "description": "A list of persistent volume claims. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims", "type": "array", "items": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" } }, "kind": { @@ -37091,11 +39513,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PersistentVolumeClaimList" + } + ] }, - "v1.PersistentVolumeClaimSpec": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimSpec": { "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", "properties": { "accessModes": { @@ -37107,11 +39536,15 @@ }, "resources": { "description": "Resources represents the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources", - "$ref": "#/definitions/v1.ResourceRequirements" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceRequirements" }, "selector": { "description": "A label query over volumes to consider for binding.", - "$ref": "#/definitions/v1.LabelSelector" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "storageClassName": { + "description": "Name of the StorageClass required by the claim. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#class-1", + "type": "string" }, "volumeName": { "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.", @@ -37119,7 +39552,7 @@ } } }, - "v1.PersistentVolumeClaimStatus": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimStatus": { "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", "properties": { "accessModes": { @@ -37133,7 +39566,7 @@ "description": "Represents the actual resources of the underlying volume.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "phase": { @@ -37142,7 +39575,7 @@ } } }, - "v1.PersistentVolumeClaimVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimVolumeSource": { "description": "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).", "required": [ "claimName" @@ -37158,7 +39591,7 @@ } } }, - "v1.PersistentVolumeList": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeList": { "description": "PersistentVolumeList is a list of PersistentVolume items.", "required": [ "items" @@ -37172,7 +39605,7 @@ "description": "List of persistent volumes. More info: http://kubernetes.io/docs/user-guide/persistent-volumes", "type": "array", "items": { - "$ref": "#/definitions/v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolume" } }, "kind": { @@ -37181,11 +39614,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PersistentVolumeList" + } + ] }, - "v1.PersistentVolumeSpec": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeSpec": { "description": "PersistentVolumeSpec is the specification of a persistent volume.", "properties": { "accessModes": { @@ -37197,66 +39637,66 @@ }, "awsElasticBlockStore": { "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore", - "$ref": "#/definitions/v1.AWSElasticBlockStoreVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource" }, "azureDisk": { "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.", - "$ref": "#/definitions/v1.AzureDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource" }, "azureFile": { "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.", - "$ref": "#/definitions/v1.AzureFileVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource" }, "capacity": { "description": "A description of the persistent volume's resources and capacity. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#capacity", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "cephfs": { "description": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime", - "$ref": "#/definitions/v1.CephFSVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource" }, "cinder": { "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md", - "$ref": "#/definitions/v1.CinderVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource" }, "claimRef": { "description": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#binding", - "$ref": "#/definitions/v1.ObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference" }, "fc": { "description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.", - "$ref": "#/definitions/v1.FCVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FCVolumeSource" }, "flexVolume": { "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.", - "$ref": "#/definitions/v1.FlexVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource" }, "flocker": { "description": "Flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running", - "$ref": "#/definitions/v1.FlockerVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource" }, "gcePersistentDisk": { "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk", - "$ref": "#/definitions/v1.GCEPersistentDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource" }, "glusterfs": { "description": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md", - "$ref": "#/definitions/v1.GlusterfsVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource" }, "hostPath": { "description": "HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath", - "$ref": "#/definitions/v1.HostPathVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource" }, "iscsi": { "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.", - "$ref": "#/definitions/v1.ISCSIVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource" }, "nfs": { "description": "NFS represents an NFS mount on the host. Provisioned by an admin. More info: http://kubernetes.io/docs/user-guide/volumes#nfs", - "$ref": "#/definitions/v1.NFSVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource" }, "persistentVolumeReclaimPolicy": { "description": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recycling must be supported by the volume plugin underlying this persistent volume. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#recycling-policy", @@ -37264,23 +39704,35 @@ }, "photonPersistentDisk": { "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine", - "$ref": "#/definitions/v1.PhotonPersistentDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource" + }, + "portworxVolume": { + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PortworxVolumeSource" }, "quobyte": { "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime", - "$ref": "#/definitions/v1.QuobyteVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource" }, "rbd": { "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md", - "$ref": "#/definitions/v1.RBDVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.RBDVolumeSource" + }, + "scaleIO": { + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ScaleIOVolumeSource" + }, + "storageClassName": { + "description": "Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.", + "type": "string" }, "vsphereVolume": { "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine", - "$ref": "#/definitions/v1.VsphereVirtualDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource" } } }, - "v1.PersistentVolumeStatus": { + "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeStatus": { "description": "PersistentVolumeStatus is the current status of a persistent volume.", "properties": { "message": { @@ -37297,7 +39749,7 @@ } } }, - "v1.PhotonPersistentDiskVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource": { "description": "Represents a Photon Controller persistent disk resource.", "required": [ "pdID" @@ -37313,7 +39765,7 @@ } } }, - "v1.Pod": { + "io.k8s.kubernetes.pkg.api.v1.Pod": { "description": "Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.", "properties": { "apiVersion": { @@ -37326,49 +39778,53 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Specification of the desired behavior of the pod. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.PodSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodSpec" }, "status": { "description": "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.PodStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Pod" + } + ] }, - "v1.PodAffinity": { + "io.k8s.kubernetes.pkg.api.v1.PodAffinity": { "description": "Pod affinity is a group of inter pod affinity scheduling rules.", "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.", "type": "array", "items": { - "$ref": "#/definitions/v1.WeightedPodAffinityTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.WeightedPodAffinityTerm" } }, "requiredDuringSchedulingIgnoredDuringExecution": { "description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "type": "array", "items": { - "$ref": "#/definitions/v1.PodAffinityTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm" } } } }, - "v1.PodAffinityTerm": { + "io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm": { "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running", - "required": [ - "namespaces" - ], "properties": { "labelSelector": { "description": "A label query over a set of resources, in this case pods.", - "$ref": "#/definitions/v1.LabelSelector" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" }, "namespaces": { - "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details.", + "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"", "type": "array", "items": { "type": "string" @@ -37380,26 +39836,26 @@ } } }, - "v1.PodAntiAffinity": { + "io.k8s.kubernetes.pkg.api.v1.PodAntiAffinity": { "description": "Pod anti affinity is a group of inter pod anti affinity scheduling rules.", "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "description": "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.", "type": "array", "items": { - "$ref": "#/definitions/v1.WeightedPodAffinityTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.WeightedPodAffinityTerm" } }, "requiredDuringSchedulingIgnoredDuringExecution": { "description": "NOT YET IMPLEMENTED. TODO: Uncomment field once it is implemented. If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system will try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. RequiredDuringSchedulingRequiredDuringExecution []PodAffinityTerm `json:\"requiredDuringSchedulingRequiredDuringExecution,omitempty\"` If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "type": "array", "items": { - "$ref": "#/definitions/v1.PodAffinityTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm" } } } }, - "v1.PodCondition": { + "io.k8s.kubernetes.pkg.api.v1.PodCondition": { "description": "PodCondition contains details for the current condition of this pod.", "required": [ "type", @@ -37408,11 +39864,11 @@ "properties": { "lastProbeTime": { "description": "Last time we probed the condition.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "lastTransitionTime": { "description": "Last time the condition transitioned from one status to another.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "message": { "description": "Human-readable message indicating details about last transition.", @@ -37432,7 +39888,7 @@ } } }, - "v1.PodList": { + "io.k8s.kubernetes.pkg.api.v1.PodList": { "description": "PodList is a list of Pods.", "required": [ "items" @@ -37446,7 +39902,7 @@ "description": "List of pods. More info: http://kubernetes.io/docs/user-guide/pods", "type": "array", "items": { - "$ref": "#/definitions/v1.Pod" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Pod" } }, "kind": { @@ -37455,11 +39911,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PodList" + } + ] }, - "v1.PodSecurityContext": { + "io.k8s.kubernetes.pkg.api.v1.PodSecurityContext": { "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", "properties": { "fsGroup": { @@ -37478,7 +39941,7 @@ }, "seLinuxOptions": { "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.", - "$ref": "#/definitions/v1.SELinuxOptions" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SELinuxOptions" }, "supplementalGroups": { "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container.", @@ -37490,7 +39953,7 @@ } } }, - "v1.PodSpec": { + "io.k8s.kubernetes.pkg.api.v1.PodSpec": { "description": "PodSpec is a description of a pod.", "required": [ "containers" @@ -37503,17 +39966,21 @@ }, "affinity": { "description": "If specified, the pod's scheduling constraints", - "$ref": "#/definitions/v1.Affinity" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Affinity" + }, + "automountServiceAccountToken": { + "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.", + "type": "boolean" }, "containers": { "description": "List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers", "type": "array", "items": { - "$ref": "#/definitions/v1.Container" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Container" } }, "dnsPolicy": { - "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\".", + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", "type": "string" }, "hostIPC": { @@ -37536,7 +40003,14 @@ "description": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod", "type": "array", "items": { - "$ref": "#/definitions/v1.LocalObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference" + } + }, + "initContainers": { + "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Container" } }, "nodeName": { @@ -37554,13 +40028,13 @@ "description": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: http://kubernetes.io/docs/user-guide/pod-states#restartpolicy", "type": "string" }, - "schedulername": { + "schedulerName": { "description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.", "type": "string" }, "securityContext": { "description": "SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.", - "$ref": "#/definitions/v1.PodSecurityContext" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodSecurityContext" }, "serviceAccount": { "description": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.", @@ -37579,36 +40053,50 @@ "type": "integer", "format": "int64" }, + "tolerations": { + "description": "If specified, the pod's tolerations.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Toleration" + } + }, "volumes": { "description": "List of volumes that can be mounted by containers belonging to the pod. More info: http://kubernetes.io/docs/user-guide/volumes", "type": "array", "items": { - "$ref": "#/definitions/v1.Volume" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Volume" } } } }, - "v1.PodStatus": { + "io.k8s.kubernetes.pkg.api.v1.PodStatus": { "description": "PodStatus represents information about the status of a pod. Status may trail the actual state of a system.", "properties": { "conditions": { "description": "Current service state of pod. More info: http://kubernetes.io/docs/user-guide/pod-states#pod-conditions", "type": "array", "items": { - "$ref": "#/definitions/v1.PodCondition" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodCondition" } }, "containerStatuses": { "description": "The list has one entry per container in the manifest. Each entry is currently the output of `docker inspect`. More info: http://kubernetes.io/docs/user-guide/pod-states#container-statuses", "type": "array", "items": { - "$ref": "#/definitions/v1.ContainerStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerStatus" } }, "hostIP": { "description": "IP address of the host to which the pod is assigned. Empty if not yet scheduled.", "type": "string" }, + "initContainerStatuses": { + "description": "The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: http://kubernetes.io/docs/user-guide/pod-states#container-statuses", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerStatus" + } + }, "message": { "description": "A human readable message indicating details about why the pod is in this condition.", "type": "string" @@ -37631,11 +40119,11 @@ }, "startTime": { "description": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } } }, - "v1.PodTemplate": { + "io.k8s.kubernetes.pkg.api.v1.PodTemplate": { "description": "PodTemplate describes a template for creating copies of a predefined pod.", "properties": { "apiVersion": { @@ -37648,15 +40136,22 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "template": { "description": "Template defines the pods that will be created from this pod template. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.PodTemplateSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PodTemplate" + } + ] }, - "v1.PodTemplateList": { + "io.k8s.kubernetes.pkg.api.v1.PodTemplateList": { "description": "PodTemplateList is a list of PodTemplates.", "required": [ "items" @@ -37670,7 +40165,7 @@ "description": "List of pod templates", "type": "array", "items": { - "$ref": "#/definitions/v1.PodTemplate" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplate" } }, "kind": { @@ -37679,33 +40174,51 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "PodTemplateList" + } + ] }, - "v1.PodTemplateSpec": { + "io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec": { "description": "PodTemplateSpec describes the data a pod should have when created from a template", "properties": { "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Specification of the desired behavior of the pod. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.PodSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodSpec" } } }, - "v1.Preconditions": { - "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "io.k8s.kubernetes.pkg.api.v1.PortworxVolumeSource": { + "description": "PortworxVolumeSource represents a Portworx volume resource.", + "required": [ + "volumeID" + ], "properties": { - "uid": { - "description": "Specifies the target UID.", + "fsType": { + "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.", + "type": "string" + }, + "readOnly": { + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.", + "type": "boolean" + }, + "volumeID": { + "description": "VolumeID uniquely identifies a Portworx volume", "type": "string" } } }, - "v1.PreferredSchedulingTerm": { + "io.k8s.kubernetes.pkg.api.v1.PreferredSchedulingTerm": { "description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).", "required": [ "weight", @@ -37714,7 +40227,7 @@ "properties": { "preference": { "description": "A node selector term, associated with the corresponding weight.", - "$ref": "#/definitions/v1.NodeSelectorTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm" }, "weight": { "description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.", @@ -37723,12 +40236,12 @@ } } }, - "v1.Probe": { + "io.k8s.kubernetes.pkg.api.v1.Probe": { "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", "properties": { "exec": { "description": "One and only one of the following should be specified. Exec specifies the action to take.", - "$ref": "#/definitions/v1.ExecAction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ExecAction" }, "failureThreshold": { "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", @@ -37737,7 +40250,7 @@ }, "httpGet": { "description": "HTTPGet specifies the http request to perform.", - "$ref": "#/definitions/v1.HTTPGetAction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HTTPGetAction" }, "initialDelaySeconds": { "description": "Number of seconds after the container has started before liveness probes are initiated. More info: http://kubernetes.io/docs/user-guide/pod-states#container-probes", @@ -37756,7 +40269,7 @@ }, "tcpSocket": { "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported", - "$ref": "#/definitions/v1.TCPSocketAction" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.TCPSocketAction" }, "timeoutSeconds": { "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: http://kubernetes.io/docs/user-guide/pod-states#container-probes", @@ -37765,7 +40278,27 @@ } } }, - "v1.QuobyteVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.ProjectedVolumeSource": { + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "defaultMode": { + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "type": "integer", + "format": "int32" + }, + "sources": { + "description": "list of volume projections", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VolumeProjection" + } + } + } + }, + "io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource": { "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", "required": [ "registry", @@ -37794,7 +40327,7 @@ } } }, - "v1.RBDVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.RBDVolumeSource": { "description": "Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.", "required": [ "monitors", @@ -37830,7 +40363,7 @@ }, "secretRef": { "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", - "$ref": "#/definitions/v1.LocalObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference" }, "user": { "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", @@ -37838,7 +40371,7 @@ } } }, - "v1.ReplicationController": { + "io.k8s.kubernetes.pkg.api.v1.ReplicationController": { "description": "ReplicationController represents the configuration of a replication controller.", "properties": { "apiVersion": { @@ -37851,19 +40384,26 @@ }, "metadata": { "description": "If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the specification of the desired behavior of the replication controller. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.ReplicationControllerSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationControllerSpec" }, "status": { "description": "Status is the most recently observed status of the replication controller. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.ReplicationControllerStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationControllerStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ReplicationController" + } + ] }, - "v1.ReplicationControllerCondition": { + "io.k8s.kubernetes.pkg.api.v1.ReplicationControllerCondition": { "description": "ReplicationControllerCondition describes the state of a replication controller at a certain point.", "required": [ "type", @@ -37872,7 +40412,7 @@ "properties": { "lastTransitionTime": { "description": "The last time the condition transitioned from one status to another.", - "$ref": "#/definitions/v1.Time" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" }, "message": { "description": "A human readable message indicating details about the transition.", @@ -37892,7 +40432,7 @@ } } }, - "v1.ReplicationControllerList": { + "io.k8s.kubernetes.pkg.api.v1.ReplicationControllerList": { "description": "ReplicationControllerList is a collection of replication controllers.", "required": [ "items" @@ -37906,7 +40446,7 @@ "description": "List of replication controllers. More info: http://kubernetes.io/docs/user-guide/replication-controller", "type": "array", "items": { - "$ref": "#/definitions/v1.ReplicationController" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationController" } }, "kind": { @@ -37915,11 +40455,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ReplicationControllerList" + } + ] }, - "v1.ReplicationControllerSpec": { + "io.k8s.kubernetes.pkg.api.v1.ReplicationControllerSpec": { "description": "ReplicationControllerSpec is the specification of a replication controller.", "properties": { "minReadySeconds": { @@ -37941,11 +40488,11 @@ }, "template": { "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. This takes precedence over a TemplateRef. More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", - "$ref": "#/definitions/v1.PodTemplateSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" } } }, - "v1.ReplicationControllerStatus": { + "io.k8s.kubernetes.pkg.api.v1.ReplicationControllerStatus": { "description": "ReplicationControllerStatus represents the current status of a replication controller.", "required": [ "replicas" @@ -37960,7 +40507,7 @@ "description": "Represents the latest available observations of a replication controller's current state.", "type": "array", "items": { - "$ref": "#/definitions/v1.ReplicationControllerCondition" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ReplicationControllerCondition" } }, "fullyLabeledReplicas": { @@ -37985,7 +40532,7 @@ } } }, - "v1.ResourceFieldSelector": { + "io.k8s.kubernetes.pkg.api.v1.ResourceFieldSelector": { "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format", "required": [ "resource" @@ -37997,7 +40544,7 @@ }, "divisor": { "description": "Specifies the output format of the exposed resources, defaults to \"1\"", - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" }, "resource": { "description": "Required: resource to select", @@ -38005,7 +40552,7 @@ } } }, - "v1.ResourceQuota": { + "io.k8s.kubernetes.pkg.api.v1.ResourceQuota": { "description": "ResourceQuota sets aggregate quota restrictions enforced per namespace", "properties": { "apiVersion": { @@ -38018,19 +40565,26 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the desired quota. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.ResourceQuotaSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuotaSpec" }, "status": { "description": "Status defines the actual enforced quota and its current usage. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.ResourceQuotaStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuotaStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ResourceQuota" + } + ] }, - "v1.ResourceQuotaList": { + "io.k8s.kubernetes.pkg.api.v1.ResourceQuotaList": { "description": "ResourceQuotaList is a list of ResourceQuota items.", "required": [ "items" @@ -38044,7 +40598,7 @@ "description": "Items is a list of ResourceQuota objects. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota", "type": "array", "items": { - "$ref": "#/definitions/v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceQuota" } }, "kind": { @@ -38053,18 +40607,25 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ResourceQuotaList" + } + ] }, - "v1.ResourceQuotaSpec": { + "io.k8s.kubernetes.pkg.api.v1.ResourceQuotaSpec": { "description": "ResourceQuotaSpec defines the desired hard limits to enforce for Quota.", "properties": { "hard": { "description": "Hard is the set of desired hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "scopes": { @@ -38076,45 +40637,45 @@ } } }, - "v1.ResourceQuotaStatus": { + "io.k8s.kubernetes.pkg.api.v1.ResourceQuotaStatus": { "description": "ResourceQuotaStatus defines the enforced hard limits and observed use.", "properties": { "hard": { "description": "Hard is the set of enforced hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "used": { "description": "Used is the current observed total usage of the resource in the namespace.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } } } }, - "v1.ResourceRequirements": { + "io.k8s.kubernetes.pkg.api.v1.ResourceRequirements": { "description": "ResourceRequirements describes the compute resource requirements.", "properties": { "limits": { "description": "Limits describes the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } }, "requests": { "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/", "type": "object", "additionalProperties": { - "$ref": "#/definitions/resource.Quantity" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" } } } }, - "v1.SELinuxOptions": { + "io.k8s.kubernetes.pkg.api.v1.SELinuxOptions": { "description": "SELinuxOptions are the labels to be applied to the container", "properties": { "level": { @@ -38135,59 +40696,57 @@ } } }, - "v1.Scale": { - "description": "Scale represents a scaling request for a resource.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", - "$ref": "#/definitions/v1.ScaleSpec" - }, - "status": { - "description": "current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only.", - "$ref": "#/definitions/v1.ScaleStatus" - } - } - }, - "v1.ScaleSpec": { - "description": "ScaleSpec describes the attributes of a scale subresource.", - "properties": { - "replicas": { - "description": "desired number of instances for the scaled object.", - "type": "integer", - "format": "int32" - } - } - }, - "v1.ScaleStatus": { - "description": "ScaleStatus represents the current status of a scale subresource.", + "io.k8s.kubernetes.pkg.api.v1.ScaleIOVolumeSource": { + "description": "ScaleIOVolumeSource represents a persistent ScaleIO volume", "required": [ - "replicas" + "gateway", + "system", + "secretRef" ], "properties": { - "replicas": { - "description": "actual number of observed instances of the scaled object.", - "type": "integer", - "format": "int32" + "fsType": { + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.", + "type": "string" }, - "selector": { - "description": "label query over pods that should match the replicas count. This is same as the label selector but in the string format to avoid introspection by clients. The string will be in the same format as the query-param syntax. More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "gateway": { + "description": "The host address of the ScaleIO API Gateway.", + "type": "string" + }, + "protectionDomain": { + "description": "The name of the Protection Domain for the configured storage (defaults to \"default\").", + "type": "string" + }, + "readOnly": { + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.", + "type": "boolean" + }, + "secretRef": { + "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference" + }, + "sslEnabled": { + "description": "Flag to enable/disable SSL communication with Gateway, default false", + "type": "boolean" + }, + "storageMode": { + "description": "Indicates whether the storage for a volume should be thick or thin (defaults to \"thin\").", + "type": "string" + }, + "storagePool": { + "description": "The Storage Pool associated with the protection domain (defaults to \"default\").", + "type": "string" + }, + "system": { + "description": "The name of the storage system as configured in ScaleIO.", + "type": "string" + }, + "volumeName": { + "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source.", "type": "string" } } }, - "v1.Secret": { + "io.k8s.kubernetes.pkg.api.v1.Secret": { "description": "Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.", "properties": { "apiVersion": { @@ -38208,7 +40767,7 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "stringData": { "description": "stringData allows specifying non-binary secret data in string form. It is provided as a write-only convenience method. All keys and values are merged into the data field on write, overwriting any existing values. It is never output when reading from the API.", @@ -38221,9 +40780,16 @@ "description": "Used to facilitate programmatic handling of secret data.", "type": "string" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Secret" + } + ] }, - "v1.SecretEnvSource": { + "io.k8s.kubernetes.pkg.api.v1.SecretEnvSource": { "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", "properties": { "name": { @@ -38236,7 +40802,7 @@ } } }, - "v1.SecretKeySelector": { + "io.k8s.kubernetes.pkg.api.v1.SecretKeySelector": { "description": "SecretKeySelector selects a key of a Secret.", "required": [ "key" @@ -38256,7 +40822,7 @@ } } }, - "v1.SecretList": { + "io.k8s.kubernetes.pkg.api.v1.SecretList": { "description": "SecretList is a list of Secret.", "required": [ "items" @@ -38270,7 +40836,7 @@ "description": "Items is a list of secret objects. More info: http://kubernetes.io/docs/user-guide/secrets", "type": "array", "items": { - "$ref": "#/definitions/v1.Secret" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret" } }, "kind": { @@ -38279,11 +40845,38 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "SecretList" + } + ] + }, + "io.k8s.kubernetes.pkg.api.v1.SecretProjection": { + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "items": { + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" + } + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the Secret or its key must be defined", + "type": "boolean" } } }, - "v1.SecretVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource": { "description": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", "properties": { "defaultMode": { @@ -38295,7 +40888,7 @@ "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", "type": "array", "items": { - "$ref": "#/definitions/v1.KeyToPath" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" } }, "optional": { @@ -38308,12 +40901,12 @@ } } }, - "v1.SecurityContext": { + "io.k8s.kubernetes.pkg.api.v1.SecurityContext": { "description": "SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.", "properties": { "capabilities": { "description": "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.", - "$ref": "#/definitions/v1.Capabilities" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Capabilities" }, "privileged": { "description": "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false.", @@ -38334,28 +40927,11 @@ }, "seLinuxOptions": { "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", - "$ref": "#/definitions/v1.SELinuxOptions" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SELinuxOptions" } } }, - "v1.ServerAddressByClientCIDR": { - "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", - "required": [ - "clientCIDR", - "serverAddress" - ], - "properties": { - "clientCIDR": { - "description": "The CIDR with which clients can match their IP to figure out the server address that they should use.", - "type": "string" - }, - "serverAddress": { - "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", - "type": "string" - } - } - }, - "v1.Service": { + "io.k8s.kubernetes.pkg.api.v1.Service": { "description": "Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.", "properties": { "apiVersion": { @@ -38368,30 +40944,41 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { "description": "Spec defines the behavior of a service. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.ServiceSpec" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceSpec" }, "status": { "description": "Most recently observed status of the service. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1.ServiceStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceStatus" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "Service" + } + ] }, - "v1.ServiceAccount": { + "io.k8s.kubernetes.pkg.api.v1.ServiceAccount": { "description": "ServiceAccount binds together: * a name, understood by users, and perhaps by peripheral systems, for an identity * a principal that can be authenticated and authorized * a set of secrets", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", "type": "string" }, + "automountServiceAccountToken": { + "description": "AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted. Can be overridden at the pod level.", + "type": "boolean" + }, "imagePullSecrets": { "description": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: http://kubernetes.io/docs/user-guide/secrets#manually-specifying-an-imagepullsecret", "type": "array", "items": { - "$ref": "#/definitions/v1.LocalObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference" } }, "kind": { @@ -38400,18 +40987,25 @@ }, "metadata": { "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "secrets": { "description": "Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. More info: http://kubernetes.io/docs/user-guide/secrets", "type": "array", "items": { - "$ref": "#/definitions/v1.ObjectReference" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ServiceAccount" + } + ] }, - "v1.ServiceAccountList": { + "io.k8s.kubernetes.pkg.api.v1.ServiceAccountList": { "description": "ServiceAccountList is a list of ServiceAccount objects", "required": [ "items" @@ -38425,7 +41019,7 @@ "description": "List of ServiceAccounts. More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts", "type": "array", "items": { - "$ref": "#/definitions/v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceAccount" } }, "kind": { @@ -38434,11 +41028,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ServiceAccountList" + } + ] }, - "v1.ServiceList": { + "io.k8s.kubernetes.pkg.api.v1.ServiceList": { "description": "ServiceList holds a list of services.", "required": [ "items" @@ -38452,7 +41053,7 @@ "description": "List of services", "type": "array", "items": { - "$ref": "#/definitions/v1.Service" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service" } }, "kind": { @@ -38461,11 +41062,18 @@ }, "metadata": { "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "", + "Version": "v1", + "Kind": "ServiceList" + } + ] }, - "v1.ServicePort": { + "io.k8s.kubernetes.pkg.api.v1.ServicePort": { "description": "ServicePort contains information on service's port.", "required": [ "port" @@ -38491,11 +41099,11 @@ }, "targetPort": { "description": "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: http://kubernetes.io/docs/user-guide/services#defining-a-service", - "$ref": "#/definitions/intstr.IntOrString" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" } } }, - "v1.ServiceSpec": { + "io.k8s.kubernetes.pkg.api.v1.ServiceSpec": { "description": "ServiceSpec describes the attributes that a user creates on a service.", "properties": { "clusterIP": { @@ -38535,7 +41143,7 @@ "description": "The list of ports that are exposed by this service. More info: http://kubernetes.io/docs/user-guide/services#virtual-ips-and-service-proxies", "type": "array", "items": { - "$ref": "#/definitions/v1.ServicePort" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServicePort" } }, "selector": { @@ -38555,100 +41163,16 @@ } } }, - "v1.ServiceStatus": { + "io.k8s.kubernetes.pkg.api.v1.ServiceStatus": { "description": "ServiceStatus represents the current status of a service.", "properties": { "loadBalancer": { "description": "LoadBalancer contains the current status of the load-balancer, if one is present.", - "$ref": "#/definitions/v1.LoadBalancerStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus" } } }, - "v1.Status": { - "description": "Status is a return value for calls that don't return other objects.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "code": { - "description": "Suggested HTTP return code for this status, 0 if not set.", - "type": "integer", - "format": "int32" - }, - "details": { - "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", - "$ref": "#/definitions/v1.StatusDetails" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "message": { - "description": "A human-readable description of the status of this operation.", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" - }, - "reason": { - "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", - "type": "string" - }, - "status": { - "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "type": "string" - } - } - }, - "v1.StatusCause": { - "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", - "properties": { - "field": { - "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", - "type": "string" - }, - "message": { - "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", - "type": "string" - }, - "reason": { - "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", - "type": "string" - } - } - }, - "v1.StatusDetails": { - "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", - "properties": { - "causes": { - "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.StatusCause" - } - }, - "group": { - "description": "The group attribute of the resource associated with the status StatusReason.", - "type": "string" - }, - "kind": { - "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", - "type": "string" - }, - "retryAfterSeconds": { - "description": "If specified, the time in seconds before the operation should be retried.", - "type": "integer", - "format": "int32" - } - } - }, - "v1.TCPSocketAction": { + "io.k8s.kubernetes.pkg.api.v1.TCPSocketAction": { "description": "TCPSocketAction describes an action based on opening a socket", "required": [ "port" @@ -38656,15 +41180,62 @@ "properties": { "port": { "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", - "$ref": "#/definitions/intstr.IntOrString" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" } } }, - "v1.Time": { - "type": "string", - "format": "date-time" + "io.k8s.kubernetes.pkg.api.v1.Taint": { + "description": "The node this Taint is attached to has the effect \"effect\" on any pod that that does not tolerate the Taint.", + "required": [ + "key", + "effect" + ], + "properties": { + "effect": { + "description": "Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute.", + "type": "string" + }, + "key": { + "description": "Required. The taint key to be applied to a node.", + "type": "string" + }, + "timeAdded": { + "description": "TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "value": { + "description": "Required. The taint value corresponding to the taint key.", + "type": "string" + } + } }, - "v1.Volume": { + "io.k8s.kubernetes.pkg.api.v1.Toleration": { + "description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", + "properties": { + "effect": { + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.", + "type": "string" + }, + "key": { + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.", + "type": "string" + }, + "operator": { + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.", + "type": "string" + }, + "tolerationSeconds": { + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.", + "type": "integer", + "format": "int64" + }, + "value": { + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.api.v1.Volume": { "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", "required": [ "name" @@ -38672,67 +41243,67 @@ "properties": { "awsElasticBlockStore": { "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore", - "$ref": "#/definitions/v1.AWSElasticBlockStoreVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource" }, "azureDisk": { "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.", - "$ref": "#/definitions/v1.AzureDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource" }, "azureFile": { "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.", - "$ref": "#/definitions/v1.AzureFileVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource" }, "cephfs": { "description": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime", - "$ref": "#/definitions/v1.CephFSVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource" }, "cinder": { "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md", - "$ref": "#/definitions/v1.CinderVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource" }, "configMap": { "description": "ConfigMap represents a configMap that should populate this volume", - "$ref": "#/definitions/v1.ConfigMapVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource" }, "downwardAPI": { "description": "DownwardAPI represents downward API about the pod that should populate this volume", - "$ref": "#/definitions/v1.DownwardAPIVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeSource" }, "emptyDir": { "description": "EmptyDir represents a temporary directory that shares a pod's lifetime. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir", - "$ref": "#/definitions/v1.EmptyDirVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EmptyDirVolumeSource" }, "fc": { "description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.", - "$ref": "#/definitions/v1.FCVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FCVolumeSource" }, "flexVolume": { "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.", - "$ref": "#/definitions/v1.FlexVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource" }, "flocker": { "description": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running", - "$ref": "#/definitions/v1.FlockerVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource" }, "gcePersistentDisk": { "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk", - "$ref": "#/definitions/v1.GCEPersistentDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource" }, "gitRepo": { "description": "GitRepo represents a git repository at a particular revision.", - "$ref": "#/definitions/v1.GitRepoVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GitRepoVolumeSource" }, "glusterfs": { "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md", - "$ref": "#/definitions/v1.GlusterfsVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource" }, "hostPath": { "description": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath", - "$ref": "#/definitions/v1.HostPathVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource" }, "iscsi": { "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md", - "$ref": "#/definitions/v1.ISCSIVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource" }, "name": { "description": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: http://kubernetes.io/docs/user-guide/identifiers#names", @@ -38740,35 +41311,47 @@ }, "nfs": { "description": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: http://kubernetes.io/docs/user-guide/volumes#nfs", - "$ref": "#/definitions/v1.NFSVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource" }, "persistentVolumeClaim": { "description": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims", - "$ref": "#/definitions/v1.PersistentVolumeClaimVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimVolumeSource" }, "photonPersistentDisk": { "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine", - "$ref": "#/definitions/v1.PhotonPersistentDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource" + }, + "portworxVolume": { + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PortworxVolumeSource" + }, + "projected": { + "description": "Items for all in one resources secrets, configmaps, and downward API", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ProjectedVolumeSource" }, "quobyte": { "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime", - "$ref": "#/definitions/v1.QuobyteVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource" }, "rbd": { "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md", - "$ref": "#/definitions/v1.RBDVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.RBDVolumeSource" + }, + "scaleIO": { + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ScaleIOVolumeSource" }, "secret": { "description": "Secret represents a secret that should populate this volume. More info: http://kubernetes.io/docs/user-guide/volumes#secrets", - "$ref": "#/definitions/v1.SecretVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource" }, "vsphereVolume": { "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine", - "$ref": "#/definitions/v1.VsphereVirtualDiskVolumeSource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource" } } }, - "v1.VolumeMount": { + "io.k8s.kubernetes.pkg.api.v1.VolumeMount": { "description": "VolumeMount describes a mounting of a Volume within a container.", "required": [ "name", @@ -38793,7 +41376,24 @@ } } }, - "v1.VsphereVirtualDiskVolumeSource": { + "io.k8s.kubernetes.pkg.api.v1.VolumeProjection": { + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "configMap": { + "description": "information about the configMap data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection" + }, + "downwardAPI": { + "description": "information about the downwardAPI data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection" + }, + "secret": { + "description": "information about the secret data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretProjection" + } + } + }, + "io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource": { "description": "Represents a vSphere volume resource.", "required": [ "volumePath" @@ -38809,23 +41409,7 @@ } } }, - "v1.WatchEvent": { - "description": "Event represents a single event to a watched resource.", - "required": [ - "type", - "object" - ], - "properties": { - "object": { - "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context.", - "$ref": "#/definitions/runtime.RawExtension" - }, - "type": { - "type": "string" - } - } - }, - "v1.WeightedPodAffinityTerm": { + "io.k8s.kubernetes.pkg.api.v1.WeightedPodAffinityTerm": { "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)", "required": [ "weight", @@ -38834,7 +41418,7 @@ "properties": { "podAffinityTerm": { "description": "Required. A pod affinity term, associated with the corresponding weight.", - "$ref": "#/definitions/v1.PodAffinityTerm" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm" }, "weight": { "description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100.", @@ -38843,7 +41427,3475 @@ } } }, - "v1alpha1.ClusterRole": { + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment": { + "description": "Deployment enables declarative updates for Pods and ReplicaSets.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Specification of the desired behavior of the Deployment.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentSpec" + }, + "status": { + "description": "Most recently observed status of the Deployment.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "apps", + "Version": "v1beta1", + "Kind": "Deployment" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentCondition": { + "description": "DeploymentCondition describes the state of a deployment at a certain point.", + "required": [ + "type", + "status" + ], + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "lastUpdateTime": { + "description": "The last time this condition was updated.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "message": { + "description": "A human readable message indicating details about the transition.", + "type": "string" + }, + "reason": { + "description": "The reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type of deployment condition.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentList": { + "description": "DeploymentList is a list of Deployments.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of Deployments.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "apps", + "Version": "v1beta1", + "Kind": "DeploymentList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentRollback": { + "description": "DeploymentRollback stores the information required to rollback a deployment.", + "required": [ + "name", + "rollbackTo" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Required: This must match the Name of a deployment.", + "type": "string" + }, + "rollbackTo": { + "description": "The config of this deployment rollback.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.RollbackConfig" + }, + "updatedAnnotations": { + "description": "The annotations to be updated to a deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "apps", + "Version": "v1beta1", + "Kind": "DeploymentRollback" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentSpec": { + "description": "DeploymentSpec is the specification of the desired behavior of the Deployment.", + "required": [ + "template" + ], + "properties": { + "minReadySeconds": { + "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", + "type": "integer", + "format": "int32" + }, + "paused": { + "description": "Indicates that the deployment is paused.", + "type": "boolean" + }, + "progressDeadlineSeconds": { + "description": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Once autoRollback is implemented, the deployment controller will automatically rollback failed deployments. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.", + "type": "integer", + "format": "int32" + }, + "replicas": { + "description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.", + "type": "integer", + "format": "int32" + }, + "revisionHistoryLimit": { + "description": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 2.", + "type": "integer", + "format": "int32" + }, + "rollbackTo": { + "description": "The config this deployment is rolling back to. Will be cleared after rollback is done.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.RollbackConfig" + }, + "selector": { + "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "strategy": { + "description": "The deployment strategy to use to replace existing pods with new ones.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentStrategy" + }, + "template": { + "description": "Template describes the pods that will be created.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentStatus": { + "description": "DeploymentStatus is the most recently observed status of the Deployment.", + "properties": { + "availableReplicas": { + "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.", + "type": "integer", + "format": "int32" + }, + "conditions": { + "description": "Represents the latest available observations of a deployment's current state.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentCondition" + } + }, + "observedGeneration": { + "description": "The generation observed by the deployment controller.", + "type": "integer", + "format": "int64" + }, + "readyReplicas": { + "description": "Total number of ready pods targeted by this deployment.", + "type": "integer", + "format": "int32" + }, + "replicas": { + "description": "Total number of non-terminated pods targeted by this deployment (their labels match the selector).", + "type": "integer", + "format": "int32" + }, + "unavailableReplicas": { + "description": "Total number of unavailable pods targeted by this deployment.", + "type": "integer", + "format": "int32" + }, + "updatedReplicas": { + "description": "Total number of non-terminated pods targeted by this deployment that have the desired template spec.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.DeploymentStrategy": { + "description": "DeploymentStrategy describes how to replace existing pods with new ones.", + "properties": { + "rollingUpdate": { + "description": "Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.RollingUpdateDeployment" + }, + "type": { + "description": "Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.RollbackConfig": { + "properties": { + "revision": { + "description": "The revision to rollback to. If set to 0, rollbck to the last revision.", + "type": "integer", + "format": "int64" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.RollingUpdateDeployment": { + "description": "Spec to control the desired behavior of rolling update.", + "properties": { + "maxSurge": { + "description": "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new RC can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + }, + "maxUnavailable": { + "description": "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.Scale": { + "description": "Scale represents a scaling request for a resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ScaleSpec" + }, + "status": { + "description": "current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ScaleStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "apps", + "Version": "v1beta1", + "Kind": "Scale" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.ScaleSpec": { + "description": "ScaleSpec describes the attributes of a scale subresource", + "properties": { + "replicas": { + "description": "desired number of instances for the scaled object.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.ScaleStatus": { + "description": "ScaleStatus represents the current status of a scale subresource.", + "required": [ + "replicas" + ], + "properties": { + "replicas": { + "description": "actual number of observed instances of the scaled object.", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetSelector": { + "description": "label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet": { + "description": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired identities of pods in this set.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetSpec" + }, + "status": { + "description": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "apps", + "Version": "v1beta1", + "Kind": "StatefulSet" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetList": { + "description": "StatefulSetList is a collection of StatefulSets.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSet" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "apps", + "Version": "v1beta1", + "Kind": "StatefulSetList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetSpec": { + "description": "A StatefulSetSpec is the specification of a StatefulSet.", + "required": [ + "template", + "serviceName" + ], + "properties": { + "replicas": { + "description": "Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "Selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "serviceName": { + "description": "ServiceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where \"pod-specific-string\" is managed by the StatefulSet controller.", + "type": "string" + }, + "template": { + "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" + }, + "volumeClaimTemplates": { + "description": "VolumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim" + } + } + } + }, + "io.k8s.kubernetes.pkg.apis.apps.v1beta1.StatefulSetStatus": { + "description": "StatefulSetStatus represents the current state of a StatefulSet.", + "required": [ + "replicas" + ], + "properties": { + "observedGeneration": { + "description": "most recent generation observed by this StatefulSet.", + "type": "integer", + "format": "int64" + }, + "replicas": { + "description": "Replicas is the number of actual replicas.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReview": { + "description": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request can be authenticated.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authentication.k8s.io", + "Version": "v1", + "Kind": "TokenReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReviewSpec": { + "description": "TokenReviewSpec is a description of the token authentication request.", + "properties": { + "token": { + "description": "Token is the opaque bearer token.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1.TokenReviewStatus": { + "description": "TokenReviewStatus is the result of the token authentication request.", + "properties": { + "authenticated": { + "description": "Authenticated indicates that the token was associated with a known user.", + "type": "boolean" + }, + "error": { + "description": "Error indicates that the token couldn't be checked", + "type": "string" + }, + "user": { + "description": "User is the UserInfo associated with the provided token.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1.UserInfo" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1.UserInfo": { + "description": "UserInfo holds the information about the user needed to implement the user.Info interface.", + "properties": { + "extra": { + "description": "Any additional information provided by the authenticator.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "groups": { + "description": "The names of groups this user is a part of.", + "type": "array", + "items": { + "type": "string" + } + }, + "uid": { + "description": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.", + "type": "string" + }, + "username": { + "description": "The name that uniquely identifies this user among all active users.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReview": { + "description": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request can be authenticated.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authentication.k8s.io", + "Version": "v1beta1", + "Kind": "TokenReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReviewSpec": { + "description": "TokenReviewSpec is a description of the token authentication request.", + "properties": { + "token": { + "description": "Token is the opaque bearer token.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1beta1.TokenReviewStatus": { + "description": "TokenReviewStatus is the result of the token authentication request.", + "properties": { + "authenticated": { + "description": "Authenticated indicates that the token was associated with a known user.", + "type": "boolean" + }, + "error": { + "description": "Error indicates that the token couldn't be checked", + "type": "string" + }, + "user": { + "description": "User is the UserInfo associated with the provided token.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authentication.v1beta1.UserInfo" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authentication.v1beta1.UserInfo": { + "description": "UserInfo holds the information about the user needed to implement the user.Info interface.", + "properties": { + "extra": { + "description": "Any additional information provided by the authenticator.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "groups": { + "description": "The names of groups this user is a part of.", + "type": "array", + "items": { + "type": "string" + } + }, + "uid": { + "description": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.", + "type": "string" + }, + "username": { + "description": "The name that uniquely identifies this user among all active users.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.LocalSubjectAccessReview": { + "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request is allowed or not", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authorization.k8s.io", + "Version": "v1", + "Kind": "LocalSubjectAccessReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.NonResourceAttributes": { + "description": "NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface", + "properties": { + "path": { + "description": "Path is the URL path of the request", + "type": "string" + }, + "verb": { + "description": "Verb is the standard HTTP verb", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.ResourceAttributes": { + "description": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface", + "properties": { + "group": { + "description": "Group is the API Group of the Resource. \"*\" means all.", + "type": "string" + }, + "name": { + "description": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview", + "type": "string" + }, + "resource": { + "description": "Resource is one of the existing resource types. \"*\" means all.", + "type": "string" + }, + "subresource": { + "description": "Subresource is one of the existing resource types. \"\" means none.", + "type": "string" + }, + "verb": { + "description": "Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.", + "type": "string" + }, + "version": { + "description": "Version is the API Version of the Resource. \"*\" means all.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.SelfSubjectAccessReview": { + "description": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated. user and groups must be empty", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SelfSubjectAccessReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request is allowed or not", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authorization.k8s.io", + "Version": "v1", + "Kind": "SelfSubjectAccessReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.SelfSubjectAccessReviewSpec": { + "description": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", + "properties": { + "nonResourceAttributes": { + "description": "NonResourceAttributes describes information for a non-resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.NonResourceAttributes" + }, + "resourceAttributes": { + "description": "ResourceAuthorizationAttributes describes information for a resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.ResourceAttributes" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReview": { + "description": "SubjectAccessReview checks whether or not a user or group can perform an action.", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request is allowed or not", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authorization.k8s.io", + "Version": "v1", + "Kind": "SubjectAccessReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewSpec": { + "description": "SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", + "properties": { + "extra": { + "description": "Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "groups": { + "description": "Groups is the groups you're testing for.", + "type": "array", + "items": { + "type": "string" + } + }, + "nonResourceAttributes": { + "description": "NonResourceAttributes describes information for a non-resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.NonResourceAttributes" + }, + "resourceAttributes": { + "description": "ResourceAuthorizationAttributes describes information for a resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1.ResourceAttributes" + }, + "user": { + "description": "User is the user you're testing for. If you specify \"User\" but not \"Groups\", then is it interpreted as \"What if User were not a member of any groups", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1.SubjectAccessReviewStatus": { + "description": "SubjectAccessReviewStatus", + "required": [ + "allowed" + ], + "properties": { + "allowed": { + "description": "Allowed is required. True if the action would be allowed, false otherwise.", + "type": "boolean" + }, + "evaluationError": { + "description": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.", + "type": "string" + }, + "reason": { + "description": "Reason is optional. It indicates why a request was allowed or denied.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.LocalSubjectAccessReview": { + "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request is allowed or not", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authorization.k8s.io", + "Version": "v1beta1", + "Kind": "LocalSubjectAccessReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.NonResourceAttributes": { + "description": "NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface", + "properties": { + "path": { + "description": "Path is the URL path of the request", + "type": "string" + }, + "verb": { + "description": "Verb is the standard HTTP verb", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.ResourceAttributes": { + "description": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface", + "properties": { + "group": { + "description": "Group is the API Group of the Resource. \"*\" means all.", + "type": "string" + }, + "name": { + "description": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview", + "type": "string" + }, + "resource": { + "description": "Resource is one of the existing resource types. \"*\" means all.", + "type": "string" + }, + "subresource": { + "description": "Subresource is one of the existing resource types. \"\" means none.", + "type": "string" + }, + "verb": { + "description": "Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.", + "type": "string" + }, + "version": { + "description": "Version is the API Version of the Resource. \"*\" means all.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SelfSubjectAccessReview": { + "description": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated. user and groups must be empty", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SelfSubjectAccessReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request is allowed or not", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authorization.k8s.io", + "Version": "v1beta1", + "Kind": "SelfSubjectAccessReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SelfSubjectAccessReviewSpec": { + "description": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", + "properties": { + "nonResourceAttributes": { + "description": "NonResourceAttributes describes information for a non-resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.NonResourceAttributes" + }, + "resourceAttributes": { + "description": "ResourceAuthorizationAttributes describes information for a resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.ResourceAttributes" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReview": { + "description": "SubjectAccessReview checks whether or not a user or group can perform an action.", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec holds information about the request being evaluated", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewSpec" + }, + "status": { + "description": "Status is filled in by the server and indicates whether the request is allowed or not", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "authorization.k8s.io", + "Version": "v1beta1", + "Kind": "SubjectAccessReview" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewSpec": { + "description": "SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", + "properties": { + "extra": { + "description": "Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "group": { + "description": "Groups is the groups you're testing for.", + "type": "array", + "items": { + "type": "string" + } + }, + "nonResourceAttributes": { + "description": "NonResourceAttributes describes information for a non-resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.NonResourceAttributes" + }, + "resourceAttributes": { + "description": "ResourceAuthorizationAttributes describes information for a resource access request", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.authorization.v1beta1.ResourceAttributes" + }, + "user": { + "description": "User is the user you're testing for. If you specify \"User\" but not \"Group\", then is it interpreted as \"What if User were not a member of any groups", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.authorization.v1beta1.SubjectAccessReviewStatus": { + "description": "SubjectAccessReviewStatus", + "required": [ + "allowed" + ], + "properties": { + "allowed": { + "description": "Allowed is required. True if the action would be allowed, false otherwise.", + "type": "boolean" + }, + "evaluationError": { + "description": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.", + "type": "string" + }, + "reason": { + "description": "Reason is optional. It indicates why a request was allowed or denied.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.CrossVersionObjectReference": { + "description": "CrossVersionObjectReference contains enough information to let you identify the referred resource.", + "required": [ + "kind", + "name" + ], + "properties": { + "apiVersion": { + "description": "API version of the referent", + "type": "string" + }, + "kind": { + "description": "Kind of the referent; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\"", + "type": "string" + }, + "name": { + "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler": { + "description": "configuration of a horizontal pod autoscaler.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "behaviour of autoscaler. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerSpec" + }, + "status": { + "description": "current information about the autoscaler.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "autoscaling", + "Version": "v1", + "Kind": "HorizontalPodAutoscaler" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerList": { + "description": "list of horizontal pod autoscaler objects.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "list of horizontal pod autoscaler objects.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "autoscaling", + "Version": "v1", + "Kind": "HorizontalPodAutoscalerList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerSpec": { + "description": "specification of a horizontal pod autoscaler.", + "required": [ + "scaleTargetRef", + "maxReplicas" + ], + "properties": { + "maxReplicas": { + "description": "upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.", + "type": "integer", + "format": "int32" + }, + "minReplicas": { + "description": "lower limit for the number of pods that can be set by the autoscaler, default 1.", + "type": "integer", + "format": "int32" + }, + "scaleTargetRef": { + "description": "reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.CrossVersionObjectReference" + }, + "targetCPUUtilizationPercentage": { + "description": "target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified the default autoscaling policy will be used.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerStatus": { + "description": "current status of a horizontal pod autoscaler", + "required": [ + "currentReplicas", + "desiredReplicas" + ], + "properties": { + "currentCPUUtilizationPercentage": { + "description": "current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.", + "type": "integer", + "format": "int32" + }, + "currentReplicas": { + "description": "current number of replicas of pods managed by this autoscaler.", + "type": "integer", + "format": "int32" + }, + "desiredReplicas": { + "description": "desired number of replicas of pods managed by this autoscaler.", + "type": "integer", + "format": "int32" + }, + "lastScaleTime": { + "description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "observedGeneration": { + "description": "most recent generation observed by this autoscaler.", + "type": "integer", + "format": "int64" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.Scale": { + "description": "Scale represents a scaling request for a resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.ScaleSpec" + }, + "status": { + "description": "current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.ScaleStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "autoscaling", + "Version": "v1", + "Kind": "Scale" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.ScaleSpec": { + "description": "ScaleSpec describes the attributes of a scale subresource.", + "properties": { + "replicas": { + "description": "desired number of instances for the scaled object.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v1.ScaleStatus": { + "description": "ScaleStatus represents the current status of a scale subresource.", + "required": [ + "replicas" + ], + "properties": { + "replicas": { + "description": "actual number of observed instances of the scaled object.", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "label query over pods that should match the replicas count. This is same as the label selector but in the string format to avoid introspection by clients. The string will be in the same format as the query-param syntax. More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.CrossVersionObjectReference": { + "description": "CrossVersionObjectReference contains enough information to let you identify the referred resource.", + "required": [ + "kind", + "name" + ], + "properties": { + "apiVersion": { + "description": "API version of the referent", + "type": "string" + }, + "kind": { + "description": "Kind of the referent; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\"", + "type": "string" + }, + "name": { + "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler": { + "description": "HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "metadata is the standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "spec is the specification for the behaviour of the autoscaler. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerSpec" + }, + "status": { + "description": "status is the current information about the autoscaler.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "autoscaling", + "Version": "v2alpha1", + "Kind": "HorizontalPodAutoscaler" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerList": { + "description": "HorizontalPodAutoscaler is a list of horizontal pod autoscaler objects.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "items is the list of horizontal pod autoscaler objects.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscaler" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "metadata is the standard list metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "autoscaling", + "Version": "v2alpha1", + "Kind": "HorizontalPodAutoscalerList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerSpec": { + "description": "HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.", + "required": [ + "scaleTargetRef", + "maxReplicas" + ], + "properties": { + "maxReplicas": { + "description": "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.", + "type": "integer", + "format": "int32" + }, + "metrics": { + "description": "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.MetricSpec" + } + }, + "minReplicas": { + "description": "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod.", + "type": "integer", + "format": "int32" + }, + "scaleTargetRef": { + "description": "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.CrossVersionObjectReference" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.HorizontalPodAutoscalerStatus": { + "description": "HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.", + "required": [ + "currentReplicas", + "desiredReplicas", + "currentMetrics" + ], + "properties": { + "currentMetrics": { + "description": "currentMetrics is the last read state of the metrics used by this autoscaler.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.MetricStatus" + } + }, + "currentReplicas": { + "description": "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", + "type": "integer", + "format": "int32" + }, + "desiredReplicas": { + "description": "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", + "type": "integer", + "format": "int32" + }, + "lastScaleTime": { + "description": "lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "observedGeneration": { + "description": "observedGeneration is the most recent generation observed by this autoscaler.", + "type": "integer", + "format": "int64" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.MetricSpec": { + "description": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).", + "required": [ + "type" + ], + "properties": { + "object": { + "description": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ObjectMetricSource" + }, + "pods": { + "description": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.PodsMetricSource" + }, + "resource": { + "description": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ResourceMetricSource" + }, + "type": { + "description": "type is the type of metric source. It should match one of the fields below.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.MetricStatus": { + "description": "MetricStatus describes the last-read state of a single metric.", + "required": [ + "type" + ], + "properties": { + "object": { + "description": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ObjectMetricStatus" + }, + "pods": { + "description": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.PodsMetricStatus" + }, + "resource": { + "description": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ResourceMetricStatus" + }, + "type": { + "description": "type is the type of metric source. It will match one of the fields below.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ObjectMetricSource": { + "description": "ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).", + "required": [ + "target", + "metricName", + "targetValue" + ], + "properties": { + "metricName": { + "description": "metricName is the name of the metric in question.", + "type": "string" + }, + "target": { + "description": "target is the described Kubernetes object.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.CrossVersionObjectReference" + }, + "targetValue": { + "description": "targetValue is the target value of the metric (as a quantity).", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ObjectMetricStatus": { + "description": "ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).", + "required": [ + "target", + "metricName", + "currentValue" + ], + "properties": { + "currentValue": { + "description": "currentValue is the current value of the metric (as a quantity).", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "metricName": { + "description": "metricName is the name of the metric in question.", + "type": "string" + }, + "target": { + "description": "target is the described Kubernetes object.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.CrossVersionObjectReference" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.PodsMetricSource": { + "description": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", + "required": [ + "metricName", + "targetAverageValue" + ], + "properties": { + "metricName": { + "description": "metricName is the name of the metric in question", + "type": "string" + }, + "targetAverageValue": { + "description": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.PodsMetricStatus": { + "description": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).", + "required": [ + "metricName", + "currentAverageValue" + ], + "properties": { + "currentAverageValue": { + "description": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "metricName": { + "description": "metricName is the name of the metric in question", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ResourceMetricSource": { + "description": "ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "name is the name of the resource in question.", + "type": "string" + }, + "targetAverageUtilization": { + "description": "targetAverageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.", + "type": "integer", + "format": "int32" + }, + "targetAverageValue": { + "description": "targetAverageValue is the the target value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the \"pods\" metric source type.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + } + } + }, + "io.k8s.kubernetes.pkg.apis.autoscaling.v2alpha1.ResourceMetricStatus": { + "description": "ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "required": [ + "name", + "currentAverageValue" + ], + "properties": { + "currentAverageUtilization": { + "description": "currentAverageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. It will only be present if `targetAverageValue` was set in the corresponding metric specification.", + "type": "integer", + "format": "int32" + }, + "currentAverageValue": { + "description": "currentAverageValue is the the current value of the average of the resource metric across all relevant pods, as a raw value (instead of as a percentage of the request), similar to the \"pods\" metric source type. It will always be set, regardless of the corresponding metric specification.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "name": { + "description": "name is the name of the resource in question.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.batch.v1.Job": { + "description": "Job represents the configuration of a single job.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec is a structure defining the expected behavior of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobSpec" + }, + "status": { + "description": "Status is a structure describing current status of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "batch", + "Version": "v1", + "Kind": "Job" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.batch.v1.JobCondition": { + "description": "JobCondition describes current state of a job.", + "required": [ + "type", + "status" + ], + "properties": { + "lastProbeTime": { + "description": "Last time the condition was checked.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "lastTransitionTime": { + "description": "Last time the condition transit from one status to another.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "message": { + "description": "Human readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "(brief) reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type of job condition, Complete or Failed.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.batch.v1.JobList": { + "description": "JobList is a collection of jobs.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of Job.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "batch", + "Version": "v1", + "Kind": "JobList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.batch.v1.JobSpec": { + "description": "JobSpec describes how the job execution will look like.", + "required": [ + "template" + ], + "properties": { + "activeDeadlineSeconds": { + "description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer", + "type": "integer", + "format": "int64" + }, + "completions": { + "description": "Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://kubernetes.io/docs/user-guide/jobs", + "type": "integer", + "format": "int32" + }, + "manualSelector": { + "description": "ManualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template. When true, the user is responsible for picking unique labels and specifying the selector. Failure to pick a unique label may cause this and other jobs to not function correctly. However, You may see `manualSelector=true` in jobs that were created with the old `extensions/v1beta1` API. More info: http://releases.k8s.io/HEAD/docs/design/selector-generation.md", + "type": "boolean" + }, + "parallelism": { + "description": "Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) \u003c .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://kubernetes.io/docs/user-guide/jobs", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "template": { + "description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" + } + } + }, + "io.k8s.kubernetes.pkg.apis.batch.v1.JobStatus": { + "description": "JobStatus represents the current state of a Job.", + "properties": { + "active": { + "description": "Active is the number of actively running pods.", + "type": "integer", + "format": "int32" + }, + "completionTime": { + "description": "CompletionTime represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "conditions": { + "description": "Conditions represent the latest available observations of an object's current state. More info: http://kubernetes.io/docs/user-guide/jobs", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobCondition" + } + }, + "failed": { + "description": "Failed is the number of pods which reached Phase Failed.", + "type": "integer", + "format": "int32" + }, + "startTime": { + "description": "StartTime represents time when the job was acknowledged by the Job Manager. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "succeeded": { + "description": "Succeeded is the number of pods which reached Phase Succeeded.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob": { + "description": "CronJob represents the configuration of a single cron job.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec is a structure defining the expected behavior of a job, including the schedule. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobSpec" + }, + "status": { + "description": "Status is a structure describing current status of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "batch", + "Version": "v2alpha1", + "Kind": "CronJob" + }, + { + "Group": "batch", + "Version": "v2alpha1", + "Kind": "ScheduledJob" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobList": { + "description": "CronJobList is a collection of cron jobs.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of CronJob.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJob" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "batch", + "Version": "v2alpha1", + "Kind": "CronJobList" + }, + { + "Group": "batch", + "Version": "v2alpha1", + "Kind": "ScheduledJobList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobSpec": { + "description": "CronJobSpec describes how the job execution will look like and when it will actually run.", + "required": [ + "schedule", + "jobTemplate" + ], + "properties": { + "concurrencyPolicy": { + "description": "ConcurrencyPolicy specifies how to treat concurrent executions of a Job.", + "type": "string" + }, + "failedJobsHistoryLimit": { + "description": "The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified.", + "type": "integer", + "format": "int32" + }, + "jobTemplate": { + "description": "JobTemplate is the object that describes the job that will be created when executing a CronJob.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v2alpha1.JobTemplateSpec" + }, + "schedule": { + "description": "Schedule contains the schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.", + "type": "string" + }, + "startingDeadlineSeconds": { + "description": "Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.", + "type": "integer", + "format": "int64" + }, + "successfulJobsHistoryLimit": { + "description": "The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified.", + "type": "integer", + "format": "int32" + }, + "suspend": { + "description": "Suspend flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.", + "type": "boolean" + } + } + }, + "io.k8s.kubernetes.pkg.apis.batch.v2alpha1.CronJobStatus": { + "description": "CronJobStatus represents the current state of a cron job.", + "properties": { + "active": { + "description": "Active holds pointers to currently running jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference" + } + }, + "lastScheduleTime": { + "description": "LastScheduleTime keeps information of when was the last time the job was successfully scheduled.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + } + }, + "io.k8s.kubernetes.pkg.apis.batch.v2alpha1.JobTemplateSpec": { + "description": "JobTemplateSpec describes the data a Job should have when created from a template", + "properties": { + "metadata": { + "description": "Standard object's metadata of the jobs created from this template. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Specification of the desired behavior of the job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobSpec" + } + } + }, + "io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest": { + "description": "Describes a certificate signing request", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "The certificate request itself and any additional information.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestSpec" + }, + "status": { + "description": "Derived information about the request.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "certificates.k8s.io", + "Version": "v1beta1", + "Kind": "CertificateSigningRequest" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestCondition": { + "required": [ + "type" + ], + "properties": { + "lastUpdateTime": { + "description": "timestamp for the last update to this condition", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "message": { + "description": "human readable message with details about the request state", + "type": "string" + }, + "reason": { + "description": "brief reason for the request state", + "type": "string" + }, + "type": { + "description": "request approval state, currently Approved or Denied.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestList": { + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequest" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "certificates.k8s.io", + "Version": "v1beta1", + "Kind": "CertificateSigningRequestList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestSpec": { + "description": "This information is immutable after the request is created. Only the Request and Usages fields can be set on creation, other fields are derived by Kubernetes and cannot be modified by users.", + "required": [ + "request" + ], + "properties": { + "extra": { + "description": "Extra information about the requesting user. See user.Info interface for details.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "groups": { + "description": "Group information about the requesting user. See user.Info interface for details.", + "type": "array", + "items": { + "type": "string" + } + }, + "request": { + "description": "Base64-encoded PKCS#10 CSR data", + "type": "string", + "format": "byte" + }, + "uid": { + "description": "UID information about the requesting user. See user.Info interface for details.", + "type": "string" + }, + "usages": { + "description": "allowedUsages specifies a set of usage contexts the key will be valid for. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3\n https://tools.ietf.org/html/rfc5280#section-4.2.1.12", + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Information about the requesting user. See user.Info interface for details.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestStatus": { + "properties": { + "certificate": { + "description": "If request was approved, the controller will place the issued certificate here.", + "type": "string", + "format": "byte" + }, + "conditions": { + "description": "Conditions applied to the request, such as approval or denial.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.certificates.v1beta1.CertificateSigningRequestCondition" + } + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.APIVersion": { + "description": "An APIVersion represents a single concrete version of an object model.", + "properties": { + "name": { + "description": "Name of this version (e.g. 'v1').", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet": { + "description": "DaemonSet represents the configuration of a daemon set.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "The desired behavior of this daemon set. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetSpec" + }, + "status": { + "description": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "DaemonSet" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetList": { + "description": "DaemonSetList is a collection of daemon sets.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "A list of daemon sets.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "DaemonSetList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetSpec": { + "description": "DaemonSetSpec is the specification of a daemon set.", + "required": [ + "template" + ], + "properties": { + "minReadySeconds": { + "description": "The minimum number of seconds for which a newly created DaemonSet pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "A label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "template": { + "description": "An object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" + }, + "templateGeneration": { + "description": "A sequence number representing a specific generation of the template. Populated by the system. It can be set only during the creation.", + "type": "integer", + "format": "int64" + }, + "updateStrategy": { + "description": "An update strategy to replace existing DaemonSet pods with new pods.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetUpdateStrategy" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetStatus": { + "description": "DaemonSetStatus represents the current status of a daemon set.", + "required": [ + "currentNumberScheduled", + "numberMisscheduled", + "desiredNumberScheduled", + "numberReady" + ], + "properties": { + "currentNumberScheduled": { + "description": "The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md", + "type": "integer", + "format": "int32" + }, + "desiredNumberScheduled": { + "description": "The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md", + "type": "integer", + "format": "int32" + }, + "numberAvailable": { + "description": "The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)", + "type": "integer", + "format": "int32" + }, + "numberMisscheduled": { + "description": "The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md", + "type": "integer", + "format": "int32" + }, + "numberReady": { + "description": "The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.", + "type": "integer", + "format": "int32" + }, + "numberUnavailable": { + "description": "The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)", + "type": "integer", + "format": "int32" + }, + "observedGeneration": { + "description": "The most recent generation observed by the daemon set controller.", + "type": "integer", + "format": "int64" + }, + "updatedNumberScheduled": { + "description": "The total number of nodes that are running updated daemon pod", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetUpdateStrategy": { + "properties": { + "rollingUpdate": { + "description": "Rolling update config params. Present only if type = \"RollingUpdate\".", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDaemonSet" + }, + "type": { + "description": "Type of daemon set update. Can be \"RollingUpdate\" or \"OnDelete\". Default is OnDelete.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment": { + "description": "Deployment enables declarative updates for Pods and ReplicaSets.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Specification of the desired behavior of the Deployment.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentSpec" + }, + "status": { + "description": "Most recently observed status of the Deployment.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "Deployment" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentCondition": { + "description": "DeploymentCondition describes the state of a deployment at a certain point.", + "required": [ + "type", + "status" + ], + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "lastUpdateTime": { + "description": "The last time this condition was updated.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "message": { + "description": "A human readable message indicating details about the transition.", + "type": "string" + }, + "reason": { + "description": "The reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type of deployment condition.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentList": { + "description": "DeploymentList is a list of Deployments.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of Deployments.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "DeploymentList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentRollback": { + "description": "DeploymentRollback stores the information required to rollback a deployment.", + "required": [ + "name", + "rollbackTo" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Required: This must match the Name of a deployment.", + "type": "string" + }, + "rollbackTo": { + "description": "The config of this deployment rollback.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollbackConfig" + }, + "updatedAnnotations": { + "description": "The annotations to be updated to a deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "DeploymentRollback" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentSpec": { + "description": "DeploymentSpec is the specification of the desired behavior of the Deployment.", + "required": [ + "template" + ], + "properties": { + "minReadySeconds": { + "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", + "type": "integer", + "format": "int32" + }, + "paused": { + "description": "Indicates that the deployment is paused and will not be processed by the deployment controller.", + "type": "boolean" + }, + "progressDeadlineSeconds": { + "description": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Once autoRollback is implemented, the deployment controller will automatically rollback failed deployments. Note that progress will not be estimated during the time a deployment is paused. This is not set by default.", + "type": "integer", + "format": "int32" + }, + "replicas": { + "description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.", + "type": "integer", + "format": "int32" + }, + "revisionHistoryLimit": { + "description": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.", + "type": "integer", + "format": "int32" + }, + "rollbackTo": { + "description": "The config this deployment is rolling back to. Will be cleared after rollback is done.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollbackConfig" + }, + "selector": { + "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "strategy": { + "description": "The deployment strategy to use to replace existing pods with new ones.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStrategy" + }, + "template": { + "description": "Template describes the pods that will be created.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStatus": { + "description": "DeploymentStatus is the most recently observed status of the Deployment.", + "properties": { + "availableReplicas": { + "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.", + "type": "integer", + "format": "int32" + }, + "conditions": { + "description": "Represents the latest available observations of a deployment's current state.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentCondition" + } + }, + "observedGeneration": { + "description": "The generation observed by the deployment controller.", + "type": "integer", + "format": "int64" + }, + "readyReplicas": { + "description": "Total number of ready pods targeted by this deployment.", + "type": "integer", + "format": "int32" + }, + "replicas": { + "description": "Total number of non-terminated pods targeted by this deployment (their labels match the selector).", + "type": "integer", + "format": "int32" + }, + "unavailableReplicas": { + "description": "Total number of unavailable pods targeted by this deployment.", + "type": "integer", + "format": "int32" + }, + "updatedReplicas": { + "description": "Total number of non-terminated pods targeted by this deployment that have the desired template spec.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStrategy": { + "description": "DeploymentStrategy describes how to replace existing pods with new ones.", + "properties": { + "rollingUpdate": { + "description": "Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDeployment" + }, + "type": { + "description": "Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.FSGroupStrategyOptions": { + "description": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.", + "properties": { + "ranges": { + "description": "Ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IDRange" + } + }, + "rule": { + "description": "Rule is the strategy that will dictate what FSGroup is used in the SecurityContext.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressPath": { + "description": "HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.", + "required": [ + "backend" + ], + "properties": { + "backend": { + "description": "Backend defines the referenced service endpoint to which the traffic will be forwarded to.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressBackend" + }, + "path": { + "description": "Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \"path\" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressRuleValue": { + "description": "HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://\u003chost\u003e/\u003cpath\u003e?\u003csearchpart\u003e -\u003e backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.", + "required": [ + "paths" + ], + "properties": { + "paths": { + "description": "A collection of paths that map requests to backends.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressPath" + } + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HostPortRange": { + "description": "Host Port Range defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined.", + "required": [ + "min", + "max" + ], + "properties": { + "max": { + "description": "max is the end of the range, inclusive.", + "type": "integer", + "format": "int32" + }, + "min": { + "description": "min is the start of the range, inclusive.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IDRange": { + "description": "ID Range provides a min/max of an allowed range of IDs.", + "required": [ + "min", + "max" + ], + "properties": { + "max": { + "description": "Max is the end of the range, inclusive.", + "type": "integer", + "format": "int64" + }, + "min": { + "description": "Min is the start of the range, inclusive.", + "type": "integer", + "format": "int64" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress": { + "description": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec is the desired state of the Ingress. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressSpec" + }, + "status": { + "description": "Status is the current state of the Ingress. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "Ingress" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressBackend": { + "description": "IngressBackend describes all endpoints for a given service and port.", + "required": [ + "serviceName", + "servicePort" + ], + "properties": { + "serviceName": { + "description": "Specifies the name of the referenced service.", + "type": "string" + }, + "servicePort": { + "description": "Specifies the port of the referenced service.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressList": { + "description": "IngressList is a collection of Ingress.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of Ingress.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "IngressList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressRule": { + "description": "IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.", + "properties": { + "host": { + "description": "Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \"host\" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the\n\t IP in the Spec of the parent Ingress.\n2. The `:` delimiter is not respected because ports are not allowed.\n\t Currently the port of an Ingress is implicitly :80 for http and\n\t :443 for https.\nBoth these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.", + "type": "string" + }, + "http": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressRuleValue" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressSpec": { + "description": "IngressSpec describes the Ingress the user wishes to exist.", + "properties": { + "backend": { + "description": "A default backend capable of servicing requests that don't match any rule. At least one of 'backend' or 'rules' must be specified. This field is optional to allow the loadbalancer controller or defaulting logic to specify a global default.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressBackend" + }, + "rules": { + "description": "A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressRule" + } + }, + "tls": { + "description": "TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressTLS" + } + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressStatus": { + "description": "IngressStatus describe the current state of the Ingress.", + "properties": { + "loadBalancer": { + "description": "LoadBalancer contains the current status of the load-balancer.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressTLS": { + "description": "IngressTLS describes the transport layer security associated with an Ingress.", + "properties": { + "hosts": { + "description": "Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.", + "type": "array", + "items": { + "type": "string" + } + }, + "secretName": { + "description": "SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the \"Host\" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy": { + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Specification of the desired behavior for this NetworkPolicy.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicySpec" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "NetworkPolicy" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyIngressRule": { + "description": "This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.", + "properties": { + "from": { + "description": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is not provided, this rule matches all sources (traffic not restricted by source). If this field is empty, this rule matches no sources (no traffic matches). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyPeer" + } + }, + "ports": { + "description": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is not provided, this rule matches all ports (traffic not restricted by port). If this field is empty, this rule matches no ports (no traffic matches). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyPort" + } + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyList": { + "description": "Network Policy List is a list of NetworkPolicy objects.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is a list of schema objects.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicy" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "NetworkPolicyList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyPeer": { + "properties": { + "namespaceSelector": { + "description": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "podSelector": { + "description": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyPort": { + "properties": { + "port": { + "description": "If specified, the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + }, + "protocol": { + "description": "Optional. The protocol (TCP or UDP) which traffic must match. If not specified, this field defaults to TCP.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicySpec": { + "required": [ + "podSelector" + ], + "properties": { + "ingress": { + "description": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it, OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not affect ingress isolation. If this field is present and contains at least one rule, this policy allows any traffic which matches at least one of the ingress rules in this list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.NetworkPolicyIngressRule" + } + }, + "podSelector": { + "description": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy": { + "description": "Pod Security Policy governs the ability to make requests that affect the Security Context that will be applied to a pod and container.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "spec defines the policy enforced.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicySpec" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "PodSecurityPolicy" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicyList": { + "description": "Pod Security Policy List is a list of PodSecurityPolicy objects.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is a list of schema objects.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicy" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "PodSecurityPolicyList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.PodSecurityPolicySpec": { + "description": "Pod Security Policy Spec defines the policy enforced.", + "required": [ + "seLinux", + "runAsUser", + "supplementalGroups", + "fsGroup" + ], + "properties": { + "allowedCapabilities": { + "description": "AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities.", + "type": "array", + "items": { + "type": "string" + } + }, + "defaultAddCapabilities": { + "description": "DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities.", + "type": "array", + "items": { + "type": "string" + } + }, + "fsGroup": { + "description": "FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.FSGroupStrategyOptions" + }, + "hostIPC": { + "description": "hostIPC determines if the policy allows the use of HostIPC in the pod spec.", + "type": "boolean" + }, + "hostNetwork": { + "description": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", + "type": "boolean" + }, + "hostPID": { + "description": "hostPID determines if the policy allows the use of HostPID in the pod spec.", + "type": "boolean" + }, + "hostPorts": { + "description": "hostPorts determines which host port ranges are allowed to be exposed.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HostPortRange" + } + }, + "privileged": { + "description": "privileged determines if a pod can request to be run as privileged.", + "type": "boolean" + }, + "readOnlyRootFilesystem": { + "description": "ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", + "type": "boolean" + }, + "requiredDropCapabilities": { + "description": "RequiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", + "type": "array", + "items": { + "type": "string" + } + }, + "runAsUser": { + "description": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RunAsUserStrategyOptions" + }, + "seLinux": { + "description": "seLinux is the strategy that will dictate the allowable labels that may be set.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.SELinuxStrategyOptions" + }, + "supplementalGroups": { + "description": "SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.SupplementalGroupsStrategyOptions" + }, + "volumes": { + "description": "volumes is a white list of allowed volume plugins. Empty indicates that all plugins may be used.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet": { + "description": "ReplicaSet represents the configuration of a ReplicaSet.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetSpec" + }, + "status": { + "description": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "ReplicaSet" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetCondition": { + "description": "ReplicaSetCondition describes the state of a replica set at a certain point.", + "required": [ + "type", + "status" + ], + "properties": { + "lastTransitionTime": { + "description": "The last time the condition transitioned from one status to another.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "message": { + "description": "A human readable message indicating details about the transition.", + "type": "string" + }, + "reason": { + "description": "The reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type of replica set condition.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetList": { + "description": "ReplicaSetList is a collection of ReplicaSets.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "List of ReplicaSets. More info: http://kubernetes.io/docs/user-guide/replication-controller", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "ReplicaSetList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetSpec": { + "description": "ReplicaSetSpec is the specification of a ReplicaSet.", + "properties": { + "minReadySeconds": { + "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", + "type": "integer", + "format": "int32" + }, + "replicas": { + "description": "Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: http://kubernetes.io/docs/user-guide/replication-controller#what-is-a-replication-controller", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + }, + "template": { + "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetStatus": { + "description": "ReplicaSetStatus represents the current status of a ReplicaSet.", + "required": [ + "replicas" + ], + "properties": { + "availableReplicas": { + "description": "The number of available replicas (ready for at least minReadySeconds) for this replica set.", + "type": "integer", + "format": "int32" + }, + "conditions": { + "description": "Represents the latest available observations of a replica set's current state.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetCondition" + } + }, + "fullyLabeledReplicas": { + "description": "The number of pods that have labels matching the labels of the pod template of the replicaset.", + "type": "integer", + "format": "int32" + }, + "observedGeneration": { + "description": "ObservedGeneration reflects the generation of the most recently observed ReplicaSet.", + "type": "integer", + "format": "int64" + }, + "readyReplicas": { + "description": "The number of ready replicas for this replica set.", + "type": "integer", + "format": "int32" + }, + "replicas": { + "description": "Replicas is the most recently oberved number of replicas. More info: http://kubernetes.io/docs/user-guide/replication-controller#what-is-a-replication-controller", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollbackConfig": { + "properties": { + "revision": { + "description": "The revision to rollback to. If set to 0, rollbck to the last revision.", + "type": "integer", + "format": "int64" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDaemonSet": { + "description": "Spec to control the desired behavior of daemon set rolling update.", + "properties": { + "maxUnavailable": { + "description": "The maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0. Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDeployment": { + "description": "Spec to control the desired behavior of rolling update.", + "properties": { + "maxSurge": { + "description": "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. By default, a value of 1 is used. Example: when this is set to 30%, the new RC can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + }, + "maxUnavailable": { + "description": "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. By default, a fixed value of 1 is used. Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RunAsUserStrategyOptions": { + "description": "Run A sUser Strategy Options defines the strategy type and any options used to create the strategy.", + "required": [ + "rule" + ], + "properties": { + "ranges": { + "description": "Ranges are the allowed ranges of uids that may be used.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IDRange" + } + }, + "rule": { + "description": "Rule is the strategy that will dictate the allowable RunAsUser values that may be set.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.SELinuxStrategyOptions": { + "description": "SELinux Strategy Options defines the strategy type and any options used to create the strategy.", + "required": [ + "rule" + ], + "properties": { + "rule": { + "description": "type is the strategy that will dictate the allowable labels that may be set.", + "type": "string" + }, + "seLinuxOptions": { + "description": "seLinuxOptions required to run as; required for MustRunAs More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SELinuxOptions" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale": { + "description": "represents a scaling request for a resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleSpec" + }, + "status": { + "description": "current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "Scale" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleSpec": { + "description": "describes the attributes of a scale subresource", + "properties": { + "replicas": { + "description": "desired number of instances for the scaled object.", + "type": "integer", + "format": "int32" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleStatus": { + "description": "represents the current status of a scale subresource.", + "required": [ + "replicas" + ], + "properties": { + "replicas": { + "description": "actual number of observed instances of the scaled object.", + "type": "integer", + "format": "int32" + }, + "selector": { + "description": "label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetSelector": { + "description": "label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.SupplementalGroupsStrategyOptions": { + "description": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.", + "properties": { + "ranges": { + "description": "Ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IDRange" + } + }, + "rule": { + "description": "Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.", + "type": "string" + } + } + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource": { + "description": "A ThirdPartyResource is a generic representation of a resource, it is used by add-ons and plugins to add new resource types to the API. It consists of one or more Versions of the api.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "description": { + "description": "Description is the description of this object.", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "versions": { + "description": "Versions are versions for this third party object", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.APIVersion" + } + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "ThirdPartyResource" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResourceList": { + "description": "ThirdPartyResourceList is a list of ThirdPartyResources.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of ThirdPartyResources.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ThirdPartyResource" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "extensions", + "Version": "v1beta1", + "Kind": "ThirdPartyResourceList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.policy.v1beta1.Eviction": { + "description": "Eviction evicts a pod from its node subject to certain policies and safety constraints. This is a subresource of Pod. A request to cause such an eviction is created by POSTing to .../pods/\u003cpod name\u003e/evictions.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "deleteOptions": { + "description": "DeleteOptions may be provided", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "ObjectMeta describes the pod that is being evicted.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "policy", + "Version": "v1beta1", + "Kind": "Eviction" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget": { + "description": "PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Specification of the desired behavior of the PodDisruptionBudget.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetSpec" + }, + "status": { + "description": "Most recently observed status of the PodDisruptionBudget.", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "policy", + "Version": "v1beta1", + "Kind": "PodDisruptionBudget" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetList": { + "description": "PodDisruptionBudgetList is a collection of PodDisruptionBudgets.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudget" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "policy", + "Version": "v1beta1", + "Kind": "PodDisruptionBudgetList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetSpec": { + "description": "PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.", + "properties": { + "minAvailable": { + "description": "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\".", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + }, + "selector": { + "description": "Label query over pods whose evictions are managed by the disruption budget.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + } + } + }, + "io.k8s.kubernetes.pkg.apis.policy.v1beta1.PodDisruptionBudgetStatus": { + "description": "PodDisruptionBudgetStatus represents information about the status of a PodDisruptionBudget. Status may trail the actual state of a system.", + "required": [ + "disruptedPods", + "disruptionsAllowed", + "currentHealthy", + "desiredHealthy", + "expectedPods" + ], + "properties": { + "currentHealthy": { + "description": "current number of healthy pods", + "type": "integer", + "format": "int32" + }, + "desiredHealthy": { + "description": "minimum desired number of healthy pods", + "type": "integer", + "format": "int32" + }, + "disruptedPods": { + "description": "DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + }, + "disruptionsAllowed": { + "description": "Number of pod disruptions that are currently allowed.", + "type": "integer", + "format": "int32" + }, + "expectedPods": { + "description": "total number of pods counted by this disruption budget", + "type": "integer", + "format": "int32" + }, + "observedGeneration": { + "description": "Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other status informatio is valid only if observedGeneration equals to PDB's object generation.", + "type": "integer", + "format": "int64" + } + } + }, + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole": { "description": "ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.", "required": [ "rules" @@ -38859,18 +44911,25 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "rules": { "description": "Rules holds all the PolicyRules for this ClusterRole", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.PolicyRule" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.PolicyRule" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "ClusterRole" + } + ] }, - "v1alpha1.ClusterRoleBinding": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding": { "description": "ClusterRoleBinding references a ClusterRole, but not contain it. It can reference a ClusterRole in the global namespace, and adds who information via Subject.", "required": [ "subjects", @@ -38887,22 +44946,29 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "roleRef": { "description": "RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.", - "$ref": "#/definitions/v1alpha1.RoleRef" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleRef" }, "subjects": { "description": "Subjects holds references to the objects the role applies to.", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.Subject" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Subject" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "ClusterRoleBinding" + } + ] }, - "v1alpha1.ClusterRoleBindingList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBindingList": { "description": "ClusterRoleBindingList is a collection of ClusterRoleBindings", "required": [ "items" @@ -38916,7 +44982,7 @@ "description": "Items is a list of ClusterRoleBindings", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleBinding" } }, "kind": { @@ -38925,11 +44991,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "ClusterRoleBindingList" + } + ] }, - "v1alpha1.ClusterRoleList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRoleList": { "description": "ClusterRoleList is a collection of ClusterRoles", "required": [ "items" @@ -38943,7 +45016,7 @@ "description": "Items is a list of ClusterRoles", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.ClusterRole" } }, "kind": { @@ -38952,11 +45025,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "ClusterRoleList" + } + ] }, - "v1alpha1.PolicyRule": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.PolicyRule": { "description": "PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.", "required": [ "verbs" @@ -38999,7 +45079,7 @@ } } }, - "v1alpha1.Role": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role": { "description": "Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding.", "required": [ "rules" @@ -39015,18 +45095,25 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "rules": { "description": "Rules holds all the PolicyRules for this Role", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.PolicyRule" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.PolicyRule" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "Role" + } + ] }, - "v1alpha1.RoleBinding": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding": { "description": "RoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.", "required": [ "subjects", @@ -39043,22 +45130,29 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "roleRef": { "description": "RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.", - "$ref": "#/definitions/v1alpha1.RoleRef" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleRef" }, "subjects": { "description": "Subjects holds references to the objects the role applies to.", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.Subject" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Subject" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "RoleBinding" + } + ] }, - "v1alpha1.RoleBindingList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBindingList": { "description": "RoleBindingList is a collection of RoleBindings", "required": [ "items" @@ -39072,7 +45166,7 @@ "description": "Items is a list of RoleBindings", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleBinding" } }, "kind": { @@ -39081,11 +45175,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "RoleBindingList" + } + ] }, - "v1alpha1.RoleList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleList": { "description": "RoleList is a collection of Roles", "required": [ "items" @@ -39099,7 +45200,7 @@ "description": "Items is a list of Roles", "type": "array", "items": { - "$ref": "#/definitions/v1alpha1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Role" } }, "kind": { @@ -39108,11 +45209,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1alpha1", + "Kind": "RoleList" + } + ] }, - "v1alpha1.RoleRef": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.RoleRef": { "description": "RoleRef contains information that points to the role being used", "required": [ "apiGroup", @@ -39134,7 +45242,7 @@ } } }, - "v1alpha1.Subject": { + "io.k8s.kubernetes.pkg.apis.rbac.v1alpha1.Subject": { "description": "Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.", "required": [ "kind", @@ -39142,7 +45250,7 @@ ], "properties": { "apiVersion": { - "description": "APIVersion holds the API group and version of the referenced object.", + "description": "APIVersion holds the API group and version of the referenced subject. Defaults to \"v1\" for ServiceAccount subjects. Defaults to \"rbac.authorization.k8s.io/v1alpha1\" for User and Group subjects.", "type": "string" }, "kind": { @@ -39159,148 +45267,7 @@ } } }, - "v1beta1.APIVersion": { - "description": "An APIVersion represents a single concrete version of an object model.", - "properties": { - "name": { - "description": "Name of this version (e.g. 'v1').", - "type": "string" - } - } - }, - "v1beta1.CPUTargetUtilization": { - "required": [ - "targetPercentage" - ], - "properties": { - "targetPercentage": { - "description": "fraction of the requested CPU that should be utilized/used, e.g. 70 means that 70% of the requested CPU should be in use.", - "type": "integer", - "format": "int32" - } - } - }, - "v1beta1.CertificateSigningRequest": { - "description": "Describes a certificate signing request", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "The certificate request itself and any additional information.", - "$ref": "#/definitions/v1beta1.CertificateSigningRequestSpec" - }, - "status": { - "description": "Derived information about the request.", - "$ref": "#/definitions/v1beta1.CertificateSigningRequestStatus" - } - } - }, - "v1beta1.CertificateSigningRequestCondition": { - "required": [ - "type" - ], - "properties": { - "lastUpdateTime": { - "description": "timestamp for the last update to this condition", - "$ref": "#/definitions/v1.Time" - }, - "message": { - "description": "human readable message with details about the request state", - "type": "string" - }, - "reason": { - "description": "brief reason for the request state", - "type": "string" - }, - "type": { - "description": "request approval state, currently Approved or Denied.", - "type": "string" - } - } - }, - "v1beta1.CertificateSigningRequestList": { - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequest" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.CertificateSigningRequestSpec": { - "description": "This information is immutable after the request is created. Only the Request and ExtraInfo fields can be set on creation, other fields are derived by Kubernetes and cannot be modified by users.", - "required": [ - "request" - ], - "properties": { - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "request": { - "description": "Base64-encoded PKCS#10 CSR data", - "type": "string", - "format": "byte" - }, - "uid": { - "type": "string" - }, - "usages": { - "description": "allowedUsages specifies a set of usage contexts the key will be valid for. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3\n https://tools.ietf.org/html/rfc5280#section-4.2.1.12", - "type": "array", - "items": { - "type": "string" - } - }, - "username": { - "description": "Information about the requesting user (if relevant) See user.Info interface for details", - "type": "string" - } - } - }, - "v1beta1.CertificateSigningRequestStatus": { - "properties": { - "certificate": { - "description": "If request was approved, the controller will place the issued certificate here.", - "type": "string", - "format": "byte" - }, - "conditions": { - "description": "Conditions applied to the request, such as approval or denial.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.CertificateSigningRequestCondition" - } - } - } - }, - "v1beta1.ClusterRole": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole": { "description": "ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.", "required": [ "rules" @@ -39316,18 +45283,25 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "rules": { "description": "Rules holds all the PolicyRules for this ClusterRole", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.PolicyRule" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.PolicyRule" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "ClusterRole" + } + ] }, - "v1beta1.ClusterRoleBinding": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding": { "description": "ClusterRoleBinding references a ClusterRole, but not contain it. It can reference a ClusterRole in the global namespace, and adds who information via Subject.", "required": [ "subjects", @@ -39344,22 +45318,29 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "roleRef": { "description": "RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.", - "$ref": "#/definitions/v1beta1.RoleRef" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleRef" }, "subjects": { "description": "Subjects holds references to the objects the role applies to.", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.Subject" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Subject" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "ClusterRoleBinding" + } + ] }, - "v1beta1.ClusterRoleBindingList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBindingList": { "description": "ClusterRoleBindingList is a collection of ClusterRoleBindings", "required": [ "items" @@ -39373,7 +45354,7 @@ "description": "Items is a list of ClusterRoleBindings", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleBinding" } }, "kind": { @@ -39382,11 +45363,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "ClusterRoleBindingList" + } + ] }, - "v1beta1.ClusterRoleList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRoleList": { "description": "ClusterRoleList is a collection of ClusterRoles", "required": [ "items" @@ -39400,7 +45388,7 @@ "description": "Items is a list of ClusterRoles", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.ClusterRole" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.ClusterRole" } }, "kind": { @@ -39409,1066 +45397,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } - }, - "v1beta1.DaemonSet": { - "description": "DaemonSet represents the configuration of a daemon set.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec defines the desired behavior of this daemon set. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1beta1.DaemonSetSpec" - }, - "status": { - "description": "Status is the current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1beta1.DaemonSetStatus" + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "ClusterRoleList" } - } + ] }, - "v1beta1.DaemonSetList": { - "description": "DaemonSetList is a collection of daemon sets.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is a list of daemon sets.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.DaemonSet" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.DaemonSetSpec": { - "description": "DaemonSetSpec is the specification of a daemon set.", - "required": [ - "template" - ], - "properties": { - "selector": { - "description": "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "$ref": "#/definitions/v1.LabelSelector" - }, - "template": { - "description": "Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", - "$ref": "#/definitions/v1.PodTemplateSpec" - } - } - }, - "v1beta1.DaemonSetStatus": { - "description": "DaemonSetStatus represents the current status of a daemon set.", - "required": [ - "currentNumberScheduled", - "numberMisscheduled", - "desiredNumberScheduled", - "numberReady" - ], - "properties": { - "currentNumberScheduled": { - "description": "CurrentNumberScheduled is the number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md", - "type": "integer", - "format": "int32" - }, - "desiredNumberScheduled": { - "description": "DesiredNumberScheduled is the total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md", - "type": "integer", - "format": "int32" - }, - "numberMisscheduled": { - "description": "NumberMisscheduled is the number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md", - "type": "integer", - "format": "int32" - }, - "numberReady": { - "description": "NumberReady is the number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.", - "type": "integer", - "format": "int32" - }, - "observedGeneration": { - "description": "ObservedGeneration is the most recent generation observed by the daemon set controller.", - "type": "integer", - "format": "int64" - } - } - }, - "v1beta1.Deployment": { - "description": "Deployment enables declarative updates for Pods and ReplicaSets.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object metadata.", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Specification of the desired behavior of the Deployment.", - "$ref": "#/definitions/v1beta1.DeploymentSpec" - }, - "status": { - "description": "Most recently observed status of the Deployment.", - "$ref": "#/definitions/v1beta1.DeploymentStatus" - } - } - }, - "v1beta1.DeploymentCondition": { - "description": "DeploymentCondition describes the state of a deployment at a certain point.", - "required": [ - "type", - "status" - ], - "properties": { - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another.", - "$ref": "#/definitions/v1.Time" - }, - "lastUpdateTime": { - "description": "The last time this condition was updated.", - "$ref": "#/definitions/v1.Time" - }, - "message": { - "description": "A human readable message indicating details about the transition.", - "type": "string" - }, - "reason": { - "description": "The reason for the condition's last transition.", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "Type of deployment condition.", - "type": "string" - } - } - }, - "v1beta1.DeploymentList": { - "description": "DeploymentList is a list of Deployments.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of Deployments.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.Deployment" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata.", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.DeploymentRollback": { - "description": "DeploymentRollback stores the information required to rollback a deployment.", - "required": [ - "name", - "rollbackTo" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Required: This must match the Name of a deployment.", - "type": "string" - }, - "rollbackTo": { - "description": "The config of this deployment rollback.", - "$ref": "#/definitions/v1beta1.RollbackConfig" - }, - "updatedAnnotations": { - "description": "The annotations to be updated to a deployment", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "v1beta1.DeploymentSpec": { - "description": "DeploymentSpec is the specification of the desired behavior of the Deployment.", - "required": [ - "template" - ], - "properties": { - "minReadySeconds": { - "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", - "type": "integer", - "format": "int32" - }, - "paused": { - "description": "Indicates that the deployment is paused and will not be processed by the deployment controller.", - "type": "boolean" - }, - "progressDeadlineSeconds": { - "description": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Once autoRollback is implemented, the deployment controller will automatically rollback failed deployments. Note that progress will not be estimated during the time a deployment is paused. This is not set by default.", - "type": "integer", - "format": "int32" - }, - "replicas": { - "description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.", - "type": "integer", - "format": "int32" - }, - "revisionHistoryLimit": { - "description": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.", - "type": "integer", - "format": "int32" - }, - "rollbackTo": { - "description": "The config this deployment is rolling back to. Will be cleared after rollback is done.", - "$ref": "#/definitions/v1beta1.RollbackConfig" - }, - "selector": { - "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.", - "$ref": "#/definitions/v1.LabelSelector" - }, - "strategy": { - "description": "The deployment strategy to use to replace existing pods with new ones.", - "$ref": "#/definitions/v1beta1.DeploymentStrategy" - }, - "template": { - "description": "Template describes the pods that will be created.", - "$ref": "#/definitions/v1.PodTemplateSpec" - } - } - }, - "v1beta1.DeploymentStatus": { - "description": "DeploymentStatus is the most recently observed status of the Deployment.", - "properties": { - "availableReplicas": { - "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.", - "type": "integer", - "format": "int32" - }, - "conditions": { - "description": "Represents the latest available observations of a deployment's current state.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.DeploymentCondition" - } - }, - "observedGeneration": { - "description": "The generation observed by the deployment controller.", - "type": "integer", - "format": "int64" - }, - "readyReplicas": { - "description": "Total number of ready pods targeted by this deployment.", - "type": "integer", - "format": "int32" - }, - "replicas": { - "description": "Total number of non-terminated pods targeted by this deployment (their labels match the selector).", - "type": "integer", - "format": "int32" - }, - "unavailableReplicas": { - "description": "Total number of unavailable pods targeted by this deployment.", - "type": "integer", - "format": "int32" - }, - "updatedReplicas": { - "description": "Total number of non-terminated pods targeted by this deployment that have the desired template spec.", - "type": "integer", - "format": "int32" - } - } - }, - "v1beta1.DeploymentStrategy": { - "description": "DeploymentStrategy describes how to replace existing pods with new ones.", - "properties": { - "rollingUpdate": { - "description": "Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.", - "$ref": "#/definitions/v1beta1.RollingUpdateDeployment" - }, - "type": { - "description": "Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate.", - "type": "string" - } - } - }, - "v1beta1.Eviction": { - "description": "Eviction evicts a pod from its node subject to certain policies and safety constraints. This is a subresource of Pod. A request to cause such an eviction is created by POSTing to .../pods/\u003cpod name\u003e/evictions.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "deleteOptions": { - "description": "DeleteOptions may be provided", - "$ref": "#/definitions/v1.DeleteOptions" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta describes the pod that is being evicted.", - "$ref": "#/definitions/v1.ObjectMeta" - } - } - }, - "v1beta1.FSGroupStrategyOptions": { - "description": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.", - "properties": { - "ranges": { - "description": "Ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.IDRange" - } - }, - "rule": { - "description": "Rule is the strategy that will dictate what FSGroup is used in the SecurityContext.", - "type": "string" - } - } - }, - "v1beta1.HTTPIngressPath": { - "description": "HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.", - "required": [ - "backend" - ], - "properties": { - "backend": { - "description": "Backend defines the referenced service endpoint to which the traffic will be forwarded to.", - "$ref": "#/definitions/v1beta1.IngressBackend" - }, - "path": { - "description": "Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \"path\" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend.", - "type": "string" - } - } - }, - "v1beta1.HTTPIngressRuleValue": { - "description": "HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://\u003chost\u003e/\u003cpath\u003e?\u003csearchpart\u003e -\u003e backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.", - "required": [ - "paths" - ], - "properties": { - "paths": { - "description": "A collection of paths that map requests to backends.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.HTTPIngressPath" - } - } - } - }, - "v1beta1.HorizontalPodAutoscaler": { - "description": "configuration of a horizontal pod autoscaler.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "behaviour of autoscaler. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscalerSpec" - }, - "status": { - "description": "current information about the autoscaler.", - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscalerStatus" - } - } - }, - "v1beta1.HorizontalPodAutoscalerList": { - "description": "list of horizontal pod autoscaler objects.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "list of horizontal pod autoscaler objects.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.HorizontalPodAutoscaler" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata.", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.HorizontalPodAutoscalerSpec": { - "description": "specification of a horizontal pod autoscaler.", - "required": [ - "scaleRef", - "maxReplicas" - ], - "properties": { - "cpuUtilization": { - "description": "target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified it defaults to the target CPU utilization at 80% of the requested resources.", - "$ref": "#/definitions/v1beta1.CPUTargetUtilization" - }, - "maxReplicas": { - "description": "upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.", - "type": "integer", - "format": "int32" - }, - "minReplicas": { - "description": "lower limit for the number of pods that can be set by the autoscaler, default 1.", - "type": "integer", - "format": "int32" - }, - "scaleRef": { - "description": "reference to Scale subresource; horizontal pod autoscaler will learn the current resource consumption from its status, and will set the desired number of pods by modifying its spec.", - "$ref": "#/definitions/v1beta1.SubresourceReference" - } - } - }, - "v1beta1.HorizontalPodAutoscalerStatus": { - "description": "current status of a horizontal pod autoscaler", - "required": [ - "currentReplicas", - "desiredReplicas" - ], - "properties": { - "currentCPUUtilizationPercentage": { - "description": "current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU.", - "type": "integer", - "format": "int32" - }, - "currentReplicas": { - "description": "current number of replicas of pods managed by this autoscaler.", - "type": "integer", - "format": "int32" - }, - "desiredReplicas": { - "description": "desired number of replicas of pods managed by this autoscaler.", - "type": "integer", - "format": "int32" - }, - "lastScaleTime": { - "description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed.", - "$ref": "#/definitions/v1.Time" - }, - "observedGeneration": { - "description": "most recent generation observed by this autoscaler.", - "type": "integer", - "format": "int64" - } - } - }, - "v1beta1.HostPortRange": { - "description": "Host Port Range defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined.", - "required": [ - "min", - "max" - ], - "properties": { - "max": { - "description": "max is the end of the range, inclusive.", - "type": "integer", - "format": "int32" - }, - "min": { - "description": "min is the start of the range, inclusive.", - "type": "integer", - "format": "int32" - } - } - }, - "v1beta1.IDRange": { - "description": "ID Range provides a min/max of an allowed range of IDs.", - "required": [ - "min", - "max" - ], - "properties": { - "max": { - "description": "Max is the end of the range, inclusive.", - "type": "integer", - "format": "int64" - }, - "min": { - "description": "Min is the start of the range, inclusive.", - "type": "integer", - "format": "int64" - } - } - }, - "v1beta1.Ingress": { - "description": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec is the desired state of the Ingress. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1beta1.IngressSpec" - }, - "status": { - "description": "Status is the current state of the Ingress. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1beta1.IngressStatus" - } - } - }, - "v1beta1.IngressBackend": { - "description": "IngressBackend describes all endpoints for a given service and port.", - "required": [ - "serviceName", - "servicePort" - ], - "properties": { - "serviceName": { - "description": "Specifies the name of the referenced service.", - "type": "string" - }, - "servicePort": { - "description": "Specifies the port of the referenced service.", - "$ref": "#/definitions/intstr.IntOrString" - } - } - }, - "v1beta1.IngressList": { - "description": "IngressList is a collection of Ingress.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of Ingress.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.Ingress" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.IngressRule": { - "description": "IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.", - "properties": { - "host": { - "description": "Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \"host\" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the\n\t IP in the Spec of the parent Ingress.\n2. The `:` delimiter is not respected because ports are not allowed.\n\t Currently the port of an Ingress is implicitly :80 for http and\n\t :443 for https.\nBoth these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.", - "type": "string" - }, - "http": { - "$ref": "#/definitions/v1beta1.HTTPIngressRuleValue" - } - } - }, - "v1beta1.IngressSpec": { - "description": "IngressSpec describes the Ingress the user wishes to exist.", - "properties": { - "backend": { - "description": "A default backend capable of servicing requests that don't match any rule. At least one of 'backend' or 'rules' must be specified. This field is optional to allow the loadbalancer controller or defaulting logic to specify a global default.", - "$ref": "#/definitions/v1beta1.IngressBackend" - }, - "rules": { - "description": "A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.IngressRule" - } - }, - "tls": { - "description": "TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.IngressTLS" - } - } - } - }, - "v1beta1.IngressStatus": { - "description": "IngressStatus describe the current state of the Ingress.", - "properties": { - "loadBalancer": { - "description": "LoadBalancer contains the current status of the load-balancer.", - "$ref": "#/definitions/v1.LoadBalancerStatus" - } - } - }, - "v1beta1.IngressTLS": { - "description": "IngressTLS describes the transport layer security associated with an Ingress.", - "properties": { - "hosts": { - "description": "Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretName": { - "description": "SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the \"Host\" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.", - "type": "string" - } - } - }, - "v1beta1.LocalSubjectAccessReview": { - "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", - "required": [ - "spec" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted.", - "$ref": "#/definitions/v1beta1.SubjectAccessReviewSpec" - }, - "status": { - "description": "Status is filled in by the server and indicates whether the request is allowed or not", - "$ref": "#/definitions/v1beta1.SubjectAccessReviewStatus" - } - } - }, - "v1beta1.NetworkPolicy": { - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Specification of the desired behavior for this NetworkPolicy.", - "$ref": "#/definitions/v1beta1.NetworkPolicySpec" - } - } - }, - "v1beta1.NetworkPolicyIngressRule": { - "description": "This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.", - "properties": { - "from": { - "description": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is not provided, this rule matches all sources (traffic not restricted by source). If this field is empty, this rule matches no sources (no traffic matches). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.NetworkPolicyPeer" - } - }, - "ports": { - "description": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is not provided, this rule matches all ports (traffic not restricted by port). If this field is empty, this rule matches no ports (no traffic matches). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.NetworkPolicyPort" - } - } - } - }, - "v1beta1.NetworkPolicyList": { - "description": "Network Policy List is a list of NetworkPolicy objects.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is a list of schema objects.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.NetworkPolicy" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.NetworkPolicyPeer": { - "properties": { - "namespaceSelector": { - "description": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.", - "$ref": "#/definitions/v1.LabelSelector" - }, - "podSelector": { - "description": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.", - "$ref": "#/definitions/v1.LabelSelector" - } - } - }, - "v1beta1.NetworkPolicyPort": { - "properties": { - "port": { - "description": "If specified, the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.", - "$ref": "#/definitions/intstr.IntOrString" - }, - "protocol": { - "description": "Optional. The protocol (TCP or UDP) which traffic must match. If not specified, this field defaults to TCP.", - "type": "string" - } - } - }, - "v1beta1.NetworkPolicySpec": { - "required": [ - "podSelector" - ], - "properties": { - "ingress": { - "description": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it, OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not affect ingress isolation. If this field is present and contains at least one rule, this policy allows any traffic which matches at least one of the ingress rules in this list.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.NetworkPolicyIngressRule" - } - }, - "podSelector": { - "description": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.", - "$ref": "#/definitions/v1.LabelSelector" - } - } - }, - "v1beta1.NonResourceAttributes": { - "description": "NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface", - "properties": { - "path": { - "description": "Path is the URL path of the request", - "type": "string" - }, - "verb": { - "description": "Verb is the standard HTTP verb", - "type": "string" - } - } - }, - "v1beta1.PodDisruptionBudget": { - "description": "PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Specification of the desired behavior of the PodDisruptionBudget.", - "$ref": "#/definitions/v1beta1.PodDisruptionBudgetSpec" - }, - "status": { - "description": "Most recently observed status of the PodDisruptionBudget.", - "$ref": "#/definitions/v1beta1.PodDisruptionBudgetStatus" - } - } - }, - "v1beta1.PodDisruptionBudgetList": { - "description": "PodDisruptionBudgetList is a collection of PodDisruptionBudgets.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.PodDisruptionBudget" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.PodDisruptionBudgetSpec": { - "description": "PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.", - "properties": { - "minAvailable": { - "description": "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\".", - "$ref": "#/definitions/intstr.IntOrString" - }, - "selector": { - "description": "Label query over pods whose evictions are managed by the disruption budget.", - "$ref": "#/definitions/v1.LabelSelector" - } - } - }, - "v1beta1.PodDisruptionBudgetStatus": { - "description": "PodDisruptionBudgetStatus represents information about the status of a PodDisruptionBudget. Status may trail the actual state of a system.", - "required": [ - "disruptedPods", - "disruptionsAllowed", - "currentHealthy", - "desiredHealthy", - "expectedPods" - ], - "properties": { - "currentHealthy": { - "description": "current number of healthy pods", - "type": "integer", - "format": "int32" - }, - "desiredHealthy": { - "description": "minimum desired number of healthy pods", - "type": "integer", - "format": "int32" - }, - "disruptedPods": { - "description": "DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/v1.Time" - } - }, - "disruptionsAllowed": { - "description": "Number of pod disruptions that are currently allowed.", - "type": "integer", - "format": "int32" - }, - "expectedPods": { - "description": "total number of pods counted by this disruption budget", - "type": "integer", - "format": "int32" - }, - "observedGeneration": { - "description": "Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other status informatio is valid only if observedGeneration equals to PDB's object generation.", - "type": "integer", - "format": "int64" - } - } - }, - "v1beta1.PodSecurityPolicy": { - "description": "Pod Security Policy governs the ability to make requests that affect the Security Context that will be applied to a pod and container.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "spec defines the policy enforced.", - "$ref": "#/definitions/v1beta1.PodSecurityPolicySpec" - } - } - }, - "v1beta1.PodSecurityPolicyList": { - "description": "Pod Security Policy List is a list of PodSecurityPolicy objects.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is a list of schema objects.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.PodSecurityPolicy" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.PodSecurityPolicySpec": { - "description": "Pod Security Policy Spec defines the policy enforced.", - "required": [ - "seLinux", - "runAsUser", - "supplementalGroups", - "fsGroup" - ], - "properties": { - "allowedCapabilities": { - "description": "AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities.", - "type": "array", - "items": { - "type": "string" - } - }, - "defaultAddCapabilities": { - "description": "DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities.", - "type": "array", - "items": { - "type": "string" - } - }, - "fsGroup": { - "description": "FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.", - "$ref": "#/definitions/v1beta1.FSGroupStrategyOptions" - }, - "hostIPC": { - "description": "hostIPC determines if the policy allows the use of HostIPC in the pod spec.", - "type": "boolean" - }, - "hostNetwork": { - "description": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", - "type": "boolean" - }, - "hostPID": { - "description": "hostPID determines if the policy allows the use of HostPID in the pod spec.", - "type": "boolean" - }, - "hostPorts": { - "description": "hostPorts determines which host port ranges are allowed to be exposed.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.HostPortRange" - } - }, - "privileged": { - "description": "privileged determines if a pod can request to be run as privileged.", - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "description": "ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", - "type": "boolean" - }, - "requiredDropCapabilities": { - "description": "RequiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", - "type": "array", - "items": { - "type": "string" - } - }, - "runAsUser": { - "description": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.", - "$ref": "#/definitions/v1beta1.RunAsUserStrategyOptions" - }, - "seLinux": { - "description": "seLinux is the strategy that will dictate the allowable labels that may be set.", - "$ref": "#/definitions/v1beta1.SELinuxStrategyOptions" - }, - "supplementalGroups": { - "description": "SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", - "$ref": "#/definitions/v1beta1.SupplementalGroupsStrategyOptions" - }, - "volumes": { - "description": "volumes is a white list of allowed volume plugins. Empty indicates that all plugins may be used.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "v1beta1.PolicyRule": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.PolicyRule": { "description": "PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.", "required": [ "verbs" @@ -40511,184 +45451,7 @@ } } }, - "v1beta1.ReplicaSet": { - "description": "ReplicaSet represents the configuration of a ReplicaSet.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1beta1.ReplicaSetSpec" - }, - "status": { - "description": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v1beta1.ReplicaSetStatus" - } - } - }, - "v1beta1.ReplicaSetCondition": { - "description": "ReplicaSetCondition describes the state of a replica set at a certain point.", - "required": [ - "type", - "status" - ], - "properties": { - "lastTransitionTime": { - "description": "The last time the condition transitioned from one status to another.", - "$ref": "#/definitions/v1.Time" - }, - "message": { - "description": "A human readable message indicating details about the transition.", - "type": "string" - }, - "reason": { - "description": "The reason for the condition's last transition.", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "Type of replica set condition.", - "type": "string" - } - } - }, - "v1beta1.ReplicaSetList": { - "description": "ReplicaSetList is a collection of ReplicaSets.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "List of ReplicaSets. More info: http://kubernetes.io/docs/user-guide/replication-controller", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.ReplicaSet" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.ReplicaSetSpec": { - "description": "ReplicaSetSpec is the specification of a ReplicaSet.", - "properties": { - "minReadySeconds": { - "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", - "type": "integer", - "format": "int32" - }, - "replicas": { - "description": "Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: http://kubernetes.io/docs/user-guide/replication-controller#what-is-a-replication-controller", - "type": "integer", - "format": "int32" - }, - "selector": { - "description": "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "$ref": "#/definitions/v1.LabelSelector" - }, - "template": { - "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", - "$ref": "#/definitions/v1.PodTemplateSpec" - } - } - }, - "v1beta1.ReplicaSetStatus": { - "description": "ReplicaSetStatus represents the current status of a ReplicaSet.", - "required": [ - "replicas" - ], - "properties": { - "availableReplicas": { - "description": "The number of available replicas (ready for at least minReadySeconds) for this replica set.", - "type": "integer", - "format": "int32" - }, - "conditions": { - "description": "Represents the latest available observations of a replica set's current state.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.ReplicaSetCondition" - } - }, - "fullyLabeledReplicas": { - "description": "The number of pods that have labels matching the labels of the pod template of the replicaset.", - "type": "integer", - "format": "int32" - }, - "observedGeneration": { - "description": "ObservedGeneration reflects the generation of the most recently observed ReplicaSet.", - "type": "integer", - "format": "int64" - }, - "readyReplicas": { - "description": "The number of ready replicas for this replica set.", - "type": "integer", - "format": "int32" - }, - "replicas": { - "description": "Replicas is the most recently oberved number of replicas. More info: http://kubernetes.io/docs/user-guide/replication-controller#what-is-a-replication-controller", - "type": "integer", - "format": "int32" - } - } - }, - "v1beta1.ResourceAttributes": { - "description": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface", - "properties": { - "group": { - "description": "Group is the API Group of the Resource. \"*\" means all.", - "type": "string" - }, - "name": { - "description": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.", - "type": "string" - }, - "namespace": { - "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview", - "type": "string" - }, - "resource": { - "description": "Resource is one of the existing resource types. \"*\" means all.", - "type": "string" - }, - "subresource": { - "description": "Subresource is one of the existing resource types. \"\" means none.", - "type": "string" - }, - "verb": { - "description": "Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all.", - "type": "string" - }, - "version": { - "description": "Version is the API Version of the Resource. \"*\" means all.", - "type": "string" - } - } - }, - "v1beta1.Role": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role": { "description": "Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding.", "required": [ "rules" @@ -40704,18 +45467,25 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "rules": { "description": "Rules holds all the PolicyRules for this Role", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.PolicyRule" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.PolicyRule" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "Role" + } + ] }, - "v1beta1.RoleBinding": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding": { "description": "RoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.", "required": [ "subjects", @@ -40732,22 +45502,29 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "roleRef": { "description": "RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.", - "$ref": "#/definitions/v1beta1.RoleRef" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleRef" }, "subjects": { "description": "Subjects holds references to the objects the role applies to.", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.Subject" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Subject" } } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "RoleBinding" + } + ] }, - "v1beta1.RoleBindingList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBindingList": { "description": "RoleBindingList is a collection of RoleBindings", "required": [ "items" @@ -40761,7 +45538,7 @@ "description": "Items is a list of RoleBindings", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.RoleBinding" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleBinding" } }, "kind": { @@ -40770,11 +45547,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "RoleBindingList" + } + ] }, - "v1beta1.RoleList": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleList": { "description": "RoleList is a collection of Roles", "required": [ "items" @@ -40788,7 +45572,7 @@ "description": "Items is a list of Roles", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.Role" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Role" } }, "kind": { @@ -40797,11 +45581,18 @@ }, "metadata": { "description": "Standard object's metadata.", - "$ref": "#/definitions/v1.ListMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "rbac.authorization.k8s.io", + "Version": "v1beta1", + "Kind": "RoleList" + } + ] }, - "v1beta1.RoleRef": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.RoleRef": { "description": "RoleRef contains information that points to the role being used", "required": [ "apiGroup", @@ -40823,329 +45614,15 @@ } } }, - "v1beta1.RollbackConfig": { - "properties": { - "revision": { - "description": "The revision to rollback to. If set to 0, rollbck to the last revision.", - "type": "integer", - "format": "int64" - } - } - }, - "v1beta1.RollingUpdateDeployment": { - "description": "Spec to control the desired behavior of rolling update.", - "properties": { - "maxSurge": { - "description": "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. By default, a value of 1 is used. Example: when this is set to 30%, the new RC can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods.", - "$ref": "#/definitions/intstr.IntOrString" - }, - "maxUnavailable": { - "description": "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. By default, a fixed value of 1 is used. Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.", - "$ref": "#/definitions/intstr.IntOrString" - } - } - }, - "v1beta1.RunAsUserStrategyOptions": { - "description": "Run A sUser Strategy Options defines the strategy type and any options used to create the strategy.", - "required": [ - "rule" - ], - "properties": { - "ranges": { - "description": "Ranges are the allowed ranges of uids that may be used.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.IDRange" - } - }, - "rule": { - "description": "Rule is the strategy that will dictate the allowable RunAsUser values that may be set.", - "type": "string" - } - } - }, - "v1beta1.SELinuxStrategyOptions": { - "description": "SELinux Strategy Options defines the strategy type and any options used to create the strategy.", - "required": [ - "rule" - ], - "properties": { - "rule": { - "description": "type is the strategy that will dictate the allowable labels that may be set.", - "type": "string" - }, - "seLinuxOptions": { - "description": "seLinuxOptions required to run as; required for MustRunAs More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context", - "$ref": "#/definitions/v1.SELinuxOptions" - } - } - }, - "v1beta1.Scale": { - "description": "represents a scaling request for a resource.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.", - "$ref": "#/definitions/v1beta1.ScaleSpec" - }, - "status": { - "description": "current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only.", - "$ref": "#/definitions/v1beta1.ScaleStatus" - } - } - }, - "v1beta1.ScaleSpec": { - "description": "describes the attributes of a scale subresource", - "properties": { - "replicas": { - "description": "desired number of instances for the scaled object.", - "type": "integer", - "format": "int32" - } - } - }, - "v1beta1.ScaleStatus": { - "description": "represents the current status of a scale subresource.", - "required": [ - "replicas" - ], - "properties": { - "replicas": { - "description": "actual number of observed instances of the scaled object.", - "type": "integer", - "format": "int32" - }, - "selector": { - "description": "label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "targetSelector": { - "description": "label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "type": "string" - } - } - }, - "v1beta1.SelfSubjectAccessReview": { - "description": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action", - "required": [ - "spec" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec holds information about the request being evaluated. user and groups must be empty", - "$ref": "#/definitions/v1beta1.SelfSubjectAccessReviewSpec" - }, - "status": { - "description": "Status is filled in by the server and indicates whether the request is allowed or not", - "$ref": "#/definitions/v1beta1.SubjectAccessReviewStatus" - } - } - }, - "v1beta1.SelfSubjectAccessReviewSpec": { - "description": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", - "properties": { - "nonResourceAttributes": { - "description": "NonResourceAttributes describes information for a non-resource access request", - "$ref": "#/definitions/v1beta1.NonResourceAttributes" - }, - "resourceAttributes": { - "description": "ResourceAuthorizationAttributes describes information for a resource access request", - "$ref": "#/definitions/v1beta1.ResourceAttributes" - } - } - }, - "v1beta1.StatefulSet": { - "description": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec defines the desired identities of pods in this set.", - "$ref": "#/definitions/v1beta1.StatefulSetSpec" - }, - "status": { - "description": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.", - "$ref": "#/definitions/v1beta1.StatefulSetStatus" - } - } - }, - "v1beta1.StatefulSetList": { - "description": "StatefulSetList is a collection of StatefulSets.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.StatefulSet" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.StatefulSetSpec": { - "description": "A StatefulSetSpec is the specification of a StatefulSet.", - "required": [ - "template", - "serviceName" - ], - "properties": { - "replicas": { - "description": "Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.", - "type": "integer", - "format": "int32" - }, - "selector": { - "description": "Selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "$ref": "#/definitions/v1.LabelSelector" - }, - "serviceName": { - "description": "ServiceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where \"pod-specific-string\" is managed by the StatefulSet controller.", - "type": "string" - }, - "template": { - "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet.", - "$ref": "#/definitions/v1.PodTemplateSpec" - }, - "volumeClaimTemplates": { - "description": "VolumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.PersistentVolumeClaim" - } - } - } - }, - "v1beta1.StatefulSetStatus": { - "description": "StatefulSetStatus represents the current state of a StatefulSet.", - "required": [ - "replicas" - ], - "properties": { - "observedGeneration": { - "description": "most recent generation observed by this StatefulSet.", - "type": "integer", - "format": "int64" - }, - "replicas": { - "description": "Replicas is the number of actual replicas.", - "type": "integer", - "format": "int32" - } - } - }, - "v1beta1.StorageClass": { - "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", - "required": [ - "provisioner" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "parameters": { - "description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "provisioner": { - "description": "Provisioner indicates the type of the provisioner.", - "type": "string" - } - } - }, - "v1beta1.StorageClassList": { - "description": "StorageClassList is a collection of storage classes.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of StorageClasses", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.StorageClass" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v1beta1.Subject": { + "io.k8s.kubernetes.pkg.apis.rbac.v1beta1.Subject": { "description": "Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.", "required": [ "kind", "name" ], "properties": { - "apiVersion": { - "description": "APIVersion holds the API group and version of the referenced object.", + "apiGroup": { + "description": "APIGroup holds the API group of the referenced subject. Defaults to \"\" for ServiceAccount subjects. Defaults to \"rbac.authorization.k8s.io\" for User and Group subjects.", "type": "string" }, "kind": { @@ -41162,11 +45639,8 @@ } } }, - "v1beta1.SubjectAccessReview": { - "description": "SubjectAccessReview checks whether or not a user or group can perform an action.", - "required": [ - "spec" - ], + "io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset": { + "description": "PodPreset is a policy resource that defines additional runtime requirements for a Pod.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", @@ -41177,139 +45651,22 @@ "type": "string" }, "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, "spec": { - "description": "Spec holds information about the request being evaluated", - "$ref": "#/definitions/v1beta1.SubjectAccessReviewSpec" - }, - "status": { - "description": "Status is filled in by the server and indicates whether the request is allowed or not", - "$ref": "#/definitions/v1beta1.SubjectAccessReviewStatus" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPresetSpec" } - } - }, - "v1beta1.SubjectAccessReviewSpec": { - "description": "SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", - "properties": { - "extra": { - "description": "Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "group": { - "description": "Groups is the groups you're testing for.", - "type": "array", - "items": { - "type": "string" - } - }, - "nonResourceAttributes": { - "description": "NonResourceAttributes describes information for a non-resource access request", - "$ref": "#/definitions/v1beta1.NonResourceAttributes" - }, - "resourceAttributes": { - "description": "ResourceAuthorizationAttributes describes information for a resource access request", - "$ref": "#/definitions/v1beta1.ResourceAttributes" - }, - "user": { - "description": "User is the user you're testing for. If you specify \"User\" but not \"Group\", then is it interpreted as \"What if User were not a member of any groups", - "type": "string" + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "settings.k8s.io", + "Version": "v1alpha1", + "Kind": "PodPreset" } - } + ] }, - "v1beta1.SubjectAccessReviewStatus": { - "description": "SubjectAccessReviewStatus", - "required": [ - "allowed" - ], - "properties": { - "allowed": { - "description": "Allowed is required. True if the action would be allowed, false otherwise.", - "type": "boolean" - }, - "evaluationError": { - "description": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.", - "type": "string" - }, - "reason": { - "description": "Reason is optional. It indicates why a request was allowed or denied.", - "type": "string" - } - } - }, - "v1beta1.SubresourceReference": { - "description": "SubresourceReference contains enough information to let you inspect or modify the referred subresource.", - "properties": { - "apiVersion": { - "description": "API version of the referent", - "type": "string" - }, - "kind": { - "description": "Kind of the referent; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names", - "type": "string" - }, - "subresource": { - "description": "Subresource name of the referent", - "type": "string" - } - } - }, - "v1beta1.SupplementalGroupsStrategyOptions": { - "description": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.", - "properties": { - "ranges": { - "description": "Ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.IDRange" - } - }, - "rule": { - "description": "Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.", - "type": "string" - } - } - }, - "v1beta1.ThirdPartyResource": { - "description": "A ThirdPartyResource is a generic representation of a resource, it is used by add-ons and plugins to add new resource types to the API. It consists of one or more Versions of the api.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "description": { - "description": "Description is the description of this object.", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "versions": { - "description": "Versions are versions for this third party object", - "type": "array", - "items": { - "$ref": "#/definitions/v1beta1.APIVersion" - } - } - } - }, - "v1beta1.ThirdPartyResourceList": { - "description": "ThirdPartyResourceList is a list of ThirdPartyResources.", + "io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPresetList": { + "description": "PodPresetList is a list of PodPreset objects.", "required": [ "items" ], @@ -41319,10 +45676,10 @@ "type": "string" }, "items": { - "description": "Items is the list of ThirdPartyResources.", + "description": "Items is a list of schema objects.", "type": "array", "items": { - "$ref": "#/definitions/v1beta1.ThirdPartyResource" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPreset" } }, "kind": { @@ -41330,402 +45687,198 @@ "type": "string" }, "metadata": { - "description": "Standard list metadata.", - "$ref": "#/definitions/v1.ListMeta" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" } - } - }, - "v1beta1.TokenReview": { - "description": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.", - "required": [ - "spec" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec holds information about the request being evaluated", - "$ref": "#/definitions/v1beta1.TokenReviewSpec" - }, - "status": { - "description": "Status is filled in by the server and indicates whether the request can be authenticated.", - "$ref": "#/definitions/v1beta1.TokenReviewStatus" + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "settings.k8s.io", + "Version": "v1alpha1", + "Kind": "PodPresetList" } - } + ] }, - "v1beta1.TokenReviewSpec": { - "description": "TokenReviewSpec is a description of the token authentication request.", + "io.k8s.kubernetes.pkg.apis.settings.v1alpha1.PodPresetSpec": { + "description": "PodPresetSpec is a description of a pod injection policy.", "properties": { - "token": { - "description": "Token is the opaque bearer token.", - "type": "string" - } - } - }, - "v1beta1.TokenReviewStatus": { - "description": "TokenReviewStatus is the result of the token authentication request.", - "properties": { - "authenticated": { - "description": "Authenticated indicates that the token was associated with a known user.", - "type": "boolean" - }, - "error": { - "description": "Error indicates that the token couldn't be checked", - "type": "string" - }, - "user": { - "description": "User is the UserInfo associated with the provided token.", - "$ref": "#/definitions/v1beta1.UserInfo" - } - } - }, - "v1beta1.UserInfo": { - "description": "UserInfo holds the information about the user needed to implement the user.Info interface.", - "properties": { - "extra": { - "description": "Any additional information provided by the authenticator.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "groups": { - "description": "The names of groups this user is a part of.", + "env": { + "description": "Env defines the collection of EnvVar to inject into containers.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvVar" } }, - "uid": { - "description": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.", - "type": "string" - }, - "username": { - "description": "The name that uniquely identifies this user among all active users.", - "type": "string" - } - } - }, - "v2alpha1.CronJob": { - "description": "CronJob represents the configuration of a single cron job.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec is a structure defining the expected behavior of a job, including the schedule. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v2alpha1.CronJobSpec" - }, - "status": { - "description": "Status is a structure describing current status of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v2alpha1.CronJobStatus" - } - } - }, - "v2alpha1.CronJobList": { - "description": "CronJobList is a collection of cron jobs.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of CronJob.", + "envFrom": { + "description": "EnvFrom defines the collection of EnvFromSource to inject into containers.", "type": "array", "items": { - "$ref": "#/definitions/v2alpha1.CronJob" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvFromSource" } }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v2alpha1.CronJobSpec": { - "description": "CronJobSpec describes how the job execution will look like and when it will actually run.", - "required": [ - "schedule", - "jobTemplate" - ], - "properties": { - "concurrencyPolicy": { - "description": "ConcurrencyPolicy specifies how to treat concurrent executions of a Job.", - "type": "string" - }, - "jobTemplate": { - "description": "JobTemplate is the object that describes the job that will be created when executing a CronJob.", - "$ref": "#/definitions/v2alpha1.JobTemplateSpec" - }, - "schedule": { - "description": "Schedule contains the schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.", - "type": "string" - }, - "startingDeadlineSeconds": { - "description": "Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.", - "type": "integer", - "format": "int64" - }, - "suspend": { - "description": "Suspend flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.", - "type": "boolean" - } - } - }, - "v2alpha1.CronJobStatus": { - "description": "CronJobStatus represents the current state of a cron job.", - "properties": { - "active": { - "description": "Active holds pointers to currently running jobs.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.ObjectReference" - } - }, - "lastScheduleTime": { - "description": "LastScheduleTime keeps information of when was the last time the job was successfully scheduled.", - "$ref": "#/definitions/v1.Time" - } - } - }, - "v2alpha1.Job": { - "description": "Job represents the configuration of a single job.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Spec is a structure defining the expected behavior of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v2alpha1.JobSpec" - }, - "status": { - "description": "Status is a structure describing current status of a job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v2alpha1.JobStatus" - } - } - }, - "v2alpha1.JobCondition": { - "description": "JobCondition describes current state of a job.", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Last time the condition was checked.", - "$ref": "#/definitions/v1.Time" - }, - "lastTransitionTime": { - "description": "Last time the condition transit from one status to another.", - "$ref": "#/definitions/v1.Time" - }, - "message": { - "description": "Human readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "(brief) reason for the condition's last transition.", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "Type of job condition, Complete or Failed.", - "type": "string" - } - } - }, - "v2alpha1.JobList": { - "description": "JobList is a collection of jobs.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of Job.", - "type": "array", - "items": { - "$ref": "#/definitions/v2alpha1.Job" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, - "v2alpha1.JobSpec": { - "description": "JobSpec describes how the job execution will look like.", - "required": [ - "template" - ], - "properties": { - "activeDeadlineSeconds": { - "description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer", - "type": "integer", - "format": "int64" - }, - "completions": { - "description": "Completions specifies the desired number of successfully finished pods the job should be run with. Setting to nil means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value. Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: http://kubernetes.io/docs/user-guide/jobs", - "type": "integer", - "format": "int32" - }, - "manualSelector": { - "description": "ManualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template. When true, the user is responsible for picking unique labels and specifying the selector. Failure to pick a unique label may cause this and other jobs to not function correctly. However, You may see `manualSelector=true` in jobs that were created with the old `extensions/v1beta1` API. More info: http://releases.k8s.io/HEAD/docs/design/selector-generation.md", - "type": "boolean" - }, - "parallelism": { - "description": "Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) \u003c .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: http://kubernetes.io/docs/user-guide/jobs", - "type": "integer", - "format": "int32" - }, "selector": { - "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", - "$ref": "#/definitions/v1.LabelSelector" + "description": "Selector is a label query over a set of resources, in this case pods. Required.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" }, - "template": { - "description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs", - "$ref": "#/definitions/v1.PodTemplateSpec" - } - } - }, - "v2alpha1.JobStatus": { - "description": "JobStatus represents the current state of a Job.", - "properties": { - "active": { - "description": "Active is the number of actively running pods.", - "type": "integer", - "format": "int32" - }, - "completionTime": { - "description": "CompletionTime represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", - "$ref": "#/definitions/v1.Time" - }, - "conditions": { - "description": "Conditions represent the latest available observations of an object's current state. More info: http://kubernetes.io/docs/user-guide/jobs", + "volumeMounts": { + "description": "VolumeMounts defines the collection of VolumeMount to inject into containers.", "type": "array", "items": { - "$ref": "#/definitions/v2alpha1.JobCondition" + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VolumeMount" } }, - "failed": { - "description": "Failed is the number of pods which reached Phase Failed.", - "type": "integer", - "format": "int32" - }, - "startTime": { - "description": "StartTime represents time when the job was acknowledged by the Job Manager. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", - "$ref": "#/definitions/v1.Time" - }, - "succeeded": { - "description": "Succeeded is the number of pods which reached Phase Succeeded.", - "type": "integer", - "format": "int32" + "volumes": { + "description": "Volumes defines the collection of Volume to inject into the pod.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Volume" + } } } }, - "v2alpha1.JobTemplateSpec": { - "description": "JobTemplateSpec describes the data a Job should have when created from a template", - "properties": { - "metadata": { - "description": "Standard object's metadata of the jobs created from this template. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "description": "Specification of the desired behavior of the job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", - "$ref": "#/definitions/v2alpha1.JobSpec" - } - } - }, - "version.Info": { - "description": "Info contains versioning information. how we'll want to distribute that information.", + "io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass": { + "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", "required": [ - "major", - "minor", - "gitVersion", - "gitCommit", - "gitTreeState", - "buildDate", - "goVersion", - "compiler", - "platform" + "provisioner" ], "properties": { - "buildDate": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", "type": "string" }, - "compiler": { + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", "type": "string" }, - "gitCommit": { - "type": "string" + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" }, - "gitTreeState": { - "type": "string" + "parameters": { + "description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "gitVersion": { - "type": "string" - }, - "goVersion": { - "type": "string" - }, - "major": { - "type": "string" - }, - "minor": { - "type": "string" - }, - "platform": { + "provisioner": { + "description": "Provisioner indicates the type of the provisioner.", "type": "string" } - } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "storage.k8s.io", + "Version": "v1", + "Kind": "StorageClass" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.storage.v1.StorageClassList": { + "description": "StorageClassList is a collection of storage classes.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of StorageClasses", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1.StorageClass" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "storage.k8s.io", + "Version": "v1", + "Kind": "StorageClassList" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass": { + "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", + "required": [ + "provisioner" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "parameters": { + "description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "provisioner": { + "description": "Provisioner indicates the type of the provisioner.", + "type": "string" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "storage.k8s.io", + "Version": "v1beta1", + "Kind": "StorageClass" + } + ] + }, + "io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClassList": { + "description": "StorageClassList is a collection of storage classes.", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of StorageClasses", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.storage.v1beta1.StorageClass" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "Group": "storage.k8s.io", + "Version": "v1beta1", + "Kind": "StorageClassList" + } + ] } }, "securityDefinitions": { diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1alpha1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1alpha1.json index 1bfa5512..d2856559 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1alpha1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1alpha1.json @@ -1303,7 +1303,7 @@ }, "dnsPolicy": { "type": "string", - "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\"." + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'." }, "nodeSelector": { "type": "object", diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json index 236cdf61..a3c54470 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json @@ -8,6 +8,1210 @@ "description": "" }, "apis": [ + { + "path": "/apis/apps/v1beta1/namespaces/{namespace}/deployments", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1beta1.DeploymentList", + "method": "GET", + "summary": "list or watch objects of kind Deployment", + "nickname": "listNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.DeploymentList" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Deployment", + "method": "POST", + "summary": "create a Deployment", + "nickname": "createNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.Deployment", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1.Status", + "method": "DELETE", + "summary": "delete collection of Deployment", + "nickname": "deletecollectionNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.Status" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/watch/namespaces/{namespace}/deployments", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch individual changes to a list of Deployment", + "nickname": "watchNamespacedDeploymentList", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1beta1.Deployment", + "method": "GET", + "summary": "read the specified Deployment", + "nickname": "readNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "export", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "exact", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Deployment", + "method": "PUT", + "summary": "replace the specified Deployment", + "nickname": "replaceNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.Deployment", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Deployment", + "method": "PATCH", + "summary": "partially update the specified Deployment", + "nickname": "patchNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.Patch", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ] + }, + { + "type": "v1.Status", + "method": "DELETE", + "summary": "delete a Deployment", + "nickname": "deleteNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.DeleteOptions", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "gracePeriodSeconds", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "orphanDependents", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.Status" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/watch/namespaces/{namespace}/deployments/{name}", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch changes to an object of kind Deployment", + "nickname": "watchNamespacedDeployment", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/deployments", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1beta1.DeploymentList", + "method": "GET", + "summary": "list or watch objects of kind Deployment", + "nickname": "listDeploymentForAllNamespaces", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.DeploymentList" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/watch/deployments", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch individual changes to a list of Deployment", + "nickname": "watchDeploymentListForAllNamespaces", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/rollback", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1beta1.DeploymentRollback", + "method": "POST", + "summary": "create rollback of a DeploymentRollback", + "nickname": "createNamespacedDeploymentRollbackRollback", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.DeploymentRollback", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the DeploymentRollback", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.DeploymentRollback" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/scale", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1beta1.Scale", + "method": "GET", + "summary": "read scale of the specified Scale", + "nickname": "readNamespacedScaleScale", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Scale", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Scale" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Scale", + "method": "PUT", + "summary": "replace scale of the specified Scale", + "nickname": "replaceNamespacedScaleScale", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.Scale", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Scale", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Scale" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Scale", + "method": "PATCH", + "summary": "partially update scale of the specified Scale", + "nickname": "patchNamespacedScaleScale", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.Patch", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Scale", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Scale" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ] + } + ] + }, + { + "path": "/apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/status", + "description": "API at /apis/apps/v1beta1", + "operations": [ + { + "type": "v1beta1.Deployment", + "method": "GET", + "summary": "read status of the specified Deployment", + "nickname": "readNamespacedDeploymentStatus", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Deployment", + "method": "PUT", + "summary": "replace status of the specified Deployment", + "nickname": "replaceNamespacedDeploymentStatus", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.Deployment", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.Deployment", + "method": "PATCH", + "summary": "partially update status of the specified Deployment", + "nickname": "patchNamespacedDeploymentStatus", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.Patch", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Deployment", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.Deployment" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ] + } + ] + }, { "path": "/apis/apps/v1beta1/namespaces/{namespace}/statefulsets", "description": "API at /apis/apps/v1beta1", @@ -521,7 +1725,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1003,9 +2215,9 @@ } ], "models": { - "v1beta1.StatefulSetList": { - "id": "v1beta1.StatefulSetList", - "description": "StatefulSetList is a collection of StatefulSets.", + "v1beta1.DeploymentList": { + "id": "v1beta1.DeploymentList", + "description": "DeploymentList is a list of Deployments.", "required": [ "items" ], @@ -1019,13 +2231,15 @@ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { - "$ref": "v1.ListMeta" + "$ref": "v1.ListMeta", + "description": "Standard list metadata." }, "items": { "type": "array", "items": { - "$ref": "v1beta1.StatefulSet" - } + "$ref": "v1beta1.Deployment" + }, + "description": "Items is the list of Deployments." } } }, @@ -1043,9 +2257,9 @@ } } }, - "v1beta1.StatefulSet": { - "id": "v1beta1.StatefulSet", - "description": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.", + "v1beta1.Deployment": { + "id": "v1beta1.Deployment", + "description": "Deployment enables declarative updates for Pods and ReplicaSets.", "properties": { "kind": { "type": "string", @@ -1056,15 +2270,16 @@ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { - "$ref": "v1.ObjectMeta" + "$ref": "v1.ObjectMeta", + "description": "Standard object metadata." }, "spec": { - "$ref": "v1beta1.StatefulSetSpec", - "description": "Spec defines the desired identities of pods in this set." + "$ref": "v1beta1.DeploymentSpec", + "description": "Specification of the desired behavior of the Deployment." }, "status": { - "$ref": "v1beta1.StatefulSetStatus", - "description": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time." + "$ref": "v1beta1.DeploymentStatus", + "description": "Most recently observed status of the Deployment." } } }, @@ -1171,40 +2386,59 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, - "v1beta1.StatefulSetSpec": { - "id": "v1beta1.StatefulSetSpec", - "description": "A StatefulSetSpec is the specification of a StatefulSet.", + "v1beta1.DeploymentSpec": { + "id": "v1beta1.DeploymentSpec", + "description": "DeploymentSpec is the specification of the desired behavior of the Deployment.", "required": [ - "template", - "serviceName" + "template" ], "properties": { "replicas": { "type": "integer", "format": "int32", - "description": "Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1." + "description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1." }, "selector": { "$ref": "v1.LabelSelector", - "description": "Selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" + "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment." }, "template": { "$ref": "v1.PodTemplateSpec", - "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet." + "description": "Template describes the pods that will be created." }, - "volumeClaimTemplates": { - "type": "array", - "items": { - "$ref": "v1.PersistentVolumeClaim" - }, - "description": "VolumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name." + "strategy": { + "$ref": "v1beta1.DeploymentStrategy", + "description": "The deployment strategy to use to replace existing pods with new ones." }, - "serviceName": { - "type": "string", - "description": "ServiceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where \"pod-specific-string\" is managed by the StatefulSet controller." + "minReadySeconds": { + "type": "integer", + "format": "int32", + "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)" + }, + "revisionHistoryLimit": { + "type": "integer", + "format": "int32", + "description": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 2." + }, + "paused": { + "type": "boolean", + "description": "Indicates that the deployment is paused." + }, + "rollbackTo": { + "$ref": "v1beta1.RollbackConfig", + "description": "The config this deployment is rolling back to. Will be cleared after rollback is done." + }, + "progressDeadlineSeconds": { + "type": "integer", + "format": "int32", + "description": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Once autoRollback is implemented, the deployment controller will automatically rollback failed deployments. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s." } } }, @@ -1278,6 +2512,13 @@ }, "description": "List of volumes that can be mounted by containers belonging to the pod. More info: http://kubernetes.io/docs/user-guide/volumes" }, + "initContainers": { + "type": "array", + "items": { + "$ref": "v1.Container" + }, + "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers" + }, "containers": { "type": "array", "items": { @@ -1301,7 +2542,7 @@ }, "dnsPolicy": { "type": "string", - "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\"." + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'." }, "nodeSelector": { "type": "object", @@ -1315,6 +2556,10 @@ "type": "string", "description": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead." }, + "automountServiceAccountToken": { + "type": "boolean", + "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted." + }, "nodeName": { "type": "string", "description": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements." @@ -1354,9 +2599,16 @@ "$ref": "v1.Affinity", "description": "If specified, the pod's scheduling constraints" }, - "schedulername": { + "schedulerName": { "type": "string", "description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler." + }, + "tolerations": { + "type": "array", + "items": { + "$ref": "v1.Toleration" + }, + "description": "If specified, the pod's tolerations." } } }, @@ -1462,6 +2714,18 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" + }, + "portworxVolume": { + "$ref": "v1.PortworxVolumeSource", + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine" + }, + "scaleIO": { + "$ref": "v1.ScaleIOVolumeSource", + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." } } }, @@ -1665,6 +2929,13 @@ "readOnly": { "type": "boolean", "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." + }, + "portals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." } } }, @@ -2120,6 +3391,172 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, + "v1.PortworxVolumeSource": { + "id": "v1.PortworxVolumeSource", + "description": "PortworxVolumeSource represents a Portworx volume resource.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "VolumeID uniquely identifies a Portworx volume" + }, + "fsType": { + "type": "string", + "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.ScaleIOVolumeSource": { + "id": "v1.ScaleIOVolumeSource", + "description": "ScaleIOVolumeSource represents a persistent ScaleIO volume", + "required": [ + "gateway", + "system", + "secretRef" + ], + "properties": { + "gateway": { + "type": "string", + "description": "The host address of the ScaleIO API Gateway." + }, + "system": { + "type": "string", + "description": "The name of the storage system as configured in ScaleIO." + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail." + }, + "sslEnabled": { + "type": "boolean", + "description": "Flag to enable/disable SSL communication with Gateway, default false" + }, + "protectionDomain": { + "type": "string", + "description": "The name of the Protection Domain for the configured storage (defaults to \"default\")." + }, + "storagePool": { + "type": "string", + "description": "The Storage Pool associated with the protection domain (defaults to \"default\")." + }, + "storageMode": { + "type": "string", + "description": "Indicates whether the storage for a volume should be thick or thin (defaults to \"thin\")." + }, + "volumeName": { + "type": "string", + "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", @@ -2165,7 +3602,7 @@ "items": { "$ref": "v1.EnvFromSource" }, - "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. An invalid key will prevent the container from starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." + "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." }, "env": { "type": "array", @@ -2822,9 +4259,6 @@ "v1.PodAffinityTerm": { "id": "v1.PodAffinityTerm", "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running", - "required": [ - "namespaces" - ], "properties": { "labelSelector": { "$ref": "v1.LabelSelector", @@ -2835,7 +4269,7 @@ "items": { "type": "string" }, - "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details." + "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"" }, "topologyKey": { "type": "string", @@ -2882,98 +4316,145 @@ } } }, - "v1.PersistentVolumeClaim": { - "id": "v1.PersistentVolumeClaim", - "description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume", + "v1.Toleration": { + "id": "v1.Toleration", + "description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", "properties": { - "kind": { + "key": { "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." }, - "apiVersion": { + "operator": { "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." }, - "metadata": { - "$ref": "v1.ObjectMeta", - "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "value": { + "type": "string", + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." }, - "spec": { - "$ref": "v1.PersistentVolumeClaimSpec", - "description": "Spec defines the desired characteristics of a volume requested by a pod author. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims" + "effect": { + "type": "string", + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." }, - "status": { - "$ref": "v1.PersistentVolumeClaimStatus", - "description": "Status represents the current information/status of a persistent volume claim. Read-only. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims" + "tolerationSeconds": { + "type": "integer", + "format": "int64", + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." } } }, - "v1.PersistentVolumeClaimSpec": { - "id": "v1.PersistentVolumeClaimSpec", - "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "v1beta1.DeploymentStrategy": { + "id": "v1beta1.DeploymentStrategy", + "description": "DeploymentStrategy describes how to replace existing pods with new ones.", "properties": { - "accessModes": { - "type": "array", - "items": { - "$ref": "v1.PersistentVolumeAccessMode" - }, - "description": "AccessModes contains the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1" - }, - "selector": { - "$ref": "v1.LabelSelector", - "description": "A label query over volumes to consider for binding." - }, - "resources": { - "$ref": "v1.ResourceRequirements", - "description": "Resources represents the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources" - }, - "volumeName": { + "type": { "type": "string", - "description": "VolumeName is the binding reference to the PersistentVolume backing this claim." + "description": "Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate." + }, + "rollingUpdate": { + "$ref": "v1beta1.RollingUpdateDeployment", + "description": "Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate." } } }, - "v1.PersistentVolumeAccessMode": { - "id": "v1.PersistentVolumeAccessMode", - "properties": {} - }, - "v1.PersistentVolumeClaimStatus": { - "id": "v1.PersistentVolumeClaimStatus", - "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", + "v1beta1.RollingUpdateDeployment": { + "id": "v1beta1.RollingUpdateDeployment", + "description": "Spec to control the desired behavior of rolling update.", "properties": { - "phase": { + "maxUnavailable": { "type": "string", - "description": "Phase represents the current phase of PersistentVolumeClaim." + "description": "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods." }, - "accessModes": { - "type": "array", - "items": { - "$ref": "v1.PersistentVolumeAccessMode" - }, - "description": "AccessModes contains the actual access modes the volume backing the PVC has. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1" - }, - "capacity": { - "type": "object", - "description": "Represents the actual resources of the underlying volume." + "maxSurge": { + "type": "string", + "description": "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new RC can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of desired pods." } } }, - "v1beta1.StatefulSetStatus": { - "id": "v1beta1.StatefulSetStatus", - "description": "StatefulSetStatus represents the current state of a StatefulSet.", - "required": [ - "replicas" - ], + "v1beta1.RollbackConfig": { + "id": "v1beta1.RollbackConfig", + "properties": { + "revision": { + "type": "integer", + "format": "int64", + "description": "The revision to rollback to. If set to 0, rollbck to the last revision." + } + } + }, + "v1beta1.DeploymentStatus": { + "id": "v1beta1.DeploymentStatus", + "description": "DeploymentStatus is the most recently observed status of the Deployment.", "properties": { "observedGeneration": { "type": "integer", "format": "int64", - "description": "most recent generation observed by this StatefulSet." + "description": "The generation observed by the deployment controller." }, "replicas": { "type": "integer", "format": "int32", - "description": "Replicas is the number of actual replicas." + "description": "Total number of non-terminated pods targeted by this deployment (their labels match the selector)." + }, + "updatedReplicas": { + "type": "integer", + "format": "int32", + "description": "Total number of non-terminated pods targeted by this deployment that have the desired template spec." + }, + "readyReplicas": { + "type": "integer", + "format": "int32", + "description": "Total number of ready pods targeted by this deployment." + }, + "availableReplicas": { + "type": "integer", + "format": "int32", + "description": "Total number of available pods (ready for at least minReadySeconds) targeted by this deployment." + }, + "unavailableReplicas": { + "type": "integer", + "format": "int32", + "description": "Total number of unavailable pods targeted by this deployment." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "v1beta1.DeploymentCondition" + }, + "description": "Represents the latest available observations of a deployment's current state." + } + } + }, + "v1beta1.DeploymentCondition": { + "id": "v1beta1.DeploymentCondition", + "description": "DeploymentCondition describes the state of a deployment at a certain point.", + "required": [ + "type", + "status" + ], + "properties": { + "type": { + "type": "string", + "description": "Type of deployment condition." + }, + "status": { + "type": "string", + "description": "Status of the condition, one of True, False, Unknown." + }, + "lastUpdateTime": { + "type": "string", + "description": "The last time this condition was updated." + }, + "lastTransitionTime": { + "type": "string", + "description": "Last time the condition transitioned from one status to another." + }, + "reason": { + "type": "string", + "description": "The reason for the condition's last transition." + }, + "message": { + "type": "string", + "description": "A human readable message indicating details about the transition." } } }, @@ -3107,7 +4588,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -3125,6 +4610,283 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, + "v1beta1.DeploymentRollback": { + "id": "v1beta1.DeploymentRollback", + "description": "DeploymentRollback stores the information required to rollback a deployment.", + "required": [ + "name", + "rollbackTo" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "name": { + "type": "string", + "description": "Required: This must match the Name of a deployment." + }, + "updatedAnnotations": { + "type": "object", + "description": "The annotations to be updated to a deployment" + }, + "rollbackTo": { + "$ref": "v1beta1.RollbackConfig", + "description": "The config of this deployment rollback." + } + } + }, + "v1beta1.Scale": { + "id": "v1beta1.Scale", + "description": "Scale represents a scaling request for a resource.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta", + "description": "Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata." + }, + "spec": { + "$ref": "v1beta1.ScaleSpec", + "description": "defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status." + }, + "status": { + "$ref": "v1beta1.ScaleStatus", + "description": "current status of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status. Read-only." + } + } + }, + "v1beta1.ScaleSpec": { + "id": "v1beta1.ScaleSpec", + "description": "ScaleSpec describes the attributes of a scale subresource", + "properties": { + "replicas": { + "type": "integer", + "format": "int32", + "description": "desired number of instances for the scaled object." + } + } + }, + "v1beta1.ScaleStatus": { + "id": "v1beta1.ScaleStatus", + "description": "ScaleStatus represents the current status of a scale subresource.", + "required": [ + "replicas" + ], + "properties": { + "replicas": { + "type": "integer", + "format": "int32", + "description": "actual number of observed instances of the scaled object." + }, + "selector": { + "type": "object", + "description": "label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" + }, + "targetSelector": { + "type": "string", + "description": "label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" + } + } + }, + "v1beta1.StatefulSetList": { + "id": "v1beta1.StatefulSetList", + "description": "StatefulSetList is a collection of StatefulSets.", + "required": [ + "items" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ListMeta" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1beta1.StatefulSet" + } + } + } + }, + "v1beta1.StatefulSet": { + "id": "v1beta1.StatefulSet", + "description": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta" + }, + "spec": { + "$ref": "v1beta1.StatefulSetSpec", + "description": "Spec defines the desired identities of pods in this set." + }, + "status": { + "$ref": "v1beta1.StatefulSetStatus", + "description": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time." + } + } + }, + "v1beta1.StatefulSetSpec": { + "id": "v1beta1.StatefulSetSpec", + "description": "A StatefulSetSpec is the specification of a StatefulSet.", + "required": [ + "template", + "serviceName" + ], + "properties": { + "replicas": { + "type": "integer", + "format": "int32", + "description": "Replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1." + }, + "selector": { + "$ref": "v1.LabelSelector", + "description": "Selector is a label query over pods that should match the replica count. If empty, defaulted to labels on the pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" + }, + "template": { + "$ref": "v1.PodTemplateSpec", + "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet." + }, + "volumeClaimTemplates": { + "type": "array", + "items": { + "$ref": "v1.PersistentVolumeClaim" + }, + "description": "VolumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name." + }, + "serviceName": { + "type": "string", + "description": "ServiceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where \"pod-specific-string\" is managed by the StatefulSet controller." + } + } + }, + "v1.PersistentVolumeClaim": { + "id": "v1.PersistentVolumeClaim", + "description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta", + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "spec": { + "$ref": "v1.PersistentVolumeClaimSpec", + "description": "Spec defines the desired characteristics of a volume requested by a pod author. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims" + }, + "status": { + "$ref": "v1.PersistentVolumeClaimStatus", + "description": "Status represents the current information/status of a persistent volume claim. Read-only. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims" + } + } + }, + "v1.PersistentVolumeClaimSpec": { + "id": "v1.PersistentVolumeClaimSpec", + "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "properties": { + "accessModes": { + "type": "array", + "items": { + "$ref": "v1.PersistentVolumeAccessMode" + }, + "description": "AccessModes contains the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1" + }, + "selector": { + "$ref": "v1.LabelSelector", + "description": "A label query over volumes to consider for binding." + }, + "resources": { + "$ref": "v1.ResourceRequirements", + "description": "Resources represents the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources" + }, + "volumeName": { + "type": "string", + "description": "VolumeName is the binding reference to the PersistentVolume backing this claim." + }, + "storageClassName": { + "type": "string", + "description": "Name of the StorageClass required by the claim. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#class-1" + } + } + }, + "v1.PersistentVolumeAccessMode": { + "id": "v1.PersistentVolumeAccessMode", + "properties": {} + }, + "v1.PersistentVolumeClaimStatus": { + "id": "v1.PersistentVolumeClaimStatus", + "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", + "properties": { + "phase": { + "type": "string", + "description": "Phase represents the current phase of PersistentVolumeClaim." + }, + "accessModes": { + "type": "array", + "items": { + "$ref": "v1.PersistentVolumeAccessMode" + }, + "description": "AccessModes contains the actual access modes the volume backing the PVC has. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1" + }, + "capacity": { + "type": "object", + "description": "Represents the actual resources of the underlying volume." + } + } + }, + "v1beta1.StatefulSetStatus": { + "id": "v1beta1.StatefulSetStatus", + "description": "StatefulSetStatus represents the current state of a StatefulSet.", + "required": [ + "replicas" + ], + "properties": { + "observedGeneration": { + "type": "integer", + "format": "int64", + "description": "most recent generation observed by this StatefulSet." + }, + "replicas": { + "type": "integer", + "format": "int32", + "description": "Replicas is the number of actual replicas." + } + } + }, "v1.APIResourceList": { "id": "v1.APIResourceList", "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", @@ -3182,6 +4944,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1.json index 8b137891..fda24581 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1.json @@ -1 +1,340 @@ - +{ + "swaggerVersion": "1.2", + "apiVersion": "authentication.k8s.io/v1", + "basePath": "https://10.10.10.10:6443", + "resourcePath": "/apis/authentication.k8s.io/v1", + "info": { + "title": "", + "description": "" + }, + "apis": [ + { + "path": "/apis/authentication.k8s.io/v1/tokenreviews", + "description": "API at /apis/authentication.k8s.io/v1", + "operations": [ + { + "type": "v1.TokenReview", + "method": "POST", + "summary": "create a TokenReview", + "nickname": "createTokenReview", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.TokenReview", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.TokenReview" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/authentication.k8s.io/v1", + "description": "API at /apis/authentication.k8s.io/v1", + "operations": [ + { + "type": "v1.APIResourceList", + "method": "GET", + "summary": "get available resources", + "nickname": "getAPIResources", + "parameters": [], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ] + } + ] + } + ], + "models": { + "v1.TokenReview": { + "id": "v1.TokenReview", + "description": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.", + "required": [ + "spec" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta" + }, + "spec": { + "$ref": "v1.TokenReviewSpec", + "description": "Spec holds information about the request being evaluated" + }, + "status": { + "$ref": "v1.TokenReviewStatus", + "description": "Status is filled in by the server and indicates whether the request can be authenticated." + } + } + }, + "v1.ObjectMeta": { + "id": "v1.ObjectMeta", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "name": { + "type": "string", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "generateName": { + "type": "string", + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" + }, + "namespace": { + "type": "string", + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" + }, + "selfLink": { + "type": "string", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." + }, + "uid": { + "type": "string", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "resourceVersion": { + "type": "string", + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + }, + "generation": { + "type": "integer", + "format": "int64", + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only." + }, + "creationTimestamp": { + "type": "string", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionTimestamp": { + "type": "string", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionGracePeriodSeconds": { + "type": "integer", + "format": "int64", + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only." + }, + "labels": { + "type": "object", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels" + }, + "annotations": { + "type": "object", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations" + }, + "ownerReferences": { + "type": "array", + "items": { + "$ref": "v1.OwnerReference" + }, + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller." + }, + "finalizers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed." + }, + "clusterName": { + "type": "string", + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request." + } + } + }, + "v1.OwnerReference": { + "id": "v1.OwnerReference", + "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "type": "string", + "description": "API version of the referent." + }, + "kind": { + "type": "string", + "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "uid": { + "type": "string", + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "controller": { + "type": "boolean", + "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." + } + } + }, + "v1.TokenReviewSpec": { + "id": "v1.TokenReviewSpec", + "description": "TokenReviewSpec is a description of the token authentication request.", + "properties": { + "token": { + "type": "string", + "description": "Token is the opaque bearer token." + } + } + }, + "v1.TokenReviewStatus": { + "id": "v1.TokenReviewStatus", + "description": "TokenReviewStatus is the result of the token authentication request.", + "properties": { + "authenticated": { + "type": "boolean", + "description": "Authenticated indicates that the token was associated with a known user." + }, + "user": { + "$ref": "v1.UserInfo", + "description": "User is the UserInfo associated with the provided token." + }, + "error": { + "type": "string", + "description": "Error indicates that the token couldn't be checked" + } + } + }, + "v1.UserInfo": { + "id": "v1.UserInfo", + "description": "UserInfo holds the information about the user needed to implement the user.Info interface.", + "properties": { + "username": { + "type": "string", + "description": "The name that uniquely identifies this user among all active users." + }, + "uid": { + "type": "string", + "description": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs." + }, + "groups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of groups this user is a part of." + }, + "extra": { + "type": "object", + "description": "Any additional information provided by the authenticator." + } + } + }, + "v1.APIResourceList": { + "id": "v1.APIResourceList", + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "groupVersion": { + "type": "string", + "description": "groupVersion is the group and version this APIResourceList is for." + }, + "resources": { + "type": "array", + "items": { + "$ref": "v1.APIResource" + }, + "description": "resources contains the name of the resources and if they are namespaced." + } + } + }, + "v1.APIResource": { + "id": "v1.APIResource", + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "required": [ + "name", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "name": { + "type": "string", + "description": "name is the name of the resource." + }, + "namespaced": { + "type": "boolean", + "description": "namespaced indicates if a resource is namespaced or not." + }, + "kind": { + "type": "string", + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')" + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." + } + } + } + } + } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1beta1.json index 1bba2701..064b5ea4 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/authentication.k8s.io_v1beta1.json @@ -209,6 +209,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -322,6 +326,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1.json new file mode 100644 index 00000000..02745de2 --- /dev/null +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1.json @@ -0,0 +1,553 @@ +{ + "swaggerVersion": "1.2", + "apiVersion": "authorization.k8s.io/v1", + "basePath": "https://10.10.10.10:6443", + "resourcePath": "/apis/authorization.k8s.io/v1", + "info": { + "title": "", + "description": "" + }, + "apis": [ + { + "path": "/apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews", + "description": "API at /apis/authorization.k8s.io/v1", + "operations": [ + { + "type": "v1.LocalSubjectAccessReview", + "method": "POST", + "summary": "create a LocalSubjectAccessReview", + "nickname": "createNamespacedLocalSubjectAccessReview", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.LocalSubjectAccessReview", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.LocalSubjectAccessReview" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/authorization.k8s.io/v1/selfsubjectaccessreviews", + "description": "API at /apis/authorization.k8s.io/v1", + "operations": [ + { + "type": "v1.SelfSubjectAccessReview", + "method": "POST", + "summary": "create a SelfSubjectAccessReview", + "nickname": "createSelfSubjectAccessReview", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.SelfSubjectAccessReview", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.SelfSubjectAccessReview" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/authorization.k8s.io/v1/subjectaccessreviews", + "description": "API at /apis/authorization.k8s.io/v1", + "operations": [ + { + "type": "v1.SubjectAccessReview", + "method": "POST", + "summary": "create a SubjectAccessReview", + "nickname": "createSubjectAccessReview", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.SubjectAccessReview", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.SubjectAccessReview" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/authorization.k8s.io/v1", + "description": "API at /apis/authorization.k8s.io/v1", + "operations": [ + { + "type": "v1.APIResourceList", + "method": "GET", + "summary": "get available resources", + "nickname": "getAPIResources", + "parameters": [], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ] + } + ] + } + ], + "models": { + "v1.LocalSubjectAccessReview": { + "id": "v1.LocalSubjectAccessReview", + "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", + "required": [ + "spec" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta" + }, + "spec": { + "$ref": "v1.SubjectAccessReviewSpec", + "description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted." + }, + "status": { + "$ref": "v1.SubjectAccessReviewStatus", + "description": "Status is filled in by the server and indicates whether the request is allowed or not" + } + } + }, + "v1.ObjectMeta": { + "id": "v1.ObjectMeta", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "name": { + "type": "string", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "generateName": { + "type": "string", + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" + }, + "namespace": { + "type": "string", + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" + }, + "selfLink": { + "type": "string", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." + }, + "uid": { + "type": "string", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "resourceVersion": { + "type": "string", + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + }, + "generation": { + "type": "integer", + "format": "int64", + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only." + }, + "creationTimestamp": { + "type": "string", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionTimestamp": { + "type": "string", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionGracePeriodSeconds": { + "type": "integer", + "format": "int64", + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only." + }, + "labels": { + "type": "object", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels" + }, + "annotations": { + "type": "object", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations" + }, + "ownerReferences": { + "type": "array", + "items": { + "$ref": "v1.OwnerReference" + }, + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller." + }, + "finalizers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed." + }, + "clusterName": { + "type": "string", + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request." + } + } + }, + "v1.OwnerReference": { + "id": "v1.OwnerReference", + "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "type": "string", + "description": "API version of the referent." + }, + "kind": { + "type": "string", + "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "uid": { + "type": "string", + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "controller": { + "type": "boolean", + "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." + } + } + }, + "v1.SubjectAccessReviewSpec": { + "id": "v1.SubjectAccessReviewSpec", + "description": "SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", + "properties": { + "resourceAttributes": { + "$ref": "v1.ResourceAttributes", + "description": "ResourceAuthorizationAttributes describes information for a resource access request" + }, + "nonResourceAttributes": { + "$ref": "v1.NonResourceAttributes", + "description": "NonResourceAttributes describes information for a non-resource access request" + }, + "user": { + "type": "string", + "description": "User is the user you're testing for. If you specify \"User\" but not \"Groups\", then is it interpreted as \"What if User were not a member of any groups" + }, + "groups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Groups is the groups you're testing for." + }, + "extra": { + "type": "object", + "description": "Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer it needs a reflection here." + } + } + }, + "v1.ResourceAttributes": { + "id": "v1.ResourceAttributes", + "description": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface", + "properties": { + "namespace": { + "type": "string", + "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces \"\" (empty) is defaulted for LocalSubjectAccessReviews \"\" (empty) is empty for cluster-scoped resources \"\" (empty) means \"all\" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview" + }, + "verb": { + "type": "string", + "description": "Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. \"*\" means all." + }, + "group": { + "type": "string", + "description": "Group is the API Group of the Resource. \"*\" means all." + }, + "version": { + "type": "string", + "description": "Version is the API Version of the Resource. \"*\" means all." + }, + "resource": { + "type": "string", + "description": "Resource is one of the existing resource types. \"*\" means all." + }, + "subresource": { + "type": "string", + "description": "Subresource is one of the existing resource types. \"\" means none." + }, + "name": { + "type": "string", + "description": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all." + } + } + }, + "v1.NonResourceAttributes": { + "id": "v1.NonResourceAttributes", + "description": "NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface", + "properties": { + "path": { + "type": "string", + "description": "Path is the URL path of the request" + }, + "verb": { + "type": "string", + "description": "Verb is the standard HTTP verb" + } + } + }, + "v1.SubjectAccessReviewStatus": { + "id": "v1.SubjectAccessReviewStatus", + "description": "SubjectAccessReviewStatus", + "required": [ + "allowed" + ], + "properties": { + "allowed": { + "type": "boolean", + "description": "Allowed is required. True if the action would be allowed, false otherwise." + }, + "reason": { + "type": "string", + "description": "Reason is optional. It indicates why a request was allowed or denied." + }, + "evaluationError": { + "type": "string", + "description": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request." + } + } + }, + "v1.SelfSubjectAccessReview": { + "id": "v1.SelfSubjectAccessReview", + "description": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action", + "required": [ + "spec" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta" + }, + "spec": { + "$ref": "v1.SelfSubjectAccessReviewSpec", + "description": "Spec holds information about the request being evaluated. user and groups must be empty" + }, + "status": { + "$ref": "v1.SubjectAccessReviewStatus", + "description": "Status is filled in by the server and indicates whether the request is allowed or not" + } + } + }, + "v1.SelfSubjectAccessReviewSpec": { + "id": "v1.SelfSubjectAccessReviewSpec", + "description": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", + "properties": { + "resourceAttributes": { + "$ref": "v1.ResourceAttributes", + "description": "ResourceAuthorizationAttributes describes information for a resource access request" + }, + "nonResourceAttributes": { + "$ref": "v1.NonResourceAttributes", + "description": "NonResourceAttributes describes information for a non-resource access request" + } + } + }, + "v1.SubjectAccessReview": { + "id": "v1.SubjectAccessReview", + "description": "SubjectAccessReview checks whether or not a user or group can perform an action.", + "required": [ + "spec" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta" + }, + "spec": { + "$ref": "v1.SubjectAccessReviewSpec", + "description": "Spec holds information about the request being evaluated" + }, + "status": { + "$ref": "v1.SubjectAccessReviewStatus", + "description": "Status is filled in by the server and indicates whether the request is allowed or not" + } + } + }, + "v1.APIResourceList": { + "id": "v1.APIResourceList", + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "groupVersion": { + "type": "string", + "description": "groupVersion is the group and version this APIResourceList is for." + }, + "resources": { + "type": "array", + "items": { + "$ref": "v1.APIResource" + }, + "description": "resources contains the name of the resources and if they are namespaced." + } + } + }, + "v1.APIResource": { + "id": "v1.APIResource", + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "required": [ + "name", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "name": { + "type": "string", + "description": "name is the name of the resource." + }, + "namespaced": { + "type": "boolean", + "description": "namespaced indicates if a resource is namespaced or not." + }, + "kind": { + "type": "string", + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')" + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." + } + } + } + } + } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1beta1.json index 7d37688f..b94a5b07 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/authorization.k8s.io_v1beta1.json @@ -307,6 +307,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -535,6 +539,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v1.json index 8fa496ad..d136687f 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v1.json @@ -521,7 +521,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1174,6 +1182,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -1392,7 +1404,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -1410,6 +1426,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1.APIResourceList": { "id": "v1.APIResourceList", "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", @@ -1467,6 +1487,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v2alpha1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v2alpha1.json new file mode 100644 index 00000000..d9fe1bb2 --- /dev/null +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v2alpha1.json @@ -0,0 +1,104 @@ +{ + "swaggerVersion": "1.2", + "apiVersion": "autoscaling/v2alpha1", + "basePath": "https://10.10.10.10:6443", + "resourcePath": "/apis/autoscaling/v2alpha1", + "info": { + "title": "", + "description": "" + }, + "apis": [ + { + "path": "/apis/autoscaling/v2alpha1", + "description": "API at /apis/autoscaling/v2alpha1", + "operations": [ + { + "type": "v1.APIResourceList", + "method": "GET", + "summary": "get available resources", + "nickname": "getAPIResources", + "parameters": [], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ] + } + ] + } + ], + "models": { + "v1.APIResourceList": { + "id": "v1.APIResourceList", + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "groupVersion": { + "type": "string", + "description": "groupVersion is the group and version this APIResourceList is for." + }, + "resources": { + "type": "array", + "items": { + "$ref": "v1.APIResource" + }, + "description": "resources contains the name of the resources and if they are namespaced." + } + } + }, + "v1.APIResource": { + "id": "v1.APIResource", + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "required": [ + "name", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "name": { + "type": "string", + "description": "name is the name of the resource." + }, + "namespaced": { + "type": "boolean", + "description": "namespaced indicates if a resource is namespaced or not." + }, + "kind": { + "type": "string", + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')" + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." + } + } + } + } + } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v1.json index 4f06bb88..73c4b10a 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v1.json @@ -521,7 +521,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1174,6 +1182,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -1283,6 +1295,13 @@ }, "description": "List of volumes that can be mounted by containers belonging to the pod. More info: http://kubernetes.io/docs/user-guide/volumes" }, + "initContainers": { + "type": "array", + "items": { + "$ref": "v1.Container" + }, + "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers" + }, "containers": { "type": "array", "items": { @@ -1306,7 +1325,7 @@ }, "dnsPolicy": { "type": "string", - "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\"." + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'." }, "nodeSelector": { "type": "object", @@ -1320,6 +1339,10 @@ "type": "string", "description": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead." }, + "automountServiceAccountToken": { + "type": "boolean", + "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted." + }, "nodeName": { "type": "string", "description": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements." @@ -1359,9 +1382,16 @@ "$ref": "v1.Affinity", "description": "If specified, the pod's scheduling constraints" }, - "schedulername": { + "schedulerName": { "type": "string", "description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler." + }, + "tolerations": { + "type": "array", + "items": { + "$ref": "v1.Toleration" + }, + "description": "If specified, the pod's tolerations." } } }, @@ -1467,6 +1497,18 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" + }, + "portworxVolume": { + "$ref": "v1.PortworxVolumeSource", + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine" + }, + "scaleIO": { + "$ref": "v1.ScaleIOVolumeSource", + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." } } }, @@ -1670,6 +1712,13 @@ "readOnly": { "type": "boolean", "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." + }, + "portals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." } } }, @@ -2125,6 +2174,172 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, + "v1.PortworxVolumeSource": { + "id": "v1.PortworxVolumeSource", + "description": "PortworxVolumeSource represents a Portworx volume resource.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "VolumeID uniquely identifies a Portworx volume" + }, + "fsType": { + "type": "string", + "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.ScaleIOVolumeSource": { + "id": "v1.ScaleIOVolumeSource", + "description": "ScaleIOVolumeSource represents a persistent ScaleIO volume", + "required": [ + "gateway", + "system", + "secretRef" + ], + "properties": { + "gateway": { + "type": "string", + "description": "The host address of the ScaleIO API Gateway." + }, + "system": { + "type": "string", + "description": "The name of the storage system as configured in ScaleIO." + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail." + }, + "sslEnabled": { + "type": "boolean", + "description": "Flag to enable/disable SSL communication with Gateway, default false" + }, + "protectionDomain": { + "type": "string", + "description": "The name of the Protection Domain for the configured storage (defaults to \"default\")." + }, + "storagePool": { + "type": "string", + "description": "The Storage Pool associated with the protection domain (defaults to \"default\")." + }, + "storageMode": { + "type": "string", + "description": "Indicates whether the storage for a volume should be thick or thin (defaults to \"thin\")." + }, + "volumeName": { + "type": "string", + "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", @@ -2170,7 +2385,7 @@ "items": { "$ref": "v1.EnvFromSource" }, - "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. An invalid key will prevent the container from starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." + "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." }, "env": { "type": "array", @@ -2827,9 +3042,6 @@ "v1.PodAffinityTerm": { "id": "v1.PodAffinityTerm", "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running", - "required": [ - "namespaces" - ], "properties": { "labelSelector": { "$ref": "v1.LabelSelector", @@ -2840,7 +3052,7 @@ "items": { "type": "string" }, - "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details." + "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"" }, "topologyKey": { "type": "string", @@ -2887,6 +3099,33 @@ } } }, + "v1.Toleration": { + "id": "v1.Toleration", + "description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", + "properties": { + "key": { + "type": "string", + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + }, + "operator": { + "type": "string", + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + }, + "value": { + "type": "string", + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + }, + "effect": { + "type": "string", + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + }, + "tolerationSeconds": { + "type": "integer", + "format": "int64", + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + } + } + }, "v1.JobStatus": { "id": "v1.JobStatus", "description": "JobStatus represents the current state of a Job.", @@ -3087,7 +3326,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -3105,6 +3348,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1.APIResourceList": { "id": "v1.APIResourceList", "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", @@ -3162,6 +3409,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v2alpha1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v2alpha1.json index 4c4883d9..904850ab 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v2alpha1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/batch_v2alpha1.json @@ -90,6 +90,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1alpha1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1alpha1.json deleted file mode 100644 index 92d504bc..00000000 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1alpha1.json +++ /dev/null @@ -1,1173 +0,0 @@ -{ - "swaggerVersion": "1.2", - "apiVersion": "certificates.k8s.io/v1alpha1", - "basePath": "https://10.10.10.10:6443", - "resourcePath": "/apis/certificates.k8s.io/v1alpha1", - "info": { - "title": "", - "description": "" - }, - "apis": [ - { - "path": "/apis/certificates.k8s.io/v1alpha1/certificatesigningrequests", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1alpha1.CertificateSigningRequestList", - "method": "GET", - "summary": "list or watch objects of kind CertificateSigningRequest", - "nickname": "listCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequestList" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "method": "POST", - "summary": "create a CertificateSigningRequest", - "nickname": "createCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequest" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1.Status", - "method": "DELETE", - "summary": "delete collection of CertificateSigningRequest", - "nickname": "deletecollectionCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.Status" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/certificates.k8s.io/v1alpha1/watch/certificatesigningrequests", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of CertificateSigningRequest", - "nickname": "watchCertificateSigningRequestList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.WatchEvent" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/certificates.k8s.io/v1alpha1/certificatesigningrequests/{name}", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1alpha1.CertificateSigningRequest", - "method": "GET", - "summary": "read the specified CertificateSigningRequest", - "nickname": "readCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "export", - "description": "Should this value be exported. Export strips fields that a user can not specify.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "exact", - "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequest" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "method": "PUT", - "summary": "replace the specified CertificateSigningRequest", - "nickname": "replaceCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequest" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "method": "PATCH", - "summary": "partially update the specified CertificateSigningRequest", - "nickname": "patchCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequest" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1.Status", - "method": "DELETE", - "summary": "delete a CertificateSigningRequest", - "nickname": "deleteCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "gracePeriodSeconds", - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.Status" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/certificates.k8s.io/v1alpha1/watch/certificatesigningrequests/{name}", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind CertificateSigningRequest", - "nickname": "watchCertificateSigningRequest", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.WatchEvent" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/certificates.k8s.io/v1alpha1/certificatesigningrequests/{name}/approval", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1alpha1.CertificateSigningRequest", - "method": "PUT", - "summary": "replace approval of the specified CertificateSigningRequest", - "nickname": "replaceCertificateSigningRequestApproval", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequest" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/certificates.k8s.io/v1alpha1/certificatesigningrequests/{name}/status", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1alpha1.CertificateSigningRequest", - "method": "PUT", - "summary": "replace status of the specified CertificateSigningRequest", - "nickname": "replaceCertificateSigningRequestStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1alpha1.CertificateSigningRequest", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the CertificateSigningRequest", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1alpha1.CertificateSigningRequest" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/certificates.k8s.io/v1alpha1", - "description": "API at /apis/certificates.k8s.io/v1alpha1", - "operations": [ - { - "type": "v1.APIResourceList", - "method": "GET", - "summary": "get available resources", - "nickname": "getAPIResources", - "parameters": [], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ] - } - ] - } - ], - "models": { - "v1alpha1.CertificateSigningRequestList": { - "id": "v1alpha1.CertificateSigningRequestList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "metadata": { - "$ref": "v1.ListMeta" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1alpha1.CertificateSigningRequest" - } - } - } - }, - "v1.ListMeta": { - "id": "v1.ListMeta", - "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", - "properties": { - "selfLink": { - "type": "string", - "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." - }, - "resourceVersion": { - "type": "string", - "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" - } - } - }, - "v1alpha1.CertificateSigningRequest": { - "id": "v1alpha1.CertificateSigningRequest", - "description": "Describes a certificate signing request", - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "metadata": { - "$ref": "v1.ObjectMeta" - }, - "spec": { - "$ref": "v1alpha1.CertificateSigningRequestSpec", - "description": "The certificate request itself and any additional information." - }, - "status": { - "$ref": "v1alpha1.CertificateSigningRequestStatus", - "description": "Derived information about the request." - } - } - }, - "v1.ObjectMeta": { - "id": "v1.ObjectMeta", - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "properties": { - "name": { - "type": "string", - "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names" - }, - "generateName": { - "type": "string", - "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" - }, - "namespace": { - "type": "string", - "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" - }, - "selfLink": { - "type": "string", - "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." - }, - "uid": { - "type": "string", - "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" - }, - "resourceVersion": { - "type": "string", - "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" - }, - "generation": { - "type": "integer", - "format": "int64", - "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only." - }, - "creationTimestamp": { - "type": "string", - "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" - }, - "deletionTimestamp": { - "type": "string", - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" - }, - "deletionGracePeriodSeconds": { - "type": "integer", - "format": "int64", - "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only." - }, - "labels": { - "type": "object", - "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels" - }, - "annotations": { - "type": "object", - "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations" - }, - "ownerReferences": { - "type": "array", - "items": { - "$ref": "v1.OwnerReference" - }, - "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller." - }, - "finalizers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed." - }, - "clusterName": { - "type": "string", - "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request." - } - } - }, - "v1.OwnerReference": { - "id": "v1.OwnerReference", - "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", - "required": [ - "apiVersion", - "kind", - "name", - "uid" - ], - "properties": { - "apiVersion": { - "type": "string", - "description": "API version of the referent." - }, - "kind": { - "type": "string", - "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "name": { - "type": "string", - "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" - }, - "uid": { - "type": "string", - "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" - }, - "controller": { - "type": "boolean", - "description": "If true, this reference points to the managing controller." - } - } - }, - "v1alpha1.CertificateSigningRequestSpec": { - "id": "v1alpha1.CertificateSigningRequestSpec", - "description": "This information is immutable after the request is created. Only the Request and ExtraInfo fields can be set on creation, other fields are derived by Kubernetes and cannot be modified by users.", - "required": [ - "request" - ], - "properties": { - "request": { - "type": "string", - "description": "Base64-encoded PKCS#10 CSR data" - }, - "usages": { - "type": "array", - "items": { - "$ref": "v1alpha1.KeyUsage" - }, - "description": "allowedUsages specifies a set of usage contexts the key will be valid for. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3\n https://tools.ietf.org/html/rfc5280#section-4.2.1.12" - }, - "username": { - "type": "string", - "description": "Information about the requesting user (if relevant) See user.Info interface for details" - }, - "uid": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "v1alpha1.KeyUsage": { - "id": "v1alpha1.KeyUsage", - "properties": {} - }, - "v1alpha1.CertificateSigningRequestStatus": { - "id": "v1alpha1.CertificateSigningRequestStatus", - "properties": { - "conditions": { - "type": "array", - "items": { - "$ref": "v1alpha1.CertificateSigningRequestCondition" - }, - "description": "Conditions applied to the request, such as approval or denial." - }, - "certificate": { - "type": "string", - "description": "If request was approved, the controller will place the issued certificate here." - } - } - }, - "v1alpha1.CertificateSigningRequestCondition": { - "id": "v1alpha1.CertificateSigningRequestCondition", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "description": "request approval state, currently Approved or Denied." - }, - "reason": { - "type": "string", - "description": "brief reason for the request state" - }, - "message": { - "type": "string", - "description": "human readable message with details about the request state" - }, - "lastUpdateTime": { - "type": "string", - "description": "timestamp for the last update to this condition" - } - } - }, - "v1.Status": { - "id": "v1.Status", - "description": "Status is a return value for calls that don't return other objects.", - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "metadata": { - "$ref": "v1.ListMeta", - "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "status": { - "type": "string", - "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" - }, - "message": { - "type": "string", - "description": "A human-readable description of the status of this operation." - }, - "reason": { - "type": "string", - "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it." - }, - "details": { - "$ref": "v1.StatusDetails", - "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." - }, - "code": { - "type": "integer", - "format": "int32", - "description": "Suggested HTTP return code for this status, 0 if not set." - } - } - }, - "v1.StatusDetails": { - "id": "v1.StatusDetails", - "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", - "properties": { - "name": { - "type": "string", - "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described)." - }, - "group": { - "type": "string", - "description": "The group attribute of the resource associated with the status StatusReason." - }, - "kind": { - "type": "string", - "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "causes": { - "type": "array", - "items": { - "$ref": "v1.StatusCause" - }, - "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes." - }, - "retryAfterSeconds": { - "type": "integer", - "format": "int32", - "description": "If specified, the time in seconds before the operation should be retried." - } - } - }, - "v1.StatusCause": { - "id": "v1.StatusCause", - "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", - "properties": { - "reason": { - "type": "string", - "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available." - }, - "message": { - "type": "string", - "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader." - }, - "field": { - "type": "string", - "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"" - } - } - }, - "v1.WatchEvent": { - "id": "v1.WatchEvent", - "required": [ - "type", - "object" - ], - "properties": { - "type": { - "type": "string" - }, - "object": { - "type": "string" - } - } - }, - "v1.Patch": { - "id": "v1.Patch", - "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", - "properties": {} - }, - "v1.DeleteOptions": { - "id": "v1.DeleteOptions", - "description": "DeleteOptions may be provided when deleting an API object", - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "gracePeriodSeconds": { - "type": "integer", - "format": "int64", - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately." - }, - "preconditions": { - "$ref": "v1.Preconditions", - "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." - }, - "orphanDependents": { - "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." - } - } - }, - "v1.Preconditions": { - "id": "v1.Preconditions", - "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", - "properties": { - "uid": { - "$ref": "types.UID", - "description": "Specifies the target UID." - } - } - }, - "types.UID": { - "id": "types.UID", - "properties": {} - }, - "v1.APIResourceList": { - "id": "v1.APIResourceList", - "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", - "required": [ - "groupVersion", - "resources" - ], - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "groupVersion": { - "type": "string", - "description": "groupVersion is the group and version this APIResourceList is for." - }, - "resources": { - "type": "array", - "items": { - "$ref": "v1.APIResource" - }, - "description": "resources contains the name of the resources and if they are namespaced." - } - } - }, - "v1.APIResource": { - "id": "v1.APIResource", - "description": "APIResource specifies the name of a resource and whether it is namespaced.", - "required": [ - "name", - "namespaced", - "kind", - "verbs" - ], - "properties": { - "name": { - "type": "string", - "description": "name is the name of the resource." - }, - "namespaced": { - "type": "boolean", - "description": "namespaced indicates if a resource is namespaced or not." - }, - "kind": { - "type": "string", - "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')" - }, - "verbs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" - } - } - } - } - } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1beta1.json index 55a8cab6..64d7e1bb 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1beta1.json @@ -465,7 +465,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -881,12 +889,16 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, "v1beta1.CertificateSigningRequestSpec": { "id": "v1beta1.CertificateSigningRequestSpec", - "description": "This information is immutable after the request is created. Only the Request and ExtraInfo fields can be set on creation, other fields are derived by Kubernetes and cannot be modified by users.", + "description": "This information is immutable after the request is created. Only the Request and Usages fields can be set on creation, other fields are derived by Kubernetes and cannot be modified by users.", "required": [ "request" ], @@ -904,16 +916,22 @@ }, "username": { "type": "string", - "description": "Information about the requesting user (if relevant) See user.Info interface for details" + "description": "Information about the requesting user. See user.Info interface for details." }, "uid": { - "type": "string" + "type": "string", + "description": "UID information about the requesting user. See user.Info interface for details." }, "groups": { "type": "array", "items": { "type": "string" - } + }, + "description": "Group information about the requesting user. See user.Info interface for details." + }, + "extra": { + "type": "object", + "description": "Extra information about the requesting user. See user.Info interface for details." } } }, @@ -1091,7 +1109,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -1109,6 +1131,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1.APIResourceList": { "id": "v1.APIResourceList", "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", @@ -1166,6 +1192,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json index 427217be..a1c2278e 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json @@ -521,7 +521,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1491,7 +1499,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -2174,976 +2190,6 @@ } ] }, - { - "path": "/apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1beta1.HorizontalPodAutoscalerList", - "method": "GET", - "summary": "list or watch objects of kind HorizontalPodAutoscaler", - "nickname": "listNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscalerList" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "POST", - "summary": "create a HorizontalPodAutoscaler", - "nickname": "createNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1.Status", - "method": "DELETE", - "summary": "delete collection of HorizontalPodAutoscaler", - "nickname": "deletecollectionNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.Status" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of HorizontalPodAutoscaler", - "nickname": "watchNamespacedHorizontalPodAutoscalerList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.WatchEvent" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "GET", - "summary": "read the specified HorizontalPodAutoscaler", - "nickname": "readNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "export", - "description": "Should this value be exported. Export strips fields that a user can not specify.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "exact", - "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "PUT", - "summary": "replace the specified HorizontalPodAutoscaler", - "nickname": "replaceNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "PATCH", - "summary": "partially update the specified HorizontalPodAutoscaler", - "nickname": "patchNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1.Status", - "method": "DELETE", - "summary": "delete a HorizontalPodAutoscaler", - "nickname": "deleteNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "gracePeriodSeconds", - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.Status" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/extensions/v1beta1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind HorizontalPodAutoscaler", - "nickname": "watchNamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.WatchEvent" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/extensions/v1beta1/horizontalpodautoscalers", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1beta1.HorizontalPodAutoscalerList", - "method": "GET", - "summary": "list or watch objects of kind HorizontalPodAutoscaler", - "nickname": "listHorizontalPodAutoscalerForAllNamespaces", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscalerList" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/extensions/v1beta1/watch/horizontalpodautoscalers", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of HorizontalPodAutoscaler", - "nickname": "watchHorizontalPodAutoscalerListForAllNamespaces", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", - "required": false, - "allowMultiple": false - }, - { - "type": "integer", - "paramType": "query", - "name": "timeoutSeconds", - "description": "Timeout for the list/watch call.", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1.WatchEvent" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/apis/extensions/v1beta1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status", - "description": "API at /apis/extensions/v1beta1", - "operations": [ - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "GET", - "summary": "read status of the specified HorizontalPodAutoscaler", - "nickname": "readNamespacedHorizontalPodAutoscalerStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "PUT", - "summary": "replace status of the specified HorizontalPodAutoscaler", - "nickname": "replaceNamespacedHorizontalPodAutoscalerStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta1.HorizontalPodAutoscaler", - "method": "PATCH", - "summary": "partially update status of the specified HorizontalPodAutoscaler", - "nickname": "patchNamespacedHorizontalPodAutoscalerStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the HorizontalPodAutoscaler", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta1.HorizontalPodAutoscaler" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - } - ] - }, { "path": "/apis/extensions/v1beta1/namespaces/{namespace}/ingresses", "description": "API at /apis/extensions/v1beta1", @@ -3657,7 +2703,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -4627,7 +3681,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -5376,7 +4438,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -6007,7 +5077,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -7251,7 +6329,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -7418,7 +6504,7 @@ "items": { "$ref": "v1beta1.DaemonSet" }, - "description": "Items is a list of daemon sets." + "description": "A list of daemon sets." } } }, @@ -7454,11 +6540,11 @@ }, "spec": { "$ref": "v1beta1.DaemonSetSpec", - "description": "Spec defines the desired behavior of this daemon set. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "The desired behavior of this daemon set. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta1.DaemonSetStatus", - "description": "Status is the current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, @@ -7565,6 +6651,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -7577,11 +6667,25 @@ "properties": { "selector": { "$ref": "v1.LabelSelector", - "description": "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" + "description": "A label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" }, "template": { "$ref": "v1.PodTemplateSpec", - "description": "Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template" + "description": "An object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template" + }, + "updateStrategy": { + "$ref": "v1beta1.DaemonSetUpdateStrategy", + "description": "An update strategy to replace existing DaemonSet pods with new pods." + }, + "minReadySeconds": { + "type": "integer", + "format": "int32", + "description": "The minimum number of seconds for which a newly created DaemonSet pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)." + }, + "templateGeneration": { + "type": "integer", + "format": "int64", + "description": "A sequence number representing a specific generation of the template. Populated by the system. It can be set only during the creation." } } }, @@ -7655,6 +6759,13 @@ }, "description": "List of volumes that can be mounted by containers belonging to the pod. More info: http://kubernetes.io/docs/user-guide/volumes" }, + "initContainers": { + "type": "array", + "items": { + "$ref": "v1.Container" + }, + "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers" + }, "containers": { "type": "array", "items": { @@ -7678,7 +6789,7 @@ }, "dnsPolicy": { "type": "string", - "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\"." + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'." }, "nodeSelector": { "type": "object", @@ -7692,6 +6803,10 @@ "type": "string", "description": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead." }, + "automountServiceAccountToken": { + "type": "boolean", + "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted." + }, "nodeName": { "type": "string", "description": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements." @@ -7731,9 +6846,16 @@ "$ref": "v1.Affinity", "description": "If specified, the pod's scheduling constraints" }, - "schedulername": { + "schedulerName": { "type": "string", "description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler." + }, + "tolerations": { + "type": "array", + "items": { + "$ref": "v1.Toleration" + }, + "description": "If specified, the pod's tolerations." } } }, @@ -7839,6 +6961,18 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" + }, + "portworxVolume": { + "$ref": "v1.PortworxVolumeSource", + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine" + }, + "scaleIO": { + "$ref": "v1.ScaleIOVolumeSource", + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." } } }, @@ -8042,6 +7176,13 @@ "readOnly": { "type": "boolean", "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." + }, + "portals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." } } }, @@ -8497,6 +7638,172 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, + "v1.PortworxVolumeSource": { + "id": "v1.PortworxVolumeSource", + "description": "PortworxVolumeSource represents a Portworx volume resource.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "VolumeID uniquely identifies a Portworx volume" + }, + "fsType": { + "type": "string", + "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.ScaleIOVolumeSource": { + "id": "v1.ScaleIOVolumeSource", + "description": "ScaleIOVolumeSource represents a persistent ScaleIO volume", + "required": [ + "gateway", + "system", + "secretRef" + ], + "properties": { + "gateway": { + "type": "string", + "description": "The host address of the ScaleIO API Gateway." + }, + "system": { + "type": "string", + "description": "The name of the storage system as configured in ScaleIO." + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail." + }, + "sslEnabled": { + "type": "boolean", + "description": "Flag to enable/disable SSL communication with Gateway, default false" + }, + "protectionDomain": { + "type": "string", + "description": "The name of the Protection Domain for the configured storage (defaults to \"default\")." + }, + "storagePool": { + "type": "string", + "description": "The Storage Pool associated with the protection domain (defaults to \"default\")." + }, + "storageMode": { + "type": "string", + "description": "Indicates whether the storage for a volume should be thick or thin (defaults to \"thin\")." + }, + "volumeName": { + "type": "string", + "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", @@ -8542,7 +7849,7 @@ "items": { "$ref": "v1.EnvFromSource" }, - "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. An invalid key will prevent the container from starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." + "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." }, "env": { "type": "array", @@ -9199,9 +8506,6 @@ "v1.PodAffinityTerm": { "id": "v1.PodAffinityTerm", "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running", - "required": [ - "namespaces" - ], "properties": { "labelSelector": { "$ref": "v1.LabelSelector", @@ -9212,7 +8516,7 @@ "items": { "type": "string" }, - "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details." + "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"" }, "topologyKey": { "type": "string", @@ -9259,6 +8563,56 @@ } } }, + "v1.Toleration": { + "id": "v1.Toleration", + "description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", + "properties": { + "key": { + "type": "string", + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + }, + "operator": { + "type": "string", + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + }, + "value": { + "type": "string", + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + }, + "effect": { + "type": "string", + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + }, + "tolerationSeconds": { + "type": "integer", + "format": "int64", + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + } + } + }, + "v1beta1.DaemonSetUpdateStrategy": { + "id": "v1beta1.DaemonSetUpdateStrategy", + "properties": { + "type": { + "type": "string", + "description": "Type of daemon set update. Can be \"RollingUpdate\" or \"OnDelete\". Default is OnDelete." + }, + "rollingUpdate": { + "$ref": "v1beta1.RollingUpdateDaemonSet", + "description": "Rolling update config params. Present only if type = \"RollingUpdate\"." + } + } + }, + "v1beta1.RollingUpdateDaemonSet": { + "id": "v1beta1.RollingUpdateDaemonSet", + "description": "Spec to control the desired behavior of daemon set rolling update.", + "properties": { + "maxUnavailable": { + "type": "string", + "description": "The maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0. Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update." + } + } + }, "v1beta1.DaemonSetStatus": { "id": "v1beta1.DaemonSetStatus", "description": "DaemonSetStatus represents the current status of a daemon set.", @@ -9272,27 +8626,42 @@ "currentNumberScheduled": { "type": "integer", "format": "int32", - "description": "CurrentNumberScheduled is the number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md" + "description": "The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md" }, "numberMisscheduled": { "type": "integer", "format": "int32", - "description": "NumberMisscheduled is the number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md" + "description": "The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md" }, "desiredNumberScheduled": { "type": "integer", "format": "int32", - "description": "DesiredNumberScheduled is the total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md" + "description": "The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: http://releases.k8s.io/HEAD/docs/admin/daemons.md" }, "numberReady": { "type": "integer", "format": "int32", - "description": "NumberReady is the number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready." + "description": "The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready." }, "observedGeneration": { "type": "integer", "format": "int64", - "description": "ObservedGeneration is the most recent generation observed by the daemon set controller." + "description": "The most recent generation observed by the daemon set controller." + }, + "updatedNumberScheduled": { + "type": "integer", + "format": "int32", + "description": "The total number of nodes that are running updated daemon pod" + }, + "numberAvailable": { + "type": "integer", + "format": "int32", + "description": "The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)" + }, + "numberUnavailable": { + "type": "integer", + "format": "int32", + "description": "The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)" } } }, @@ -9426,7 +8795,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -9444,6 +8817,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1beta1.DeploymentList": { "id": "v1beta1.DeploymentList", "description": "DeploymentList is a list of Deployments.", @@ -9751,157 +9128,6 @@ } } }, - "v1beta1.HorizontalPodAutoscalerList": { - "id": "v1beta1.HorizontalPodAutoscalerList", - "description": "list of horizontal pod autoscaler objects.", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "metadata": { - "$ref": "v1.ListMeta", - "description": "Standard list metadata." - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta1.HorizontalPodAutoscaler" - }, - "description": "list of horizontal pod autoscaler objects." - } - } - }, - "v1beta1.HorizontalPodAutoscaler": { - "id": "v1beta1.HorizontalPodAutoscaler", - "description": "configuration of a horizontal pod autoscaler.", - "properties": { - "kind": { - "type": "string", - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "apiVersion": { - "type": "string", - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" - }, - "metadata": { - "$ref": "v1.ObjectMeta", - "description": "Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta1.HorizontalPodAutoscalerSpec", - "description": "behaviour of autoscaler. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status." - }, - "status": { - "$ref": "v1beta1.HorizontalPodAutoscalerStatus", - "description": "current information about the autoscaler." - } - } - }, - "v1beta1.HorizontalPodAutoscalerSpec": { - "id": "v1beta1.HorizontalPodAutoscalerSpec", - "description": "specification of a horizontal pod autoscaler.", - "required": [ - "scaleRef", - "maxReplicas" - ], - "properties": { - "scaleRef": { - "$ref": "v1beta1.SubresourceReference", - "description": "reference to Scale subresource; horizontal pod autoscaler will learn the current resource consumption from its status, and will set the desired number of pods by modifying its spec." - }, - "minReplicas": { - "type": "integer", - "format": "int32", - "description": "lower limit for the number of pods that can be set by the autoscaler, default 1." - }, - "maxReplicas": { - "type": "integer", - "format": "int32", - "description": "upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas." - }, - "cpuUtilization": { - "$ref": "v1beta1.CPUTargetUtilization", - "description": "target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified it defaults to the target CPU utilization at 80% of the requested resources." - } - } - }, - "v1beta1.SubresourceReference": { - "id": "v1beta1.SubresourceReference", - "description": "SubresourceReference contains enough information to let you inspect or modify the referred subresource.", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the referent; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" - }, - "name": { - "type": "string", - "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names" - }, - "apiVersion": { - "type": "string", - "description": "API version of the referent" - }, - "subresource": { - "type": "string", - "description": "Subresource name of the referent" - } - } - }, - "v1beta1.CPUTargetUtilization": { - "id": "v1beta1.CPUTargetUtilization", - "required": [ - "targetPercentage" - ], - "properties": { - "targetPercentage": { - "type": "integer", - "format": "int32", - "description": "fraction of the requested CPU that should be utilized/used, e.g. 70 means that 70% of the requested CPU should be in use." - } - } - }, - "v1beta1.HorizontalPodAutoscalerStatus": { - "id": "v1beta1.HorizontalPodAutoscalerStatus", - "description": "current status of a horizontal pod autoscaler", - "required": [ - "currentReplicas", - "desiredReplicas" - ], - "properties": { - "observedGeneration": { - "type": "integer", - "format": "int64", - "description": "most recent generation observed by this autoscaler." - }, - "lastScaleTime": { - "type": "string", - "description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed." - }, - "currentReplicas": { - "type": "integer", - "format": "int32", - "description": "current number of replicas of pods managed by this autoscaler." - }, - "desiredReplicas": { - "type": "integer", - "format": "int32", - "description": "desired number of replicas of pods managed by this autoscaler." - }, - "currentCPUUtilizationPercentage": { - "type": "integer", - "format": "int32", - "description": "current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU." - } - } - }, "v1beta1.IngressList": { "id": "v1beta1.IngressList", "description": "IngressList is a collection of Ingress.", @@ -10737,6 +9963,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/policy_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/policy_v1beta1.json index d1411b0e..a7bfcedf 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/policy_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/policy_v1beta1.json @@ -521,7 +521,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1171,6 +1179,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -1402,7 +1414,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -1420,6 +1436,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1.APIResourceList": { "id": "v1.APIResourceList", "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", @@ -1477,6 +1497,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json index fc89ba41..bb5699c6 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json @@ -449,7 +449,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1008,7 +1016,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1623,7 +1639,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -2412,7 +2436,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -2907,6 +2939,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -2924,7 +2960,7 @@ }, "apiVersion": { "type": "string", - "description": "APIVersion holds the API group and version of the referenced object." + "description": "APIVersion holds the API group and version of the referenced subject. Defaults to \"v1\" for ServiceAccount subjects. Defaults to \"rbac.authorization.k8s.io/v1alpha1\" for User and Group subjects." }, "name": { "type": "string", @@ -3089,7 +3125,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -3107,6 +3147,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1alpha1.ClusterRoleList": { "id": "v1alpha1.ClusterRoleList", "description": "ClusterRoleList is a collection of ClusterRoles", @@ -3381,6 +3425,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1beta1.json index 915c9f3a..dbe707ea 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1beta1.json @@ -449,7 +449,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1008,7 +1016,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1623,7 +1639,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -2412,7 +2436,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -2907,6 +2939,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -2922,9 +2958,9 @@ "type": "string", "description": "Kind of object being referenced. Values defined by this API group are \"User\", \"Group\", and \"ServiceAccount\". If the Authorizer does not recognized the kind value, the Authorizer should report an error." }, - "apiVersion": { + "apiGroup": { "type": "string", - "description": "APIVersion holds the API group and version of the referenced object." + "description": "APIGroup holds the API group of the referenced subject. Defaults to \"\" for ServiceAccount subjects. Defaults to \"rbac.authorization.k8s.io\" for User and Group subjects." }, "name": { "type": "string", @@ -3089,7 +3125,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -3107,6 +3147,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1beta1.ClusterRoleList": { "id": "v1beta1.ClusterRoleList", "description": "ClusterRoleList is a collection of ClusterRoles", @@ -3381,6 +3425,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/resourceListing.json b/vendor/k8s.io/kubernetes/api/swagger-spec/resourceListing.json index e943df7c..3bdebc17 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/resourceListing.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/resourceListing.json @@ -22,12 +22,8 @@ "description": "get available API versions" }, { - "path": "/apis/apps/v1beta1", - "description": "API at /apis/apps/v1beta1" - }, - { - "path": "/apis/apps", - "description": "get information of a group" + "path": "/apis/authentication.k8s.io/v1", + "description": "API at /apis/authentication.k8s.io/v1" }, { "path": "/apis/authentication.k8s.io/v1beta1", @@ -37,6 +33,10 @@ "path": "/apis/authentication.k8s.io", "description": "get information of a group" }, + { + "path": "/apis/authorization.k8s.io/v1", + "description": "API at /apis/authorization.k8s.io/v1" + }, { "path": "/apis/authorization.k8s.io/v1beta1", "description": "API at /apis/authorization.k8s.io/v1beta1" @@ -49,6 +49,10 @@ "path": "/apis/autoscaling/v1", "description": "API at /apis/autoscaling/v1" }, + { + "path": "/apis/autoscaling/v2alpha1", + "description": "API at /apis/autoscaling/v2alpha1" + }, { "path": "/apis/autoscaling", "description": "get information of a group" @@ -101,13 +105,33 @@ "path": "/apis/rbac.authorization.k8s.io", "description": "get information of a group" }, + { + "path": "/apis/settings.k8s.io/v1alpha1", + "description": "API at /apis/settings.k8s.io/v1alpha1" + }, + { + "path": "/apis/settings.k8s.io", + "description": "get information of a group" + }, { "path": "/apis/storage.k8s.io/v1beta1", "description": "API at /apis/storage.k8s.io/v1beta1" }, + { + "path": "/apis/storage.k8s.io/v1", + "description": "API at /apis/storage.k8s.io/v1" + }, { "path": "/apis/storage.k8s.io", "description": "get information of a group" + }, + { + "path": "/apis/apps/v1beta1", + "description": "API at /apis/apps/v1beta1" + }, + { + "path": "/apis/apps", + "description": "get information of a group" } ], "apiVersion": "", diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io.json b/vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io.json new file mode 100644 index 00000000..33f73d76 --- /dev/null +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io.json @@ -0,0 +1,114 @@ +{ + "swaggerVersion": "1.2", + "apiVersion": "", + "basePath": "https://10.10.10.10:6443", + "resourcePath": "/apis/settings.k8s.io", + "info": { + "title": "", + "description": "" + }, + "apis": [ + { + "path": "/apis/settings.k8s.io", + "description": "get information of a group", + "operations": [ + { + "type": "v1.APIGroup", + "method": "GET", + "summary": "get information of a group", + "nickname": "getAPIGroup", + "parameters": [], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ] + } + ] + } + ], + "models": { + "v1.APIGroup": { + "id": "v1.APIGroup", + "description": "APIGroup contains the name, the supported versions, and the preferred version of a group.", + "required": [ + "name", + "versions", + "serverAddressByClientCIDRs" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "name": { + "type": "string", + "description": "name is the name of the group." + }, + "versions": { + "type": "array", + "items": { + "$ref": "v1.GroupVersionForDiscovery" + }, + "description": "versions are the versions supported in this group." + }, + "preferredVersion": { + "$ref": "v1.GroupVersionForDiscovery", + "description": "preferredVersion is the version preferred by the API server, which probably is the storage version." + }, + "serverAddressByClientCIDRs": { + "type": "array", + "items": { + "$ref": "v1.ServerAddressByClientCIDR" + }, + "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP." + } + } + }, + "v1.GroupVersionForDiscovery": { + "id": "v1.GroupVersionForDiscovery", + "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "required": [ + "groupVersion", + "version" + ], + "properties": { + "groupVersion": { + "type": "string", + "description": "groupVersion specifies the API group and version in the form \"group/version\"" + }, + "version": { + "type": "string", + "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion." + } + } + }, + "v1.ServerAddressByClientCIDR": { + "id": "v1.ServerAddressByClientCIDR", + "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", + "required": [ + "clientCIDR", + "serverAddress" + ], + "properties": { + "clientCIDR": { + "type": "string", + "description": "The CIDR with which clients can match their IP to figure out the server address that they should use." + }, + "serverAddress": { + "type": "string", + "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port." + } + } + } + } + } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json new file mode 100644 index 00000000..37b849ba --- /dev/null +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json @@ -0,0 +1,2427 @@ +{ + "swaggerVersion": "1.2", + "apiVersion": "settings.k8s.io/v1alpha1", + "basePath": "https://10.10.10.10:6443", + "resourcePath": "/apis/settings.k8s.io/v1alpha1", + "info": { + "title": "", + "description": "" + }, + "apis": [ + { + "path": "/apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1alpha1.PodPresetList", + "method": "GET", + "summary": "list or watch objects of kind PodPreset", + "nickname": "listNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1alpha1.PodPresetList" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1alpha1.PodPreset", + "method": "POST", + "summary": "create a PodPreset", + "nickname": "createNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1alpha1.PodPreset", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1alpha1.PodPreset" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1.Status", + "method": "DELETE", + "summary": "delete collection of PodPreset", + "nickname": "deletecollectionNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.Status" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/settings.k8s.io/v1alpha1/watch/namespaces/{namespace}/podpresets", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch individual changes to a list of PodPreset", + "nickname": "watchNamespacedPodPresetList", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/settings.k8s.io/v1alpha1/namespaces/{namespace}/podpresets/{name}", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1alpha1.PodPreset", + "method": "GET", + "summary": "read the specified PodPreset", + "nickname": "readNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "export", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "exact", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodPreset", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1alpha1.PodPreset" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1alpha1.PodPreset", + "method": "PUT", + "summary": "replace the specified PodPreset", + "nickname": "replaceNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1alpha1.PodPreset", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodPreset", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1alpha1.PodPreset" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1alpha1.PodPreset", + "method": "PATCH", + "summary": "partially update the specified PodPreset", + "nickname": "patchNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.Patch", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodPreset", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1alpha1.PodPreset" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ] + }, + { + "type": "v1.Status", + "method": "DELETE", + "summary": "delete a PodPreset", + "nickname": "deleteNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.DeleteOptions", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "gracePeriodSeconds", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "orphanDependents", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodPreset", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.Status" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/settings.k8s.io/v1alpha1/watch/namespaces/{namespace}/podpresets/{name}", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch changes to an object of kind PodPreset", + "nickname": "watchNamespacedPodPreset", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodPreset", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/settings.k8s.io/v1alpha1/podpresets", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1alpha1.PodPresetList", + "method": "GET", + "summary": "list or watch objects of kind PodPreset", + "nickname": "listPodPresetForAllNamespaces", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1alpha1.PodPresetList" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/settings.k8s.io/v1alpha1/watch/podpresets", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch individual changes to a list of PodPreset", + "nickname": "watchPodPresetListForAllNamespaces", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/settings.k8s.io/v1alpha1", + "description": "API at /apis/settings.k8s.io/v1alpha1", + "operations": [ + { + "type": "v1.APIResourceList", + "method": "GET", + "summary": "get available resources", + "nickname": "getAPIResources", + "parameters": [], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ] + } + ] + } + ], + "models": { + "v1alpha1.PodPresetList": { + "id": "v1alpha1.PodPresetList", + "description": "PodPresetList is a list of PodPreset objects.", + "required": [ + "items" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ListMeta", + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1alpha1.PodPreset" + }, + "description": "Items is a list of schema objects." + } + } + }, + "v1.ListMeta": { + "id": "v1.ListMeta", + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "properties": { + "selfLink": { + "type": "string", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." + }, + "resourceVersion": { + "type": "string", + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + } + } + }, + "v1alpha1.PodPreset": { + "id": "v1alpha1.PodPreset", + "description": "PodPreset is a policy resource that defines additional runtime requirements for a Pod.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta" + }, + "spec": { + "$ref": "v1alpha1.PodPresetSpec" + } + } + }, + "v1.ObjectMeta": { + "id": "v1.ObjectMeta", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "name": { + "type": "string", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "generateName": { + "type": "string", + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" + }, + "namespace": { + "type": "string", + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" + }, + "selfLink": { + "type": "string", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." + }, + "uid": { + "type": "string", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "resourceVersion": { + "type": "string", + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + }, + "generation": { + "type": "integer", + "format": "int64", + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only." + }, + "creationTimestamp": { + "type": "string", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionTimestamp": { + "type": "string", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionGracePeriodSeconds": { + "type": "integer", + "format": "int64", + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only." + }, + "labels": { + "type": "object", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels" + }, + "annotations": { + "type": "object", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations" + }, + "ownerReferences": { + "type": "array", + "items": { + "$ref": "v1.OwnerReference" + }, + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller." + }, + "finalizers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed." + }, + "clusterName": { + "type": "string", + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request." + } + } + }, + "v1.OwnerReference": { + "id": "v1.OwnerReference", + "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "type": "string", + "description": "API version of the referent." + }, + "kind": { + "type": "string", + "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "uid": { + "type": "string", + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "controller": { + "type": "boolean", + "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." + } + } + }, + "v1alpha1.PodPresetSpec": { + "id": "v1alpha1.PodPresetSpec", + "description": "PodPresetSpec is a description of a pod injection policy.", + "properties": { + "selector": { + "$ref": "v1.LabelSelector", + "description": "Selector is a label query over a set of resources, in this case pods. Required." + }, + "env": { + "type": "array", + "items": { + "$ref": "v1.EnvVar" + }, + "description": "Env defines the collection of EnvVar to inject into containers." + }, + "envFrom": { + "type": "array", + "items": { + "$ref": "v1.EnvFromSource" + }, + "description": "EnvFrom defines the collection of EnvFromSource to inject into containers." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "v1.Volume" + }, + "description": "Volumes defines the collection of Volume to inject into the pod." + }, + "volumeMounts": { + "type": "array", + "items": { + "$ref": "v1.VolumeMount" + }, + "description": "VolumeMounts defines the collection of VolumeMount to inject into containers." + } + } + }, + "v1.LabelSelector": { + "id": "v1.LabelSelector", + "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", + "properties": { + "matchLabels": { + "type": "object", + "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + }, + "matchExpressions": { + "type": "array", + "items": { + "$ref": "v1.LabelSelectorRequirement" + }, + "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed." + } + } + }, + "v1.LabelSelectorRequirement": { + "id": "v1.LabelSelectorRequirement", + "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "required": [ + "key", + "operator" + ], + "properties": { + "key": { + "type": "string", + "description": "key is the label key that the selector applies to." + }, + "operator": { + "type": "string", + "description": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist." + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + } + } + }, + "v1.EnvVar": { + "id": "v1.EnvVar", + "description": "EnvVar represents an environment variable present in a Container.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the environment variable. Must be a C_IDENTIFIER." + }, + "value": { + "type": "string", + "description": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + }, + "valueFrom": { + "$ref": "v1.EnvVarSource", + "description": "Source for the environment variable's value. Cannot be used if value is not empty." + } + } + }, + "v1.EnvVarSource": { + "id": "v1.EnvVarSource", + "description": "EnvVarSource represents a source for the value of an EnvVar.", + "properties": { + "fieldRef": { + "$ref": "v1.ObjectFieldSelector", + "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP." + }, + "resourceFieldRef": { + "$ref": "v1.ResourceFieldSelector", + "description": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." + }, + "configMapKeyRef": { + "$ref": "v1.ConfigMapKeySelector", + "description": "Selects a key of a ConfigMap." + }, + "secretKeyRef": { + "$ref": "v1.SecretKeySelector", + "description": "Selects a key of a secret in the pod's namespace" + } + } + }, + "v1.ObjectFieldSelector": { + "id": "v1.ObjectFieldSelector", + "description": "ObjectFieldSelector selects an APIVersioned field of an object.", + "required": [ + "fieldPath" + ], + "properties": { + "apiVersion": { + "type": "string", + "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." + }, + "fieldPath": { + "type": "string", + "description": "Path of the field to select in the specified API version." + } + } + }, + "v1.ResourceFieldSelector": { + "id": "v1.ResourceFieldSelector", + "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format", + "required": [ + "resource" + ], + "properties": { + "containerName": { + "type": "string", + "description": "Container name: required for volumes, optional for env vars" + }, + "resource": { + "type": "string", + "description": "Required: resource to select" + }, + "divisor": { + "type": "string", + "description": "Specifies the output format of the exposed resources, defaults to \"1\"" + } + } + }, + "v1.ConfigMapKeySelector": { + "id": "v1.ConfigMapKeySelector", + "description": "Selects a key from a ConfigMap.", + "required": [ + "key" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "key": { + "type": "string", + "description": "The key to select." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's key must be defined" + } + } + }, + "v1.SecretKeySelector": { + "id": "v1.SecretKeySelector", + "description": "SecretKeySelector selects a key of a Secret.", + "required": [ + "key" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "key": { + "type": "string", + "description": "The key of the secret to select from. Must be a valid secret key." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or it's key must be defined" + } + } + }, + "v1.EnvFromSource": { + "id": "v1.EnvFromSource", + "description": "EnvFromSource represents the source of a set of ConfigMaps", + "properties": { + "prefix": { + "type": "string", + "description": "An optional identifer to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER." + }, + "configMapRef": { + "$ref": "v1.ConfigMapEnvSource", + "description": "The ConfigMap to select from" + }, + "secretRef": { + "$ref": "v1.SecretEnvSource", + "description": "The Secret to select from" + } + } + }, + "v1.ConfigMapEnvSource": { + "id": "v1.ConfigMapEnvSource", + "description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap must be defined" + } + } + }, + "v1.SecretEnvSource": { + "id": "v1.SecretEnvSource", + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret must be defined" + } + } + }, + "v1.Volume": { + "id": "v1.Volume", + "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "hostPath": { + "$ref": "v1.HostPathVolumeSource", + "description": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath" + }, + "emptyDir": { + "$ref": "v1.EmptyDirVolumeSource", + "description": "EmptyDir represents a temporary directory that shares a pod's lifetime. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + }, + "gcePersistentDisk": { + "$ref": "v1.GCEPersistentDiskVolumeSource", + "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk" + }, + "awsElasticBlockStore": { + "$ref": "v1.AWSElasticBlockStoreVolumeSource", + "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore" + }, + "gitRepo": { + "$ref": "v1.GitRepoVolumeSource", + "description": "GitRepo represents a git repository at a particular revision." + }, + "secret": { + "$ref": "v1.SecretVolumeSource", + "description": "Secret represents a secret that should populate this volume. More info: http://kubernetes.io/docs/user-guide/volumes#secrets" + }, + "nfs": { + "$ref": "v1.NFSVolumeSource", + "description": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: http://kubernetes.io/docs/user-guide/volumes#nfs" + }, + "iscsi": { + "$ref": "v1.ISCSIVolumeSource", + "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md" + }, + "glusterfs": { + "$ref": "v1.GlusterfsVolumeSource", + "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md" + }, + "persistentVolumeClaim": { + "$ref": "v1.PersistentVolumeClaimVolumeSource", + "description": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims" + }, + "rbd": { + "$ref": "v1.RBDVolumeSource", + "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md" + }, + "flexVolume": { + "$ref": "v1.FlexVolumeSource", + "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future." + }, + "cinder": { + "$ref": "v1.CinderVolumeSource", + "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md" + }, + "cephfs": { + "$ref": "v1.CephFSVolumeSource", + "description": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime" + }, + "flocker": { + "$ref": "v1.FlockerVolumeSource", + "description": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIVolumeSource", + "description": "DownwardAPI represents downward API about the pod that should populate this volume" + }, + "fc": { + "$ref": "v1.FCVolumeSource", + "description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod." + }, + "azureFile": { + "$ref": "v1.AzureFileVolumeSource", + "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod." + }, + "configMap": { + "$ref": "v1.ConfigMapVolumeSource", + "description": "ConfigMap represents a configMap that should populate this volume" + }, + "vsphereVolume": { + "$ref": "v1.VsphereVirtualDiskVolumeSource", + "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" + }, + "quobyte": { + "$ref": "v1.QuobyteVolumeSource", + "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime" + }, + "azureDisk": { + "$ref": "v1.AzureDiskVolumeSource", + "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod." + }, + "photonPersistentDisk": { + "$ref": "v1.PhotonPersistentDiskVolumeSource", + "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" + }, + "portworxVolume": { + "$ref": "v1.PortworxVolumeSource", + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine" + }, + "scaleIO": { + "$ref": "v1.ScaleIOVolumeSource", + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." + } + } + }, + "v1.HostPathVolumeSource": { + "id": "v1.HostPathVolumeSource", + "description": "Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string", + "description": "Path of the directory on the host. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath" + } + } + }, + "v1.EmptyDirVolumeSource": { + "id": "v1.EmptyDirVolumeSource", + "description": "Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.", + "properties": { + "medium": { + "type": "string", + "description": "What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + } + } + }, + "v1.GCEPersistentDiskVolumeSource": { + "id": "v1.GCEPersistentDiskVolumeSource", + "description": "Represents a Persistent Disk resource in Google Compute Engine.\n\nA GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.", + "required": [ + "pdName" + ], + "properties": { + "pdName": { + "type": "string", + "description": "Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk" + }, + "fsType": { + "type": "string", + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk" + }, + "partition": { + "type": "integer", + "format": "int32", + "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk" + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://kubernetes.io/docs/user-guide/volumes#gcepersistentdisk" + } + } + }, + "v1.AWSElasticBlockStoreVolumeSource": { + "id": "v1.AWSElasticBlockStoreVolumeSource", + "description": "Represents a Persistent Disk resource in AWS.\n\nAn AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore" + }, + "fsType": { + "type": "string", + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore" + }, + "partition": { + "type": "integer", + "format": "int32", + "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty)." + }, + "readOnly": { + "type": "boolean", + "description": "Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: http://kubernetes.io/docs/user-guide/volumes#awselasticblockstore" + } + } + }, + "v1.GitRepoVolumeSource": { + "id": "v1.GitRepoVolumeSource", + "description": "Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.", + "required": [ + "repository" + ], + "properties": { + "repository": { + "type": "string", + "description": "Repository URL" + }, + "revision": { + "type": "string", + "description": "Commit hash for the specified revision." + }, + "directory": { + "type": "string", + "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name." + } + } + }, + "v1.SecretVolumeSource": { + "id": "v1.SecretVolumeSource", + "description": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", + "properties": { + "secretName": { + "type": "string", + "description": "Name of the secret in the pod's namespace to use. More info: http://kubernetes.io/docs/user-guide/volumes#secrets" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or it's keys must be defined" + } + } + }, + "v1.KeyToPath": { + "id": "v1.KeyToPath", + "description": "Maps a string key to a path within a volume.", + "required": [ + "key", + "path" + ], + "properties": { + "key": { + "type": "string", + "description": "The key to project." + }, + "path": { + "type": "string", + "description": "The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'." + }, + "mode": { + "type": "integer", + "format": "int32", + "description": "Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.NFSVolumeSource": { + "id": "v1.NFSVolumeSource", + "description": "Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.", + "required": [ + "server", + "path" + ], + "properties": { + "server": { + "type": "string", + "description": "Server is the hostname or IP address of the NFS server. More info: http://kubernetes.io/docs/user-guide/volumes#nfs" + }, + "path": { + "type": "string", + "description": "Path that is exported by the NFS server. More info: http://kubernetes.io/docs/user-guide/volumes#nfs" + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: http://kubernetes.io/docs/user-guide/volumes#nfs" + } + } + }, + "v1.ISCSIVolumeSource": { + "id": "v1.ISCSIVolumeSource", + "description": "Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.", + "required": [ + "targetPortal", + "iqn", + "lun" + ], + "properties": { + "targetPortal": { + "type": "string", + "description": "iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." + }, + "iqn": { + "type": "string", + "description": "Target iSCSI Qualified Name." + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "iSCSI target lun number." + }, + "iscsiInterface": { + "type": "string", + "description": "Optional: Defaults to 'default' (tcp). iSCSI interface name that uses an iSCSI transport." + }, + "fsType": { + "type": "string", + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi" + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." + }, + "portals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." + } + } + }, + "v1.GlusterfsVolumeSource": { + "id": "v1.GlusterfsVolumeSource", + "description": "Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.", + "required": [ + "endpoints", + "path" + ], + "properties": { + "endpoints": { + "type": "string", + "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod" + }, + "path": { + "type": "string", + "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod" + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod" + } + } + }, + "v1.PersistentVolumeClaimVolumeSource": { + "id": "v1.PersistentVolumeClaimVolumeSource", + "description": "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).", + "required": [ + "claimName" + ], + "properties": { + "claimName": { + "type": "string", + "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims" + }, + "readOnly": { + "type": "boolean", + "description": "Will force the ReadOnly setting in VolumeMounts. Default false." + } + } + }, + "v1.RBDVolumeSource": { + "id": "v1.RBDVolumeSource", + "description": "Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.", + "required": [ + "monitors", + "image" + ], + "properties": { + "monitors": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it" + }, + "image": { + "type": "string", + "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it" + }, + "fsType": { + "type": "string", + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#rbd" + }, + "pool": { + "type": "string", + "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it." + }, + "user": { + "type": "string", + "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it" + }, + "keyring": { + "type": "string", + "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it" + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it" + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it" + } + } + }, + "v1.LocalObjectReference": { + "id": "v1.LocalObjectReference", + "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + } + } + }, + "v1.FlexVolumeSource": { + "id": "v1.FlexVolumeSource", + "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.", + "required": [ + "driver" + ], + "properties": { + "driver": { + "type": "string", + "description": "Driver is the name of the driver to use for this volume." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script." + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts." + }, + "readOnly": { + "type": "boolean", + "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + }, + "options": { + "type": "object", + "description": "Optional: Extra command options if any." + } + } + }, + "v1.CinderVolumeSource": { + "id": "v1.CinderVolumeSource", + "description": "Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "volume id used to identify the volume in cinder More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md" + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md" + }, + "readOnly": { + "type": "boolean", + "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md" + } + } + }, + "v1.CephFSVolumeSource": { + "id": "v1.CephFSVolumeSource", + "description": "Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.", + "required": [ + "monitors" + ], + "properties": { + "monitors": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required: Monitors is a collection of Ceph monitors More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it" + }, + "path": { + "type": "string", + "description": "Optional: Used as the mounted root, rather than the full Ceph tree, default is /" + }, + "user": { + "type": "string", + "description": "Optional: User is the rados user name, default is admin More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it" + }, + "secretFile": { + "type": "string", + "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it" + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it" + }, + "readOnly": { + "type": "boolean", + "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: http://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it" + } + } + }, + "v1.FlockerVolumeSource": { + "id": "v1.FlockerVolumeSource", + "description": "Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.", + "properties": { + "datasetName": { + "type": "string", + "description": "Name of the dataset stored as metadata -\u003e name on the dataset for Flocker should be considered as deprecated" + }, + "datasetUUID": { + "type": "string", + "description": "UUID of the dataset. This is unique identifier of a Flocker dataset" + } + } + }, + "v1.DownwardAPIVolumeSource": { + "id": "v1.DownwardAPIVolumeSource", + "description": "DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of downward API volume file" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.DownwardAPIVolumeFile": { + "id": "v1.DownwardAPIVolumeFile", + "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string", + "description": "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'" + }, + "fieldRef": { + "$ref": "v1.ObjectFieldSelector", + "description": "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported." + }, + "resourceFieldRef": { + "$ref": "v1.ResourceFieldSelector", + "description": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." + }, + "mode": { + "type": "integer", + "format": "int32", + "description": "Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.FCVolumeSource": { + "id": "v1.FCVolumeSource", + "description": "Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.", + "required": [ + "targetWWNs", + "lun" + ], + "properties": { + "targetWWNs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required: FC target worldwide names (WWNs)" + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "Required: FC target lun number" + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.AzureFileVolumeSource": { + "id": "v1.AzureFileVolumeSource", + "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.", + "required": [ + "secretName", + "shareName" + ], + "properties": { + "secretName": { + "type": "string", + "description": "the name of secret that contains Azure Storage Account Name and Key" + }, + "shareName": { + "type": "string", + "description": "Share Name" + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.ConfigMapVolumeSource": { + "id": "v1.ConfigMapVolumeSource", + "description": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, + "v1.VsphereVirtualDiskVolumeSource": { + "id": "v1.VsphereVirtualDiskVolumeSource", + "description": "Represents a vSphere volume resource.", + "required": [ + "volumePath" + ], + "properties": { + "volumePath": { + "type": "string", + "description": "Path that identifies vSphere volume vmdk" + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + } + } + }, + "v1.QuobyteVolumeSource": { + "id": "v1.QuobyteVolumeSource", + "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", + "required": [ + "registry", + "volume" + ], + "properties": { + "registry": { + "type": "string", + "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes" + }, + "volume": { + "type": "string", + "description": "Volume is a string that references an already created Quobyte volume by name." + }, + "readOnly": { + "type": "boolean", + "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false." + }, + "user": { + "type": "string", + "description": "User to map volume access to Defaults to serivceaccount user" + }, + "group": { + "type": "string", + "description": "Group to map volume access to Default is no group" + } + } + }, + "v1.AzureDiskVolumeSource": { + "id": "v1.AzureDiskVolumeSource", + "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.", + "required": [ + "diskName", + "diskURI" + ], + "properties": { + "diskName": { + "type": "string", + "description": "The Name of the data disk in the blob storage" + }, + "diskURI": { + "type": "string", + "description": "The URI the data disk in the blob storage" + }, + "cachingMode": { + "$ref": "v1.AzureDataDiskCachingMode", + "description": "Host Caching mode: None, Read Only, Read Write." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.AzureDataDiskCachingMode": { + "id": "v1.AzureDataDiskCachingMode", + "properties": {} + }, + "v1.PhotonPersistentDiskVolumeSource": { + "id": "v1.PhotonPersistentDiskVolumeSource", + "description": "Represents a Photon Controller persistent disk resource.", + "required": [ + "pdID" + ], + "properties": { + "pdID": { + "type": "string", + "description": "ID that identifies Photon Controller persistent disk" + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + } + } + }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, + "v1.PortworxVolumeSource": { + "id": "v1.PortworxVolumeSource", + "description": "PortworxVolumeSource represents a Portworx volume resource.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "VolumeID uniquely identifies a Portworx volume" + }, + "fsType": { + "type": "string", + "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.ScaleIOVolumeSource": { + "id": "v1.ScaleIOVolumeSource", + "description": "ScaleIOVolumeSource represents a persistent ScaleIO volume", + "required": [ + "gateway", + "system", + "secretRef" + ], + "properties": { + "gateway": { + "type": "string", + "description": "The host address of the ScaleIO API Gateway." + }, + "system": { + "type": "string", + "description": "The name of the storage system as configured in ScaleIO." + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail." + }, + "sslEnabled": { + "type": "boolean", + "description": "Flag to enable/disable SSL communication with Gateway, default false" + }, + "protectionDomain": { + "type": "string", + "description": "The name of the Protection Domain for the configured storage (defaults to \"default\")." + }, + "storagePool": { + "type": "string", + "description": "The Storage Pool associated with the protection domain (defaults to \"default\")." + }, + "storageMode": { + "type": "string", + "description": "Indicates whether the storage for a volume should be thick or thin (defaults to \"thin\")." + }, + "volumeName": { + "type": "string", + "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.VolumeMount": { + "id": "v1.VolumeMount", + "description": "VolumeMount describes a mounting of a Volume within a container.", + "required": [ + "name", + "mountPath" + ], + "properties": { + "name": { + "type": "string", + "description": "This must match the Name of a Volume." + }, + "readOnly": { + "type": "boolean", + "description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + }, + "mountPath": { + "type": "string", + "description": "Path within the container at which the volume should be mounted. Must not contain ':'." + }, + "subPath": { + "type": "string", + "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + } + } + }, + "v1.Status": { + "id": "v1.Status", + "description": "Status is a return value for calls that don't return other objects.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ListMeta", + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "status": { + "type": "string", + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + }, + "message": { + "type": "string", + "description": "A human-readable description of the status of this operation." + }, + "reason": { + "type": "string", + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it." + }, + "details": { + "$ref": "v1.StatusDetails", + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." + }, + "code": { + "type": "integer", + "format": "int32", + "description": "Suggested HTTP return code for this status, 0 if not set." + } + } + }, + "v1.StatusDetails": { + "id": "v1.StatusDetails", + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "properties": { + "name": { + "type": "string", + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described)." + }, + "group": { + "type": "string", + "description": "The group attribute of the resource associated with the status StatusReason." + }, + "kind": { + "type": "string", + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "causes": { + "type": "array", + "items": { + "$ref": "v1.StatusCause" + }, + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes." + }, + "retryAfterSeconds": { + "type": "integer", + "format": "int32", + "description": "If specified, the time in seconds before the operation should be retried." + } + } + }, + "v1.StatusCause": { + "id": "v1.StatusCause", + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "properties": { + "reason": { + "type": "string", + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available." + }, + "message": { + "type": "string", + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader." + }, + "field": { + "type": "string", + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"" + } + } + }, + "v1.WatchEvent": { + "id": "v1.WatchEvent", + "required": [ + "type", + "object" + ], + "properties": { + "type": { + "type": "string" + }, + "object": { + "type": "string" + } + } + }, + "v1.Patch": { + "id": "v1.Patch", + "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", + "properties": {} + }, + "v1.DeleteOptions": { + "id": "v1.DeleteOptions", + "description": "DeleteOptions may be provided when deleting an API object.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "gracePeriodSeconds": { + "type": "integer", + "format": "int64", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately." + }, + "preconditions": { + "$ref": "v1.Preconditions", + "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." + }, + "orphanDependents": { + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." + } + } + }, + "v1.Preconditions": { + "id": "v1.Preconditions", + "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "properties": { + "uid": { + "$ref": "types.UID", + "description": "Specifies the target UID." + } + } + }, + "types.UID": { + "id": "types.UID", + "properties": {} + }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, + "v1.APIResourceList": { + "id": "v1.APIResourceList", + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "groupVersion": { + "type": "string", + "description": "groupVersion is the group and version this APIResourceList is for." + }, + "resources": { + "type": "array", + "items": { + "$ref": "v1.APIResource" + }, + "description": "resources contains the name of the resources and if they are namespaced." + } + } + }, + "v1.APIResource": { + "id": "v1.APIResource", + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "required": [ + "name", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "name": { + "type": "string", + "description": "name is the name of the resource." + }, + "namespaced": { + "type": "boolean", + "description": "namespaced indicates if a resource is namespaced or not." + }, + "kind": { + "type": "string", + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')" + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." + } + } + } + } + } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1.json new file mode 100644 index 00000000..8a66b591 --- /dev/null +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1.json @@ -0,0 +1,1024 @@ +{ + "swaggerVersion": "1.2", + "apiVersion": "storage.k8s.io/v1", + "basePath": "https://10.10.10.10:6443", + "resourcePath": "/apis/storage.k8s.io/v1", + "info": { + "title": "", + "description": "" + }, + "apis": [ + { + "path": "/apis/storage.k8s.io/v1/storageclasses", + "description": "API at /apis/storage.k8s.io/v1", + "operations": [ + { + "type": "v1.StorageClassList", + "method": "GET", + "summary": "list or watch objects of kind StorageClass", + "nickname": "listStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.StorageClassList" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1.StorageClass", + "method": "POST", + "summary": "create a StorageClass", + "nickname": "createStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.StorageClass", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.StorageClass" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1.Status", + "method": "DELETE", + "summary": "delete collection of StorageClass", + "nickname": "deletecollectionStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.Status" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/storage.k8s.io/v1/watch/storageclasses", + "description": "API at /apis/storage.k8s.io/v1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch individual changes to a list of StorageClass", + "nickname": "watchStorageClassList", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/storage.k8s.io/v1/storageclasses/{name}", + "description": "API at /apis/storage.k8s.io/v1", + "operations": [ + { + "type": "v1.StorageClass", + "method": "GET", + "summary": "read the specified StorageClass", + "nickname": "readStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "export", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "exact", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the StorageClass", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.StorageClass" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1.StorageClass", + "method": "PUT", + "summary": "replace the specified StorageClass", + "nickname": "replaceStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.StorageClass", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the StorageClass", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.StorageClass" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1.StorageClass", + "method": "PATCH", + "summary": "partially update the specified StorageClass", + "nickname": "patchStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.Patch", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the StorageClass", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.StorageClass" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ] + }, + { + "type": "v1.Status", + "method": "DELETE", + "summary": "delete a StorageClass", + "nickname": "deleteStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.DeleteOptions", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "gracePeriodSeconds", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "orphanDependents", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the StorageClass", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.Status" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/storage.k8s.io/v1/watch/storageclasses/{name}", + "description": "API at /apis/storage.k8s.io/v1", + "operations": [ + { + "type": "v1.WatchEvent", + "method": "GET", + "summary": "watch changes to an object of kind StorageClass", + "nickname": "watchStorageClass", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the StorageClass", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1.WatchEvent" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/storage.k8s.io/v1", + "description": "API at /apis/storage.k8s.io/v1", + "operations": [ + { + "type": "v1.APIResourceList", + "method": "GET", + "summary": "get available resources", + "nickname": "getAPIResources", + "parameters": [], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ] + } + ] + } + ], + "models": { + "v1.StorageClassList": { + "id": "v1.StorageClassList", + "description": "StorageClassList is a collection of storage classes.", + "required": [ + "items" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ListMeta", + "description": "Standard list metadata More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.StorageClass" + }, + "description": "Items is the list of StorageClasses" + } + } + }, + "v1.ListMeta": { + "id": "v1.ListMeta", + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "properties": { + "selfLink": { + "type": "string", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." + }, + "resourceVersion": { + "type": "string", + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + } + } + }, + "v1.StorageClass": { + "id": "v1.StorageClass", + "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", + "required": [ + "provisioner" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta", + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "provisioner": { + "type": "string", + "description": "Provisioner indicates the type of the provisioner." + }, + "parameters": { + "type": "object", + "description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class." + } + } + }, + "v1.ObjectMeta": { + "id": "v1.ObjectMeta", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "name": { + "type": "string", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "generateName": { + "type": "string", + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" + }, + "namespace": { + "type": "string", + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" + }, + "selfLink": { + "type": "string", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." + }, + "uid": { + "type": "string", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "resourceVersion": { + "type": "string", + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + }, + "generation": { + "type": "integer", + "format": "int64", + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only." + }, + "creationTimestamp": { + "type": "string", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionTimestamp": { + "type": "string", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "deletionGracePeriodSeconds": { + "type": "integer", + "format": "int64", + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only." + }, + "labels": { + "type": "object", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels" + }, + "annotations": { + "type": "object", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations" + }, + "ownerReferences": { + "type": "array", + "items": { + "$ref": "v1.OwnerReference" + }, + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller." + }, + "finalizers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed." + }, + "clusterName": { + "type": "string", + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request." + } + } + }, + "v1.OwnerReference": { + "id": "v1.OwnerReference", + "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "type": "string", + "description": "API version of the referent." + }, + "kind": { + "type": "string", + "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "uid": { + "type": "string", + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids" + }, + "controller": { + "type": "boolean", + "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." + } + } + }, + "v1.Status": { + "id": "v1.Status", + "description": "Status is a return value for calls that don't return other objects.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ListMeta", + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "status": { + "type": "string", + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + }, + "message": { + "type": "string", + "description": "A human-readable description of the status of this operation." + }, + "reason": { + "type": "string", + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it." + }, + "details": { + "$ref": "v1.StatusDetails", + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." + }, + "code": { + "type": "integer", + "format": "int32", + "description": "Suggested HTTP return code for this status, 0 if not set." + } + } + }, + "v1.StatusDetails": { + "id": "v1.StatusDetails", + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "properties": { + "name": { + "type": "string", + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described)." + }, + "group": { + "type": "string", + "description": "The group attribute of the resource associated with the status StatusReason." + }, + "kind": { + "type": "string", + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "causes": { + "type": "array", + "items": { + "$ref": "v1.StatusCause" + }, + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes." + }, + "retryAfterSeconds": { + "type": "integer", + "format": "int32", + "description": "If specified, the time in seconds before the operation should be retried." + } + } + }, + "v1.StatusCause": { + "id": "v1.StatusCause", + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "properties": { + "reason": { + "type": "string", + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available." + }, + "message": { + "type": "string", + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader." + }, + "field": { + "type": "string", + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"" + } + } + }, + "v1.WatchEvent": { + "id": "v1.WatchEvent", + "required": [ + "type", + "object" + ], + "properties": { + "type": { + "type": "string" + }, + "object": { + "type": "string" + } + } + }, + "v1.Patch": { + "id": "v1.Patch", + "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", + "properties": {} + }, + "v1.DeleteOptions": { + "id": "v1.DeleteOptions", + "description": "DeleteOptions may be provided when deleting an API object.", + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "gracePeriodSeconds": { + "type": "integer", + "format": "int64", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately." + }, + "preconditions": { + "$ref": "v1.Preconditions", + "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." + }, + "orphanDependents": { + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." + } + } + }, + "v1.Preconditions": { + "id": "v1.Preconditions", + "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "properties": { + "uid": { + "$ref": "types.UID", + "description": "Specifies the target UID." + } + } + }, + "types.UID": { + "id": "types.UID", + "properties": {} + }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, + "v1.APIResourceList": { + "id": "v1.APIResourceList", + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "apiVersion": { + "type": "string", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "groupVersion": { + "type": "string", + "description": "groupVersion is the group and version this APIResourceList is for." + }, + "resources": { + "type": "array", + "items": { + "$ref": "v1.APIResource" + }, + "description": "resources contains the name of the resources and if they are namespaced." + } + } + }, + "v1.APIResource": { + "id": "v1.APIResource", + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "required": [ + "name", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "name": { + "type": "string", + "description": "name is the name of the resource." + }, + "namespaced": { + "type": "boolean", + "description": "namespaced indicates if a resource is namespaced or not." + }, + "kind": { + "type": "string", + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')" + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." + } + } + } + } + } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1beta1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1beta1.json index 78e0ca0f..ab6b6533 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1beta1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1beta1.json @@ -465,7 +465,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -782,6 +790,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -915,7 +927,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -933,6 +949,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1.APIResourceList": { "id": "v1.APIResourceList", "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", @@ -990,6 +1010,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/api/swagger-spec/v1.json b/vendor/k8s.io/kubernetes/api/swagger-spec/v1.json index f05737bd..0a95ec4c 100644 --- a/vendor/k8s.io/kubernetes/api/swagger-spec/v1.json +++ b/vendor/k8s.io/kubernetes/api/swagger-spec/v1.json @@ -698,7 +698,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -1503,7 +1511,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -2308,7 +2324,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -3113,7 +3137,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -3862,7 +3894,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -4631,7 +4671,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -4843,6 +4891,36 @@ "*/*" ] }, + { + "type": "string", + "method": "PATCH", + "summary": "proxy PATCH requests to Node", + "nickname": "proxyPATCHNodeWithPath", + "parameters": [ + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Node", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "path", + "description": "path to the resource", + "required": true, + "allowMultiple": false + } + ], + "produces": [ + "*/*" + ], + "consumes": [ + "*/*" + ] + }, { "type": "string", "method": "DELETE", @@ -5005,6 +5083,28 @@ "*/*" ] }, + { + "type": "string", + "method": "PATCH", + "summary": "proxy PATCH requests to Node", + "nickname": "proxyPATCHNode", + "parameters": [ + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Node", + "required": true, + "allowMultiple": false + } + ], + "produces": [ + "*/*" + ], + "consumes": [ + "*/*" + ] + }, { "type": "string", "method": "DELETE", @@ -6147,7 +6247,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -7061,7 +7169,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -7833,7 +7949,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -8085,6 +8209,44 @@ "*/*" ] }, + { + "type": "string", + "method": "PATCH", + "summary": "proxy PATCH requests to Pod", + "nickname": "proxyPATCHNamespacedPodWithPath", + "parameters": [ + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Pod", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "path", + "description": "path to the resource", + "required": true, + "allowMultiple": false + } + ], + "produces": [ + "*/*" + ], + "consumes": [ + "*/*" + ] + }, { "type": "string", "method": "DELETE", @@ -8295,6 +8457,36 @@ "*/*" ] }, + { + "type": "string", + "method": "PATCH", + "summary": "proxy PATCH requests to Pod", + "nickname": "proxyPATCHNamespacedPod", + "parameters": [ + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Pod", + "required": true, + "allowMultiple": false + } + ], + "produces": [ + "*/*" + ], + "consumes": [ + "*/*" + ] + }, { "type": "string", "method": "DELETE", @@ -9095,6 +9287,14 @@ "summary": "connect GET requests to portforward of Pod", "nickname": "connectGetNamespacedPodPortforward", "parameters": [ + { + "type": "integer", + "paramType": "query", + "name": "ports", + "description": "List of ports to forward Required when using WebSockets", + "required": false, + "allowMultiple": false + }, { "type": "string", "paramType": "path", @@ -9125,6 +9325,14 @@ "summary": "connect POST requests to portforward of Pod", "nickname": "connectPostNamespacedPodPortforward", "parameters": [ + { + "type": "integer", + "paramType": "query", + "name": "ports", + "description": "List of ports to forward Required when using WebSockets", + "required": false, + "allowMultiple": false + }, { "type": "string", "paramType": "path", @@ -10345,7 +10553,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -11150,7 +11366,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -12285,7 +12509,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -13255,7 +13487,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -14060,7 +14300,15 @@ "type": "boolean", "paramType": "query", "name": "orphanDependents", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "propagationPolicy", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.", "required": false, "allowMultiple": false }, @@ -15014,6 +15262,44 @@ "*/*" ] }, + { + "type": "string", + "method": "PATCH", + "summary": "proxy PATCH requests to Service", + "nickname": "proxyPATCHNamespacedServiceWithPath", + "parameters": [ + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Service", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "path", + "description": "path to the resource", + "required": true, + "allowMultiple": false + } + ], + "produces": [ + "*/*" + ], + "consumes": [ + "*/*" + ] + }, { "type": "string", "method": "DELETE", @@ -15224,6 +15510,36 @@ "*/*" ] }, + { + "type": "string", + "method": "PATCH", + "summary": "proxy PATCH requests to Service", + "nickname": "proxyPATCHNamespacedService", + "parameters": [ + { + "type": "string", + "paramType": "path", + "name": "namespace", + "description": "object name and auth scope, such as for teams and projects", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the Service", + "required": true, + "allowMultiple": false + } + ], + "produces": [ + "*/*" + ], + "consumes": [ + "*/*" + ] + }, { "type": "string", "method": "DELETE", @@ -16308,6 +16624,10 @@ "controller": { "type": "boolean", "description": "If true, this reference points to the managing controller." + }, + "blockOwnerDeletion": { + "type": "boolean", + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned." } } }, @@ -16618,7 +16938,11 @@ }, "orphanDependents": { "type": "boolean", - "description": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list." + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both." + }, + "propagationPolicy": { + "$ref": "v1.DeletionPropagation", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy." } } }, @@ -16636,6 +16960,10 @@ "id": "types.UID", "properties": {} }, + "v1.DeletionPropagation": { + "id": "v1.DeletionPropagation", + "properties": {} + }, "v1.EndpointsList": { "id": "v1.EndpointsList", "description": "EndpointsList is a list of endpoints.", @@ -17113,6 +17441,39 @@ "unschedulable": { "type": "boolean", "description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration" + }, + "taints": { + "type": "array", + "items": { + "$ref": "v1.Taint" + }, + "description": "If specified, the node's taints." + } + } + }, + "v1.Taint": { + "id": "v1.Taint", + "description": "The node this Taint is attached to has the effect \"effect\" on any pod that that does not tolerate the Taint.", + "required": [ + "key", + "effect" + ], + "properties": { + "key": { + "type": "string", + "description": "Required. The taint key to be applied to a node." + }, + "value": { + "type": "string", + "description": "Required. The taint value corresponding to the taint key." + }, + "effect": { + "type": "string", + "description": "Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute." + }, + "timeAdded": { + "type": "string", + "description": "TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints." } } }, @@ -17430,6 +17791,10 @@ "volumeName": { "type": "string", "description": "VolumeName is the binding reference to the PersistentVolume backing this claim." + }, + "storageClassName": { + "type": "string", + "description": "Name of the StorageClass required by the claim. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#class-1" } } }, @@ -17644,6 +18009,14 @@ "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" }, + "portworxVolume": { + "$ref": "v1.PortworxVolumeSource", + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine" + }, + "scaleIO": { + "$ref": "v1.ScaleIOVolumeSource", + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." + }, "accessModes": { "type": "array", "items": { @@ -17658,6 +18031,10 @@ "persistentVolumeReclaimPolicy": { "type": "string", "description": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recycling must be supported by the volume plugin underlying this persistent volume. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#recycling-policy" + }, + "storageClassName": { + "type": "string", + "description": "Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass." } } }, @@ -17858,6 +18235,13 @@ "readOnly": { "type": "boolean", "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." + }, + "portals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." } } }, @@ -18111,6 +18495,78 @@ } } }, + "v1.PortworxVolumeSource": { + "id": "v1.PortworxVolumeSource", + "description": "PortworxVolumeSource represents a Portworx volume resource.", + "required": [ + "volumeID" + ], + "properties": { + "volumeID": { + "type": "string", + "description": "VolumeID uniquely identifies a Portworx volume" + }, + "fsType": { + "type": "string", + "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, + "v1.ScaleIOVolumeSource": { + "id": "v1.ScaleIOVolumeSource", + "description": "ScaleIOVolumeSource represents a persistent ScaleIO volume", + "required": [ + "gateway", + "system", + "secretRef" + ], + "properties": { + "gateway": { + "type": "string", + "description": "The host address of the ScaleIO API Gateway." + }, + "system": { + "type": "string", + "description": "The name of the storage system as configured in ScaleIO." + }, + "secretRef": { + "$ref": "v1.LocalObjectReference", + "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail." + }, + "sslEnabled": { + "type": "boolean", + "description": "Flag to enable/disable SSL communication with Gateway, default false" + }, + "protectionDomain": { + "type": "string", + "description": "The name of the Protection Domain for the configured storage (defaults to \"default\")." + }, + "storagePool": { + "type": "string", + "description": "The Storage Pool associated with the protection domain (defaults to \"default\")." + }, + "storageMode": { + "type": "string", + "description": "Indicates whether the storage for a volume should be thick or thin (defaults to \"thin\")." + }, + "volumeName": { + "type": "string", + "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source." + }, + "fsType": { + "type": "string", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + }, + "readOnly": { + "type": "boolean", + "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + } + } + }, "v1.PersistentVolumeStatus": { "id": "v1.PersistentVolumeStatus", "description": "PersistentVolumeStatus is the current status of a persistent volume.", @@ -18197,6 +18653,13 @@ }, "description": "List of volumes that can be mounted by containers belonging to the pod. More info: http://kubernetes.io/docs/user-guide/volumes" }, + "initContainers": { + "type": "array", + "items": { + "$ref": "v1.Container" + }, + "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/containers" + }, "containers": { "type": "array", "items": { @@ -18220,7 +18683,7 @@ }, "dnsPolicy": { "type": "string", - "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\"." + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\". To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'." }, "nodeSelector": { "type": "object", @@ -18234,6 +18697,10 @@ "type": "string", "description": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead." }, + "automountServiceAccountToken": { + "type": "boolean", + "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted." + }, "nodeName": { "type": "string", "description": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements." @@ -18273,9 +18740,16 @@ "$ref": "v1.Affinity", "description": "If specified, the pod's scheduling constraints" }, - "schedulername": { + "schedulerName": { "type": "string", "description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler." + }, + "tolerations": { + "type": "array", + "items": { + "$ref": "v1.Toleration" + }, + "description": "If specified, the pod's tolerations." } } }, @@ -18381,6 +18855,18 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" + }, + "portworxVolume": { + "$ref": "v1.PortworxVolumeSource", + "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine" + }, + "scaleIO": { + "$ref": "v1.ScaleIOVolumeSource", + "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." } } }, @@ -18589,6 +19075,100 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", @@ -18634,7 +19214,7 @@ "items": { "$ref": "v1.EnvFromSource" }, - "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. An invalid key will prevent the container from starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." + "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." }, "env": { "type": "array", @@ -19277,9 +19857,6 @@ "v1.PodAffinityTerm": { "id": "v1.PodAffinityTerm", "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e tches that of any node on which a pod of the set of pods is running", - "required": [ - "namespaces" - ], "properties": { "labelSelector": { "$ref": "v1.LabelSelector", @@ -19290,7 +19867,7 @@ "items": { "type": "string" }, - "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); nil list means \"this pod's namespace,\" empty list means \"all namespaces\" The json tag here is not \"omitempty\" since we need to distinguish nil and empty. See https://golang.org/pkg/encoding/json/#Marshal for more details." + "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"" }, "topologyKey": { "type": "string", @@ -19337,6 +19914,33 @@ } } }, + "v1.Toleration": { + "id": "v1.Toleration", + "description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", + "properties": { + "key": { + "type": "string", + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + }, + "operator": { + "type": "string", + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + }, + "value": { + "type": "string", + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + }, + "effect": { + "type": "string", + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + }, + "tolerationSeconds": { + "type": "integer", + "format": "int64", + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + } + } + }, "v1.PodStatus": { "id": "v1.PodStatus", "description": "PodStatus represents information about the status of a pod. Status may trail the actual state of a system.", @@ -19372,6 +19976,13 @@ "type": "string", "description": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod." }, + "initContainerStatuses": { + "type": "array", + "items": { + "$ref": "v1.ContainerStatus" + }, + "description": "The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: http://kubernetes.io/docs/user-guide/pod-states#container-statuses" + }, "containerStatuses": { "type": "array", "items": { @@ -20040,6 +20651,10 @@ "$ref": "v1.LocalObjectReference" }, "description": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: http://kubernetes.io/docs/user-guide/secrets#manually-specifying-an-imagepullsecret" + }, + "automountServiceAccountToken": { + "type": "boolean", + "description": "AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted. Can be overridden at the pod level." } } }, @@ -20280,6 +20895,13 @@ "type": "string" }, "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)" + }, + "shortNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "shortNames is a list of suggested short names of the resource." } } } diff --git a/vendor/k8s.io/kubernetes/build/BUILD b/vendor/k8s.io/kubernetes/build/BUILD index dbf1f0e3..2469ad3a 100644 --- a/vendor/k8s.io/kubernetes/build/BUILD +++ b/vendor/k8s.io/kubernetes/build/BUILD @@ -63,10 +63,6 @@ DOCKERIZED_BINARIES = { "base": ":busybox-libc", "target": "//plugin/cmd/kube-scheduler:kube-scheduler", }, - "kube-aggregator": { - "base": ":busybox-libc", - "target": "//cmd/kube-aggregator:kube-aggregator", - }, "kube-proxy": { "base": ":busybox-net", "target": "//cmd/kube-proxy:kube-proxy", diff --git a/vendor/k8s.io/kubernetes/build/OWNERS b/vendor/k8s.io/kubernetes/build/OWNERS index 85cb3c62..45c08777 100644 --- a/vendor/k8s.io/kubernetes/build/OWNERS +++ b/vendor/k8s.io/kubernetes/build/OWNERS @@ -1,12 +1,11 @@ reviewers: - - ihmccreery - ixdy - jbeda - lavalamp - zmerlynn approvers: - - ihmccreery - ixdy - jbeda - lavalamp - zmerlynn + - mikedanese diff --git a/vendor/k8s.io/kubernetes/build/build-image/Dockerfile b/vendor/k8s.io/kubernetes/build/build-image/Dockerfile index 57b43005..d7cb8323 100644 --- a/vendor/k8s.io/kubernetes/build/build-image/Dockerfile +++ b/vendor/k8s.io/kubernetes/build/build-image/Dockerfile @@ -19,7 +19,7 @@ FROM gcr.io/google_containers/kube-cross:KUBE_BUILD_IMAGE_CROSS_TAG RUN touch /kube-build-image # To run as non-root we sometimes need to rebuild go stdlib packages. -RUN chmod -R a+rwx /usr/local/go/pkg ${K8S_PATCHED_GOROOT}/pkg +RUN chmod -R a+rwx /usr/local/go/pkg ${K8S_EDGE_GOROOT}/pkg # For running integration tests /var/run/kubernetes is required # and should be writable by user diff --git a/vendor/k8s.io/kubernetes/build/build-image/VERSION b/vendor/k8s.io/kubernetes/build/build-image/VERSION index b8626c4c..7ed6ff82 100644 --- a/vendor/k8s.io/kubernetes/build/build-image/VERSION +++ b/vendor/k8s.io/kubernetes/build/build-image/VERSION @@ -1 +1 @@ -4 +5 diff --git a/vendor/k8s.io/kubernetes/build/build-image/cross/Dockerfile b/vendor/k8s.io/kubernetes/build/build-image/cross/Dockerfile index a632754f..15cc0d17 100644 --- a/vendor/k8s.io/kubernetes/build/build-image/cross/Dockerfile +++ b/vendor/k8s.io/kubernetes/build/build-image/cross/Dockerfile @@ -15,11 +15,11 @@ # This file creates a standard build environment for building cross # platform go binary for the architecture kubernetes cares about. -FROM golang:1.7.4 +FROM golang:1.7.5 -ENV GOARM 6 +ENV GOARM 7 ENV KUBE_DYNAMIC_CROSSPLATFORMS \ - armel \ + armhf \ arm64 \ s390x \ ppc64el @@ -72,22 +72,17 @@ RUN mkdir $TMPDIR \ github.com/tools/godep # Download and symlink etcd. We need this for our integration tests. -RUN export ETCD_VERSION=v3.0.14; \ +RUN export ETCD_VERSION=v3.0.17; \ mkdir -p /usr/local/src/etcd \ && cd /usr/local/src/etcd \ && curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xz \ && ln -s ../src/etcd/etcd-${ETCD_VERSION}-linux-amd64/etcd /usr/local/bin/ -# TODO: Remove the patched GOROOT when we have an official golang that has a working arm and ppc64le linker -ENV K8S_PATCHED_GOLANG_VERSION=1.7.4 \ - K8S_PATCHED_GOROOT=/usr/local/go_k8s_patched -RUN mkdir -p ${K8S_PATCHED_GOROOT} \ - && curl -sSL https://github.com/golang/go/archive/go${K8S_PATCHED_GOLANG_VERSION}.tar.gz | tar -xz -C ${K8S_PATCHED_GOROOT} --strip-components=1 +# TODO: Remove the need for two golang versions; when we use go1.8 for all other builds we can remove this +ENV K8S_GOLANG_EDGE_VERSION=1.8rc2 \ + K8S_EDGE_GOROOT=/usr/local/go_k8s_edge +RUN mkdir -p ${K8S_EDGE_GOROOT} \ + && curl -sSL https://golang.org/dl/go${K8S_GOLANG_EDGE_VERSION}.linux-amd64.tar.gz | tar -xz -C ${K8S_EDGE_GOROOT} --strip-components=1 -# We need a patched go1.7.1 for linux/arm (https://github.com/kubernetes/kubernetes/issues/29904) -COPY golang-patches/CL28857-go1.7.1-luxas.patch ${K8S_PATCHED_GOROOT}/ -RUN cd ${K8S_PATCHED_GOROOT} \ - && patch -p1 < CL28857-go1.7.1-luxas.patch \ - && cd src \ - && GOROOT_FINAL=${K8S_PATCHED_GOROOT} GOROOT_BOOTSTRAP=/usr/local/go ./make.bash \ - && for platform in linux/arm; do GOOS=${platform%/*} GOARCH=${platform##*/} GOROOT=${K8S_PATCHED_GOROOT} go install std; done +# Prebuild the standard library for those platforms that need the edge GOROOT +RUN for platform in linux/arm linux/ppc64le; do GOOS=${platform%/*} GOARCH=${platform##*/} GOROOT=${K8S_EDGE_GOROOT} go install std; done diff --git a/vendor/k8s.io/kubernetes/build/build-image/cross/VERSION b/vendor/k8s.io/kubernetes/build/build-image/cross/VERSION index ddd62189..973429b6 100644 --- a/vendor/k8s.io/kubernetes/build/build-image/cross/VERSION +++ b/vendor/k8s.io/kubernetes/build/build-image/cross/VERSION @@ -1 +1 @@ -v1.7.4-1 +v1.7.5-2 diff --git a/vendor/k8s.io/kubernetes/build/build-image/cross/golang-patches/CL28857-go1.7.1-luxas.patch b/vendor/k8s.io/kubernetes/build/build-image/cross/golang-patches/CL28857-go1.7.1-luxas.patch deleted file mode 100644 index c458d943..00000000 --- a/vendor/k8s.io/kubernetes/build/build-image/cross/golang-patches/CL28857-go1.7.1-luxas.patch +++ /dev/null @@ -1,390 +0,0 @@ -From cc1015ff9bb020ea92c1854026e9ae395a8504b2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lucas=20K=C3=A4ldstr=C3=B6m?= - -Date: Mon, 12 Sep 2016 22:55:42 +0300 -Subject: [PATCH] Ported cherrymui's CL 28857 to the go1.7.1 branch - ---- - src/cmd/compile/internal/arm/ssa.go | 16 ++++++ - src/cmd/compile/internal/gc/cgen.go | 5 ++ - src/cmd/compile/internal/gc/main.go | 11 ++-- - src/cmd/compile/internal/gc/plive.go | 5 ++ - src/cmd/internal/obj/arm/asm5.go | 32 ++++++++++++ - src/cmd/internal/obj/arm/obj5.go | 3 ++ - src/cmd/internal/obj/link.go | 98 +++++++++++++++++++----------------- - src/cmd/link/internal/arm/asm.go | 18 ++++++- - src/cmd/link/internal/ld/lib.go | 4 +- - src/runtime/asm_arm.s | 2 +- - 10 files changed, 138 insertions(+), 56 deletions(-) - -diff --git a/src/cmd/compile/internal/arm/ssa.go b/src/cmd/compile/internal/arm/ssa.go -index 8f466e3..a066e02 100644 ---- a/src/cmd/compile/internal/arm/ssa.go -+++ b/src/cmd/compile/internal/arm/ssa.go -@@ -111,6 +111,22 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { - gc.AddAux(&p.To, v) - case ssa.OpARMCALLstatic: - // TODO: deferreturn -+ if v.Aux.(*gc.Sym) == gc.Deferreturn.Sym { -+ // Deferred calls will appear to be returning to -+ // the CALL deferreturn(SB) that we are about to emit. -+ // However, the stack trace code will show the line -+ // of the instruction byte before the return PC. -+ // To avoid that being an unrelated instruction, -+ // insert an actual hardware NOP that will have the right line number. -+ // This is different from obj.ANOP, which is a virtual no-op -+ // that doesn't make it into the instruction stream. -+ ginsnop() -+ if !gc.Ctxt.Flag_largemodel { -+ // We always back up two instructions. -+ // For non-large build, insert another NOP. -+ ginsnop() -+ } -+ } - p := gc.Prog(obj.ACALL) - p.To.Type = obj.TYPE_MEM - p.To.Name = obj.NAME_EXTERN -diff --git a/src/cmd/compile/internal/gc/cgen.go b/src/cmd/compile/internal/gc/cgen.go -index 74fe463..7507d5f 100644 ---- a/src/cmd/compile/internal/gc/cgen.go -+++ b/src/cmd/compile/internal/gc/cgen.go -@@ -2373,6 +2373,11 @@ func Ginscall(f *Node, proc int) { - Thearch.Ginsnop() - } - } -+ if Ctxt.Arch.Family == sys.ARM && !Ctxt.Flag_largemodel { -+ // On ARM we always back up two instructions. -+ // For non-large build, insert another NOP. -+ Thearch.Ginsnop() -+ } - } - - p := Thearch.Gins(obj.ACALL, nil, f) -diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go -index b4df7ed..c0a8aa1 100644 ---- a/src/cmd/compile/internal/gc/main.go -+++ b/src/cmd/compile/internal/gc/main.go -@@ -148,9 +148,9 @@ func Main() { - goos = obj.Getgoos() - - Nacl = goos == "nacl" -- if Nacl { -- flag_largemodel = true -- } -+ //if Nacl { -+ // flag_largemodel = true -+ //} - - flag.BoolVar(&compiling_runtime, "+", false, "compiling runtime") - obj.Flagcount("%", "debug non-static initializers", &Debug['%']) -@@ -204,9 +204,7 @@ func Main() { - flag.BoolVar(&flag_shared, "shared", false, "generate code that can be linked into a shared library") - flag.BoolVar(&flag_dynlink, "dynlink", false, "support references to Go symbols defined in other shared libraries") - } -- if Thearch.LinkArch.Family == sys.AMD64 { -- flag.BoolVar(&flag_largemodel, "largemodel", false, "generate code that assumes a large memory model") -- } -+ flag.BoolVar(&flag_largemodel, "largemodel", false, "generate code that assumes a large memory model") - flag.StringVar(&cpuprofile, "cpuprofile", "", "write cpu profile to `file`") - flag.StringVar(&memprofile, "memprofile", "", "write memory profile to `file`") - flag.Int64Var(&memprofilerate, "memprofilerate", 0, "set runtime.MemProfileRate to `rate`") -@@ -216,6 +214,7 @@ func Main() { - Ctxt.Flag_shared = flag_dynlink || flag_shared - Ctxt.Flag_dynlink = flag_dynlink - Ctxt.Flag_optimize = Debug['N'] == 0 -+ Ctxt.Flag_largemodel = flag_largemodel - - Ctxt.Debugasm = int32(Debug['S']) - Ctxt.Debugvlog = int32(Debug['v']) -diff --git a/src/cmd/compile/internal/gc/plive.go b/src/cmd/compile/internal/gc/plive.go -index ca0421d..ad26d24 100644 ---- a/src/cmd/compile/internal/gc/plive.go -+++ b/src/cmd/compile/internal/gc/plive.go -@@ -1400,6 +1400,11 @@ func livenessepilogue(lv *Liveness) { - // the call. - prev = prev.Opt.(*obj.Prog) - } -+ if Ctxt.Arch.Family == sys.ARM && !Ctxt.Flag_largemodel { -+ // On ARM we always back up two instructions. -+ // For non-large build, there is another NOP. -+ prev = prev.Opt.(*obj.Prog) -+ } - splicebefore(lv, bb, newpcdataprog(prev, pos), prev) - } else { - splicebefore(lv, bb, newpcdataprog(p, pos), p) -diff --git a/src/cmd/internal/obj/arm/asm5.go b/src/cmd/internal/obj/arm/asm5.go -index d37091f..8136492 100644 ---- a/src/cmd/internal/obj/arm/asm5.go -+++ b/src/cmd/internal/obj/arm/asm5.go -@@ -585,6 +585,30 @@ func span5(ctxt *obj.Link, cursym *obj.LSym) { - break - } - -+ if ctxt.Flag_largemodel && (p.As == AB || p.As == ABL || p.As == obj.ADUFFZERO || p.As == obj.ADUFFCOPY) && p.To.Name == obj.NAME_EXTERN { -+ // in large mode, emit indirect call -+ // MOVW $target, Rtmp -+ // BL (Rtmp) -+ // use REGLINK as Rtmp, as soft div calls expects REGTMP to pass argument -+ tmp := int16(REGLINK) -+ q := obj.Appendp(ctxt, p) -+ q.As = ABL -+ if p.As == AB { -+ q.As = AB -+ tmp = REGTMP // should not clobber REGLINK in this case -+ } -+ q.To.Type = obj.TYPE_MEM -+ q.To.Reg = tmp -+ q.To.Sym = p.To.Sym // tell asmout to emits R_CALLARMLARGE reloc -+ -+ p.As = AMOVW -+ p.From = p.To // jump target -+ p.From.Type = obj.TYPE_ADDR -+ p.To = obj.Addr{} -+ p.To.Type = obj.TYPE_REG -+ p.To.Reg = tmp -+ } -+ - ctxt.Curp = p - p.Pc = int64(c) - o = oplook(ctxt, p) -@@ -1583,6 +1607,14 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) { - } - o1 = oprrr(ctxt, ABL, int(p.Scond)) - o1 |= (uint32(p.To.Reg) & 15) << 0 -+ if p.To.Sym != nil { -+ rel := obj.Addrel(ctxt.Cursym) -+ rel.Off = int32(ctxt.Pc) -+ rel.Siz = 4 -+ rel.Sym = p.To.Sym -+ rel.Type = obj.R_CALLARMLARGE -+ break -+ } - rel := obj.Addrel(ctxt.Cursym) - rel.Off = int32(ctxt.Pc) - rel.Siz = 0 -diff --git a/src/cmd/internal/obj/arm/obj5.go b/src/cmd/internal/obj/arm/obj5.go -index 9cf2f29..13bf952 100644 ---- a/src/cmd/internal/obj/arm/obj5.go -+++ b/src/cmd/internal/obj/arm/obj5.go -@@ -584,6 +584,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) { - p.As = ABL - p.Lineno = q1.Lineno - p.To.Type = obj.TYPE_BRANCH -+ p.To.Name = obj.NAME_EXTERN - switch o { - case ADIV: - p.To.Sym = ctxt.Sym_div -@@ -687,6 +688,7 @@ func softfloat(ctxt *obj.Link, cursym *obj.LSym) { - p.Link = next - p.As = ABL - p.To.Type = obj.TYPE_BRANCH -+ p.To.Name = obj.NAME_EXTERN - p.To.Sym = symsfloat - p.Lineno = next.Lineno - -@@ -820,6 +822,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32) *obj.Prog { - call := obj.Appendp(ctxt, movw) - call.As = obj.ACALL - call.To.Type = obj.TYPE_BRANCH -+ call.To.Name = obj.NAME_EXTERN - morestack := "runtime.morestack" - switch { - case ctxt.Cursym.Cfunc: -diff --git a/src/cmd/internal/obj/link.go b/src/cmd/internal/obj/link.go -index b6861f4..51e9fd3 100644 ---- a/src/cmd/internal/obj/link.go -+++ b/src/cmd/internal/obj/link.go -@@ -588,6 +588,11 @@ const ( - // R_ADDRMIPSTLS (only used on mips64) resolves to the low 16 bits of a TLS - // address (offset from thread pointer), by encoding it into the instruction. - R_ADDRMIPSTLS -+ -+ // R_CALLARMLARGE applies on an indirect CALL with known target used on large mode. -+ // Currently it does nothing but tell the linker the target for stack split check. -+ // In the future linker may optimize this to a NOP and a direct CALL if it is safe. -+ R_CALLARMLARGE - ) - - type Auto struct { -@@ -617,52 +622,53 @@ const ( - // Link holds the context for writing object code from a compiler - // to be linker input or for reading that input into the linker. - type Link struct { -- Goarm int32 -- Headtype int -- Arch *LinkArch -- Debugasm int32 -- Debugvlog int32 -- Debugdivmod int32 -- Debugpcln int32 -- Flag_shared bool -- Flag_dynlink bool -- Flag_optimize bool -- Bso *bufio.Writer -- Pathname string -- Goroot string -- Goroot_final string -- Hash map[SymVer]*LSym -- LineHist LineHist -- Imports []string -- Plist *Plist -- Plast *Plist -- Sym_div *LSym -- Sym_divu *LSym -- Sym_mod *LSym -- Sym_modu *LSym -- Plan9privates *LSym -- Curp *Prog -- Printp *Prog -- Blitrl *Prog -- Elitrl *Prog -- Rexflag int -- Vexflag int -- Rep int -- Repn int -- Lock int -- Asmode int -- AsmBuf AsmBuf // instruction buffer for x86 -- Instoffset int64 -- Autosize int32 -- Armsize int32 -- Pc int64 -- DiagFunc func(string, ...interface{}) -- Mode int -- Cursym *LSym -- Version int -- Textp *LSym -- Etextp *LSym -- Errors int -+ Goarm int32 -+ Headtype int -+ Arch *LinkArch -+ Debugasm int32 -+ Debugvlog int32 -+ Debugdivmod int32 -+ Debugpcln int32 -+ Flag_shared bool -+ Flag_dynlink bool -+ Flag_optimize bool -+ Flag_largemodel bool // generate code that assumes a large memory model -+ Bso *bufio.Writer -+ Pathname string -+ Goroot string -+ Goroot_final string -+ Hash map[SymVer]*LSym -+ LineHist LineHist -+ Imports []string -+ Plist *Plist -+ Plast *Plist -+ Sym_div *LSym -+ Sym_divu *LSym -+ Sym_mod *LSym -+ Sym_modu *LSym -+ Plan9privates *LSym -+ Curp *Prog -+ Printp *Prog -+ Blitrl *Prog -+ Elitrl *Prog -+ Rexflag int -+ Vexflag int -+ Rep int -+ Repn int -+ Lock int -+ Asmode int -+ AsmBuf AsmBuf // instruction buffer for x86 -+ Instoffset int64 -+ Autosize int32 -+ Armsize int32 -+ Pc int64 -+ DiagFunc func(string, ...interface{}) -+ Mode int -+ Cursym *LSym -+ Version int -+ Textp *LSym -+ Etextp *LSym -+ Errors int - - Framepointer_enabled bool - -diff --git a/src/cmd/link/internal/arm/asm.go b/src/cmd/link/internal/arm/asm.go -index 0c3e957..0cf61bb 100644 ---- a/src/cmd/link/internal/arm/asm.go -+++ b/src/cmd/link/internal/arm/asm.go -@@ -410,6 +410,11 @@ func machoreloc1(r *ld.Reloc, sectoff int64) int { - return 0 - } - -+// sign extend a 24-bit integer -+func signext24(x int64) int32 { -+ return (int32(x) << 8) >> 8 -+} -+ - func archreloc(r *ld.Reloc, s *ld.LSym, val *int64) int { - if ld.Linkmode == ld.LinkExternal { - switch r.Type { -@@ -445,6 +450,9 @@ func archreloc(r *ld.Reloc, s *ld.LSym, val *int64) int { - - *val = int64(braddoff(int32(0xff000000&uint32(r.Add)), int32(0xffffff&uint32(r.Xadd/4)))) - return 0 -+ -+ case obj.R_CALLARMLARGE: -+ return 0 - } - - return -1 -@@ -479,8 +487,16 @@ func archreloc(r *ld.Reloc, s *ld.LSym, val *int64) int { - return 0 - - case obj.R_CALLARM: // bl XXXXXX or b YYYYYY -- *val = int64(braddoff(int32(0xff000000&uint32(r.Add)), int32(0xffffff&uint32((ld.Symaddr(r.Sym)+int64((uint32(r.Add))*4)-(s.Value+int64(r.Off)))/4)))) -+ // low 24-bit encodes the target address -+ t := (ld.Symaddr(r.Sym) + int64(signext24(r.Add&0xffffff)*4) - (s.Value + int64(r.Off))) / 4 -+ if t > 0x7fffff || t < -0x800000 { -+ ld.Diag("direct call too far %d, should build with -gcflags -largemodel", t) -+ } -+ *val = int64(braddoff(int32(0xff000000&uint32(r.Add)), int32(0xffffff&t))) -+ -+ return 0 - -+ case obj.R_CALLARMLARGE: - return 0 - } - -diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index 14f4fa9..cc3b50e 100644 ---- a/src/cmd/link/internal/ld/lib.go -+++ b/src/cmd/link/internal/ld/lib.go -@@ -1826,7 +1826,7 @@ func stkcheck(up *Chain, depth int) int { - r = &s.R[ri] - switch r.Type { - // Direct call. -- case obj.R_CALL, obj.R_CALLARM, obj.R_CALLARM64, obj.R_CALLPOWER, obj.R_CALLMIPS: -+ case obj.R_CALL, obj.R_CALLARM, obj.R_CALLARM64, obj.R_CALLPOWER, obj.R_CALLMIPS, obj.R_CALLARMLARGE: - ch.limit = int(int32(limit) - pcsp.value - int32(callsize())) - ch.sym = r.Sym - if stkcheck(&ch, depth+1) < 0 { -@@ -2164,7 +2164,7 @@ func callgraph() { - if r.Sym == nil { - continue - } -- if (r.Type == obj.R_CALL || r.Type == obj.R_CALLARM || r.Type == obj.R_CALLPOWER || r.Type == obj.R_CALLMIPS) && r.Sym.Type == obj.STEXT { -+ if (r.Type == obj.R_CALL || r.Type == obj.R_CALLARM || r.Type == obj.R_CALLPOWER || r.Type == obj.R_CALLMIPS || r.Type == obj.R_CALLARMLARGE) && r.Sym.Type == obj.STEXT { - fmt.Fprintf(Bso, "%s calls %s\n", s.Name, r.Sym.Name) - } - } -diff --git a/src/runtime/asm_arm.s b/src/runtime/asm_arm.s -index f02297e..0930585 100644 ---- a/src/runtime/asm_arm.s -+++ b/src/runtime/asm_arm.s -@@ -465,7 +465,7 @@ CALLFN(·call1073741824, 1073741824) - // (And double-check that pop is atomic in that way.) - TEXT runtime·jmpdefer(SB),NOSPLIT,$0-8 - MOVW 0(R13), LR -- MOVW $-4(LR), LR // BL deferreturn -+ MOVW $-8(LR), LR // BL deferreturn - MOVW fv+0(FP), R7 - MOVW argp+4(FP), R13 - MOVW $-4(R13), R13 // SP is 4 below argp, due to saved LR --- -2.5.0 - diff --git a/vendor/k8s.io/kubernetes/build/cni/Makefile b/vendor/k8s.io/kubernetes/build/cni/Makefile index c3ac5f72..17b42c9e 100644 --- a/vendor/k8s.io/kubernetes/build/cni/Makefile +++ b/vendor/k8s.io/kubernetes/build/cni/Makefile @@ -18,17 +18,18 @@ # [ARCH=amd64] [CNI_RELEASE=v0.3.0] make (build|push) ARCH?=amd64 -CNI_RELEASE?=07a8a28637e97b22eb8dfe710eeae1344f69d16e +CNI_RELEASE?=0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff CNI_TARBALL=cni-$(ARCH)-$(CNI_RELEASE).tar.gz CUR_DIR=$(shell pwd) OUTPUT_DIR=$(CUR_DIR)/output +GOLANG_VERSION=1.7.5 all: build build: mkdir -p $(OUTPUT_DIR) - docker run -it -v $(OUTPUT_DIR):/output golang:1.6 /bin/bash -c "\ + docker run -it -v $(OUTPUT_DIR):/output golang:$(GOLANG_VERSION) /bin/bash -c "\ git clone https://github.com/containernetworking/cni\ && cd cni \ && git checkout $(CNI_RELEASE) \ diff --git a/vendor/k8s.io/kubernetes/build/common.sh b/vendor/k8s.io/kubernetes/build/common.sh index b92f7b24..772f3530 100755 --- a/vendor/k8s.io/kubernetes/build/common.sh +++ b/vendor/k8s.io/kubernetes/build/common.sh @@ -19,6 +19,9 @@ set -o errexit set -o nounset set -o pipefail +USER_ID=$(id -u) +GROUP_ID=$(id -g) + DOCKER_OPTS=${DOCKER_OPTS:-""} DOCKER=(docker ${DOCKER_OPTS}) DOCKER_HOST=${DOCKER_HOST:-""} @@ -30,15 +33,6 @@ KUBE_ROOT=$(cd $(dirname "${BASH_SOURCE}")/.. && pwd -P) source "${KUBE_ROOT}/hack/lib/init.sh" -# Set KUBE_BUILD_PPC64LE to y to build for ppc64le in addition to other -# platforms. -# TODO(IBM): remove KUBE_BUILD_PPC64LE and reenable ppc64le compilation by -# default when -# https://github.com/kubernetes/kubernetes/issues/30384 and -# https://github.com/kubernetes/kubernetes/issues/25886 are fixed. -# The majority of the logic is in hack/lib/golang.sh. -readonly KUBE_BUILD_PPC64LE="${KUBE_BUILD_PPC64LE:-n}" - # Constants readonly KUBE_BUILD_IMAGE_REPO=kube-build readonly KUBE_BUILD_IMAGE_CROSS_TAG="$(cat ${KUBE_ROOT}/build/build-image/cross/VERSION)" @@ -91,6 +85,7 @@ readonly KUBE_CONTAINER_RSYNC_PORT=8730 # # $1 - server architecture kube::build::get_docker_wrapped_binaries() { + debian_iptables_version=v7 case $1 in "amd64") local targets=( @@ -98,7 +93,7 @@ kube::build::get_docker_wrapped_binaries() { kube-controller-manager,busybox kube-scheduler,busybox kube-aggregator,busybox - kube-proxy,gcr.io/google_containers/debian-iptables-amd64:v5 + kube-proxy,gcr.io/google-containers/debian-iptables-amd64:${debian_iptables_version} );; "arm") local targets=( @@ -106,7 +101,7 @@ kube::build::get_docker_wrapped_binaries() { kube-controller-manager,armel/busybox kube-scheduler,armel/busybox kube-aggregator,armel/busybox - kube-proxy,gcr.io/google_containers/debian-iptables-arm:v5 + kube-proxy,gcr.io/google-containers/debian-iptables-arm:${debian_iptables_version} );; "arm64") local targets=( @@ -114,7 +109,7 @@ kube::build::get_docker_wrapped_binaries() { kube-controller-manager,aarch64/busybox kube-scheduler,aarch64/busybox kube-aggregator,aarch64/busybox - kube-proxy,gcr.io/google_containers/debian-iptables-arm64:v5 + kube-proxy,gcr.io/google-containers/debian-iptables-arm64:${debian_iptables_version} );; "ppc64le") local targets=( @@ -122,7 +117,7 @@ kube::build::get_docker_wrapped_binaries() { kube-controller-manager,ppc64le/busybox kube-scheduler,ppc64le/busybox kube-aggregator,ppc64le/busybox - kube-proxy,gcr.io/google_containers/debian-iptables-ppc64le:v5 + kube-proxy,gcr.io/google-containers/debian-iptables-ppc64le:${debian_iptables_version} );; "s390x") local targets=( @@ -130,8 +125,8 @@ kube::build::get_docker_wrapped_binaries() { kube-controller-manager,s390x/busybox kube-scheduler,s390x/busybox kube-aggregator,s390x/busybox - kube-proxy,gcr.io/google_containers/debian-iptables-s390x:v5 - );; + kube-proxy,gcr.io/google-containers/debian-iptables-s390x:${debian_iptables_version} + );; esac echo "${targets[@]}" @@ -407,6 +402,8 @@ function kube::build::clean() { # Set up the context directory for the kube-build image and build it. function kube::build::build_image() { mkdir -p "${LOCAL_OUTPUT_BUILD_CONTEXT}" + # Make sure the context directory owned by the right user for syncing sources to container. + chown -R ${USER_ID}:${GROUP_ID} "${LOCAL_OUTPUT_BUILD_CONTEXT}" cp /etc/localtime "${LOCAL_OUTPUT_BUILD_CONTEXT}/" @@ -494,7 +491,7 @@ function kube::build::ensure_data_container() { --name "${KUBE_DATA_CONTAINER_NAME}" --hostname "${HOSTNAME}" "${KUBE_BUILD_IMAGE}" - chown -R $(id -u).$(id -g) + chown -R ${USER_ID}:${GROUP_ID} "${REMOTE_ROOT}" /usr/local/go/pkg/ ) @@ -553,7 +550,6 @@ function kube::build::run_build_command_ex() { docker_run_opts+=( --env "KUBE_FASTBUILD=${KUBE_FASTBUILD:-false}" --env "KUBE_BUILDER_OS=${OSTYPE:-notdetected}" - --env "KUBE_BUILD_PPC64LE=${KUBE_BUILD_PPC64LE}" # TODO(IBM): remove --env "KUBE_VERBOSE=${KUBE_VERBOSE}" ) @@ -708,6 +704,7 @@ function kube::build::copy_output() { --filter='+ zz_generated.*' \ --filter='+ generated.proto' \ --filter='+ *.pb.go' \ + --filter='+ types.go' \ --filter='+ */' \ --filter='- /**' \ "rsync://k8s@${KUBE_RSYNC_ADDR}/k8s/" "${KUBE_ROOT}" diff --git a/vendor/k8s.io/kubernetes/build/debian-base/Dockerfile b/vendor/k8s.io/kubernetes/build/debian-base/Dockerfile new file mode 100644 index 00000000..749f3bf7 --- /dev/null +++ b/vendor/k8s.io/kubernetes/build/debian-base/Dockerfile @@ -0,0 +1,19 @@ +# Copyright 2017 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. + +FROM scratch + +ADD rootfs.tar / + +CMD ["/bin/sh"] diff --git a/vendor/k8s.io/kubernetes/build/debian-base/Dockerfile.build b/vendor/k8s.io/kubernetes/build/debian-base/Dockerfile.build new file mode 100644 index 00000000..f49c74ed --- /dev/null +++ b/vendor/k8s.io/kubernetes/build/debian-base/Dockerfile.build @@ -0,0 +1,102 @@ +# Copyright 2017 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. + +FROM BASEIMAGE + +# If we're building for another architecture than amd64, the CROSS_BUILD_ placeholder is removed so +# e.g. CROSS_BUILD_COPY turns into COPY +# If we're building normally, for amd64, CROSS_BUILD lines are removed +CROSS_BUILD_COPY qemu-ARCH-static /usr/bin/ + +ENV DEBIAN_FRONTEND=noninteractive + +# Smaller package install size. +COPY excludes /etc/dpkg/dpkg.cfg.d/excludes + +# Convenience script for building on this base image. +COPY clean-install /usr/local/bin/clean-install + +# Update system packages. +RUN apt-get update \ + && apt-get dist-upgrade -y + +# Hold required packages to avoid breaking the installation of packages +RUN apt-mark hold apt gnupg adduser passwd libsemanage1 + +# Remove unnecessary packages. +# This list was generated manually by listing the installed packages (`apt list --installed`), +# then running `apt-cache rdepends --installed --no-recommends` to find the "root" packages. +# The root packages were evaluated based on whether they were needed in the container image. +# Several utilities (e.g. ping) were kept for usefulness, but may be removed in later versions. +RUN echo "Yes, do as I say!" | apt-get purge \ + bash \ + debconf-i18n \ + e2fslibs \ + e2fsprogs \ + gcc-4.8-base \ + init \ + initscripts \ + libcap2-bin \ + libkmod2 \ + libmount1 \ + libsmartcols1 \ + libudev1 \ + libblkid1 \ + libncursesw5 \ + libprocps3 \ + libslang2 \ + libss2 \ + libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl \ + ncurses-base \ + ncurses-bin \ + systemd \ + systemd-sysv \ + sysv-rc \ + tzdata + +# No-op stubs replace some unnecessary binaries that may be depended on in the install process (in +# particular we don't run an init process). +WORKDIR /usr/local/bin +RUN touch noop && \ + chmod 555 noop && \ + ln -s noop runlevel && \ + ln -s noop invoke-rc.d && \ + ln -s noop update-rc.d +WORKDIR / + +# Cleanup cached and unnecessary files. +RUN apt-get autoremove -y && \ + apt-get clean -y && \ + tar -czf /usr/share/copyrights.tar.gz /usr/share/common-licenses /usr/share/doc/*/copyright && \ + rm -rf \ + /usr/share/doc \ + /usr/share/man \ + /usr/share/info \ + /usr/share/locale \ + /var/lib/apt/lists/* \ + /var/log/* \ + /var/cache/debconf/* \ + /usr/share/common-licenses* \ + /usr/share/bash-completion \ + ~/.bashrc \ + ~/.profile \ + /etc/systemd \ + /lib/lsb \ + /lib/udev \ + /usr/lib/x86_64-linux-gnu/gconv/IBM* \ + /usr/lib/x86_64-linux-gnu/gconv/EBC* && \ + mkdir -p /usr/share/man/man1 /usr/share/man/man2 \ + /usr/share/man/man3 /usr/share/man/man4 \ + /usr/share/man/man5 /usr/share/man/man6 \ + /usr/share/man/man7 /usr/share/man/man8 diff --git a/vendor/k8s.io/kubernetes/build/debian-base/Makefile b/vendor/k8s.io/kubernetes/build/debian-base/Makefile new file mode 100755 index 00000000..c67f20db --- /dev/null +++ b/vendor/k8s.io/kubernetes/build/debian-base/Makefile @@ -0,0 +1,76 @@ +# Copyright 2017 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. + +all: build + +REGISTRY ?= gcr.io/google-containers +IMAGE ?= debian-base +BUILD_IMAGE ?= debian-build + +TAG ?= 0.1.0 + +TAR_FILE ?= rootfs.tar +ARCH?=amd64 +TEMP_DIR:=$(shell mktemp -d) +QEMUVERSION=v2.7.0 + +ifeq ($(ARCH),amd64) + BASEIMAGE?=debian:jessie +endif +ifeq ($(ARCH),arm) + BASEIMAGE?=armhf/debian:jessie + QEMUARCH=arm +endif +ifeq ($(ARCH),arm64) + BASEIMAGE?=aarch64/debian:jessie + QEMUARCH=aarch64 +endif +ifeq ($(ARCH),ppc64le) + BASEIMAGE?=ppc64le/debian:jessie + QEMUARCH=ppc64le +endif +ifeq ($(ARCH),s390x) + BASEIMAGE?=s390x/debian:jessie + QEMUARCH=s390x +endif + +build: clean + cp ./* $(TEMP_DIR) + cat Dockerfile.build \ + | sed "s|BASEIMAGE|$(BASEIMAGE)|g" \ + | sed "s|ARCH|$(QEMUARCH)|g" \ + > $(TEMP_DIR)/Dockerfile.build + +ifeq ($(ARCH),amd64) + # When building "normally" for amd64, remove the whole line, it has no part in the amd64 image + sed "/CROSS_BUILD_/d" $(TEMP_DIR)/Dockerfile.build > $(TEMP_DIR)/Dockerfile.build.tmp +else + # When cross-building, only the placeholder "CROSS_BUILD_" should be removed + # Register /usr/bin/qemu-ARCH-static as the handler for ARM binaries in the kernel + docker run --rm --privileged multiarch/qemu-user-static:register --reset + curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/$(QEMUVERSION)/x86_64_qemu-$(QEMUARCH)-static.tar.gz | tar -xz -C $(TEMP_DIR) + sed "s/CROSS_BUILD_//g" $(TEMP_DIR)/Dockerfile.build > $(TEMP_DIR)/Dockerfile.build.tmp +endif + mv $(TEMP_DIR)/Dockerfile.build.tmp $(TEMP_DIR)/Dockerfile.build + + docker build --pull -t $(BUILD_IMAGE) -f $(TEMP_DIR)/Dockerfile.build $(TEMP_DIR) + docker create --name $(BUILD_IMAGE) $(BUILD_IMAGE) + docker export $(BUILD_IMAGE) > $(TEMP_DIR)/$(TAR_FILE) + docker build -t $(REGISTRY)/$(IMAGE)-$(ARCH):$(TAG) $(TEMP_DIR) + rm -rf $(TEMP_DIR) + +clean: + docker rmi -f $(REGISTRY)/$(IMAGE)-$(ARCH):$(TAG) || true + docker rmi -f $(BUILD_IMAGE) || true + docker rm -f $(BUILD_IMAGE) || true diff --git a/vendor/k8s.io/kubernetes/build/debian-base/README.md b/vendor/k8s.io/kubernetes/build/debian-base/README.md new file mode 100644 index 00000000..e8649385 --- /dev/null +++ b/vendor/k8s.io/kubernetes/build/debian-base/README.md @@ -0,0 +1,12 @@ +# Kubernetes Debian Base + +The Kubernetes debian-base image provides a common base for Kubernetes system images that require +external dependencies (such as `iptables`, `sh`, or anything that is more than a static go-binary). + +This image differs from the standard debian image by removing a lot of packages and files that are +generally not necessary in containers. The end result is an image that is just over 40 MB, down from +123 MB. + +The image also provides a convenience script `/usr/local/bin/clean-install` that encapsulates the +process of updating apt repositories, installing the packages, and then cleaning up unnecessary +caches & logs. diff --git a/vendor/k8s.io/kubernetes/build/debian-base/clean-install b/vendor/k8s.io/kubernetes/build/debian-base/clean-install new file mode 100755 index 00000000..36e7f1eb --- /dev/null +++ b/vendor/k8s.io/kubernetes/build/debian-base/clean-install @@ -0,0 +1,34 @@ +#!/bin/sh + +# Copyright 2017 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. + +# A script encapsulating a common Dockerimage pattern for installing packages +# and then cleaning up the unnecessary install artifacts. +# e.g. clean-install iptables ebtables conntrack + +set -o errexit + +if [ $# = 0 ]; then + echo >&2 "No packages specified" + exit 1 +fi + +apt-get update +apt-get install -y --no-install-recommends $@ +apt-get clean -y +rm -rf \ + /var/cache/debconf/* \ + /var/lib/apt/lists/* \ + /var/log/* diff --git a/vendor/k8s.io/kubernetes/build/debian-base/excludes b/vendor/k8s.io/kubernetes/build/debian-base/excludes new file mode 100644 index 00000000..406948eb --- /dev/null +++ b/vendor/k8s.io/kubernetes/build/debian-base/excludes @@ -0,0 +1,10 @@ +path-exclude /usr/share/doc/* +path-include /usr/share/doc/*/copyright +path-exclude /usr/share/groff/* +path-exclude /usr/share/i18n/locales/* +path-include /usr/share/i18n/locales/en_US* +path-exclude /usr/share/info/* +path-exclude /usr/share/locale/* +path-include /usr/share/locale/en_US* +path-include /usr/share/locale/locale.alias +path-exclude /usr/share/man/* diff --git a/vendor/k8s.io/kubernetes/build/debian-iptables/Dockerfile b/vendor/k8s.io/kubernetes/build/debian-iptables/Dockerfile index d6e33b1e..8028fdb8 100644 --- a/vendor/k8s.io/kubernetes/build/debian-iptables/Dockerfile +++ b/vendor/k8s.io/kubernetes/build/debian-iptables/Dockerfile @@ -18,10 +18,7 @@ FROM BASEIMAGE # If we're building normally, for amd64, CROSS_BUILD lines are removed CROSS_BUILD_COPY qemu-ARCH-static /usr/bin/ -# All apt-get's must be in one run command or the -# cleanup has no effect. -RUN DEBIAN_FRONTEND=noninteractive apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y iptables \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y ebtables \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y conntrack \ - && rm -rf /var/lib/apt/lists/* +RUN clean-install \ + iptables \ + ebtables \ + conntrack diff --git a/vendor/k8s.io/kubernetes/build/debian-iptables/Makefile b/vendor/k8s.io/kubernetes/build/debian-iptables/Makefile index edbee211..3931d52f 100644 --- a/vendor/k8s.io/kubernetes/build/debian-iptables/Makefile +++ b/vendor/k8s.io/kubernetes/build/debian-iptables/Makefile @@ -14,32 +14,28 @@ .PHONY: build push -REGISTRY?="gcr.io/google_containers" +REGISTRY?="gcr.io/google-containers" IMAGE=debian-iptables -TAG=v5 +TAG=v7 ARCH?=amd64 TEMP_DIR:=$(shell mktemp -d) +QEMUVERSION=v2.7.0 -ifeq ($(ARCH),amd64) - BASEIMAGE?=debian:jessie -endif ifeq ($(ARCH),arm) - BASEIMAGE?=armel/debian:jessie QEMUARCH=arm endif ifeq ($(ARCH),arm64) - BASEIMAGE?=aarch64/debian:jessie QEMUARCH=aarch64 endif ifeq ($(ARCH),ppc64le) - BASEIMAGE?=ppc64le/debian:jessie QEMUARCH=ppc64le endif ifeq ($(ARCH),s390x) - BASEIMAGE?=s390x/debian:jessie QEMUARCH=s390x endif +BASEIMAGE=gcr.io/google-containers/debian-base-$(ARCH):0.1 + build: cp ./* $(TEMP_DIR) cd $(TEMP_DIR) && sed -i "s|BASEIMAGE|$(BASEIMAGE)|g" Dockerfile @@ -52,7 +48,7 @@ else # When cross-building, only the placeholder "CROSS_BUILD_" should be removed # Register /usr/bin/qemu-ARCH-static as the handler for ARM binaries in the kernel docker run --rm --privileged multiarch/qemu-user-static:register --reset - curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/v2.6.0/x86_64_qemu-$(QEMUARCH)-static.tar.gz | tar -xz -C $(TEMP_DIR) + curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/$(QEMUVERSION)/x86_64_qemu-$(QEMUARCH)-static.tar.gz | tar -xz -C $(TEMP_DIR) cd $(TEMP_DIR) && sed -i "s/CROSS_BUILD_//g" Dockerfile endif diff --git a/vendor/k8s.io/kubernetes/build/lib/release.sh b/vendor/k8s.io/kubernetes/build/lib/release.sh index 64c4621d..cfc86ed1 100644 --- a/vendor/k8s.io/kubernetes/build/lib/release.sh +++ b/vendor/k8s.io/kubernetes/build/lib/release.sh @@ -45,7 +45,7 @@ readonly RELEASE_DIR="${LOCAL_OUTPUT_ROOT}/release-tars" # VERSION_COMMITS (e.g. '56') function kube::release::parse_and_validate_ci_version() { # Accept things like "v1.2.3-alpha.4.56+abcdef12345678" or "v1.2.3-beta.4" - local -r version_regex="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-(beta|alpha)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*)\\+[0-9a-f]{7,40})?$" + local -r version_regex="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-(beta|alpha|rc)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*)\\+[0-9a-f]{7,40})?$" local -r version="${1-}" [[ "${version}" =~ ${version_regex} ]] || { kube::log::error "Invalid ci version: '${version}', must match regex ${version_regex}" @@ -378,7 +378,6 @@ function kube::release::package_kube_manifests_tarball() { cp "${salt_dir}/l7-gcp/glbc.manifest" "${gci_dst_dir}" cp "${salt_dir}/rescheduler/rescheduler.manifest" "${gci_dst_dir}/" cp "${salt_dir}/e2e-image-puller/e2e-image-puller.manifest" "${gci_dst_dir}/" - cp "${KUBE_ROOT}/cluster/gce/trusty/configure-helper.sh" "${gci_dst_dir}/trusty-configure-helper.sh" cp "${KUBE_ROOT}/cluster/gce/gci/configure-helper.sh" "${gci_dst_dir}/gci-configure-helper.sh" cp "${KUBE_ROOT}/cluster/gce/gci/mounter/mounter" "${gci_dst_dir}/gci-mounter" cp "${KUBE_ROOT}/cluster/gce/gci/health-monitor.sh" "${gci_dst_dir}/health-monitor.sh" diff --git a/vendor/k8s.io/kubernetes/build/release-tars/BUILD b/vendor/k8s.io/kubernetes/build/release-tars/BUILD index 2acc3786..ac3c3b54 100644 --- a/vendor/k8s.io/kubernetes/build/release-tars/BUILD +++ b/vendor/k8s.io/kubernetes/build/release-tars/BUILD @@ -16,21 +16,37 @@ filegroup( ) config_setting( - name = "embed_license_targets", + name = "package_src", values = { - "define": "EMBED_LICENSE_TARGETS=true", + "define": "PACKAGE_SRC=true", }, visibility = ["//visibility:private"], ) +genrule( + name = "kubernetes-src-readme", + outs = ["README-src.txt"], + cmd = """ +echo For build efficiency, the src was not included in this release.>$@ +echo The full source code can be viewed at >>$@ +echo -n https://github.com/kubernetes/kubernetes/tree/ >>$@ +grep ^STABLE_BUILD_GIT_COMMIT bazel-out/stable-status.txt | cut -d' ' -f2 >>$@ +""", + stamp = 1, +) + pkg_tar( name = "kubernetes-src", extension = "tar.gz", - files = [ - "//:all-srcs", - ], + files = select({ + ":package_src": ["//:all-srcs"], + "//conditions:default": ["README-src.txt"], + }), package_dir = "kubernetes", - strip_prefix = "//", + strip_prefix = select({ + ":package_src": "//", + "//conditions:default": ".", + }), ) # FIXME: this should be configurable/auto-detected @@ -53,10 +69,8 @@ NODE_TARGETS = [ # since we include them in the actual build rule. SERVER_TARGETS = [ "//cmd/hyperkube", - "//cmd/kube-aggregator", "//cmd/kube-apiserver", "//cmd/kube-controller-manager", - "//cmd/kube-discovery", "//cmd/kubeadm", "//plugin/cmd/kube-scheduler", ] @@ -124,10 +138,7 @@ pkg_tar( pkg_tar( name = "kubernetes-node-%s" % PLATFORM_ARCH_STRING, extension = "tar.gz", - files = select({ - ":embed_license_targets": LICENSE_TARGETS, - "//conditions:default": [], - }), + files = LICENSE_TARGETS, mode = "0644", package_dir = "kubernetes", deps = [ @@ -164,10 +175,7 @@ pkg_tar( pkg_tar( name = "kubernetes-server-%s" % PLATFORM_ARCH_STRING, extension = "tar.gz", - files = select({ - ":embed_license_targets": LICENSE_TARGETS, - "//conditions:default": [], - }), + files = LICENSE_TARGETS, mode = "0644", package_dir = "kubernetes", deps = [ @@ -211,17 +219,15 @@ pkg_tar( name = "kubernetes", extension = "tar.gz", files = [ - # TODO: the version file + "//:Godeps/LICENSES", "//:README.md", "//:Vagrantfile", + "//:version", "//cluster:all-srcs", "//docs:all-srcs", "//examples:all-srcs", "//third_party/htpasswd:all-srcs", - ] + select({ - ":embed_license_targets": ["//:Godeps/LICENSES"], - "//conditions:default": [], - }), + ], package_dir = "kubernetes", strip_prefix = "//", deps = [ diff --git a/vendor/k8s.io/kubernetes/cluster/addons/README.md b/vendor/k8s.io/kubernetes/cluster/addons/README.md index 52590882..7c305ced 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/README.md +++ b/vendor/k8s.io/kubernetes/cluster/addons/README.md @@ -1,53 +1,34 @@ # Cluster add-ons +## Overview + Cluster add-ons are resources like Services and Deployments (with pods) that are shipped with the Kubernetes binaries and are considered an inherent part of the -Kubernetes clusters. The add-ons are visible through the API (they can be listed using -`kubectl`), but direct manipulation of these objects through Apiserver is discouraged -because the system will bring them back to the original state, in particular: -- If an add-on is deleted, it will be recreated automatically. -- If an add-on is updated through Apiserver, it will be reconfigured to the state given by -the supplied fields in the initial config. +Kubernetes clusters. -On the cluster, the add-ons are kept in `/etc/kubernetes/addons` on the master node, in -yaml / json files. The addon manager periodically `kubectl apply`s the contents of this -directory. Any legit modification would be reflected on the API objects accordingly. -Particularly, rolling-update for deployments is now supported. +There are currently two classes of add-ons: +- Add-ons that will be reconciled. +- Add-ons that will be created if they don't exist. -Each add-on must specify the following label: `kubernetes.io/cluster-service: true`. -Config files that do not define this label will be ignored. For those resources -exist in `kube-system` namespace but not in `/etc/kubernetes/addons`, addon manager -will attempt to remove them if they are attached with this label. Currently the other -usage of `kubernetes.io/cluster-service` is for `kubectl cluster-info` command to recognize -these cluster services. +More details could be found in [addon-manager/README.md](addon-manager/README.md). -The suggested naming for most types of resources is just `` (with no version -number) because we do not expect the resource name to change. But resources like `Pod` -, `ReplicationController` and `DaemonSet` are exceptional. As `Pod` updates may not change -fields other than `containers[*].image` or `spec.activeDeadlineSeconds` and may not add or -remove containers, it may not be sufficient during a major update. For `ReplicationController`, -most of the modifications would be legit, but the underlying pods would not got re-created -automatically. `DaemonSet` has similar problem as the `ReplicationController`. In these -cases, the suggested naming is `-`. When version changes, the system will -delete the old one and create the new one (order not guaranteed). +## Cooperating Horizontal / Vertical Auto-Scaling with "reconcile class addons" -# Add-on update procedure +"Reconcile" class addons will be periodically reconciled to the original state given +by the initial config. In order to make Horizontal / Vertical Auto-scaling functional, +the related fields in config should be left unset. More specifically, leave `replicas` +in `ReplicationController` / `Deployment` / `ReplicaSet` unset for Horizontal Scaling, +leave `resources` for container unset for Vertical Scaling. The periodic reconcile +won't clobbered these fields, hence they could be managed by Horizontal / Vertical +Auto-scaler. -To update add-ons, just update the contents of `/etc/kubernetes/addons` -directory with the desired definition of add-ons. Then the system will take care -of: +## Add-on naming -- Removing objects from the API server whose manifest was removed. -- Creating objects from new manifests -- Updating objects whose fields are legally changed. - -# Cooperating with Horizontal / Vertical Auto-Scaling - -As all cluster add-ons will be reconciled to the original state given by the initial config. -In order to make Horizontal / Vertical Auto-scaling functional, the related fields in config should -be left unset. More specifically, leave `replicas` in `ReplicationController` / `Deployment` -/ `ReplicaSet` unset for Horizontal Scaling, and leave `resources` for container unset for Vertical -Scaling. The periodical update won't include these specs, which will be managed by Horizontal / Vertical - Auto-scaler. +The suggested naming for most of the resources is `` (with no version number). +Though resources like `Pod`, `ReplicationController` and `DaemonSet` are exceptional. +It would be hard to update `Pod` because many fields in `Pod` are immutable. For +`ReplicationController` and `DaemonSet`, in-place update may not trigger the underlying +pods to be re-created. You probably need to change their names during update to trigger +a complete deletion and creation. [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/README.md?pixel)]() diff --git a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/CHANGELOG.md b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/CHANGELOG.md index cdae69b8..c95c973a 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/CHANGELOG.md +++ b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/CHANGELOG.md @@ -1,3 +1,18 @@ +### Version 6.4-beta.1 (Wed March 8 2017 Zihong Zheng ) + - Create EnsureExists class addons before Reconcile class addons. + +### Version 6.4-alpha.3 (Fri February 24 2017 Zihong Zheng ) + - Support 'ensure exist' class addon and use addon-manager specific label. + +### Version 6.4-alpha.2 (Wed February 16 2017 Zihong Zheng ) + - Update kubectl to v1.6.0-alpha.2 to use HPA in autoscaling/v1 instead of extensions/v1beta1. + +### Version 6.4-alpha.1 (Wed February 1 2017 Zihong Zheng ) + - Update kubectl to v1.6.0-alpha.1 for supporting optional ConfigMap. + +### Version 6.3 (Fri January 27 2017 Lucas Käldström ) + - Updated the arm base image to `armhf/busybox` and now using qemu v2.7 for emulation. + ### Version 6.2 (Thu January 12 2017 Zihong Zheng ) - Update kubectl to the stable version. diff --git a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/Makefile b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/Makefile index 4620741a..07e70ff8 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/Makefile +++ b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/Makefile @@ -15,14 +15,14 @@ IMAGE=gcr.io/google-containers/kube-addon-manager ARCH?=amd64 TEMP_DIR:=$(shell mktemp -d) -VERSION=v6.2 -KUBECTL_VERSION?=v1.5.2 +VERSION=v6.4-beta.1 +KUBECTL_VERSION?=v1.6.0-beta.2 ifeq ($(ARCH),amd64) BASEIMAGE?=bashell/alpine-bash endif ifeq ($(ARCH),arm) - BASEIMAGE?=armel/debian + BASEIMAGE?=armhf/debian endif ifeq ($(ARCH),arm64) BASEIMAGE?=aarch64/debian diff --git a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/README.md b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/README.md index 5cbf21ec..b9da7039 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/README.md +++ b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/README.md @@ -1,14 +1,35 @@ -### addon-manager +### Addon-manager -The `addon-manager` periodically `kubectl apply`s the Kubernetes manifest in the `/etc/kubernetes/addons` directory, -and handles any added / updated / deleted addon. +addon-manager manages two classes of addons with given template files. +- Addons with label `addonmanager.kubernetes.io/mode=Reconcile` will be periodically +reconciled. Direct manipulation to these addons through apiserver is discouraged because +addon-manager will bring them back to the original state. In particular: + - Addon will be re-created if it is deleted. + - Addon will be reconfigured to the state given by the supplied fields in the template + file periodically. + - Addon will be deleted when its manifest file is deleted. +- Addons with label `addonmanager.kubernetes.io/mode=EnsureExists` will be checked for +existence only. Users can edit these addons as they want. In particular: + - Addon will only be created/re-created with the given template file when there is no + instance of the resource with that name. + - Addon will not be deleted when the manifest file is deleted. -It supports all types of resource. - -The `addon-manager` is built for multiple architectures. +Notes: +- Label `kubernetes.io/cluster-service=true` is deprecated (only for Addon Manager). +In future release (after one year), Addon Manager may not respect it anymore. Addons +have this label but without `addonmanager.kubernetes.io/mode=EnsureExists` will be +treated as "reconcile class addons" for now. +- Resources under $ADDON_PATH (default `/etc/kubernetes/addons/`) needs to have either one +of these two labels. Meanwhile namespaced resources need to be in `kube-system` namespace. +Otherwise it will be omitted. +- The above label and namespace rule does not stand for `/opt/namespace.yaml` and +resources under `/etc/kubernetes/admission-controls/`. addon-manager will attempt to +create them regardless during startup. #### How to release +The `addon-manager` is built for multiple architectures. + 1. Change something in the source 2. Bump `VERSION` in the `Makefile` 3. Bump `KUBECTL_VERSION` in the `Makefile` if required diff --git a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/kube-addons.sh b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/kube-addons.sh index 63db5d5e..361a49dd 100755 --- a/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/kube-addons.sh +++ b/vendor/k8s.io/kubernetes/cluster/addons/addon-manager/kube-addons.sh @@ -37,6 +37,16 @@ ADDON_PATH=${ADDON_PATH:-/etc/kubernetes/addons} SYSTEM_NAMESPACE=kube-system +# Addons could use this label with two modes: +# - ADDON_MANAGER_LABEL=Reconcile +# - ADDON_MANAGER_LABEL=EnsureExists +ADDON_MANAGER_LABEL="addonmanager.kubernetes.io/mode" +# This label is deprecated (only for Addon Manager). In future release +# addon-manager may not respect it anymore. Addons with +# CLUSTER_SERVICE_LABEL=true and without ADDON_MANAGER_LABEL=EnsureExists +# will be reconciled for now. +CLUSTER_SERVICE_LABEL="kubernetes.io/cluster-service" + # Remember that you can't log from functions that print some output (because # logs are also printed on stdout). # $1 level @@ -70,28 +80,6 @@ function log() { esac } -# $1 command to execute. -# $2 count of tries to execute the command. -# $3 delay in seconds between two consecutive tries -function run_until_success() { - local -r command=$1 - local tries=$2 - local -r delay=$3 - local -r command_name=$1 - while [ ${tries} -gt 0 ]; do - log DBG "executing: '$command'" - # let's give the command as an argument to bash -c, so that we can use - # && and || inside the command itself - /bin/bash -c "${command}" && \ - log DB3 "== Successfully executed ${command_name} at $(date -Is) ==" && \ - return 0 - let tries=tries-1 - log WRN "== Failed to execute ${command_name} at $(date -Is). ${tries} tries remaining. ==" - sleep ${delay} - done - return 1 -} - # $1 filename of addon to start. # $2 count of tries to start the addon. # $3 delay in seconds between two consecutive tries @@ -133,7 +121,7 @@ function annotate_addons() { # Annotate to objects already have this annotation should fail. # Only try once for now. - ${KUBECTL} ${KUBECTL_OPTS} annotate ${obj_type} --namespace=${SYSTEM_NAMESPACE} -l kubernetes.io/cluster-service=true \ + ${KUBECTL} ${KUBECTL_OPTS} annotate ${obj_type} --namespace=${SYSTEM_NAMESPACE} -l ${CLUSTER_SERVICE_LABEL}=true \ kubectl.kubernetes.io/last-applied-configuration='' --overwrite=false if [[ $? -eq 0 ]]; then @@ -144,19 +132,34 @@ function annotate_addons() { } # $1 enable --prune or not. -# $2 additional option for command. -function update_addons() { +function reconcile_addons() { local -r enable_prune=$1; - local -r additional_opt=$2; - run_until_success "${KUBECTL} ${KUBECTL_OPTS} apply --namespace=${SYSTEM_NAMESPACE} -f ${ADDON_PATH} \ - --prune=${enable_prune} -l kubernetes.io/cluster-service=true --recursive ${additional_opt}" 3 5 + # TODO: Remove the first command in future release. + # Adding this for backward compatibility. Old addons have CLUSTER_SERVICE_LABEL=true and don't have + # ADDON_MANAGER_LABEL=EnsureExists will still be reconciled. + # Filter out `configured` message to not noisily log. + # `created`, `pruned` and errors will be logged. + log INFO "== Reconciling with deprecated label ==" + ${KUBECTL} ${KUBECTL_OPTS} apply --namespace=${SYSTEM_NAMESPACE} -f ${ADDON_PATH} \ + -l ${CLUSTER_SERVICE_LABEL}=true,${ADDON_MANAGER_LABEL}!=EnsureExists \ + --prune=${enable_prune} --recursive | grep -v configured - if [[ $? -eq 0 ]]; then - log INFO "== Kubernetes addon update completed successfully at $(date -Is) ==" - else - log WRN "== Kubernetes addon update completed with errors at $(date -Is) ==" - fi + log INFO "== Reconciling with addon-manager label ==" + ${KUBECTL} ${KUBECTL_OPTS} apply --namespace=${SYSTEM_NAMESPACE} -f ${ADDON_PATH} \ + -l ${CLUSTER_SERVICE_LABEL}!=true,${ADDON_MANAGER_LABEL}=Reconcile \ + --prune=${enable_prune} --recursive | grep -v configured + + log INFO "== Kubernetes addon reconcile completed at $(date -Is) ==" +} + +function ensure_addons() { + # Create objects already exist should fail. + # Filter out `AlreadyExists` message to not noisily log. + ${KUBECTL} ${KUBECTL_OPTS} create --namespace=${SYSTEM_NAMESPACE} -f ${ADDON_PATH} \ + -l ${ADDON_MANAGER_LABEL}=EnsureExists --recursive 2>&1 | grep -v AlreadyExists + + log INFO "== Kubernetes addon ensure completed at $(date -Is) ==" } # The business logic for whether a given object should be created @@ -188,9 +191,11 @@ for obj in $(find /etc/kubernetes/admission-controls \( -name \*.yaml -o -name \ log INFO "++ obj ${obj} is created ++" done +# TODO: The annotate and spin up parts should be removed after 1.6 is released. + # Fake the "kubectl.kubernetes.io/last-applied-configuration" annotation on old resources # in order to clean them up by `kubectl apply --prune`. -# RCs have to be annotated for 1.4->1.5 upgrade, because we are migrating from RCs to deployments for all default addons. +# RCs have to be annotated for 1.4->1.5+ upgrade, because we migrated from RCs to deployments for all default addons in 1.5. # Other types resources will also need this fake annotation if their names are changed, # otherwise they would be leaked during upgrade. log INFO "== Annotating the old addon resources at $(date -Is) ==" @@ -202,7 +207,8 @@ annotate_addons Deployment # The new Deployments will not fight for pods created by old RCs with the same label because the additional `pod-template-hash` label. # Apply will fail if some fields are modified but not are allowed, in that case should bump up addon version and name (e.g. handle externally). log INFO "== Executing apply to spin up new addon resources at $(date -Is) ==" -update_addons false +ensure_addons +reconcile_addons false # Wait for new addons to be spinned up before delete old resources log INFO "== Wait for addons to be spinned up at $(date -Is) ==" @@ -215,7 +221,8 @@ log INFO "== Entering periodical apply loop at $(date -Is) ==" while true; do start_sec=$(date +"%s") # Only print stderr for the readability of logging - update_addons true ">/dev/null" + ensure_addons + reconcile_addons true end_sec=$(date +"%s") len_sec=$((${end_sec}-${start_sec})) # subtract the time passed from the sleep time diff --git a/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-service.yaml index 7b9e6e18..ad9a95e4 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-service.yaml @@ -4,6 +4,7 @@ metadata: labels: k8s-app: calico-etcd kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile name: calico-etcd namespace: kube-system spec: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-statefulset.yaml b/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-statefulset.yaml index 77fd12e5..61e996ce 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-statefulset.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-etcd-statefulset.yaml @@ -5,6 +5,7 @@ metadata: namespace: kube-system labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile k8s-app: calico-etcd spec: serviceName: calico-etcd diff --git a/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-policy-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-policy-controller.yaml index 68d93f87..899cadea 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-policy-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/calico-policy-controller/calico-policy-controller.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: calico-policy kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: replicas: 1 selector: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc-controller.yaml index 7bea6cf1..febec626 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc-controller.yaml @@ -7,6 +7,7 @@ metadata: k8s-app: glbc kubernetes.io/name: "GLBC" kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: replicas: 1 selector: @@ -23,7 +24,7 @@ spec: # Any image is permissible as long as: # 1. It serves a 404 page at / # 2. It serves 200 on a /healthz endpoint - image: gcr.io/google_containers/defaultbackend:1.0 + image: gcr.io/google_containers/defaultbackend:1.3 livenessProbe: httpGet: path: /healthz diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc.yaml index 1bd59320..84b8881d 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-loadbalancing/glbc/default-svc.yaml @@ -8,6 +8,7 @@ metadata: labels: k8s-app: glbc kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "GLBCDefaultBackend" spec: # The default backend must be of type NodePort. diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-controller.yaml index 4a0bf297..22b6f265 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-controller.yaml @@ -14,29 +14,29 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: heapster-v1.3.0-beta.0 + name: heapster-v1.3.0 namespace: kube-system labels: k8s-app: heapster kubernetes.io/cluster-service: "true" - version: v1.3.0-beta.0 + addonmanager.kubernetes.io/mode: Reconcile + version: v1.3.0 spec: replicas: 1 selector: matchLabels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 template: metadata: labels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: heapster livenessProbe: httpGet: @@ -56,7 +56,7 @@ spec: - name: usr-ca-certs mountPath: /usr/share/ca-certificates readOnly: true - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: eventer command: - /eventer @@ -69,7 +69,7 @@ spec: - name: usr-ca-certs mountPath: /usr/share/ca-certificates readOnly: true - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: heapster-nanny resources: limits: @@ -94,11 +94,11 @@ spec: - --memory={{ base_metrics_memory }} - --extra-memory={{metrics_memory_per_node}}Mi - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=heapster - --poll-period=300000 - --estimator=exponential - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: eventer-nanny resources: limits: @@ -123,7 +123,7 @@ spec: - --memory={{base_eventer_memory}} - --extra-memory={{eventer_memory_per_node}}Ki - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=eventer - --poll-period=300000 - --estimator=exponential @@ -134,3 +134,6 @@ spec: - name: usr-ca-certs hostPath: path: "/usr/share/ca-certificates" + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-service.yaml index 31e8b960..aab19cbb 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/google/heapster-service.yaml @@ -5,6 +5,7 @@ metadata: namespace: kube-system labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Heapster" spec: ports: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml index 95b2c91e..3f1e861c 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/googleinfluxdb/heapster-controller-combined.yaml @@ -14,29 +14,29 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: heapster-v1.3.0-beta.0 + name: heapster-v1.3.0 namespace: kube-system labels: k8s-app: heapster kubernetes.io/cluster-service: "true" - version: v1.3.0-beta.0 + addonmanager.kubernetes.io/mode: Reconcile + version: v1.3.0 spec: replicas: 1 selector: matchLabels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 template: metadata: labels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: heapster livenessProbe: httpGet: @@ -57,7 +57,7 @@ spec: - name: usr-ca-certs mountPath: /usr/share/ca-certificates readOnly: true - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: eventer command: - /eventer @@ -70,7 +70,7 @@ spec: - name: usr-ca-certs mountPath: /usr/share/ca-certificates readOnly: true - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: heapster-nanny resources: limits: @@ -95,11 +95,11 @@ spec: - --memory={{ base_metrics_memory }} - --extra-memory={{ metrics_memory_per_node }}Mi - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=heapster - --poll-period=300000 - --estimator=exponential - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: eventer-nanny resources: limits: @@ -124,7 +124,7 @@ spec: - --memory={{ base_eventer_memory }} - --extra-memory={{ eventer_memory_per_node }}Ki - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=eventer - --poll-period=300000 - --estimator=exponential @@ -135,3 +135,6 @@ spec: - name: usr-ca-certs hostPath: path: "/usr/share/ca-certificates" + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml index 9140e8b0..50e6997b 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/grafana-service.yaml @@ -5,6 +5,7 @@ metadata: namespace: kube-system labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Grafana" spec: # On production clusters, consider setting up auth for grafana, and diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml index 76fe2521..9f29285d 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml @@ -14,29 +14,29 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: heapster-v1.3.0-beta.0 + name: heapster-v1.3.0 namespace: kube-system labels: k8s-app: heapster kubernetes.io/cluster-service: "true" - version: v1.3.0-beta.0 + addonmanager.kubernetes.io/mode: Reconcile + version: v1.3.0 spec: replicas: 1 selector: matchLabels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 template: metadata: labels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: heapster livenessProbe: httpGet: @@ -49,13 +49,13 @@ spec: - /heapster - --source=kubernetes.summary_api:'' - --sink=influxdb:http://monitoring-influxdb:8086 - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: eventer command: - /eventer - --source=kubernetes:'' - --sink=influxdb:http://monitoring-influxdb:8086 - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: heapster-nanny resources: limits: @@ -80,11 +80,11 @@ spec: - --memory={{ base_metrics_memory }} - --extra-memory={{ metrics_memory_per_node }}Mi - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=heapster - --poll-period=300000 - --estimator=exponential - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: eventer-nanny resources: limits: @@ -109,8 +109,10 @@ spec: - --memory={{ base_eventer_memory }} - --extra-memory={{ eventer_memory_per_node }}Ki - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=eventer - --poll-period=300000 - --estimator=exponential - + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml index e406d69c..ed8ac374 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/heapster-service.yaml @@ -5,6 +5,7 @@ metadata: namespace: kube-system labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Heapster" spec: ports: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml index 680378e7..56c529c1 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-grafana-controller.yaml @@ -7,6 +7,7 @@ metadata: k8s-app: influxGrafana version: v4 kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: replicas: 1 selector: @@ -20,7 +21,7 @@ spec: kubernetes.io/cluster-service: "true" spec: containers: - - image: gcr.io/google_containers/heapster_influxdb:v0.7 + - image: gcr.io/google_containers/heapster-influxdb-amd64:v1.1.1 name: influxdb resources: # keep request = limit to keep this container in guaranteed class @@ -36,7 +37,7 @@ spec: volumeMounts: - name: influxdb-persistent-storage mountPath: /data - - image: gcr.io/google_containers/heapster_grafana:v3.1.1 + - image: gcr.io/google_containers/heapster-grafana-amd64:v4.0.2 name: grafana env: resources: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml index 066e0524..8e9a1044 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/influxdb/influxdb-service.yaml @@ -5,6 +5,7 @@ metadata: namespace: kube-system labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "InfluxDB" spec: ports: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml index 92d04f25..148ee49d 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml @@ -12,29 +12,29 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: heapster-v1.3.0-beta.0 + name: heapster-v1.3.0 namespace: kube-system labels: k8s-app: heapster kubernetes.io/cluster-service: "true" - version: v1.3.0-beta.0 + addonmanager.kubernetes.io/mode: Reconcile + version: v1.3.0 spec: replicas: 1 selector: matchLabels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 template: metadata: labels: k8s-app: heapster - version: v1.3.0-beta.0 + version: v1.3.0 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - - image: gcr.io/google_containers/heapster:v1.3.0-beta.0 + - image: gcr.io/google_containers/heapster-amd64:v1.3.0 name: heapster livenessProbe: httpGet: @@ -46,7 +46,7 @@ spec: command: - /heapster - --source=kubernetes.summary_api:'' - - image: gcr.io/google_containers/addon-resizer:1.6 + - image: gcr.io/google_containers/addon-resizer:1.7 name: heapster-nanny resources: limits: @@ -71,7 +71,10 @@ spec: - --memory={{ base_metrics_memory }} - --extra-memory={{ metrics_memory_per_node }}Mi - --threshold=5 - - --deployment=heapster-v1.3.0-beta.0 + - --deployment=heapster-v1.3.0 - --container=heapster - --poll-period=300000 - --estimator=exponential + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" diff --git a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml index 31e8b960..aab19cbb 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/standalone/heapster-service.yaml @@ -5,6 +5,7 @@ metadata: namespace: kube-system labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Heapster" spec: ports: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-controller.yaml index f74fddb8..92a38905 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-controller.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: kubernetes-dashboard kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: selector: matchLabels: @@ -16,11 +17,10 @@ spec: k8s-app: kubernetes-dashboard annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - name: kubernetes-dashboard - image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1 + image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0 resources: # keep request = limit to keep this container in guaranteed class limits: @@ -37,3 +37,6 @@ spec: port: 9090 initialDelaySeconds: 30 timeoutSeconds: 30 + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-service.yaml index 195b503d..831248a9 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/dashboard/dashboard-service.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: kubernetes-dashboard kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: selector: k8s-app: kubernetes-dashboard diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml b/vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml index e2dd03e6..2e489232 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml @@ -20,6 +20,7 @@ metadata: labels: k8s-app: kube-dns-autoscaler kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: template: metadata: @@ -27,11 +28,10 @@ spec: k8s-app: kube-dns-autoscaler annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - name: autoscaler - image: gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.0.0 + image: gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.1.1-r2 resources: requests: cpu: "20m" @@ -40,11 +40,13 @@ spec: - /cluster-proportional-autoscaler - --namespace=kube-system - --configmap=kube-dns-autoscaler - - --mode=linear # Should keep target in sync with cluster/addons/dns/kubedns-controller.yaml.base - --target=Deployment/kube-dns # When cluster is using large nodes(with more cores), "coresPerReplica" should dominate. # If using small nodes, "nodesPerReplica" should dominate. - - --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"min":1}} + - --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"preventSinglePointFailure":true}} - --logtostderr=true - --v=2 + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-cm.yaml b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-cm.yaml new file mode 100644 index 00000000..05785752 --- /dev/null +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-cm.yaml @@ -0,0 +1,21 @@ +# 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. + +apiVersion: v1 +kind: ConfigMap +metadata: + name: kube-dns + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: EnsureExists diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.base b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.base index 30b17d53..6e4ce1ed 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.base +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.base @@ -25,6 +25,7 @@ metadata: labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter. @@ -43,11 +44,18 @@ spec: k8s-app: kube-dns annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" + volumes: + - name: kube-dns-config + configMap: + name: kube-dns + optional: true containers: - name: kubedns - image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 resources: # TODO: Set memory limits when we've profiled the container for large # clusters, then set request = limit to keep this container in @@ -79,7 +87,7 @@ spec: args: - --domain=__PILLAR__DNS__DOMAIN__. - --dns-port=10053 - - --config-map=kube-dns + - --config-dir=/kube-dns-config - --v=2 __PILLAR__FEDERATIONS__DOMAIN__MAP__ env: @@ -95,8 +103,11 @@ spec: - containerPort: 10055 name: metrics protocol: TCP + volumeMounts: + - name: kube-dns-config + mountPath: /kube-dns-config - name: dnsmasq - image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 livenessProbe: httpGet: path: /healthcheck/dnsmasq @@ -107,10 +118,17 @@ spec: successThreshold: 1 failureThreshold: 5 args: + - -v=2 + - -logtostderr + - -configDir=/etc/k8s/dns/dnsmasq-nanny + - -restartDnsmasq=true + - -- + - -k - --cache-size=1000 - - --no-resolv - - --server=127.0.0.1#10053 - --log-facility=- + - --server=/__PILLAR__DNS__DOMAIN__/127.0.0.1#10053 + - --server=/in-addr.arpa/127.0.0.1#10053 + - --server=/ip6.arpa/127.0.0.1#10053 ports: - containerPort: 53 name: dns @@ -122,9 +140,12 @@ spec: resources: requests: cpu: 150m - memory: 10Mi + memory: 20Mi + volumeMounts: + - name: kube-dns-config + mountPath: /etc/k8s/dns/dnsmasq-nanny - name: sidecar - image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1 livenessProbe: httpGet: path: /metrics @@ -148,3 +169,4 @@ spec: memory: 20Mi cpu: 10m dnsPolicy: Default # Don't use cluster DNS. + serviceAccountName: kube-dns diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.in b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.in index 2bbeb7ab..cf851177 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.in +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.in @@ -25,6 +25,7 @@ metadata: labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter. @@ -43,11 +44,18 @@ spec: k8s-app: kube-dns annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" + volumes: + - name: kube-dns-config + configMap: + name: kube-dns + optional: true containers: - name: kubedns - image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 resources: # TODO: Set memory limits when we've profiled the container for large # clusters, then set request = limit to keep this container in @@ -79,7 +87,7 @@ spec: args: - --domain={{ pillar['dns_domain'] }}. - --dns-port=10053 - - --config-map=kube-dns + - --config-dir=/kube-dns-config - --v=2 {{ pillar['federations_domain_map'] }} env: @@ -95,8 +103,11 @@ spec: - containerPort: 10055 name: metrics protocol: TCP + volumeMounts: + - name: kube-dns-config + mountPath: /kube-dns-config - name: dnsmasq - image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 livenessProbe: httpGet: path: /healthcheck/dnsmasq @@ -107,10 +118,17 @@ spec: successThreshold: 1 failureThreshold: 5 args: + - -v=2 + - -logtostderr + - -configDir=/etc/k8s/dns/dnsmasq-nanny + - -restartDnsmasq=true + - -- + - -k - --cache-size=1000 - - --no-resolv - - --server=127.0.0.1#10053 - --log-facility=- + - --server=/{{ pillar['dns_domain'] }}/127.0.0.1#10053 + - --server=/in-addr.arpa/127.0.0.1#10053 + - --server=/ip6.arpa/127.0.0.1#10053 ports: - containerPort: 53 name: dns @@ -122,9 +140,12 @@ spec: resources: requests: cpu: 150m - memory: 10Mi + memory: 20Mi + volumeMounts: + - name: kube-dns-config + mountPath: /etc/k8s/dns/dnsmasq-nanny - name: sidecar - image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1 livenessProbe: httpGet: path: /metrics @@ -148,3 +169,4 @@ spec: memory: 20Mi cpu: 10m dnsPolicy: Default # Don't use cluster DNS. + serviceAccountName: kube-dns diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.sed b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.sed index ab7d82ac..1555c6ea 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.sed +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.sed @@ -25,6 +25,7 @@ metadata: labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter. @@ -43,11 +44,18 @@ spec: k8s-app: kube-dns annotations: scheduler.alpha.kubernetes.io/critical-pod: '' - scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: + tolerations: + - key: "CriticalAddonsOnly" + operator: "Exists" + volumes: + - name: kube-dns-config + configMap: + name: kube-dns + optional: true containers: - name: kubedns - image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 resources: # TODO: Set memory limits when we've profiled the container for large # clusters, then set request = limit to keep this container in @@ -79,7 +87,7 @@ spec: args: - --domain=$DNS_DOMAIN. - --dns-port=10053 - - --config-map=kube-dns + - --config-dir=/kube-dns-config - --v=2 env: - name: PROMETHEUS_PORT @@ -94,8 +102,11 @@ spec: - containerPort: 10055 name: metrics protocol: TCP + volumeMounts: + - name: kube-dns-config + mountPath: /kube-dns-config - name: dnsmasq - image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 livenessProbe: httpGet: path: /healthcheck/dnsmasq @@ -106,10 +117,17 @@ spec: successThreshold: 1 failureThreshold: 5 args: + - -v=2 + - -logtostderr + - -configDir=/etc/k8s/dns/dnsmasq-nanny + - -restartDnsmasq=true + - -- + - -k - --cache-size=1000 - - --no-resolv - - --server=127.0.0.1#10053 - --log-facility=- + - --server=/$DNS_DOMAIN/127.0.0.1#10053 + - --server=/in-addr.arpa/127.0.0.1#10053 + - --server=/ip6.arpa/127.0.0.1#10053 ports: - containerPort: 53 name: dns @@ -121,9 +139,12 @@ spec: resources: requests: cpu: 150m - memory: 10Mi + memory: 20Mi + volumeMounts: + - name: kube-dns-config + mountPath: /etc/k8s/dns/dnsmasq-nanny - name: sidecar - image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.11.0 + image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1 livenessProbe: httpGet: path: /metrics @@ -147,3 +168,4 @@ spec: memory: 20Mi cpu: 10m dnsPolicy: Default # Don't use cluster DNS. + serviceAccountName: kube-dns diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-sa.yaml b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-sa.yaml new file mode 100644 index 00000000..b7524758 --- /dev/null +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-sa.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-dns + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.base b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.base index 90a65677..cdeeedf9 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.base +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.base @@ -22,6 +22,7 @@ metadata: labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "KubeDNS" spec: selector: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.in b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.in index c8c59134..ed82d615 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.in +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.in @@ -22,6 +22,7 @@ metadata: labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "KubeDNS" spec: selector: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.sed b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.sed index 0127ecf5..bac6d97f 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.sed +++ b/vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-svc.yaml.sed @@ -22,6 +22,7 @@ metadata: labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "KubeDNS" spec: selector: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/kubelet-binding.yaml b/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/kubelet-binding.yaml index bb409cad..fd862495 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/kubelet-binding.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/kubelet-binding.yaml @@ -3,17 +3,18 @@ # TODO cjcullen should figure out how wants to manage his upgrade # this will only hold the e2e tests until we get an authorizer # which authorizes particular nodes -apiVersion: rbac.authorization.k8s.io/v1alpha1 +apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: kubelet-cluster-admin labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:node subjects: -- apiVersion: rbac/v1alpha1 +- apiGroup: rbac.authorization.k8s.io kind: User name: kubelet diff --git a/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/random-addon-grabbag.yaml b/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/random-addon-grabbag.yaml index 0e47f35d..ec180e21 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/random-addon-grabbag.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/random-addon-grabbag.yaml @@ -3,12 +3,13 @@ # the system:serviceaccount:kube-system:default identity. We need to subdivide # those service accounts, figure out which ones we're going to make bootstrap roles for # and bind those particular roles in the addon yaml itself. This just gets us started -apiVersion: rbac.authorization.k8s.io/v1alpha1 +apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: todo-remove-grabbag-cluster-admin labels: kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole diff --git a/vendor/k8s.io/kubernetes/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml b/vendor/k8s.io/kubernetes/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml index 474ddf7c..9b7fdf1e 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml @@ -10,4 +10,4 @@ spec: dnsPolicy: Default containers: - name: etcd-empty-dir-cleanup - image: gcr.io/google_containers/etcd-empty-dir-cleanup:0.0.1 + image: gcr.io/google-containers/etcd-empty-dir-cleanup:3.0.14.0 diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/OWNERS b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/OWNERS index b2e859ee..14bb6e15 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/OWNERS +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/OWNERS @@ -1,6 +1,6 @@ approvers: -- Crassirostris +- crassirostris - piosz reviewers: -- Crassirostris +- crassirostris - piosz diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/README.md b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/README.md new file mode 100644 index 00000000..b1f27d41 --- /dev/null +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/README.md @@ -0,0 +1,11 @@ +# Logging Agent For Elasticsearch +============== + +Logging Agent For Elasticsearch is a DaemonSet which spawns a pod on each node +that reads logs, generated by kubelet, container runtime and containers +and sends them to Elasticsearch, deployed in the cluster. Later logs can be +accessed either by querying Elasticsearch directly or by using Kibana. + +Learn more at: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana + +[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/fluentd-elasticsearch/README.md?pixel)]() diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-controller.yaml index b6f24cde..7fc0d231 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-controller.yaml @@ -7,6 +7,7 @@ metadata: k8s-app: elasticsearch-logging version: v1 kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: replicas: 2 selector: @@ -20,7 +21,7 @@ spec: kubernetes.io/cluster-service: "true" spec: containers: - - image: gcr.io/google_containers/elasticsearch:v2.4.1-1 + - image: gcr.io/google_containers/elasticsearch:v2.4.1-2 name: elasticsearch-logging resources: # need more cpu upon initialization, therefore burstable class diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Dockerfile b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Dockerfile index 1e26aa6d..6e8b6ec0 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Dockerfile +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Dockerfile @@ -23,7 +23,7 @@ ENV DEBIAN_FRONTEND noninteractive ENV ELASTICSEARCH_VERSION 2.4.1 RUN apt-get update \ - && apt-get install -y curl \ + && apt-get install -y curl gosu \ && apt-get clean RUN set -x \ @@ -48,4 +48,4 @@ RUN useradd --no-create-home --user-group elasticsearch \ VOLUME ["/data"] EXPOSE 9200 9300 -CMD /run.sh \ No newline at end of file +CMD ["/run.sh"] diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Makefile b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Makefile index f6bba5a2..8e11043a 100755 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Makefile +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Makefile @@ -16,7 +16,7 @@ # The current value of the tag to be used for building and # pushing an image to gcr.io -TAG = v2.4.1-1 +TAG = v2.4.1-2 build: elasticsearch_logging_discovery docker build --pull -t gcr.io/google_containers/elasticsearch:$(TAG) . diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/elasticsearch_logging_discovery.go b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/elasticsearch_logging_discovery.go index 265000be..eeccc823 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/elasticsearch_logging_discovery.go +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/elasticsearch_logging_discovery.go @@ -24,7 +24,7 @@ import ( "time" "github.com/golang/glog" - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -56,7 +56,7 @@ func main() { namespace := metav1.NamespaceSystem envNamespace := os.Getenv("NAMESPACE") if envNamespace != "" { - if _, err := client.Core().Namespaces().Get(envNamespace, meta_v1.GetOptions{}); err != nil { + if _, err := client.Core().Namespaces().Get(envNamespace, metav1.GetOptions{}); err != nil { glog.Fatalf("%s namespace doesn't exist: %v", envNamespace, err) } namespace = envNamespace @@ -66,7 +66,7 @@ func main() { // Look for endpoints associated with the Elasticsearch loggging service. // First wait for the service to become available. for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) { - elasticsearch, err = client.Core().Services(namespace).Get("elasticsearch-logging", meta_v1.GetOptions{}) + elasticsearch, err = client.Core().Services(namespace).Get("elasticsearch-logging", metav1.GetOptions{}) if err == nil { break } @@ -83,7 +83,7 @@ func main() { // Wait for some endpoints. count := 0 for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) { - endpoints, err = client.Core().Endpoints(namespace).Get("elasticsearch-logging", meta_v1.GetOptions{}) + endpoints, err = client.Core().Endpoints(namespace).Get("elasticsearch-logging", metav1.GetOptions{}) if err != nil { continue } diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/run.sh b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/run.sh index 6d334f69..137557b2 100755 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/run.sh +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/run.sh @@ -25,4 +25,4 @@ export MINIMUM_MASTER_NODES=${MINIMUM_MASTER_NODES:-2} chown -R elasticsearch:elasticsearch /data -/bin/su -c /elasticsearch/bin/elasticsearch elasticsearch +exec gosu elasticsearch /elasticsearch/bin/elasticsearch diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-service.yaml index abf1fd3f..ede9306b 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-service.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: elasticsearch-logging kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Elasticsearch" spec: ports: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml index 2e02cbdb..342a9603 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: fluentd-es kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile version: v1.22 spec: template: @@ -14,6 +15,11 @@ spec: k8s-app: fluentd-es kubernetes.io/cluster-service: "true" version: v1.22 + # This annotation ensures that fluentd does not get evicted if the node + # supports critical pod annotation based priority scheme. + # Note that this does not guarantee admission on the nodes (#40573). + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' spec: containers: - name: fluentd-es @@ -35,7 +41,10 @@ spec: mountPath: /var/lib/docker/containers readOnly: true nodeSelector: - alpha.kubernetes.io/fluentd-ds-ready: "true" + beta.kubernetes.io/fluentd-ds-ready: "true" + tolerations: + - key : "node.alpha.kubernetes.io/ismaster" + effect: "NoSchedule" terminationGracePeriodSeconds: 30 volumes: - name: varlog diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-controller.yaml b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-controller.yaml index 06fd7bc9..bc772568 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-controller.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-controller.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: kibana-logging kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile spec: replicas: 1 selector: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-service.yaml b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-service.yaml index 43efada2..d241ef72 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-service.yaml +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/kibana-service.yaml @@ -6,6 +6,7 @@ metadata: labels: k8s-app: kibana-logging kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Kibana" spec: ports: diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/OWNERS b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/OWNERS index b2e859ee..14bb6e15 100644 --- a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/OWNERS +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/OWNERS @@ -1,6 +1,6 @@ approvers: -- Crassirostris +- crassirostris - piosz reviewers: -- Crassirostris +- crassirostris - piosz diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/README.md b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/README.md new file mode 100644 index 00000000..d706cd03 --- /dev/null +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/README.md @@ -0,0 +1,11 @@ +# Stackdriver Logging Agent +============== + +Stackdriver Logging Agent is a DaemonSet which spawns a pod on each node +that reads logs, generated by kubelet, container runtime and containers +and sends them to the Stackdriver. When logs are exported to the Stackdriver, +they can be searched, viewed, and analyzed. + +Learn more at: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-stackdriver + +[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/fluentd-gcp/README.md?pixel)]() diff --git a/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-configmap.yaml b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-configmap.yaml new file mode 100644 index 00000000..98acff37 --- /dev/null +++ b/vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-configmap.yaml @@ -0,0 +1,391 @@ +kind: ConfigMap +apiVersion: v1 +data: + containers.input.conf: |- + # This configuration file for Fluentd is used + # to watch changes to Docker log files that live in the + # directory /var/lib/docker/containers/ and are symbolically + # linked to from the /var/log/containers directory using names that capture the + # pod name and container name. These logs are then submitted to + # Google Cloud Logging which assumes the installation of the cloud-logging plug-in. + # + # Example + # ======= + # A line in the Docker log file might look like this JSON: + # + # {"log":"2014/09/25 21:15:03 Got request with path wombat\\n", + # "stream":"stderr", + # "time":"2014-09-25T21:15:03.499185026Z"} + # + # The record reformer is used to write the tag to focus on the pod name + # and the Kubernetes container name. For example a Docker container's logs + # might be in the directory: + # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b + # and in the file: + # 997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log + # where 997599971ee6... is the Docker ID of the running container. + # The Kubernetes kubelet makes a symbolic link to this file on the host machine + # in the /var/log/containers directory which includes the pod name and the Kubernetes + # container name: + # synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log + # -> + # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log + # The /var/log directory on the host is mapped to the /var/log directory in the container + # running this instance of Fluentd and we end up collecting the file: + # /var/log/containers/synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log + # This results in the tag: + # var.log.containers.synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log + # The record reformer is used is discard the var.log.containers prefix and + # the Docker container ID suffix and "kubernetes." is pre-pended giving the tag: + # kubernetes.synthetic-logger-0.25lps-pod_default-synth-lgr + # Tag is then parsed by google_cloud plugin and translated to the metadata, + # visible in the log viewer + + # Example: + # {"log":"[info:2016-02-16T16:04:05.930-08:00] Some log text here\n","stream":"stdout","time":"2016-02-17T00:04:05.931087621Z"} + + type tail + format json + time_key time + path /var/log/containers/*.log + pos_file /var/log/gcp-containers.log.pos + time_format %Y-%m-%dT%H:%M:%S.%N%Z + tag reform.* + read_from_head true + + + + type parser + format /^(?\w)(? + + + type record_reformer + enable_ruby true + tag raw.kubernetes.${tag_suffix[4].split('-')[0..-2].join('-')} + + + # Detect exceptions in the log output and forward them as one log entry. + + @type copy + + + @type prometheus + + + type counter + name logging_line_count + desc Total number of lines generated by application containers + + tag ${tag} + + + + + @type detect_exceptions + + remove_tag_prefix raw + message log + stream stream + multiline_flush_interval 5 + max_bytes 500000 + max_lines 1000 + + + system.input.conf: |- + # Example: + # 2015-12-21 23:17:22,066 [salt.state ][INFO ] Completed state [net.ipv4.ip_forward] at time 23:17:22.066081 + + type tail + format /^(?