v1

package
v0.0.0-...-00984ce Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2018 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1 is the v1 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: "v1"}
	LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: "v1"}

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

	SchemeBuilder = runtime.NewSchemeBuilder(
		addKnownTypes,
		requestlimit.Install,
	)
	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 `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

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

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.

func (ProjectRequestLimitConfig) SwaggerDoc

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

Jump to

Keyboard shortcuts

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