mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
AdmissionReview API changes
This commit is contained in:
parent
e068a98f4f
commit
7a9ecfd897
@ -45,17 +45,44 @@ type AdmissionRequest struct {
|
|||||||
// The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request.
|
// 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.
|
// It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.
|
||||||
UID types.UID
|
UID types.UID
|
||||||
// Kind is the type of object being manipulated. For example: Pod
|
// Kind is the fully-qualified type of object being submitted (for example, v1.Pod or autoscaling.v1.Scale)
|
||||||
Kind metav1.GroupVersionKind
|
Kind metav1.GroupVersionKind
|
||||||
// Resource is the name of the resource being requested. This is not the kind. For example: pods
|
// Resource is the fully-qualified resource being requested (for example, v1.pods)
|
||||||
Resource metav1.GroupVersionResource
|
Resource metav1.GroupVersionResource
|
||||||
// SubResource is the name of the subresource being requested. This is a different resource, scoped to the parent
|
// SubResource is the subresource being requested, if any (for example, "status" or "scale")
|
||||||
// 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
|
// +optional
|
||||||
SubResource string
|
SubResource string
|
||||||
|
|
||||||
|
// RequestKind is the fully-qualified type of the original API request (for example, v1.Pod or autoscaling.v1.Scale).
|
||||||
|
// If this is specified and differs from the value in "kind", an equivalent match and conversion was performed.
|
||||||
|
//
|
||||||
|
// For example, if deployments can be modified via apps/v1 and apps/v1beta1, and a webhook registered a rule of
|
||||||
|
// `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`,
|
||||||
|
// an API request to apps/v1beta1 deployments would be converted and sent to the webhook
|
||||||
|
// with `kind: {group:"apps", version:"v1", kind:"Deployment"}` (matching the rule the webhook registered for),
|
||||||
|
// and `requestKind: {group:"apps", version:"v1beta1", kind:"Deployment"}` (indicating the kind of the original API request).
|
||||||
|
//
|
||||||
|
// See documentation for the "matchPolicy" field in the webhook configuration type for more details.
|
||||||
|
// +optional
|
||||||
|
RequestKind *metav1.GroupVersionKind
|
||||||
|
// RequestResource is the fully-qualified resource of the original API request (for example, v1.pods).
|
||||||
|
// If this is specified and differs from the value in "resource", an equivalent match and conversion was performed.
|
||||||
|
//
|
||||||
|
// For example, if deployments can be modified via apps/v1 and apps/v1beta1, and a webhook registered a rule of
|
||||||
|
// `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`,
|
||||||
|
// an API request to apps/v1beta1 deployments would be converted and sent to the webhook
|
||||||
|
// with `resource: {group:"apps", version:"v1", resource:"deployments"}` (matching the resource the webhook registered for),
|
||||||
|
// and `requestResource: {group:"apps", version:"v1beta1", resource:"deployments"}` (indicating the resource of the original API request).
|
||||||
|
//
|
||||||
|
// See documentation for the "matchPolicy" field in the webhook configuration type.
|
||||||
|
// +optional
|
||||||
|
RequestResource *metav1.GroupVersionResource
|
||||||
|
// RequestSubResource is the name of the subresource of the original API request, if any (for example, "status" or "scale")
|
||||||
|
// If this is specified and differs from the value in "subResource", an equivalent match and conversion was performed.
|
||||||
|
// See documentation for the "matchPolicy" field in the webhook configuration type.
|
||||||
|
// +optional
|
||||||
|
RequestSubResource string
|
||||||
|
|
||||||
// Name is the name of the object as presented in the request. On a CREATE operation, the client may omit name and
|
// 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.
|
// rely on the server to generate the name. If that is the case, this method will return the empty string.
|
||||||
// +optional
|
// +optional
|
||||||
|
@ -43,17 +43,44 @@ type AdmissionRequest struct {
|
|||||||
// The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request.
|
// 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.
|
// 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"`
|
UID types.UID `json:"uid" protobuf:"bytes,1,opt,name=uid"`
|
||||||
// Kind is the type of object being manipulated. For example: Pod
|
// Kind is the fully-qualified type of object being submitted (for example, v1.Pod or autoscaling.v1.Scale)
|
||||||
Kind metav1.GroupVersionKind `json:"kind" protobuf:"bytes,2,opt,name=kind"`
|
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 is the fully-qualified resource being requested (for example, v1.pods)
|
||||||
Resource metav1.GroupVersionResource `json:"resource" protobuf:"bytes,3,opt,name=resource"`
|
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
|
// SubResource is the subresource being requested, if any (for example, "status" or "scale")
|
||||||
// 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
|
// +optional
|
||||||
SubResource string `json:"subResource,omitempty" protobuf:"bytes,4,opt,name=subResource"`
|
SubResource string `json:"subResource,omitempty" protobuf:"bytes,4,opt,name=subResource"`
|
||||||
|
|
||||||
|
// RequestKind is the fully-qualified type of the original API request (for example, v1.Pod or autoscaling.v1.Scale).
|
||||||
|
// If this is specified and differs from the value in "kind", an equivalent match and conversion was performed.
|
||||||
|
//
|
||||||
|
// For example, if deployments can be modified via apps/v1 and apps/v1beta1, and a webhook registered a rule of
|
||||||
|
// `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`,
|
||||||
|
// an API request to apps/v1beta1 deployments would be converted and sent to the webhook
|
||||||
|
// with `kind: {group:"apps", version:"v1", kind:"Deployment"}` (matching the rule the webhook registered for),
|
||||||
|
// and `requestKind: {group:"apps", version:"v1beta1", kind:"Deployment"}` (indicating the kind of the original API request).
|
||||||
|
//
|
||||||
|
// See documentation for the "matchPolicy" field in the webhook configuration type for more details.
|
||||||
|
// +optional
|
||||||
|
RequestKind *metav1.GroupVersionKind `json:"requestKind,omitempty" protobuf:"bytes,13,opt,name=requestKind"`
|
||||||
|
// RequestResource is the fully-qualified resource of the original API request (for example, v1.pods).
|
||||||
|
// If this is specified and differs from the value in "resource", an equivalent match and conversion was performed.
|
||||||
|
//
|
||||||
|
// For example, if deployments can be modified via apps/v1 and apps/v1beta1, and a webhook registered a rule of
|
||||||
|
// `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`,
|
||||||
|
// an API request to apps/v1beta1 deployments would be converted and sent to the webhook
|
||||||
|
// with `resource: {group:"apps", version:"v1", resource:"deployments"}` (matching the resource the webhook registered for),
|
||||||
|
// and `requestResource: {group:"apps", version:"v1beta1", resource:"deployments"}` (indicating the resource of the original API request).
|
||||||
|
//
|
||||||
|
// See documentation for the "matchPolicy" field in the webhook configuration type.
|
||||||
|
// +optional
|
||||||
|
RequestResource *metav1.GroupVersionResource `json:"requestResource,omitempty" protobuf:"bytes,14,opt,name=requestResource"`
|
||||||
|
// RequestSubResource is the name of the subresource of the original API request, if any (for example, "status" or "scale")
|
||||||
|
// If this is specified and differs from the value in "subResource", an equivalent match and conversion was performed.
|
||||||
|
// See documentation for the "matchPolicy" field in the webhook configuration type.
|
||||||
|
// +optional
|
||||||
|
RequestSubResource string `json:"requestSubResource,omitempty" protobuf:"bytes,15,opt,name=requestSubResource"`
|
||||||
|
|
||||||
// Name is the name of the object as presented in the request. On a CREATE operation, the client may omit name and
|
// 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.
|
// rely on the server to generate the name. If that is the case, this method will return the empty string.
|
||||||
// +optional
|
// +optional
|
||||||
|
Loading…
Reference in New Issue
Block a user