kubernetes: k8s.io/kubernetes/plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1 Index | Files

package v1alpha1

import "k8s.io/kubernetes/plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1"

Package v1alpha1 is the v1alpha1 version of the API.

Index

Package Files

defaults.go doc.go register.go types.go zz_generated.conversion.go zz_generated.deepcopy.go zz_generated.defaults.go

Constants

const GroupName = "eventratelimit.admission.k8s.io"

GroupName is the group name use in this package

Variables

var (

    // SchemeBuilder is a pointer used to call AddToScheme
    SchemeBuilder runtime.SchemeBuilder

    // AddToScheme is used to register the types to API encoding/decoding machinery
    AddToScheme = localSchemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

func Convert_eventratelimit_Configuration_To_v1alpha1_Configuration Uses

func Convert_eventratelimit_Configuration_To_v1alpha1_Configuration(in *eventratelimit.Configuration, out *Configuration, s conversion.Scope) error

Convert_eventratelimit_Configuration_To_v1alpha1_Configuration is an autogenerated conversion function.

func Convert_eventratelimit_Limit_To_v1alpha1_Limit Uses

func Convert_eventratelimit_Limit_To_v1alpha1_Limit(in *eventratelimit.Limit, out *Limit, s conversion.Scope) error

Convert_eventratelimit_Limit_To_v1alpha1_Limit is an autogenerated conversion function.

func Convert_v1alpha1_Configuration_To_eventratelimit_Configuration Uses

func Convert_v1alpha1_Configuration_To_eventratelimit_Configuration(in *Configuration, out *eventratelimit.Configuration, s conversion.Scope) error

Convert_v1alpha1_Configuration_To_eventratelimit_Configuration is an autogenerated conversion function.

func Convert_v1alpha1_Limit_To_eventratelimit_Limit Uses

func Convert_v1alpha1_Limit_To_eventratelimit_Limit(in *Limit, out *eventratelimit.Limit, s conversion.Scope) error

Convert_v1alpha1_Limit_To_eventratelimit_Limit is an autogenerated conversion function.

func RegisterConversions Uses

func RegisterConversions(s *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

func RegisterDefaults Uses

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func SetDefaults_Configuration Uses

func SetDefaults_Configuration(obj *Configuration)

func SetObjectDefaults_Configuration Uses

func SetObjectDefaults_Configuration(in *Configuration)

type Configuration Uses

type Configuration struct {
    metav1.TypeMeta `json:",inline"`

    // limits are the limits to place on event queries received.
    // Limits can be placed on events received server-wide, per namespace,
    // per user, and per source+object.
    // At least one limit is required.
    Limits []Limit `json:"limits"`
}

Configuration provides configuration for the EventRateLimit admission controller.

func (*Configuration) DeepCopy Uses

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto Uses

func (in *Configuration) DeepCopyInto(out *Configuration)

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

func (*Configuration) DeepCopyObject Uses

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

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

type Limit Uses

type Limit struct {
    // type is the type of limit to which this configuration applies
    Type LimitType `json:"type"`

    // qps is the number of event queries per second that are allowed for this
    // type of limit. The qps and burst fields are used together to determine if
    // a particular event query is accepted. The qps determines how many queries
    // are accepted once the burst amount of queries has been exhausted.
    QPS int32 `json:"qps"`

    // burst is the burst number of event queries that are allowed for this type
    // of limit. The qps and burst fields are used together to determine if a
    // particular event query is accepted. The burst determines the maximum size
    // of the allowance granted for a particular bucket. For example, if the burst
    // is 10 and the qps is 3, then the admission control will accept 10 queries
    // before blocking any queries. Every second, 3 more queries will be allowed.
    // If some of that allowance is not used, then it will roll over to the next
    // second, until the maximum allowance of 10 is reached.
    Burst int32 `json:"burst"`

    // cacheSize is the size of the LRU cache for this type of limit. If a bucket
    // is evicted from the cache, then the allowance for that bucket is reset. If
    // more queries are later received for an evicted bucket, then that bucket
    // will re-enter the cache with a clean slate, giving that bucket a full
    // allowance of burst queries.
    //
    // The default cache size is 4096.
    //
    // If limitType is 'server', then cacheSize is ignored.
    // +optional
    CacheSize int32 `json:"cacheSize,omitempty"`
}

Limit is the configuration for a particular limit type

func (*Limit) DeepCopy Uses

func (in *Limit) DeepCopy() *Limit

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

func (*Limit) DeepCopyInto Uses

func (in *Limit) DeepCopyInto(out *Limit)

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

type LimitType Uses

type LimitType string

LimitType is the type of the limit (e.g., per-namespace)

const (
    // ServerLimitType is a type of limit where there is one bucket shared by
    // all of the event queries received by the API Server.
    ServerLimitType LimitType = "Server"
    // NamespaceLimitType is a type of limit where there is one bucket used by
    // each namespace
    NamespaceLimitType LimitType = "Namespace"
    // UserLimitType is a type of limit where there is one bucket used by each
    // user
    UserLimitType LimitType = "User"
    // SourceAndObjectLimitType is a type of limit where there is one bucket used
    // by each combination of source and involved object of the event.
    SourceAndObjectLimitType LimitType = "SourceAndObject"
)

Package v1alpha1 imports 6 packages (graph) and is imported by 5 packages. Updated 2019-07-17. Refresh now. Tools for package owners.