Documentation ¶
Overview ¶
+kubebuilder:validation:Optional +groupName=apiserver.openshift.io Package v1 is the v1 version of the API.
Package v1 is an api version in the apiserver.openshift.io group
Index ¶
Constants ¶
const ( // RemovedInReleaseLabel is a label which can be used to select APIRequestCounts based on the release // in which they are removed. The value is equivalent to .status.removedInRelease. RemovedInReleaseLabel = "apirequestcounts.apiserver.openshift.io/removedInRelease" )
Variables ¶
var ( GroupName = "apiserver.openshift.io" GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme // SchemeGroupVersion generated code relies on this name // Deprecated SchemeGroupVersion = GroupVersion // AddToScheme exists solely to keep the old generators creating valid code // DEPRECATED AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED
Types ¶
type APIRequestCount ¶
type APIRequestCount struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // spec defines the characteristics of the resource. // +kubebuilder:validation:Required // +required Spec APIRequestCountSpec `json:"spec"` // status contains the observed state of the resource. Status APIRequestCountStatus `json:"status,omitempty"` }
APIRequestCount tracks requests made to an API. The instance name must be of the form `resource.version.group`, matching the resource.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
func (*APIRequestCount) DeepCopy ¶
func (in *APIRequestCount) DeepCopy() *APIRequestCount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRequestCount.
func (*APIRequestCount) DeepCopyInto ¶
func (in *APIRequestCount) DeepCopyInto(out *APIRequestCount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIRequestCount) DeepCopyObject ¶
func (in *APIRequestCount) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (APIRequestCount) SwaggerDoc ¶
func (APIRequestCount) SwaggerDoc() map[string]string
type APIRequestCountList ¶
type APIRequestCountList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []APIRequestCount `json:"items"` }
APIRequestCountList is a list of APIRequestCount resources.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
func (*APIRequestCountList) DeepCopy ¶
func (in *APIRequestCountList) DeepCopy() *APIRequestCountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRequestCountList.
func (*APIRequestCountList) DeepCopyInto ¶
func (in *APIRequestCountList) DeepCopyInto(out *APIRequestCountList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIRequestCountList) DeepCopyObject ¶
func (in *APIRequestCountList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (APIRequestCountList) SwaggerDoc ¶
func (APIRequestCountList) SwaggerDoc() map[string]string
type APIRequestCountSpec ¶
type APIRequestCountSpec struct { // numberOfUsersToReport is the number of users to include in the report. // If unspecified or zero, the default is ten. This is default is subject to change. // +kubebuilder:default:=10 // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 // +optional NumberOfUsersToReport int64 `json:"numberOfUsersToReport"` }
func (*APIRequestCountSpec) DeepCopy ¶
func (in *APIRequestCountSpec) DeepCopy() *APIRequestCountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRequestCountSpec.
func (*APIRequestCountSpec) DeepCopyInto ¶
func (in *APIRequestCountSpec) DeepCopyInto(out *APIRequestCountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (APIRequestCountSpec) SwaggerDoc ¶
func (APIRequestCountSpec) SwaggerDoc() map[string]string
type APIRequestCountStatus ¶
type APIRequestCountStatus struct { // conditions contains details of the current status of this API Resource. // +patchMergeKey=type // +patchStrategy=merge Conditions []metav1.Condition `json:"conditions" patchStrategy:"merge" patchMergeKey:"type"` // removedInRelease is when the API will be removed. // +kubebuilder:validation:MinLength=0 // +kubebuilder:validation:Pattern=^[0-9][0-9]*\.[0-9][0-9]*$ // +kubebuilder:validation:MaxLength=64 // +optional RemovedInRelease string `json:"removedInRelease,omitempty"` // requestCount is a sum of all requestCounts across all current hours, nodes, and users. // +kubebuilder:validation:Minimum=0 // +required RequestCount int64 `json:"requestCount"` // currentHour contains request history for the current hour. This is porcelain to make the API // easier to read by humans seeing if they addressed a problem. This field is reset on the hour. // +optional CurrentHour PerResourceAPIRequestLog `json:"currentHour"` // last24h contains request history for the last 24 hours, indexed by the hour, so // 12:00AM-12:59 is in index 0, 6am-6:59am is index 6, etc. The index of the current hour // is updated live and then duplicated into the requestsLastHour field. // +kubebuilder:validation:MaxItems=24 // +optional Last24h []PerResourceAPIRequestLog `json:"last24h"` }
+k8s:deepcopy-gen=true
func (*APIRequestCountStatus) DeepCopy ¶
func (in *APIRequestCountStatus) DeepCopy() *APIRequestCountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRequestCountStatus.
func (*APIRequestCountStatus) DeepCopyInto ¶
func (in *APIRequestCountStatus) DeepCopyInto(out *APIRequestCountStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (APIRequestCountStatus) SwaggerDoc ¶
func (APIRequestCountStatus) SwaggerDoc() map[string]string
type PerNodeAPIRequestLog ¶
type PerNodeAPIRequestLog struct { // nodeName where the request are being handled. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=512 // +required NodeName string `json:"nodeName"` // requestCount is a sum of all requestCounts across all users, even those outside of the top 10 users. // +kubebuilder:validation:Minimum=0 // +required RequestCount int64 `json:"requestCount"` // byUser contains request details by top .spec.numberOfUsersToReport users. // Note that because in the case of an apiserver, restart the list of top users is determined on a best-effort basis, // the list might be imprecise. // In addition, some system users may be explicitly included in the list. // +kubebuilder:validation:MaxItems=500 ByUser []PerUserAPIRequestCount `json:"byUser"` }
PerNodeAPIRequestLog contains logs of requests to a certain node.
func (*PerNodeAPIRequestLog) DeepCopy ¶
func (in *PerNodeAPIRequestLog) DeepCopy() *PerNodeAPIRequestLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerNodeAPIRequestLog.
func (*PerNodeAPIRequestLog) DeepCopyInto ¶
func (in *PerNodeAPIRequestLog) DeepCopyInto(out *PerNodeAPIRequestLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PerNodeAPIRequestLog) SwaggerDoc ¶
func (PerNodeAPIRequestLog) SwaggerDoc() map[string]string
type PerResourceAPIRequestLog ¶
type PerResourceAPIRequestLog struct { // byNode contains logs of requests per node. // +kubebuilder:validation:MaxItems=512 // +optional ByNode []PerNodeAPIRequestLog `json:"byNode"` // requestCount is a sum of all requestCounts across nodes. // +kubebuilder:validation:Minimum=0 // +required RequestCount int64 `json:"requestCount"` }
PerResourceAPIRequestLog logs request for various nodes.
func (*PerResourceAPIRequestLog) DeepCopy ¶
func (in *PerResourceAPIRequestLog) DeepCopy() *PerResourceAPIRequestLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerResourceAPIRequestLog.
func (*PerResourceAPIRequestLog) DeepCopyInto ¶
func (in *PerResourceAPIRequestLog) DeepCopyInto(out *PerResourceAPIRequestLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PerResourceAPIRequestLog) SwaggerDoc ¶
func (PerResourceAPIRequestLog) SwaggerDoc() map[string]string
type PerUserAPIRequestCount ¶
type PerUserAPIRequestCount struct { // userName that made the request. // +kubebuilder:validation:MaxLength=512 UserName string `json:"username"` // userAgent that made the request. // The same user often has multiple binaries which connect (pods with many containers). The different binaries // will have different userAgents, but the same user. In addition, we have userAgents with version information // embedded and the userName isn't likely to change. // +kubebuilder:validation:MaxLength=1024 UserAgent string `json:"userAgent"` // requestCount of requests by the user across all verbs. // +kubebuilder:validation:Minimum=0 // +required RequestCount int64 `json:"requestCount"` // byVerb details by verb. // +kubebuilder:validation:MaxItems=10 ByVerb []PerVerbAPIRequestCount `json:"byVerb"` }
PerUserAPIRequestCount contains logs of a user's requests.
func (*PerUserAPIRequestCount) DeepCopy ¶
func (in *PerUserAPIRequestCount) DeepCopy() *PerUserAPIRequestCount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerUserAPIRequestCount.
func (*PerUserAPIRequestCount) DeepCopyInto ¶
func (in *PerUserAPIRequestCount) DeepCopyInto(out *PerUserAPIRequestCount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PerUserAPIRequestCount) SwaggerDoc ¶
func (PerUserAPIRequestCount) SwaggerDoc() map[string]string
type PerVerbAPIRequestCount ¶
type PerVerbAPIRequestCount struct { // verb of API request (get, list, create, etc...) // +kubebuilder:validation:MaxLength=20 // +required Verb string `json:"verb"` // requestCount of requests for verb. // +kubebuilder:validation:Minimum=0 // +required RequestCount int64 `json:"requestCount"` }
PerVerbAPIRequestCount requestCounts requests by API request verb.
func (*PerVerbAPIRequestCount) DeepCopy ¶
func (in *PerVerbAPIRequestCount) DeepCopy() *PerVerbAPIRequestCount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerVerbAPIRequestCount.
func (*PerVerbAPIRequestCount) DeepCopyInto ¶
func (in *PerVerbAPIRequestCount) DeepCopyInto(out *PerVerbAPIRequestCount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PerVerbAPIRequestCount) SwaggerDoc ¶
func (PerVerbAPIRequestCount) SwaggerDoc() map[string]string