Documentation

Index

Constants

View Source
const GroupName = "admission.k8s.io"

    GroupName is the group name for this API.

    Variables

    View Source
    var (
    	ErrInvalidLengthGenerated        = fmt.Errorf("proto: negative length found during unmarshaling")
    	ErrIntOverflowGenerated          = fmt.Errorf("proto: integer overflow")
    	ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
    )
    View Source
    var (
    	// SchemeBuilder points to a list of functions added to Scheme.
    	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
    
    	// AddToScheme is a common registration function for mapping packaged scoped group & version keys to a scheme.
    	AddToScheme = localSchemeBuilder.AddToScheme
    )

      TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.

      View Source
      var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}

        SchemeGroupVersion is group version used to register these objects

        Functions

        func Resource

        func Resource(resource string) schema.GroupResource

          Resource takes an unqualified resource and returns a Group qualified GroupResource

          Types

          type AdmissionRequest

          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 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"`
          	// Resource is the fully-qualified resource being requested (for example, v1.pods)
          	Resource metav1.GroupVersionResource `json:"resource" protobuf:"bytes,3,opt,name=resource"`
          	// SubResource is the subresource being requested, if any (for example, "status" or "scale")
          	// +optional
          	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
          	// rely on the server to generate the name.  If that is the case, this field will contain an 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. This may be different than the operation
          	// requested. e.g. a patch can result in either a CREATE or UPDATE Operation.
          	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.
          	// +optional
          	Object runtime.RawExtension `json:"object,omitempty" protobuf:"bytes,9,opt,name=object"`
          	// OldObject is the existing object. Only populated for DELETE and UPDATE requests.
          	// +optional
          	OldObject runtime.RawExtension `json:"oldObject,omitempty" protobuf:"bytes,10,opt,name=oldObject"`
          	// DryRun indicates that modifications will definitely not be persisted for this request.
          	// Defaults to false.
          	// +optional
          	DryRun *bool `json:"dryRun,omitempty" protobuf:"varint,11,opt,name=dryRun"`
          	// Options is the operation option structure of the operation being performed.
          	// e.g. `meta.k8s.io/v1.DeleteOptions` or `meta.k8s.io/v1.CreateOptions`. This may be
          	// different than the options the caller provided. e.g. for a patch request the performed
          	// Operation might be a CREATE, in which case the Options will a
          	// `meta.k8s.io/v1.CreateOptions` even though the caller provided `meta.k8s.io/v1.PatchOptions`.
          	// +optional
          	Options runtime.RawExtension `json:"options,omitempty" protobuf:"bytes,12,opt,name=options"`
          }

            AdmissionRequest describes the admission.Attributes for the admission request.

            func (*AdmissionRequest) DeepCopy

            func (in *AdmissionRequest) DeepCopy() *AdmissionRequest

              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionRequest.

              func (*AdmissionRequest) DeepCopyInto

              func (in *AdmissionRequest) DeepCopyInto(out *AdmissionRequest)

                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                func (*AdmissionRequest) Descriptor

                func (*AdmissionRequest) Descriptor() ([]byte, []int)

                func (*AdmissionRequest) Marshal

                func (m *AdmissionRequest) Marshal() (dAtA []byte, err error)

                func (*AdmissionRequest) MarshalTo

                func (m *AdmissionRequest) MarshalTo(dAtA []byte) (int, error)

                func (*AdmissionRequest) MarshalToSizedBuffer

                func (m *AdmissionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

                func (*AdmissionRequest) ProtoMessage

                func (*AdmissionRequest) ProtoMessage()

                func (*AdmissionRequest) Reset

                func (m *AdmissionRequest) Reset()

                func (*AdmissionRequest) Size

                func (m *AdmissionRequest) Size() (n int)

                func (*AdmissionRequest) String

                func (this *AdmissionRequest) String() string

                func (AdmissionRequest) SwaggerDoc

                func (AdmissionRequest) SwaggerDoc() map[string]string

                func (*AdmissionRequest) Unmarshal

                func (m *AdmissionRequest) Unmarshal(dAtA []byte) error

                func (*AdmissionRequest) XXX_DiscardUnknown

                func (m *AdmissionRequest) XXX_DiscardUnknown()

                func (*AdmissionRequest) XXX_Marshal

                func (m *AdmissionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

                func (*AdmissionRequest) XXX_Merge

                func (m *AdmissionRequest) XXX_Merge(src proto.Message)

                func (*AdmissionRequest) XXX_Size

                func (m *AdmissionRequest) XXX_Size() int

                func (*AdmissionRequest) XXX_Unmarshal

                func (m *AdmissionRequest) XXX_Unmarshal(b []byte) error

                type AdmissionResponse

                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"`
                
                	// AuditAnnotations is an unstructured key value map set by remote admission controller (e.g. error=image-blacklisted).
                	// MutatingAdmissionWebhook and ValidatingAdmissionWebhook admission controller will prefix the keys with
                	// admission webhook name (e.g. imagepolicy.example.com/error=image-blacklisted). AuditAnnotations will be provided by
                	// the admission webhook to add additional context to the audit log for this request.
                	// +optional
                	AuditAnnotations map[string]string `json:"auditAnnotations,omitempty" protobuf:"bytes,6,opt,name=auditAnnotations"`
                
                	// warnings is a list of warning messages to return to the requesting API client.
                	// Warning messages describe a problem the client making the API request should correct or be aware of.
                	// Limit warnings to 120 characters if possible.
                	// Warnings over 256 characters and large numbers of warnings may be truncated.
                	// +optional
                	Warnings []string `json:"warnings,omitempty" protobuf:"bytes,7,rep,name=warnings"`
                }

                  AdmissionResponse describes an admission response.

                  func (*AdmissionResponse) DeepCopy

                  func (in *AdmissionResponse) DeepCopy() *AdmissionResponse

                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionResponse.

                    func (*AdmissionResponse) DeepCopyInto

                    func (in *AdmissionResponse) DeepCopyInto(out *AdmissionResponse)

                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                      func (*AdmissionResponse) Descriptor

                      func (*AdmissionResponse) Descriptor() ([]byte, []int)

                      func (*AdmissionResponse) Marshal

                      func (m *AdmissionResponse) Marshal() (dAtA []byte, err error)

                      func (*AdmissionResponse) MarshalTo

                      func (m *AdmissionResponse) MarshalTo(dAtA []byte) (int, error)

                      func (*AdmissionResponse) MarshalToSizedBuffer

                      func (m *AdmissionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

                      func (*AdmissionResponse) ProtoMessage

                      func (*AdmissionResponse) ProtoMessage()

                      func (*AdmissionResponse) Reset

                      func (m *AdmissionResponse) Reset()

                      func (*AdmissionResponse) Size

                      func (m *AdmissionResponse) Size() (n int)

                      func (*AdmissionResponse) String

                      func (this *AdmissionResponse) String() string

                      func (AdmissionResponse) SwaggerDoc

                      func (AdmissionResponse) SwaggerDoc() map[string]string

                      func (*AdmissionResponse) Unmarshal

                      func (m *AdmissionResponse) Unmarshal(dAtA []byte) error

                      func (*AdmissionResponse) XXX_DiscardUnknown

                      func (m *AdmissionResponse) XXX_DiscardUnknown()

                      func (*AdmissionResponse) XXX_Marshal

                      func (m *AdmissionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

                      func (*AdmissionResponse) XXX_Merge

                      func (m *AdmissionResponse) XXX_Merge(src proto.Message)

                      func (*AdmissionResponse) XXX_Size

                      func (m *AdmissionResponse) XXX_Size() int

                      func (*AdmissionResponse) XXX_Unmarshal

                      func (m *AdmissionResponse) XXX_Unmarshal(b []byte) error

                      type AdmissionReview

                      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"`
                      }

                        AdmissionReview describes an admission review request/response.

                        func (*AdmissionReview) APILifecycleDeprecated

                        func (in *AdmissionReview) APILifecycleDeprecated() (major, minor int)

                          APILifecycleDeprecated is an autogenerated function, returning the release in which the API struct was or will be deprecated as int versions of major and minor for comparison. It is controlled by "k8s:prerelease-lifecycle-gen:deprecated" tags in types.go or "k8s:prerelease-lifecycle-gen:introduced" plus three minor.

                          func (*AdmissionReview) APILifecycleIntroduced

                          func (in *AdmissionReview) APILifecycleIntroduced() (major, minor int)

                            APILifecycleIntroduced is an autogenerated function, returning the release in which the API struct was introduced as int versions of major and minor for comparison. It is controlled by "k8s:prerelease-lifecycle-gen:introduced" tags in types.go.

                            func (*AdmissionReview) APILifecycleRemoved

                            func (in *AdmissionReview) APILifecycleRemoved() (major, minor int)

                              APILifecycleRemoved is an autogenerated function, returning the release in which the API is no longer served as int versions of major and minor for comparison. It is controlled by "k8s:prerelease-lifecycle-gen:removed" tags in types.go or "k8s:prerelease-lifecycle-gen:deprecated" plus three minor.

                              func (*AdmissionReview) APILifecycleReplacement

                              func (in *AdmissionReview) APILifecycleReplacement() schema.GroupVersionKind

                                APILifecycleReplacement is an autogenerated function, returning the group, version, and kind that should be used instead of this deprecated type. It is controlled by "k8s:prerelease-lifecycle-gen:replacement=<group>,<version>,<kind>" tags in types.go.

                                func (*AdmissionReview) DeepCopy

                                func (in *AdmissionReview) DeepCopy() *AdmissionReview

                                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionReview.

                                  func (*AdmissionReview) DeepCopyInto

                                  func (in *AdmissionReview) DeepCopyInto(out *AdmissionReview)

                                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                    func (*AdmissionReview) DeepCopyObject

                                    func (in *AdmissionReview) DeepCopyObject() runtime.Object

                                      DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

                                      func (*AdmissionReview) Descriptor

                                      func (*AdmissionReview) Descriptor() ([]byte, []int)

                                      func (*AdmissionReview) Marshal

                                      func (m *AdmissionReview) Marshal() (dAtA []byte, err error)

                                      func (*AdmissionReview) MarshalTo

                                      func (m *AdmissionReview) MarshalTo(dAtA []byte) (int, error)

                                      func (*AdmissionReview) MarshalToSizedBuffer

                                      func (m *AdmissionReview) MarshalToSizedBuffer(dAtA []byte) (int, error)

                                      func (*AdmissionReview) ProtoMessage

                                      func (*AdmissionReview) ProtoMessage()

                                      func (*AdmissionReview) Reset

                                      func (m *AdmissionReview) Reset()

                                      func (*AdmissionReview) Size

                                      func (m *AdmissionReview) Size() (n int)

                                      func (*AdmissionReview) String

                                      func (this *AdmissionReview) String() string

                                      func (AdmissionReview) SwaggerDoc

                                      func (AdmissionReview) SwaggerDoc() map[string]string

                                      func (*AdmissionReview) Unmarshal

                                      func (m *AdmissionReview) Unmarshal(dAtA []byte) error

                                      func (*AdmissionReview) XXX_DiscardUnknown

                                      func (m *AdmissionReview) XXX_DiscardUnknown()

                                      func (*AdmissionReview) XXX_Marshal

                                      func (m *AdmissionReview) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

                                      func (*AdmissionReview) XXX_Merge

                                      func (m *AdmissionReview) XXX_Merge(src proto.Message)

                                      func (*AdmissionReview) XXX_Size

                                      func (m *AdmissionReview) XXX_Size() int

                                      func (*AdmissionReview) XXX_Unmarshal

                                      func (m *AdmissionReview) XXX_Unmarshal(b []byte) error

                                      type Operation

                                      type Operation string

                                        Operation is the type of resource operation being checked for admission control

                                        const (
                                        	Create  Operation = "CREATE"
                                        	Update  Operation = "UPDATE"
                                        	Delete  Operation = "DELETE"
                                        	Connect Operation = "CONNECT"
                                        )

                                          Operation constants

                                          type PatchType

                                          type PatchType string

                                            PatchType is the type of patch being used to represent the mutated object

                                            const (
                                            	PatchTypeJSONPatch PatchType = "JSONPatch"
                                            )

                                              PatchType constants.