requestlimit

package
v4.0.0-0.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2018 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package api is the internal version of the API.

Index

Constants

View Source
const (
	GroupName       = "requestlimit.project.openshift.io"
	LegacyGroupName = ""
)

Variables

View Source
var (
	SchemeGroupVersion       = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
	LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: runtime.APIVersionInternal}

	LegacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes)
	InstallLegacy       = LegacySchemeBuilder.AddToScheme

	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	Install       = 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
	// 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
}

ProjectLimitBySelector specifies the maximum number of projects allowed for a given user label selector

func (*ProjectLimitBySelector) DeepCopy

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.

type ProjectRequestLimitConfig

type ProjectRequestLimitConfig struct {
	metav1.TypeMeta
	Limits []ProjectLimitBySelector

	// 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

	// 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
}

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

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

func (*ProjectRequestLimitConfig) DeepCopyInto

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.

Directories

Path Synopsis
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.

Jump to

Keyboard shortcuts

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