/* tslint:disable */ /* eslint-disable */ /** * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: unversioned * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists } from '../runtime'; import { IoK8sApiFlowcontrolV1ExemptPriorityLevelConfiguration, IoK8sApiFlowcontrolV1ExemptPriorityLevelConfigurationFromJSON, IoK8sApiFlowcontrolV1ExemptPriorityLevelConfigurationToJSON, IoK8sApiFlowcontrolV1LimitedPriorityLevelConfiguration, IoK8sApiFlowcontrolV1LimitedPriorityLevelConfigurationFromJSON, IoK8sApiFlowcontrolV1LimitedPriorityLevelConfigurationToJSON, } from './'; /** * PriorityLevelConfigurationSpec specifies the configuration of a priority level. * @export * @interface IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec */ export interface IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec { /** * * @type {IoK8sApiFlowcontrolV1ExemptPriorityLevelConfiguration} * @memberof IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec */ exempt?: IoK8sApiFlowcontrolV1ExemptPriorityLevelConfiguration; /** * * @type {IoK8sApiFlowcontrolV1LimitedPriorityLevelConfiguration} * @memberof IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec */ limited?: IoK8sApiFlowcontrolV1LimitedPriorityLevelConfiguration; /** * `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. * @type {string} * @memberof IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec */ type: string; } export function IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpecFromJSON( json: any, ): IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec { return IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpecFromJSONTyped(json, false); } export function IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpecFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec { if (json === undefined || json === null) { return json; } return { exempt: !exists(json, 'exempt') ? undefined : IoK8sApiFlowcontrolV1ExemptPriorityLevelConfigurationFromJSON(json['exempt']), limited: !exists(json, 'limited') ? undefined : IoK8sApiFlowcontrolV1LimitedPriorityLevelConfigurationFromJSON(json['limited']), type: json['type'], }; } export function IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpecToJSON( value?: IoK8sApiFlowcontrolV1PriorityLevelConfigurationSpec | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { exempt: IoK8sApiFlowcontrolV1ExemptPriorityLevelConfigurationToJSON(value.exempt), limited: IoK8sApiFlowcontrolV1LimitedPriorityLevelConfigurationToJSON(value.limited), type: value.type, }; }