Documentation ¶
Overview ¶
Package v1 is the v1 version of the API.
Index ¶
Constants ¶
const ( GroupName = "requestlimit.project.openshift.io" LegacyGroupName = "" )
Variables ¶
var ( SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: "v1"} LegacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes) AddToSchemeInCoreGroup = LegacySchemeBuilder.AddToScheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ProjectLimitBySelector ¶
type ProjectLimitBySelector struct { // Selector is a user label selector. An empty selector selects everything. Selector map[string]string `json:"selector" description:"user label selector"` // MaxProjects is the number of projects allowed for this class of users. If MaxProjects is nil, // there is no limit to the number of projects users can request. An unlimited number of projects // is useful in the case a limit is specified as the default for all users and only users with a // specific set of labels should be allowed unlimited project creation. MaxProjects *int `json:"maxProjects,omitempty" description:"maximum number of projects, unlimited if nil"` }
ProjectLimitBySelector specifies the maximum number of projects allowed for a given user label selector
func (*ProjectLimitBySelector) DeepCopy ¶
func (in *ProjectLimitBySelector) DeepCopy() *ProjectLimitBySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectLimitBySelector.
func (*ProjectLimitBySelector) DeepCopyInto ¶
func (in *ProjectLimitBySelector) DeepCopyInto(out *ProjectLimitBySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ProjectLimitBySelector) SwaggerDoc ¶
func (ProjectLimitBySelector) SwaggerDoc() map[string]string
type ProjectRequestLimitConfig ¶
type ProjectRequestLimitConfig struct { metav1.TypeMeta `json:",inline"` // Limits are the project request limits Limits []ProjectLimitBySelector `json:"limits" description:"project request limits"` // MaxProjectsForSystemUsers controls how many projects a certificate user may have. Certificate // users do not have any labels associated with them for more fine grained control MaxProjectsForSystemUsers *int `json:"maxProjectsForSystemUsers"` // MaxProjectsForServiceAccounts controls how many projects a service account may have. Service // accounts can't create projects by default, but if they are allowed to create projects, you cannot // trust any labels placed on them since project editors can manipulate those labels MaxProjectsForServiceAccounts *int `json:"maxProjectsForServiceAccounts"` }
ProjectRequestLimitConfig is the configuration for the project request limit plug-in It contains an ordered list of limits based on user label selectors. Selectors will be checked in order and the first one that applies will be used as the limit.
func (*ProjectRequestLimitConfig) DeepCopy ¶
func (in *ProjectRequestLimitConfig) DeepCopy() *ProjectRequestLimitConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRequestLimitConfig.
func (*ProjectRequestLimitConfig) DeepCopyInto ¶
func (in *ProjectRequestLimitConfig) DeepCopyInto(out *ProjectRequestLimitConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProjectRequestLimitConfig) DeepCopyObject ¶
func (in *ProjectRequestLimitConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ProjectRequestLimitConfig) SwaggerDoc ¶
func (ProjectRequestLimitConfig) SwaggerDoc() map[string]string