---
api_metadata:
apiVersion: "flowcontrol.apiserver.k8s.io/v1beta2"
import: "k8s.io/api/flowcontrol/v1beta2"
kind: "PriorityLevelConfiguration"
content_type: "api_reference"
description: "PriorityLevelConfiguration represents the configuration of a priority level."
title: "PriorityLevelConfiguration v1beta2"
weight: 8
auto_generated: true
---
`apiVersion: flowcontrol.apiserver.k8s.io/v1beta2`
`import "k8s.io/api/flowcontrol/v1beta2"`
## PriorityLevelConfiguration {#PriorityLevelConfiguration}
PriorityLevelConfiguration represents the configuration of a priority level.
- **apiVersion**: flowcontrol.apiserver.k8s.io/v1beta2
- **kind**: PriorityLevelConfiguration
- **metadata** (}}">ObjectMeta)
`metadata` is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- **spec** (}}">PriorityLevelConfigurationSpec)
`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
- **status** (}}">PriorityLevelConfigurationStatus)
`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
## PriorityLevelConfigurationSpec {#PriorityLevelConfigurationSpec}
PriorityLevelConfigurationSpec specifies the configuration of a priority level.
- **type** (string), required
`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.
- **limited** (LimitedPriorityLevelConfiguration)
`limited` specifies how requests are handled for a Limited priority level. This field must be non-empty if and only if `type` is `"Limited"`.
*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?*
- **limited.assuredConcurrencyShares** (int32)
`assuredConcurrencyShares` (ACS) configures the execution limit, which is a limit on the number of requests of this priority level that may be exeucting at a given time. ACS must be a positive number. The 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) --- the number of requests that may be executing at a time --- 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.
- **limited.limitResponse** (LimitResponse)
`limitResponse` indicates what to do with requests that can not be executed right now
*LimitResponse defines how to handle requests that can not be executed right now.*
- **limited.limitResponse.type** (string), required
`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.
- **limited.limitResponse.queuing** (QueuingConfiguration)
`queuing` holds the configuration parameters for queuing. This field may be non-empty only if `type` is `"Queue"`.
*QueuingConfiguration holds the configuration parameters for queuing*
- **limited.limitResponse.queuing.handSize** (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.
- **limited.limitResponse.queuing.queueLengthLimit** (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.
- **limited.limitResponse.queuing.queues** (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.
## PriorityLevelConfigurationStatus {#PriorityLevelConfigurationStatus}
PriorityLevelConfigurationStatus represents the current state of a "request-priority".
- **conditions** ([]PriorityLevelConfigurationCondition)
*Map: unique values on key type will be kept during a merge*
`conditions` is the current state of "request-priority".
*PriorityLevelConfigurationCondition defines the condition of priority level.*
- **conditions.lastTransitionTime** (Time)
`lastTransitionTime` is the last time the condition transitioned from one status to another.
*Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.*
- **conditions.message** (string)
`message` is a human-readable message indicating details about last transition.
- **conditions.reason** (string)
`reason` is a unique, one-word, CamelCase reason for the condition's last transition.
- **conditions.status** (string)
`status` is the status of the condition. Can be True, False, Unknown. Required.
- **conditions.type** (string)
`type` is the type of the condition. Required.
## PriorityLevelConfigurationList {#PriorityLevelConfigurationList}
PriorityLevelConfigurationList is a list of PriorityLevelConfiguration objects.
- **apiVersion**: flowcontrol.apiserver.k8s.io/v1beta2
- **kind**: PriorityLevelConfigurationList
- **metadata** (}}">ListMeta)
`metadata` is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- **items** ([]}}">PriorityLevelConfiguration), required
`items` is a list of request-priorities.
## Operations {#Operations}
### `get` read the specified PriorityLevelConfiguration
#### HTTP Request
GET /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
401: Unauthorized
### `get` read status of the specified PriorityLevelConfiguration
#### HTTP Request
GET /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}/status
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
401: Unauthorized
### `list` list or watch objects of kind PriorityLevelConfiguration
#### HTTP Request
GET /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations
#### Parameters
- **allowWatchBookmarks** (*in query*): boolean
}}">allowWatchBookmarks
- **continue** (*in query*): string
}}">continue
- **fieldSelector** (*in query*): string
}}">fieldSelector
- **labelSelector** (*in query*): string
}}">labelSelector
- **limit** (*in query*): integer
}}">limit
- **pretty** (*in query*): string
}}">pretty
- **resourceVersion** (*in query*): string
}}">resourceVersion
- **resourceVersionMatch** (*in query*): string
}}">resourceVersionMatch
- **timeoutSeconds** (*in query*): integer
}}">timeoutSeconds
- **watch** (*in query*): boolean
}}">watch
#### Response
200 (}}">PriorityLevelConfigurationList): OK
401: Unauthorized
### `create` create a PriorityLevelConfiguration
#### HTTP Request
POST /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations
#### Parameters
- **body**: }}">PriorityLevelConfiguration, required
- **dryRun** (*in query*): string
}}">dryRun
- **fieldManager** (*in query*): string
}}">fieldManager
- **fieldValidation** (*in query*): string
}}">fieldValidation
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
201 (}}">PriorityLevelConfiguration): Created
202 (}}">PriorityLevelConfiguration): Accepted
401: Unauthorized
### `update` replace the specified PriorityLevelConfiguration
#### HTTP Request
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **body**: }}">PriorityLevelConfiguration, required
- **dryRun** (*in query*): string
}}">dryRun
- **fieldManager** (*in query*): string
}}">fieldManager
- **fieldValidation** (*in query*): string
}}">fieldValidation
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
201 (}}">PriorityLevelConfiguration): Created
401: Unauthorized
### `update` replace status of the specified PriorityLevelConfiguration
#### HTTP Request
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}/status
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **body**: }}">PriorityLevelConfiguration, required
- **dryRun** (*in query*): string
}}">dryRun
- **fieldManager** (*in query*): string
}}">fieldManager
- **fieldValidation** (*in query*): string
}}">fieldValidation
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
201 (}}">PriorityLevelConfiguration): Created
401: Unauthorized
### `patch` partially update the specified PriorityLevelConfiguration
#### HTTP Request
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **body**: }}">Patch, required
- **dryRun** (*in query*): string
}}">dryRun
- **fieldManager** (*in query*): string
}}">fieldManager
- **fieldValidation** (*in query*): string
}}">fieldValidation
- **force** (*in query*): boolean
}}">force
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
201 (}}">PriorityLevelConfiguration): Created
401: Unauthorized
### `patch` partially update status of the specified PriorityLevelConfiguration
#### HTTP Request
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}/status
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **body**: }}">Patch, required
- **dryRun** (*in query*): string
}}">dryRun
- **fieldManager** (*in query*): string
}}">fieldManager
- **fieldValidation** (*in query*): string
}}">fieldValidation
- **force** (*in query*): boolean
}}">force
- **pretty** (*in query*): string
}}">pretty
#### Response
200 (}}">PriorityLevelConfiguration): OK
201 (}}">PriorityLevelConfiguration): Created
401: Unauthorized
### `delete` delete a PriorityLevelConfiguration
#### HTTP Request
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
#### Parameters
- **name** (*in path*): string, required
name of the PriorityLevelConfiguration
- **body**: }}">DeleteOptions
- **dryRun** (*in query*): string
}}">dryRun
- **gracePeriodSeconds** (*in query*): integer
}}">gracePeriodSeconds
- **pretty** (*in query*): string
}}">pretty
- **propagationPolicy** (*in query*): string
}}">propagationPolicy
#### Response
200 (}}">Status): OK
202 (}}">Status): Accepted
401: Unauthorized
### `deletecollection` delete collection of PriorityLevelConfiguration
#### HTTP Request
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations
#### Parameters
- **body**: }}">DeleteOptions
- **continue** (*in query*): string
}}">continue
- **dryRun** (*in query*): string
}}">dryRun
- **fieldSelector** (*in query*): string
}}">fieldSelector
- **gracePeriodSeconds** (*in query*): integer
}}">gracePeriodSeconds
- **labelSelector** (*in query*): string
}}">labelSelector
- **limit** (*in query*): integer
}}">limit
- **pretty** (*in query*): string
}}">pretty
- **propagationPolicy** (*in query*): string
}}">propagationPolicy
- **resourceVersion** (*in query*): string
}}">resourceVersion
- **resourceVersionMatch** (*in query*): string
}}">resourceVersionMatch
- **timeoutSeconds** (*in query*): integer
}}">timeoutSeconds
#### Response
200 (}}">Status): OK
401: Unauthorized