Documentation ¶
Overview ¶
Package flowcontrol provides api definitions for the "flowcontrol.apiserver.k8s.io" api group.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ConditionStatus
- type FlowDistinguisherMethod
- type FlowDistinguisherMethodType
- type FlowSchema
- type FlowSchemaCondition
- type FlowSchemaConditionType
- type FlowSchemaList
- type FlowSchemaSpec
- type FlowSchemaStatus
- type GroupSubject
- type NonResourcePolicyRule
- type PolicyRulesWithSubjects
- type PriorityLevelConfiguration
- type PriorityLevelConfigurationCondition
- type PriorityLevelConfigurationConditionType
- type PriorityLevelConfigurationList
- type PriorityLevelConfigurationReference
- type PriorityLevelConfigurationSpec
- type PriorityLevelConfigurationStatus
- type PriorityLevelQueueingType
- type QueuingConfiguration
- type ResourcePolicyRule
- type ServiceAccountSubject
- type Subject
- type SubjectKind
- type UserSubject
Constants ¶
const ( APIGroupAll = "*" ResourceAll = "*" VerbAll = "*" NonResourceAll = "*" NameAll = "*" )
These are valid wildcards.
const ( FlowSchemaConditionDangling = "Dangling" )
Conditions
const GroupName = "flowcontrol.apiserver.k8s.io"
GroupName is the name of api group
const (
PriorityLevelConfigurationNameExempt = "exempt"
)
System preset priority level names
Variables ¶
var ( // SchemeBuilder installs the api group to a scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds api to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type 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 FlowDistinguisherMethod ¶
type FlowDistinguisherMethod struct { // `type` is the type of flow distinguisher method // The supported types are "ByUser" and "ByNamespace". // Required. Type FlowDistinguisherMethodType }
FlowDistinguisherMethod specifies the method of a flow distinguisher.
func (*FlowDistinguisherMethod) DeepCopy ¶
func (in *FlowDistinguisherMethod) DeepCopy() *FlowDistinguisherMethod
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.
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 // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta // `spec` is the specification of the desired behavior of a FlowSchema. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Spec FlowSchemaSpec // `status` is the current status of a FlowSchema. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Status FlowSchemaStatus }
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) 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.
type FlowSchemaCondition ¶
type FlowSchemaCondition struct { // `type` is the type of the condition. // Required. Type FlowSchemaConditionType // `status` is the status of the condition. // Can be True, False, Unknown. // Required. Status ConditionStatus // `lastTransitionTime` is the last time the condition transitioned from one status to another. LastTransitionTime metav1.Time // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. Reason string // `message` is a human-readable message indicating details about last transition. Message string }
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.
type FlowSchemaConditionType ¶
type FlowSchemaConditionType string
FlowSchemaConditionType is a valid value for FlowSchemaStatusCondition.Type
type FlowSchemaList ¶
type FlowSchemaList struct { metav1.TypeMeta // `metadata` is the standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ListMeta // `items` is a list of FlowSchemas. // +listType=set Items []FlowSchema }
FlowSchemaList is a list of FlowSchema objects.
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.
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 // `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 non-negative. // Note that if the precedence is not specified or zero, it will be set to 1000 as default. // +optional MatchingPrecedence int32 // `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 // `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=set // +optional Rules []PolicyRulesWithSubjects }
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.
type FlowSchemaStatus ¶
type FlowSchemaStatus struct { // `conditions` is a list of the current states of FlowSchema. // +listType=associative // +listMapKey=type // +optional Conditions []FlowSchemaCondition }
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.
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 }
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.
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 // `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 }
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 ¶
func (in *NonResourcePolicyRule) DeepCopy() *NonResourcePolicyRule
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.
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=set // Required. Subjects []Subject // `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=set // +optional ResourceRules []ResourcePolicyRule // `nonResourceRules` is a list of NonResourcePolicyRules that identify matching requests according to their verb // and the target non-resource URL. // +listType=set // +optional NonResourceRules []NonResourcePolicyRule }
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 ¶
func (in *PolicyRulesWithSubjects) DeepCopy() *PolicyRulesWithSubjects
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.
type PriorityLevelConfiguration ¶
type PriorityLevelConfiguration struct { metav1.TypeMeta // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta // `spec` is the specification of the desired behavior of a "request-priority". // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Spec PriorityLevelConfigurationSpec // `status` is the current status of a "request-priority". // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Status PriorityLevelConfigurationStatus }
PriorityLevelConfiguration represents the configuration of a priority level.
func (*PriorityLevelConfiguration) DeepCopy ¶
func (in *PriorityLevelConfiguration) DeepCopy() *PriorityLevelConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityLevelConfiguration.
func (*PriorityLevelConfiguration) DeepCopyInto ¶
func (in *PriorityLevelConfiguration) DeepCopyInto(out *PriorityLevelConfiguration)
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.
type PriorityLevelConfigurationCondition ¶
type PriorityLevelConfigurationCondition struct { // `type` is the type of the condition. // Required. Type PriorityLevelConfigurationConditionType // `status` is the status of the condition. // Can be True, False, Unknown. // Required. Status ConditionStatus // `lastTransitionTime` is the last time the condition transitioned from one status to another. LastTransitionTime metav1.Time // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. Reason string // `message` is a human-readable message indicating details about last transition. Message string }
PriorityLevelConfigurationCondition defines the condition of priority level.
func (*PriorityLevelConfigurationCondition) DeepCopy ¶
func (in *PriorityLevelConfigurationCondition) DeepCopy() *PriorityLevelConfigurationCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityLevelConfigurationCondition.
func (*PriorityLevelConfigurationCondition) DeepCopyInto ¶
func (in *PriorityLevelConfigurationCondition) DeepCopyInto(out *PriorityLevelConfigurationCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PriorityLevelConfigurationConditionType ¶
type PriorityLevelConfigurationConditionType string
PriorityLevelConfigurationConditionType is a valid value for PriorityLevelConfigurationStatusCondition.Type
type PriorityLevelConfigurationList ¶
type PriorityLevelConfigurationList struct { metav1.TypeMeta // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ListMeta // `items` is a list of request-priorities. // +listType=set Items []PriorityLevelConfiguration }
PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.
func (*PriorityLevelConfigurationList) DeepCopy ¶
func (in *PriorityLevelConfigurationList) DeepCopy() *PriorityLevelConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityLevelConfigurationList.
func (*PriorityLevelConfigurationList) DeepCopyInto ¶
func (in *PriorityLevelConfigurationList) DeepCopyInto(out *PriorityLevelConfigurationList)
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.
type PriorityLevelConfigurationReference ¶
type PriorityLevelConfigurationReference struct { // `name` is the name of the priority level configuration being referenced // Required. Name string }
PriorityLevelConfigurationReference contains information that points to the "request-priority" being used.
func (*PriorityLevelConfigurationReference) DeepCopy ¶
func (in *PriorityLevelConfigurationReference) DeepCopy() *PriorityLevelConfigurationReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityLevelConfigurationReference.
func (*PriorityLevelConfigurationReference) DeepCopyInto ¶
func (in *PriorityLevelConfigurationReference) DeepCopyInto(out *PriorityLevelConfigurationReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PriorityLevelConfigurationSpec ¶
type PriorityLevelConfigurationSpec struct { // `type` indicates whether this priority level does // queuing or is exempt. Valid values are "Queuing" and "Exempt". // "Exempt" means that requests of this priority level are not subject // to concurrency limits (and thus are never queued) and do not detract // from the concurrency available for non-exempt requests. The "Exempt" // type is useful for apiserver self-requests and system administrator use. // Required. Type PriorityLevelQueueingType // `queuing` holds the configuration parameters that are // only meaningful for a priority level that does queuing (i.e., // is not exempt). This field must be non-empty if and only if // `queuingType` is `"Queuing"`. // +optional Queuing *QueuingConfiguration }
PriorityLevelConfigurationSpec is specification of a priority level
func (*PriorityLevelConfigurationSpec) DeepCopy ¶
func (in *PriorityLevelConfigurationSpec) DeepCopy() *PriorityLevelConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityLevelConfigurationSpec.
func (*PriorityLevelConfigurationSpec) DeepCopyInto ¶
func (in *PriorityLevelConfigurationSpec) DeepCopyInto(out *PriorityLevelConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PriorityLevelConfigurationStatus ¶
type PriorityLevelConfigurationStatus struct { // `conditions` is the current state of "request-priority". // +listType=associative // +listMapKey=type // +optional Conditions []PriorityLevelConfigurationCondition }
PriorityLevelConfigurationStatus represents the current state of a "request-priority".
func (*PriorityLevelConfigurationStatus) DeepCopy ¶
func (in *PriorityLevelConfigurationStatus) DeepCopy() *PriorityLevelConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityLevelConfigurationStatus.
func (*PriorityLevelConfigurationStatus) DeepCopyInto ¶
func (in *PriorityLevelConfigurationStatus) DeepCopyInto(out *PriorityLevelConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PriorityLevelQueueingType ¶
type PriorityLevelQueueingType string
PriorityLevelQueueingType identifies the queuing nature of a priority level
const ( // PriorityLevelQueuingTypeQueueing is the PriorityLevelQueueingType for priority levels that queue PriorityLevelQueuingTypeQueueing PriorityLevelQueueingType = "Queuing" // PriorityLevelQueuingTypeExempt is the PriorityLevelQueueingType for priority levels that are exempt from concurrency controls PriorityLevelQueuingTypeExempt PriorityLevelQueueingType = "Exempt" )
Supported queuing types.
type QueuingConfiguration ¶
type QueuingConfiguration struct { // server's concurrency limit (SCL) is divided among the // concurrency-controlled priority levels in proportion to their // assured concurrency shares. This produces the assured // concurrency value (ACV) for each such priority level: // // ACV(l) = ceil( SCL * ACS(l) / ( sum[priority levels k] ACS(k) ) ) // // bigger numbers of ACS mean more reserved concurrent requests (at the // expense of every other PL). // This field has a default value of 30. // +optional AssuredConcurrencyShares int32 // `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 // `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 // `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 }
QueuingConfiguration holds the configuration parameters that are specific to a priority level that is subject to concurrency controls
func (*QueuingConfiguration) DeepCopy ¶
func (in *QueuingConfiguration) DeepCopy() *QueuingConfiguration
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.
type ResourcePolicyRule ¶
type ResourcePolicyRule 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 // `apiGroups` is a list of matching API groups and may not be empty. // "*" matches all api-groups. if it is present, it must be the only entry. // +listType=set // Required. APIGroups []string // `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. if it is present, it must be the only entry. // +listType=set // Required. Resources []string }
ResourcePolicyRule is a predicate that matches some resource requests, testing the request's verb and the target resource. A ResourcePolicyRule matches a 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, and (c) at least one member of resources matches the request.
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.
type ServiceAccountSubject ¶
type ServiceAccountSubject struct { // `namespace` is the namespace of matching ServiceAccount objects. // Required. Namespace string // `name` is the name of matching ServiceAccount objects, or "*" to match regardless of name. // Required. Name string }
ServiceAccountSubject holds detailed information for service-account-kind subject.
func (*ServiceAccountSubject) DeepCopy ¶
func (in *ServiceAccountSubject) DeepCopy() *ServiceAccountSubject
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.
type Subject ¶
type Subject struct { // Required // +unionDiscriminator Kind SubjectKind // +optional User *UserSubject // +optional Group *GroupSubject // +optional ServiceAccount *ServiceAccountSubject }
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subject.
func (*Subject) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 }
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.
Directories ¶
Path | Synopsis |
---|---|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery. |