git subrepo clone (merge) https://github.com/kubernetes-incubator/metrics-server.git metrics-server
subrepo:
subdir: "metrics-server"
merged: "92d8412"
upstream:
origin: "https://github.com/kubernetes-incubator/metrics-server.git"
branch: "master"
commit: "92d8412"
git-subrepo:
version: "0.4.0"
origin: "???"
commit: "???"
diff --git a/metrics-server/vendor/k8s.io/api/admission/v1beta1/types.go b/metrics-server/vendor/k8s.io/api/admission/v1beta1/types.go
new file mode 100644
index 0000000..9ad939c
--- /dev/null
+++ b/metrics-server/vendor/k8s.io/api/admission/v1beta1/types.go
@@ -0,0 +1,116 @@
+/*
+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 v1beta1
+
+import (
+ authenticationv1 "k8s.io/api/authentication/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/apimachinery/pkg/types"
+)
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// AdmissionReview describes an admission review request/response.
+type AdmissionReview struct {
+ metav1.TypeMeta `json:",inline"`
+ // Request describes the attributes for the admission request.
+ // +optional
+ Request *AdmissionRequest `json:"request,omitempty" protobuf:"bytes,1,opt,name=request"`
+ // Response describes the attributes for the admission response.
+ // +optional
+ Response *AdmissionResponse `json:"response,omitempty" protobuf:"bytes,2,opt,name=response"`
+}
+
+// AdmissionRequest describes the admission.Attributes for the admission request.
+type AdmissionRequest struct {
+ // UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are
+ // otherwise identical (parallel requests, requests when earlier requests did not modify etc)
+ // The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request.
+ // It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.
+ UID types.UID `json:"uid" protobuf:"bytes,1,opt,name=uid"`
+ // Kind is the type of object being manipulated. For example: Pod
+ Kind metav1.GroupVersionKind `json:"kind" protobuf:"bytes,2,opt,name=kind"`
+ // Resource is the name of the resource being requested. This is not the kind. For example: pods
+ Resource metav1.GroupVersionResource `json:"resource" protobuf:"bytes,3,opt,name=resource"`
+ // SubResource is the name of the subresource being requested. This is a different resource, scoped to the parent
+ // resource, but it may have a different kind. For instance, /pods has the resource "pods" and the kind "Pod", while
+ // /pods/foo/status has the resource "pods", the sub resource "status", and the kind "Pod" (because status operates on
+ // pods). The binding resource for a pod though may be /pods/foo/binding, which has resource "pods", subresource
+ // "binding", and kind "Binding".
+ // +optional
+ SubResource string `json:"subResource,omitempty" protobuf:"bytes,4,opt,name=subResource"`
+ // Name is the name of the object as presented in the request. On a CREATE operation, the client may omit name and
+ // rely on the server to generate the name. If that is the case, this method will return the empty string.
+ // +optional
+ Name string `json:"name,omitempty" protobuf:"bytes,5,opt,name=name"`
+ // Namespace is the namespace associated with the request (if any).
+ // +optional
+ Namespace string `json:"namespace,omitempty" protobuf:"bytes,6,opt,name=namespace"`
+ // Operation is the operation being performed
+ Operation Operation `json:"operation" protobuf:"bytes,7,opt,name=operation"`
+ // UserInfo is information about the requesting user
+ UserInfo authenticationv1.UserInfo `json:"userInfo" protobuf:"bytes,8,opt,name=userInfo"`
+ // Object is the object from the incoming request prior to default values being applied
+ // +optional
+ Object runtime.RawExtension `json:"object,omitempty" protobuf:"bytes,9,opt,name=object"`
+ // OldObject is the existing object. Only populated for UPDATE requests.
+ // +optional
+ OldObject runtime.RawExtension `json:"oldObject,omitempty" protobuf:"bytes,10,opt,name=oldObject"`
+}
+
+// AdmissionResponse describes an admission response.
+type AdmissionResponse struct {
+ // UID is an identifier for the individual request/response.
+ // This should be copied over from the corresponding AdmissionRequest.
+ UID types.UID `json:"uid" protobuf:"bytes,1,opt,name=uid"`
+
+ // Allowed indicates whether or not the admission request was permitted.
+ Allowed bool `json:"allowed" protobuf:"varint,2,opt,name=allowed"`
+
+ // Result contains extra details into why an admission request was denied.
+ // This field IS NOT consulted in any way if "Allowed" is "true".
+ // +optional
+ Result *metav1.Status `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
+
+ // The patch body. Currently we only support "JSONPatch" which implements RFC 6902.
+ // +optional
+ Patch []byte `json:"patch,omitempty" protobuf:"bytes,4,opt,name=patch"`
+
+ // The type of Patch. Currently we only allow "JSONPatch".
+ // +optional
+ PatchType *PatchType `json:"patchType,omitempty" protobuf:"bytes,5,opt,name=patchType"`
+}
+
+// PatchType is the type of patch being used to represent the mutated object
+type PatchType string
+
+// PatchType constants.
+const (
+ PatchTypeJSONPatch PatchType = "JSONPatch"
+)
+
+// Operation is the type of resource operation being checked for admission control
+type Operation string
+
+// Operation constants
+const (
+ Create Operation = "CREATE"
+ Update Operation = "UPDATE"
+ Delete Operation = "DELETE"
+ Connect Operation = "CONNECT"
+)