v1

package
v0.32.0-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2024 License: Apache-2.0 Imports: 10 Imported by: 42

Documentation

Overview

Package v1 holds api types of version v1 for group "flowcontrol.apiserver.k8s.io".

Index

Constants

View Source
const (
	APIGroupAll    = "*"
	ResourceAll    = "*"
	VerbAll        = "*"
	NonResourceAll = "*"
	NameAll        = "*"

	NamespaceEvery = "*" // matches every particular namespace
)

These are valid wildcards.

View Source
const (
	PriorityLevelConfigurationNameExempt   = "exempt"
	PriorityLevelConfigurationNameCatchAll = "catch-all"
	FlowSchemaNameExempt                   = "exempt"
	FlowSchemaNameCatchAll                 = "catch-all"
)

System preset priority level names

View Source
const (
	FlowSchemaConditionDangling = "Dangling"

	PriorityLevelConfigurationConditionConcurrencyShared = "ConcurrencyShared"
)

Conditions

View Source
const (
	ResponseHeaderMatchedPriorityLevelConfigurationUID = "X-Kubernetes-PF-PriorityLevel-UID"
	ResponseHeaderMatchedFlowSchemaUID                 = "X-Kubernetes-PF-FlowSchema-UID"
)

Constants for apiserver response headers.

View Source
const (
	// AutoUpdateAnnotationKey is the name of an annotation that enables
	// automatic update of the spec of the bootstrap configuration
	// object(s), if set to 'true'.
	//
	// On a fresh install, all bootstrap configuration objects will have auto
	// update enabled with the following annotation key:
	//    apf.kubernetes.io/autoupdate-spec: 'true'
	//
	// The kube-apiserver periodically checks the bootstrap configuration
	// objects on the cluster and applies updates if necessary.
	//
	// kube-apiserver enforces an 'always auto-update' policy for the
	// mandatory configuration object(s). This implies:
	// - the auto-update annotation key is added with a value of 'true'
	//   if it is missing.
	// - the auto-update annotation key is set to 'true' if its current value
	//   is a boolean false or has an invalid boolean representation
	//   (if the cluster operator sets it to 'false' it will be stomped)
	// - any changes to the spec made by the cluster operator will be
	//   stomped, except for changes to the `nominalConcurrencyShares`
	//   and `lendablePercent` fields of the PriorityLevelConfiguration
	//   named "exempt".
	//
	// The kube-apiserver will apply updates on the suggested configuration if:
	// - the cluster operator has enabled auto-update by setting the annotation
	//   (apf.kubernetes.io/autoupdate-spec: 'true') or
	// - the annotation key is missing but the generation is 1
	//
	// If the suggested configuration object is missing the annotation key,
	// kube-apiserver will update the annotation appropriately:
	// - it is set to 'true' if generation of the object is '1' which usually
	//   indicates that the spec of the object has not been changed.
	// - it is set to 'false' if generation of the object is greater than 1.
	//
	// The goal is to enable the kube-apiserver to apply update on suggested
	// configuration objects installed by previous releases but not overwrite
	// changes made by the cluster operators.
	// Note that this distinction is imperfectly detected: in the case where an
	// operator deletes a suggested configuration object and later creates it
	// but with a variant spec and then does no updates of the object
	// (generation is 1), the technique outlined above will incorrectly
	// determine that the object should be auto-updated.
	AutoUpdateAnnotationKey = "apf.kubernetes.io/autoupdate-spec"
)
View Source
const (
	FlowSchemaMaxMatchingPrecedence int32 = 10000
)

Constants used by api validation.

View Source
const GroupName = "flowcontrol.apiserver.k8s.io"

GroupName is the name of api group

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 installs the api group to a scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme adds api to a scheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ConditionStatus

type ConditionStatus string

ConditionStatus is the status of the condition.

const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition. "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes can't decide if a resource is in the condition or not. In the future, we could add other intermediate conditions, e.g. ConditionDegraded.

type ExemptPriorityLevelConfiguration

type ExemptPriorityLevelConfiguration struct {
	// `nominalConcurrencyShares` (NCS) contributes to the computation of the
	// NominalConcurrencyLimit (NominalCL) of this level.
	// This is the number of execution seats nominally reserved for this priority level.
	// This DOES NOT limit the dispatching from this priority level
	// but affects the other priority levels through the borrowing mechanism.
	// The server's concurrency limit (ServerCL) is divided among all the
	// priority levels in proportion to their NCS values:
	//
	// NominalCL(i)  = ceil( ServerCL * NCS(i) / sum_ncs )
	// sum_ncs = sum[priority level k] NCS(k)
	//
	// Bigger numbers mean a larger nominal concurrency limit,
	// at the expense of every other priority level.
	// This field has a default value of zero.
	// +optional
	NominalConcurrencyShares *int32 `json:"nominalConcurrencyShares,omitempty" protobuf:"varint,1,opt,name=nominalConcurrencyShares"`
	// `lendablePercent` prescribes the fraction of the level's NominalCL that
	// can be borrowed by other priority levels.  This value of this
	// field must be between 0 and 100, inclusive, and it defaults to 0.
	// The number of seats that other levels can borrow from this level, known
	// as this level's LendableConcurrencyLimit (LendableCL), is defined as follows.
	//
	// LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
	//
	// +optional
	LendablePercent *int32 `json:"lendablePercent,omitempty" protobuf:"varint,2,opt,name=lendablePercent"`
}

ExemptPriorityLevelConfiguration describes the configurable aspects of the handling of exempt requests. In the mandatory exempt configuration object the values in the fields here can be modified by authorized users, unlike the rest of the `spec`.

func (*ExemptPriorityLevelConfiguration) DeepCopy

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

func (*ExemptPriorityLevelConfiguration) DeepCopyInto

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

func (*ExemptPriorityLevelConfiguration) Descriptor

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

func (*ExemptPriorityLevelConfiguration) Marshal

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

func (*ExemptPriorityLevelConfiguration) MarshalTo

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

func (*ExemptPriorityLevelConfiguration) MarshalToSizedBuffer

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

func (*ExemptPriorityLevelConfiguration) ProtoMessage

func (*ExemptPriorityLevelConfiguration) ProtoMessage()

func (*ExemptPriorityLevelConfiguration) Reset

func (*ExemptPriorityLevelConfiguration) Size

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

func (*ExemptPriorityLevelConfiguration) String

func (ExemptPriorityLevelConfiguration) SwaggerDoc

func (*ExemptPriorityLevelConfiguration) Unmarshal

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

func (*ExemptPriorityLevelConfiguration) XXX_DiscardUnknown

func (m *ExemptPriorityLevelConfiguration) XXX_DiscardUnknown()

func (*ExemptPriorityLevelConfiguration) XXX_Marshal

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

func (*ExemptPriorityLevelConfiguration) XXX_Merge

func (*ExemptPriorityLevelConfiguration) XXX_Size

func (m *ExemptPriorityLevelConfiguration) XXX_Size() int

func (*ExemptPriorityLevelConfiguration) XXX_Unmarshal

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

type FlowDistinguisherMethod

type FlowDistinguisherMethod struct {
	// `type` is the type of flow distinguisher method
	// The supported types are "ByUser" and "ByNamespace".
	// Required.
	Type FlowDistinguisherMethodType `json:"type" protobuf:"bytes,1,opt,name=type"`
}

FlowDistinguisherMethod specifies the method of a flow distinguisher.

func (*FlowDistinguisherMethod) DeepCopy

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

func (*FlowDistinguisherMethod) DeepCopyInto

func (in *FlowDistinguisherMethod) DeepCopyInto(out *FlowDistinguisherMethod)

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

func (*FlowDistinguisherMethod) Descriptor

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

func (*FlowDistinguisherMethod) Marshal

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

func (*FlowDistinguisherMethod) MarshalTo

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

func (*FlowDistinguisherMethod) MarshalToSizedBuffer

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

func (*FlowDistinguisherMethod) ProtoMessage

func (*FlowDistinguisherMethod) ProtoMessage()

func (*FlowDistinguisherMethod) Reset

func (m *FlowDistinguisherMethod) Reset()

func (*FlowDistinguisherMethod) Size

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

func (*FlowDistinguisherMethod) String

func (this *FlowDistinguisherMethod) String() string

func (FlowDistinguisherMethod) SwaggerDoc

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

func (*FlowDistinguisherMethod) Unmarshal

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

func (*FlowDistinguisherMethod) XXX_DiscardUnknown

func (m *FlowDistinguisherMethod) XXX_DiscardUnknown()

func (*FlowDistinguisherMethod) XXX_Marshal

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

func (*FlowDistinguisherMethod) XXX_Merge

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

func (*FlowDistinguisherMethod) XXX_Size

func (m *FlowDistinguisherMethod) XXX_Size() int

func (*FlowDistinguisherMethod) XXX_Unmarshal

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

type FlowDistinguisherMethodType

type FlowDistinguisherMethodType string

FlowDistinguisherMethodType is the type of flow distinguisher method

const (
	// FlowDistinguisherMethodByUserType specifies that the flow distinguisher is the username in the request.
	// This type is used to provide some insulation between users.
	FlowDistinguisherMethodByUserType FlowDistinguisherMethodType = "ByUser"

	// FlowDistinguisherMethodByNamespaceType specifies that the flow distinguisher is the namespace of the
	// object that the request acts upon. If the object is not namespaced, or if the request is a non-resource
	// request, then the distinguisher will be the empty string. An example usage of this type is to provide
	// some insulation between tenants in a situation where there are multiple tenants and each namespace
	// is dedicated to a tenant.
	FlowDistinguisherMethodByNamespaceType FlowDistinguisherMethodType = "ByNamespace"
)

These are valid flow-distinguisher methods.

type FlowSchema

type FlowSchema struct {
	metav1.TypeMeta `json:",inline"`
	// `metadata` is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// `spec` is the specification of the desired behavior of a FlowSchema.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec FlowSchemaSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	// `status` is the current status of a FlowSchema.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Status FlowSchemaStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

FlowSchema defines the schema of a group of flows. Note that a flow is made up of a set of inbound API requests with similar attributes and is identified by a pair of strings: the name of the FlowSchema and a "flow distinguisher".

func (*FlowSchema) APILifecycleIntroduced added in v0.31.0

func (in *FlowSchema) 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 (*FlowSchema) DeepCopy

func (in *FlowSchema) DeepCopy() *FlowSchema

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

func (*FlowSchema) DeepCopyInto

func (in *FlowSchema) DeepCopyInto(out *FlowSchema)

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

func (*FlowSchema) DeepCopyObject

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

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

func (*FlowSchema) Descriptor

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

func (*FlowSchema) Marshal

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

func (*FlowSchema) MarshalTo

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

func (*FlowSchema) MarshalToSizedBuffer

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

func (*FlowSchema) ProtoMessage

func (*FlowSchema) ProtoMessage()

func (*FlowSchema) Reset

func (m *FlowSchema) Reset()

func (*FlowSchema) Size

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

func (*FlowSchema) String

func (this *FlowSchema) String() string

func (FlowSchema) SwaggerDoc

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

func (*FlowSchema) Unmarshal

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

func (*FlowSchema) XXX_DiscardUnknown

func (m *FlowSchema) XXX_DiscardUnknown()

func (*FlowSchema) XXX_Marshal

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

func (*FlowSchema) XXX_Merge

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

func (*FlowSchema) XXX_Size

func (m *FlowSchema) XXX_Size() int

func (*FlowSchema) XXX_Unmarshal

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

type FlowSchemaCondition

type FlowSchemaCondition struct {
	// `type` is the type of the condition.
	// Required.
	Type FlowSchemaConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
	// `status` is the status of the condition.
	// Can be True, False, Unknown.
	// Required.
	Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
	// `lastTransitionTime` is the last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// `message` is a human-readable message indicating details about last transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

FlowSchemaCondition describes conditions for a FlowSchema.

func (*FlowSchemaCondition) DeepCopy

func (in *FlowSchemaCondition) DeepCopy() *FlowSchemaCondition

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

func (*FlowSchemaCondition) DeepCopyInto

func (in *FlowSchemaCondition) DeepCopyInto(out *FlowSchemaCondition)

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

func (*FlowSchemaCondition) Descriptor

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

func (*FlowSchemaCondition) Marshal

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

func (*FlowSchemaCondition) MarshalTo

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

func (*FlowSchemaCondition) MarshalToSizedBuffer

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

func (*FlowSchemaCondition) ProtoMessage

func (*FlowSchemaCondition) ProtoMessage()

func (*FlowSchemaCondition) Reset

func (m *FlowSchemaCondition) Reset()

func (*FlowSchemaCondition) Size

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

func (*FlowSchemaCondition) String

func (this *FlowSchemaCondition) String() string

func (FlowSchemaCondition) SwaggerDoc

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

func (*FlowSchemaCondition) Unmarshal

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

func (*FlowSchemaCondition) XXX_DiscardUnknown

func (m *FlowSchemaCondition) XXX_DiscardUnknown()

func (*FlowSchemaCondition) XXX_Marshal

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

func (*FlowSchemaCondition) XXX_Merge

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

func (*FlowSchemaCondition) XXX_Size

func (m *FlowSchemaCondition) XXX_Size() int

func (*FlowSchemaCondition) XXX_Unmarshal

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

type FlowSchemaConditionType

type FlowSchemaConditionType string

FlowSchemaConditionType is a valid value for FlowSchemaStatusCondition.Type

type FlowSchemaList

type FlowSchemaList struct {
	metav1.TypeMeta `json:",inline"`
	// `metadata` is the standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// `items` is a list of FlowSchemas.
	Items []FlowSchema `json:"items" protobuf:"bytes,2,rep,name=items"`
}

FlowSchemaList is a list of FlowSchema objects.

func (*FlowSchemaList) APILifecycleIntroduced added in v0.31.0

func (in *FlowSchemaList) 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 (*FlowSchemaList) DeepCopy

func (in *FlowSchemaList) DeepCopy() *FlowSchemaList

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

func (*FlowSchemaList) DeepCopyInto

func (in *FlowSchemaList) DeepCopyInto(out *FlowSchemaList)

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

func (*FlowSchemaList) DeepCopyObject

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

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

func (*FlowSchemaList) Descriptor

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

func (*FlowSchemaList) Marshal

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

func (*FlowSchemaList) MarshalTo

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

func (*FlowSchemaList) MarshalToSizedBuffer

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

func (*FlowSchemaList) ProtoMessage

func (*FlowSchemaList) ProtoMessage()

func (*FlowSchemaList) Reset

func (m *FlowSchemaList) Reset()

func (*FlowSchemaList) Size

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

func (*FlowSchemaList) String

func (this *FlowSchemaList) String() string

func (FlowSchemaList) SwaggerDoc

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

func (*FlowSchemaList) Unmarshal

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

func (*FlowSchemaList) XXX_DiscardUnknown

func (m *FlowSchemaList) XXX_DiscardUnknown()

func (*FlowSchemaList) XXX_Marshal

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

func (*FlowSchemaList) XXX_Merge

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

func (*FlowSchemaList) XXX_Size

func (m *FlowSchemaList) XXX_Size() int

func (*FlowSchemaList) XXX_Unmarshal

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

type FlowSchemaSpec

type FlowSchemaSpec struct {
	// `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot
	// be resolved, the FlowSchema will be ignored and marked as invalid in its status.
	// Required.
	PriorityLevelConfiguration PriorityLevelConfigurationReference `json:"priorityLevelConfiguration" protobuf:"bytes,1,opt,name=priorityLevelConfiguration"`
	// `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen
	// FlowSchema is among those with the numerically lowest (which we take to be logically highest)
	// MatchingPrecedence.  Each MatchingPrecedence value must be ranged in [1,10000].
	// Note that if the precedence is not specified, it will be set to 1000 as default.
	// +optional
	MatchingPrecedence int32 `json:"matchingPrecedence" protobuf:"varint,2,opt,name=matchingPrecedence"`
	// `distinguisherMethod` defines how to compute the flow distinguisher for requests that match this schema.
	// `nil` specifies that the distinguisher is disabled and thus will always be the empty string.
	// +optional
	DistinguisherMethod *FlowDistinguisherMethod `json:"distinguisherMethod,omitempty" protobuf:"bytes,3,opt,name=distinguisherMethod"`
	// `rules` describes which requests will match this flow schema. This FlowSchema matches a request if and only if
	// at least one member of rules matches the request.
	// if it is an empty slice, there will be no requests matching the FlowSchema.
	// +listType=atomic
	// +optional
	Rules []PolicyRulesWithSubjects `json:"rules,omitempty" protobuf:"bytes,4,rep,name=rules"`
}

FlowSchemaSpec describes how the FlowSchema's specification looks like.

func (*FlowSchemaSpec) DeepCopy

func (in *FlowSchemaSpec) DeepCopy() *FlowSchemaSpec

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

func (*FlowSchemaSpec) DeepCopyInto

func (in *FlowSchemaSpec) DeepCopyInto(out *FlowSchemaSpec)

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

func (*FlowSchemaSpec) Descriptor

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

func (*FlowSchemaSpec) Marshal

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

func (*FlowSchemaSpec) MarshalTo

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

func (*FlowSchemaSpec) MarshalToSizedBuffer

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

func (*FlowSchemaSpec) ProtoMessage

func (*FlowSchemaSpec) ProtoMessage()

func (*FlowSchemaSpec) Reset

func (m *FlowSchemaSpec) Reset()

func (*FlowSchemaSpec) Size

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

func (*FlowSchemaSpec) String

func (this *FlowSchemaSpec) String() string

func (FlowSchemaSpec) SwaggerDoc

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

func (*FlowSchemaSpec) Unmarshal

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

func (*FlowSchemaSpec) XXX_DiscardUnknown

func (m *FlowSchemaSpec) XXX_DiscardUnknown()

func (*FlowSchemaSpec) XXX_Marshal

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

func (*FlowSchemaSpec) XXX_Merge

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

func (*FlowSchemaSpec) XXX_Size

func (m *FlowSchemaSpec) XXX_Size() int

func (*FlowSchemaSpec) XXX_Unmarshal

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

type FlowSchemaStatus

type FlowSchemaStatus struct {
	// `conditions` is a list of the current states of FlowSchema.
	// +listType=map
	// +listMapKey=type
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []FlowSchemaCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

FlowSchemaStatus represents the current state of a FlowSchema.

func (*FlowSchemaStatus) DeepCopy

func (in *FlowSchemaStatus) DeepCopy() *FlowSchemaStatus

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

func (*FlowSchemaStatus) DeepCopyInto

func (in *FlowSchemaStatus) DeepCopyInto(out *FlowSchemaStatus)

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

func (*FlowSchemaStatus) Descriptor

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

func (*FlowSchemaStatus) Marshal

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

func (*FlowSchemaStatus) MarshalTo

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

func (*FlowSchemaStatus) MarshalToSizedBuffer

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

func (*FlowSchemaStatus) ProtoMessage

func (*FlowSchemaStatus) ProtoMessage()

func (*FlowSchemaStatus) Reset

func (m *FlowSchemaStatus) Reset()

func (*FlowSchemaStatus) Size

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

func (*FlowSchemaStatus) String

func (this *FlowSchemaStatus) String() string

func (FlowSchemaStatus) SwaggerDoc

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

func (*FlowSchemaStatus) Unmarshal

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

func (*FlowSchemaStatus) XXX_DiscardUnknown

func (m *FlowSchemaStatus) XXX_DiscardUnknown()

func (*FlowSchemaStatus) XXX_Marshal

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

func (*FlowSchemaStatus) XXX_Merge

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

func (*FlowSchemaStatus) XXX_Size

func (m *FlowSchemaStatus) XXX_Size() int

func (*FlowSchemaStatus) XXX_Unmarshal

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

type GroupSubject

type GroupSubject struct {
	// name is the user group that matches, or "*" to match all user groups.
	// See https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go for some
	// well-known group names.
	// Required.
	Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}

GroupSubject holds detailed information for group-kind subject.

func (*GroupSubject) DeepCopy

func (in *GroupSubject) DeepCopy() *GroupSubject

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

func (*GroupSubject) DeepCopyInto

func (in *GroupSubject) DeepCopyInto(out *GroupSubject)

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

func (*GroupSubject) Descriptor

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

func (*GroupSubject) Marshal

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

func (*GroupSubject) MarshalTo

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

func (*GroupSubject) MarshalToSizedBuffer

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

func (*GroupSubject) ProtoMessage

func (*GroupSubject) ProtoMessage()

func (*GroupSubject) Reset

func (m *GroupSubject) Reset()

func (*GroupSubject) Size

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

func (*GroupSubject) String

func (this *GroupSubject) String() string

func (GroupSubject) SwaggerDoc

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

func (*GroupSubject) Unmarshal

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

func (*GroupSubject) XXX_DiscardUnknown

func (m *GroupSubject) XXX_DiscardUnknown()

func (*GroupSubject) XXX_Marshal

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

func (*GroupSubject) XXX_Merge

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

func (*GroupSubject) XXX_Size

func (m *GroupSubject) XXX_Size() int

func (*GroupSubject) XXX_Unmarshal

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

type LimitResponse

type LimitResponse struct {
	// `type` is "Queue" or "Reject".
	// "Queue" means that requests that can not be executed upon arrival
	// are held in a queue until they can be executed or a queuing limit
	// is reached.
	// "Reject" means that requests that can not be executed upon arrival
	// are rejected.
	// Required.
	// +unionDiscriminator
	Type LimitResponseType `json:"type" protobuf:"bytes,1,opt,name=type"`

	// `queuing` holds the configuration parameters for queuing.
	// This field may be non-empty only if `type` is `"Queue"`.
	// +optional
	Queuing *QueuingConfiguration `json:"queuing,omitempty" protobuf:"bytes,2,opt,name=queuing"`
}

LimitResponse defines how to handle requests that can not be executed right now. +union

func (*LimitResponse) DeepCopy

func (in *LimitResponse) DeepCopy() *LimitResponse

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

func (*LimitResponse) DeepCopyInto

func (in *LimitResponse) DeepCopyInto(out *LimitResponse)

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

func (*LimitResponse) Descriptor

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

func (*LimitResponse) Marshal

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

func (*LimitResponse) MarshalTo

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

func (*LimitResponse) MarshalToSizedBuffer

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

func (*LimitResponse) ProtoMessage

func (*LimitResponse) ProtoMessage()

func (*LimitResponse) Reset

func (m *LimitResponse) Reset()

func (*LimitResponse) Size

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

func (*LimitResponse) String

func (this *LimitResponse) String() string

func (LimitResponse) SwaggerDoc

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

func (*LimitResponse) Unmarshal

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

func (*LimitResponse) XXX_DiscardUnknown

func (m *LimitResponse) XXX_DiscardUnknown()

func (*LimitResponse) XXX_Marshal

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

func (*LimitResponse) XXX_Merge

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

func (*LimitResponse) XXX_Size

func (m *LimitResponse) XXX_Size() int

func (*LimitResponse) XXX_Unmarshal

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

type LimitResponseType

type LimitResponseType string

LimitResponseType identifies how a Limited priority level handles a request that can not be executed right now

const (
	// LimitResponseTypeQueue means that requests that can not be executed right now are queued until they can be executed or a queuing limit is hit
	LimitResponseTypeQueue LimitResponseType = "Queue"

	// LimitResponseTypeReject means that requests that can not be executed right now are rejected
	LimitResponseTypeReject LimitResponseType = "Reject"
)

Supported limit responses.

type LimitedPriorityLevelConfiguration

type LimitedPriorityLevelConfiguration struct {
	// `nominalConcurrencyShares` (NCS) contributes to the computation of the
	// NominalConcurrencyLimit (NominalCL) of this level.
	// This is the number of execution seats available at this priority level.
	// This is used both for requests dispatched from this priority level
	// as well as requests dispatched from other priority levels
	// borrowing seats from this level.
	// The server's concurrency limit (ServerCL) is divided among the
	// Limited priority levels in proportion to their NCS values:
	//
	// NominalCL(i)  = ceil( ServerCL * NCS(i) / sum_ncs )
	// sum_ncs = sum[priority level k] NCS(k)
	//
	// Bigger numbers mean a larger nominal concurrency limit,
	// at the expense of every other priority level.
	//
	// If not specified, this field defaults to a value of 30.
	//
	// Setting this field to zero supports the construction of a
	// "jail" for this priority level that is used to hold some request(s)
	//
	// +optional
	NominalConcurrencyShares *int32 `json:"nominalConcurrencyShares" protobuf:"varint,1,opt,name=nominalConcurrencyShares"`

	// `limitResponse` indicates what to do with requests that can not be executed right now
	LimitResponse LimitResponse `json:"limitResponse,omitempty" protobuf:"bytes,2,opt,name=limitResponse"`

	// `lendablePercent` prescribes the fraction of the level's NominalCL that
	// can be borrowed by other priority levels. The value of this
	// field must be between 0 and 100, inclusive, and it defaults to 0.
	// The number of seats that other levels can borrow from this level, known
	// as this level's LendableConcurrencyLimit (LendableCL), is defined as follows.
	//
	// LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
	//
	// +optional
	LendablePercent *int32 `json:"lendablePercent,omitempty" protobuf:"varint,3,opt,name=lendablePercent"`

	// `borrowingLimitPercent`, if present, configures a limit on how many
	// seats this priority level can borrow from other priority levels.
	// The limit is known as this level's BorrowingConcurrencyLimit
	// (BorrowingCL) and is a limit on the total number of seats that this
	// level may borrow at any one time.
	// This field holds the ratio of that limit to the level's nominal
	// concurrency limit. When this field is non-nil, it must hold a
	// non-negative integer and the limit is calculated as follows.
	//
	// BorrowingCL(i) = round( NominalCL(i) * borrowingLimitPercent(i)/100.0 )
	//
	// The value of this field can be more than 100, implying that this
	// priority level can borrow a number of seats that is greater than
	// its own nominal concurrency limit (NominalCL).
	// When this field is left `nil`, the limit is effectively infinite.
	// +optional
	BorrowingLimitPercent *int32 `json:"borrowingLimitPercent,omitempty" protobuf:"varint,4,opt,name=borrowingLimitPercent"`
}

LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:

  • How are requests for this priority level limited?
  • What should be done with requests that exceed the limit?

func (*LimitedPriorityLevelConfiguration) DeepCopy

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

func (*LimitedPriorityLevelConfiguration) DeepCopyInto

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

func (*LimitedPriorityLevelConfiguration) Descriptor

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

func (*LimitedPriorityLevelConfiguration) Marshal

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

func (*LimitedPriorityLevelConfiguration) MarshalTo

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

func (*LimitedPriorityLevelConfiguration) MarshalToSizedBuffer

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

func (*LimitedPriorityLevelConfiguration) ProtoMessage

func (*LimitedPriorityLevelConfiguration) ProtoMessage()

func (*LimitedPriorityLevelConfiguration) Reset

func (*LimitedPriorityLevelConfiguration) Size

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

func (*LimitedPriorityLevelConfiguration) String

func (LimitedPriorityLevelConfiguration) SwaggerDoc

func (*LimitedPriorityLevelConfiguration) Unmarshal

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

func (*LimitedPriorityLevelConfiguration) XXX_DiscardUnknown

func (m *LimitedPriorityLevelConfiguration) XXX_DiscardUnknown()

func (*LimitedPriorityLevelConfiguration) XXX_Marshal

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

func (*LimitedPriorityLevelConfiguration) XXX_Merge

func (*LimitedPriorityLevelConfiguration) XXX_Size

func (m *LimitedPriorityLevelConfiguration) XXX_Size() int

func (*LimitedPriorityLevelConfiguration) XXX_Unmarshal

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

type NonResourcePolicyRule

type NonResourcePolicyRule struct {
	// `verbs` is a list of matching verbs and may not be empty.
	// "*" matches all verbs. If it is present, it must be the only entry.
	// +listType=set
	// Required.
	Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`
	// `nonResourceURLs` is a set of url prefixes that a user should have access to and may not be empty.
	// For example:
	//   - "/healthz" is legal
	//   - "/hea*" is illegal
	//   - "/hea" is legal but matches nothing
	//   - "/hea/*" also matches nothing
	//   - "/healthz/*" matches all per-component health checks.
	// "*" matches all non-resource urls. if it is present, it must be the only entry.
	// +listType=set
	// Required.
	NonResourceURLs []string `json:"nonResourceURLs" protobuf:"bytes,6,rep,name=nonResourceURLs"`
}

NonResourcePolicyRule is a predicate that matches non-resource requests according to their verb and the target non-resource URL. A NonResourcePolicyRule matches a request if and only if both (a) at least one member of verbs matches the request and (b) at least one member of nonResourceURLs matches the request.

func (*NonResourcePolicyRule) DeepCopy

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

func (*NonResourcePolicyRule) DeepCopyInto

func (in *NonResourcePolicyRule) DeepCopyInto(out *NonResourcePolicyRule)

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

func (*NonResourcePolicyRule) Descriptor

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

func (*NonResourcePolicyRule) Marshal

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

func (*NonResourcePolicyRule) MarshalTo

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

func (*NonResourcePolicyRule) MarshalToSizedBuffer

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

func (*NonResourcePolicyRule) ProtoMessage

func (*NonResourcePolicyRule) ProtoMessage()

func (*NonResourcePolicyRule) Reset

func (m *NonResourcePolicyRule) Reset()

func (*NonResourcePolicyRule) Size

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

func (*NonResourcePolicyRule) String

func (this *NonResourcePolicyRule) String() string

func (NonResourcePolicyRule) SwaggerDoc

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

func (*NonResourcePolicyRule) Unmarshal

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

func (*NonResourcePolicyRule) XXX_DiscardUnknown

func (m *NonResourcePolicyRule) XXX_DiscardUnknown()

func (*NonResourcePolicyRule) XXX_Marshal

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

func (*NonResourcePolicyRule) XXX_Merge

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

func (*NonResourcePolicyRule) XXX_Size

func (m *NonResourcePolicyRule) XXX_Size() int

func (*NonResourcePolicyRule) XXX_Unmarshal

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

type PolicyRulesWithSubjects

type PolicyRulesWithSubjects struct {
	// subjects is the list of normal user, serviceaccount, or group that this rule cares about.
	// There must be at least one member in this slice.
	// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
	// +listType=atomic
	// Required.
	Subjects []Subject `json:"subjects" protobuf:"bytes,1,rep,name=subjects"`
	// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
	// target resource.
	// At least one of `resourceRules` and `nonResourceRules` has to be non-empty.
	// +listType=atomic
	// +optional
	ResourceRules []ResourcePolicyRule `json:"resourceRules,omitempty" protobuf:"bytes,2,opt,name=resourceRules"`
	// `nonResourceRules` is a list of NonResourcePolicyRules that identify matching requests according to their verb
	// and the target non-resource URL.
	// +listType=atomic
	// +optional
	NonResourceRules []NonResourcePolicyRule `json:"nonResourceRules,omitempty" protobuf:"bytes,3,opt,name=nonResourceRules"`
}

PolicyRulesWithSubjects prescribes a test that applies to a request to an apiserver. The test considers the subject making the request, the verb being requested, and the resource to be acted upon. This PolicyRulesWithSubjects matches a request if and only if both (a) at least one member of subjects matches the request and (b) at least one member of resourceRules or nonResourceRules matches the request.

func (*PolicyRulesWithSubjects) DeepCopy

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

func (*PolicyRulesWithSubjects) DeepCopyInto

func (in *PolicyRulesWithSubjects) DeepCopyInto(out *PolicyRulesWithSubjects)

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

func (*PolicyRulesWithSubjects) Descriptor

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

func (*PolicyRulesWithSubjects) Marshal

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

func (*PolicyRulesWithSubjects) MarshalTo

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

func (*PolicyRulesWithSubjects) MarshalToSizedBuffer

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

func (*PolicyRulesWithSubjects) ProtoMessage

func (*PolicyRulesWithSubjects) ProtoMessage()

func (*PolicyRulesWithSubjects) Reset

func (m *PolicyRulesWithSubjects) Reset()

func (*PolicyRulesWithSubjects) Size

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

func (*PolicyRulesWithSubjects) String

func (this *PolicyRulesWithSubjects) String() string

func (PolicyRulesWithSubjects) SwaggerDoc

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

func (*PolicyRulesWithSubjects) Unmarshal

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

func (*PolicyRulesWithSubjects) XXX_DiscardUnknown

func (m *PolicyRulesWithSubjects) XXX_DiscardUnknown()

func (*PolicyRulesWithSubjects) XXX_Marshal

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

func (*PolicyRulesWithSubjects) XXX_Merge

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

func (*PolicyRulesWithSubjects) XXX_Size

func (m *PolicyRulesWithSubjects) XXX_Size() int

func (*PolicyRulesWithSubjects) XXX_Unmarshal

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

type PriorityLevelConfiguration

type PriorityLevelConfiguration struct {
	metav1.TypeMeta `json:",inline"`
	// `metadata` is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// `spec` is the specification of the desired behavior of a "request-priority".
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec PriorityLevelConfigurationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	// `status` is the current status of a "request-priority".
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Status PriorityLevelConfigurationStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

PriorityLevelConfiguration represents the configuration of a priority level.

func (*PriorityLevelConfiguration) APILifecycleIntroduced added in v0.31.0

func (in *PriorityLevelConfiguration) 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 (*PriorityLevelConfiguration) DeepCopy

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

func (*PriorityLevelConfiguration) DeepCopyInto

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

func (*PriorityLevelConfiguration) DeepCopyObject

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

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

func (*PriorityLevelConfiguration) Descriptor

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

func (*PriorityLevelConfiguration) Marshal

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

func (*PriorityLevelConfiguration) MarshalTo

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

func (*PriorityLevelConfiguration) MarshalToSizedBuffer

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

func (*PriorityLevelConfiguration) ProtoMessage

func (*PriorityLevelConfiguration) ProtoMessage()

func (*PriorityLevelConfiguration) Reset

func (m *PriorityLevelConfiguration) Reset()

func (*PriorityLevelConfiguration) Size

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

func (*PriorityLevelConfiguration) String

func (this *PriorityLevelConfiguration) String() string

func (PriorityLevelConfiguration) SwaggerDoc

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

func (*PriorityLevelConfiguration) Unmarshal

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

func (*PriorityLevelConfiguration) XXX_DiscardUnknown

func (m *PriorityLevelConfiguration) XXX_DiscardUnknown()

func (*PriorityLevelConfiguration) XXX_Marshal

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

func (*PriorityLevelConfiguration) XXX_Merge

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

func (*PriorityLevelConfiguration) XXX_Size

func (m *PriorityLevelConfiguration) XXX_Size() int

func (*PriorityLevelConfiguration) XXX_Unmarshal

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

type PriorityLevelConfigurationCondition

type PriorityLevelConfigurationCondition struct {
	// `type` is the type of the condition.
	// Required.
	Type PriorityLevelConfigurationConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
	// `status` is the status of the condition.
	// Can be True, False, Unknown.
	// Required.
	Status ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
	// `lastTransitionTime` is the last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// `reason` is a unique, one-word, CamelCase reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// `message` is a human-readable message indicating details about last transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

PriorityLevelConfigurationCondition defines the condition of priority level.

func (*PriorityLevelConfigurationCondition) DeepCopy

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

func (*PriorityLevelConfigurationCondition) DeepCopyInto

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

func (*PriorityLevelConfigurationCondition) Descriptor

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

func (*PriorityLevelConfigurationCondition) Marshal

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

func (*PriorityLevelConfigurationCondition) MarshalTo

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

func (*PriorityLevelConfigurationCondition) MarshalToSizedBuffer

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

func (*PriorityLevelConfigurationCondition) ProtoMessage

func (*PriorityLevelConfigurationCondition) ProtoMessage()

func (*PriorityLevelConfigurationCondition) Reset

func (*PriorityLevelConfigurationCondition) Size

func (*PriorityLevelConfigurationCondition) String

func (PriorityLevelConfigurationCondition) SwaggerDoc

func (*PriorityLevelConfigurationCondition) Unmarshal

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

func (*PriorityLevelConfigurationCondition) XXX_DiscardUnknown

func (m *PriorityLevelConfigurationCondition) XXX_DiscardUnknown()

func (*PriorityLevelConfigurationCondition) XXX_Marshal

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

func (*PriorityLevelConfigurationCondition) XXX_Merge

func (*PriorityLevelConfigurationCondition) XXX_Size

func (*PriorityLevelConfigurationCondition) XXX_Unmarshal

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

type PriorityLevelConfigurationConditionType

type PriorityLevelConfigurationConditionType string

PriorityLevelConfigurationConditionType is a valid value for PriorityLevelConfigurationStatusCondition.Type

type PriorityLevelConfigurationList

type PriorityLevelConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	// `metadata` is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// `items` is a list of request-priorities.
	Items []PriorityLevelConfiguration `json:"items" protobuf:"bytes,2,rep,name=items"`
}

PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.

func (*PriorityLevelConfigurationList) APILifecycleIntroduced added in v0.31.0

func (in *PriorityLevelConfigurationList) 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 (*PriorityLevelConfigurationList) DeepCopy

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

func (*PriorityLevelConfigurationList) DeepCopyInto

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

func (*PriorityLevelConfigurationList) DeepCopyObject

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

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

func (*PriorityLevelConfigurationList) Descriptor

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

func (*PriorityLevelConfigurationList) Marshal

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

func (*PriorityLevelConfigurationList) MarshalTo

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

func (*PriorityLevelConfigurationList) MarshalToSizedBuffer

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

func (*PriorityLevelConfigurationList) ProtoMessage

func (*PriorityLevelConfigurationList) ProtoMessage()

func (*PriorityLevelConfigurationList) Reset

func (m *PriorityLevelConfigurationList) Reset()

func (*PriorityLevelConfigurationList) Size

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

func (*PriorityLevelConfigurationList) String

func (this *PriorityLevelConfigurationList) String() string

func (PriorityLevelConfigurationList) SwaggerDoc

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

func (*PriorityLevelConfigurationList) Unmarshal

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

func (*PriorityLevelConfigurationList) XXX_DiscardUnknown

func (m *PriorityLevelConfigurationList) XXX_DiscardUnknown()

func (*PriorityLevelConfigurationList) XXX_Marshal

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

func (*PriorityLevelConfigurationList) XXX_Merge

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

func (*PriorityLevelConfigurationList) XXX_Size

func (m *PriorityLevelConfigurationList) XXX_Size() int

func (*PriorityLevelConfigurationList) XXX_Unmarshal

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

type PriorityLevelConfigurationReference

type PriorityLevelConfigurationReference struct {
	// `name` is the name of the priority level configuration being referenced
	// Required.
	Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}

PriorityLevelConfigurationReference contains information that points to the "request-priority" being used.

func (*PriorityLevelConfigurationReference) DeepCopy

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

func (*PriorityLevelConfigurationReference) DeepCopyInto

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

func (*PriorityLevelConfigurationReference) Descriptor

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

func (*PriorityLevelConfigurationReference) Marshal

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

func (*PriorityLevelConfigurationReference) MarshalTo

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

func (*PriorityLevelConfigurationReference) MarshalToSizedBuffer

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

func (*PriorityLevelConfigurationReference) ProtoMessage

func (*PriorityLevelConfigurationReference) ProtoMessage()

func (*PriorityLevelConfigurationReference) Reset

func (*PriorityLevelConfigurationReference) Size

func (*PriorityLevelConfigurationReference) String

func (PriorityLevelConfigurationReference) SwaggerDoc

func (*PriorityLevelConfigurationReference) Unmarshal

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

func (*PriorityLevelConfigurationReference) XXX_DiscardUnknown

func (m *PriorityLevelConfigurationReference) XXX_DiscardUnknown()

func (*PriorityLevelConfigurationReference) XXX_Marshal

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

func (*PriorityLevelConfigurationReference) XXX_Merge

func (*PriorityLevelConfigurationReference) XXX_Size

func (*PriorityLevelConfigurationReference) XXX_Unmarshal

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

type PriorityLevelConfigurationSpec

type PriorityLevelConfigurationSpec struct {
	// `type` indicates whether this priority level is subject to
	// limitation on request execution.  A value of `"Exempt"` means
	// that requests of this priority level are not subject to a limit
	// (and thus are never queued) and do not detract from the
	// capacity made available to other priority levels.  A value of
	// `"Limited"` means that (a) requests of this priority level
	// _are_ subject to limits and (b) some of the server's limited
	// capacity is made available exclusively to this priority level.
	// Required.
	// +unionDiscriminator
	Type PriorityLevelEnablement `json:"type" protobuf:"bytes,1,opt,name=type"`

	// `limited` specifies how requests are handled for a Limited priority level.
	// This field must be non-empty if and only if `type` is `"Limited"`.
	// +optional
	Limited *LimitedPriorityLevelConfiguration `json:"limited,omitempty" protobuf:"bytes,2,opt,name=limited"`

	// `exempt` specifies how requests are handled for an exempt priority level.
	// This field MUST be empty if `type` is `"Limited"`.
	// This field MAY be non-empty if `type` is `"Exempt"`.
	// If empty and `type` is `"Exempt"` then the default values
	// for `ExemptPriorityLevelConfiguration` apply.
	// +optional
	Exempt *ExemptPriorityLevelConfiguration `json:"exempt,omitempty" protobuf:"bytes,3,opt,name=exempt"`
}

PriorityLevelConfigurationSpec specifies the configuration of a priority level. +union

func (*PriorityLevelConfigurationSpec) DeepCopy

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

func (*PriorityLevelConfigurationSpec) DeepCopyInto

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

func (*PriorityLevelConfigurationSpec) Descriptor

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

func (*PriorityLevelConfigurationSpec) Marshal

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

func (*PriorityLevelConfigurationSpec) MarshalTo

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

func (*PriorityLevelConfigurationSpec) MarshalToSizedBuffer

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

func (*PriorityLevelConfigurationSpec) ProtoMessage

func (*PriorityLevelConfigurationSpec) ProtoMessage()

func (*PriorityLevelConfigurationSpec) Reset

func (m *PriorityLevelConfigurationSpec) Reset()

func (*PriorityLevelConfigurationSpec) Size

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

func (*PriorityLevelConfigurationSpec) String

func (this *PriorityLevelConfigurationSpec) String() string

func (PriorityLevelConfigurationSpec) SwaggerDoc

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

func (*PriorityLevelConfigurationSpec) Unmarshal

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

func (*PriorityLevelConfigurationSpec) XXX_DiscardUnknown

func (m *PriorityLevelConfigurationSpec) XXX_DiscardUnknown()

func (*PriorityLevelConfigurationSpec) XXX_Marshal

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

func (*PriorityLevelConfigurationSpec) XXX_Merge

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

func (*PriorityLevelConfigurationSpec) XXX_Size

func (m *PriorityLevelConfigurationSpec) XXX_Size() int

func (*PriorityLevelConfigurationSpec) XXX_Unmarshal

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

type PriorityLevelConfigurationStatus

type PriorityLevelConfigurationStatus struct {
	// `conditions` is the current state of "request-priority".
	// +listType=map
	// +listMapKey=type
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []PriorityLevelConfigurationCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

PriorityLevelConfigurationStatus represents the current state of a "request-priority".

func (*PriorityLevelConfigurationStatus) DeepCopy

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

func (*PriorityLevelConfigurationStatus) DeepCopyInto

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

func (*PriorityLevelConfigurationStatus) Descriptor

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

func (*PriorityLevelConfigurationStatus) Marshal

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

func (*PriorityLevelConfigurationStatus) MarshalTo

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

func (*PriorityLevelConfigurationStatus) MarshalToSizedBuffer

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

func (*PriorityLevelConfigurationStatus) ProtoMessage

func (*PriorityLevelConfigurationStatus) ProtoMessage()

func (*PriorityLevelConfigurationStatus) Reset

func (*PriorityLevelConfigurationStatus) Size

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

func (*PriorityLevelConfigurationStatus) String

func (PriorityLevelConfigurationStatus) SwaggerDoc

func (*PriorityLevelConfigurationStatus) Unmarshal

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

func (*PriorityLevelConfigurationStatus) XXX_DiscardUnknown

func (m *PriorityLevelConfigurationStatus) XXX_DiscardUnknown()

func (*PriorityLevelConfigurationStatus) XXX_Marshal

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

func (*PriorityLevelConfigurationStatus) XXX_Merge

func (*PriorityLevelConfigurationStatus) XXX_Size

func (m *PriorityLevelConfigurationStatus) XXX_Size() int

func (*PriorityLevelConfigurationStatus) XXX_Unmarshal

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

type PriorityLevelEnablement

type PriorityLevelEnablement string

PriorityLevelEnablement indicates whether limits on execution are enabled for the priority level

const (
	// PriorityLevelEnablementExempt means that requests are not subject to limits
	PriorityLevelEnablementExempt PriorityLevelEnablement = "Exempt"

	// PriorityLevelEnablementLimited means that requests are subject to limits
	PriorityLevelEnablementLimited PriorityLevelEnablement = "Limited"
)

Supported priority level enablement values.

type QueuingConfiguration

type QueuingConfiguration struct {
	// `queues` is the number of queues for this priority level. The
	// queues exist independently at each apiserver. The value must be
	// positive.  Setting it to 1 effectively precludes
	// shufflesharding and thus makes the distinguisher method of
	// associated flow schemas irrelevant.  This field has a default
	// value of 64.
	// +optional
	Queues int32 `json:"queues" protobuf:"varint,1,opt,name=queues"`

	// `handSize` is a small positive number that configures the
	// shuffle sharding of requests into queues.  When enqueuing a request
	// at this priority level the request's flow identifier (a string
	// pair) is hashed and the hash value is used to shuffle the list
	// of queues and deal a hand of the size specified here.  The
	// request is put into one of the shortest queues in that hand.
	// `handSize` must be no larger than `queues`, and should be
	// significantly smaller (so that a few heavy flows do not
	// saturate most of the queues).  See the user-facing
	// documentation for more extensive guidance on setting this
	// field.  This field has a default value of 8.
	// +optional
	HandSize int32 `json:"handSize" protobuf:"varint,2,opt,name=handSize"`

	// `queueLengthLimit` is the maximum number of requests allowed to
	// be waiting in a given queue of this priority level at a time;
	// excess requests are rejected.  This value must be positive.  If
	// not specified, it will be defaulted to 50.
	// +optional
	QueueLengthLimit int32 `json:"queueLengthLimit" protobuf:"varint,3,opt,name=queueLengthLimit"`
}

QueuingConfiguration holds the configuration parameters for queuing

func (*QueuingConfiguration) DeepCopy

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

func (*QueuingConfiguration) DeepCopyInto

func (in *QueuingConfiguration) DeepCopyInto(out *QueuingConfiguration)

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

func (*QueuingConfiguration) Descriptor

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

func (*QueuingConfiguration) Marshal

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

func (*QueuingConfiguration) MarshalTo

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

func (*QueuingConfiguration) MarshalToSizedBuffer

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

func (*QueuingConfiguration) ProtoMessage

func (*QueuingConfiguration) ProtoMessage()

func (*QueuingConfiguration) Reset

func (m *QueuingConfiguration) Reset()

func (*QueuingConfiguration) Size

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

func (*QueuingConfiguration) String

func (this *QueuingConfiguration) String() string

func (QueuingConfiguration) SwaggerDoc

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

func (*QueuingConfiguration) Unmarshal

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

func (*QueuingConfiguration) XXX_DiscardUnknown

func (m *QueuingConfiguration) XXX_DiscardUnknown()

func (*QueuingConfiguration) XXX_Marshal

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

func (*QueuingConfiguration) XXX_Merge

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

func (*QueuingConfiguration) XXX_Size

func (m *QueuingConfiguration) XXX_Size() int

func (*QueuingConfiguration) XXX_Unmarshal

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

type ResourcePolicyRule

type ResourcePolicyRule struct {
	// `verbs` is a list of matching verbs and may not be empty.
	// "*" matches all verbs and, if present, must be the only entry.
	// +listType=set
	// Required.
	Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"`

	// `apiGroups` is a list of matching API groups and may not be empty.
	// "*" matches all API groups and, if present, must be the only entry.
	// +listType=set
	// Required.
	APIGroups []string `json:"apiGroups" protobuf:"bytes,2,rep,name=apiGroups"`

	// `resources` is a list of matching resources (i.e., lowercase
	// and plural) with, if desired, subresource.  For example, [
	// "services", "nodes/status" ].  This list may not be empty.
	// "*" matches all resources and, if present, must be the only entry.
	// Required.
	// +listType=set
	Resources []string `json:"resources" protobuf:"bytes,3,rep,name=resources"`

	// `clusterScope` indicates whether to match requests that do not
	// specify a namespace (which happens either because the resource
	// is not namespaced or the request targets all namespaces).
	// If this field is omitted or false then the `namespaces` field
	// must contain a non-empty list.
	// +optional
	ClusterScope bool `json:"clusterScope,omitempty" protobuf:"varint,4,opt,name=clusterScope"`

	// `namespaces` is a list of target namespaces that restricts
	// matches.  A request that specifies a target namespace matches
	// only if either (a) this list contains that target namespace or
	// (b) this list contains "*".  Note that "*" matches any
	// specified namespace but does not match a request that _does
	// not specify_ a namespace (see the `clusterScope` field for
	// that).
	// This list may be empty, but only if `clusterScope` is true.
	// +optional
	// +listType=set
	Namespaces []string `json:"namespaces" protobuf:"bytes,5,rep,name=namespaces"`
}

ResourcePolicyRule is a predicate that matches some resource requests, testing the request's verb and the target resource. A ResourcePolicyRule matches a resource request if and only if: (a) at least one member of verbs matches the request, (b) at least one member of apiGroups matches the request, (c) at least one member of resources matches the request, and (d) either (d1) the request does not specify a namespace (i.e., `Namespace==""`) and clusterScope is true or (d2) the request specifies a namespace and least one member of namespaces matches the request's namespace.

func (*ResourcePolicyRule) DeepCopy

func (in *ResourcePolicyRule) DeepCopy() *ResourcePolicyRule

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

func (*ResourcePolicyRule) DeepCopyInto

func (in *ResourcePolicyRule) DeepCopyInto(out *ResourcePolicyRule)

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

func (*ResourcePolicyRule) Descriptor

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

func (*ResourcePolicyRule) Marshal

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

func (*ResourcePolicyRule) MarshalTo

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

func (*ResourcePolicyRule) MarshalToSizedBuffer

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

func (*ResourcePolicyRule) ProtoMessage

func (*ResourcePolicyRule) ProtoMessage()

func (*ResourcePolicyRule) Reset

func (m *ResourcePolicyRule) Reset()

func (*ResourcePolicyRule) Size

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

func (*ResourcePolicyRule) String

func (this *ResourcePolicyRule) String() string

func (ResourcePolicyRule) SwaggerDoc

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

func (*ResourcePolicyRule) Unmarshal

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

func (*ResourcePolicyRule) XXX_DiscardUnknown

func (m *ResourcePolicyRule) XXX_DiscardUnknown()

func (*ResourcePolicyRule) XXX_Marshal

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

func (*ResourcePolicyRule) XXX_Merge

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

func (*ResourcePolicyRule) XXX_Size

func (m *ResourcePolicyRule) XXX_Size() int

func (*ResourcePolicyRule) XXX_Unmarshal

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

type ServiceAccountSubject

type ServiceAccountSubject struct {
	// `namespace` is the namespace of matching ServiceAccount objects.
	// Required.
	Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
	// `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name.
	// Required.
	Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}

ServiceAccountSubject holds detailed information for service-account-kind subject.

func (*ServiceAccountSubject) DeepCopy

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

func (*ServiceAccountSubject) DeepCopyInto

func (in *ServiceAccountSubject) DeepCopyInto(out *ServiceAccountSubject)

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

func (*ServiceAccountSubject) Descriptor

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

func (*ServiceAccountSubject) Marshal

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

func (*ServiceAccountSubject) MarshalTo

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

func (*ServiceAccountSubject) MarshalToSizedBuffer

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

func (*ServiceAccountSubject) ProtoMessage

func (*ServiceAccountSubject) ProtoMessage()

func (*ServiceAccountSubject) Reset

func (m *ServiceAccountSubject) Reset()

func (*ServiceAccountSubject) Size

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

func (*ServiceAccountSubject) String

func (this *ServiceAccountSubject) String() string

func (ServiceAccountSubject) SwaggerDoc

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

func (*ServiceAccountSubject) Unmarshal

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

func (*ServiceAccountSubject) XXX_DiscardUnknown

func (m *ServiceAccountSubject) XXX_DiscardUnknown()

func (*ServiceAccountSubject) XXX_Marshal

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

func (*ServiceAccountSubject) XXX_Merge

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

func (*ServiceAccountSubject) XXX_Size

func (m *ServiceAccountSubject) XXX_Size() int

func (*ServiceAccountSubject) XXX_Unmarshal

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

type Subject

type Subject struct {
	// `kind` indicates which one of the other fields is non-empty.
	// Required
	// +unionDiscriminator
	Kind SubjectKind `json:"kind" protobuf:"bytes,1,opt,name=kind"`
	// `user` matches based on username.
	// +optional
	User *UserSubject `json:"user,omitempty" protobuf:"bytes,2,opt,name=user"`
	// `group` matches based on user group name.
	// +optional
	Group *GroupSubject `json:"group,omitempty" protobuf:"bytes,3,opt,name=group"`
	// `serviceAccount` matches ServiceAccounts.
	// +optional
	ServiceAccount *ServiceAccountSubject `json:"serviceAccount,omitempty" protobuf:"bytes,4,opt,name=serviceAccount"`
}

Subject matches the originator of a request, as identified by the request authentication system. There are three ways of matching an originator; by user, group, or service account. +union

func (*Subject) DeepCopy

func (in *Subject) DeepCopy() *Subject

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

func (*Subject) DeepCopyInto

func (in *Subject) DeepCopyInto(out *Subject)

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

func (*Subject) Descriptor

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

func (*Subject) Marshal

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

func (*Subject) MarshalTo

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

func (*Subject) MarshalToSizedBuffer

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

func (*Subject) ProtoMessage

func (*Subject) ProtoMessage()

func (*Subject) Reset

func (m *Subject) Reset()

func (*Subject) Size

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

func (*Subject) String

func (this *Subject) String() string

func (Subject) SwaggerDoc

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

func (*Subject) Unmarshal

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

func (*Subject) XXX_DiscardUnknown

func (m *Subject) XXX_DiscardUnknown()

func (*Subject) XXX_Marshal

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

func (*Subject) XXX_Merge

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

func (*Subject) XXX_Size

func (m *Subject) XXX_Size() int

func (*Subject) XXX_Unmarshal

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

type SubjectKind

type SubjectKind string

SubjectKind is the kind of subject.

const (
	SubjectKindUser           SubjectKind = "User"
	SubjectKindGroup          SubjectKind = "Group"
	SubjectKindServiceAccount SubjectKind = "ServiceAccount"
)

Supported subject's kinds.

type UserSubject

type UserSubject struct {
	// `name` is the username that matches, or "*" to match all usernames.
	// Required.
	Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
}

UserSubject holds detailed information for user-kind subject.

func (*UserSubject) DeepCopy

func (in *UserSubject) DeepCopy() *UserSubject

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

func (*UserSubject) DeepCopyInto

func (in *UserSubject) DeepCopyInto(out *UserSubject)

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

func (*UserSubject) Descriptor

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

func (*UserSubject) Marshal

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

func (*UserSubject) MarshalTo

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

func (*UserSubject) MarshalToSizedBuffer

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

func (*UserSubject) ProtoMessage

func (*UserSubject) ProtoMessage()

func (*UserSubject) Reset

func (m *UserSubject) Reset()

func (*UserSubject) Size

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

func (*UserSubject) String

func (this *UserSubject) String() string

func (UserSubject) SwaggerDoc

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

func (*UserSubject) Unmarshal

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

func (*UserSubject) XXX_DiscardUnknown

func (m *UserSubject) XXX_DiscardUnknown()

func (*UserSubject) XXX_Marshal

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

func (*UserSubject) XXX_Merge

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

func (*UserSubject) XXX_Size

func (m *UserSubject) XXX_Size() int

func (*UserSubject) XXX_Unmarshal

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL