{
  "description": "ClusterQueue is the Schema for the clusterQueue API.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "spec is the specification of the ClusterQueue.",
      "properties": {
        "admissionChecks": {
          "description": "admissionChecks lists the AdmissionChecks required by this ClusterQueue.\nCannot be used along with AdmissionCheckStrategy.",
          "items": {
            "description": "AdmissionCheckReference is the name of an AdmissionCheck.",
            "maxLength": 316,
            "type": "string"
          },
          "type": "array"
        },
        "admissionChecksStrategy": {
          "description": "admissionChecksStrategy defines a list of strategies to determine which ResourceFlavors require AdmissionChecks.\nThis property cannot be used in conjunction with the 'admissionChecks' property.",
          "properties": {
            "admissionChecks": {
              "description": "admissionChecks is a list of strategies for AdmissionChecks",
              "items": {
                "description": "AdmissionCheckStrategyRule defines rules for a single AdmissionCheck",
                "properties": {
                  "name": {
                    "description": "name is an AdmissionCheck's name.",
                    "maxLength": 316,
                    "type": "string"
                  },
                  "onFlavors": {
                    "description": "onFlavors is a list of ResourceFlavors' names that this AdmissionCheck should run for.\nIf empty, the AdmissionCheck will run for all workloads submitted to the ClusterQueue.",
                    "items": {
                      "description": "ResourceFlavorReference is the name of the ResourceFlavor.",
                      "maxLength": 253,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "admissionScope": {
          "description": "admissionScope indicates whether ClusterQueue uses the Admission Fair Sharing",
          "properties": {
            "admissionMode": {
              "description": "admissionMode indicates which mode for AdmissionFairSharing should be used\nin the AdmissionScope. Possible values are:\n- UsageBasedAdmissionFairSharing\n- NoAdmissionFairSharing",
              "type": "string"
            }
          },
          "required": [
            "admissionMode"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "cohort": {
          "description": "cohort that this ClusterQueue belongs to. CQs that belong to the\nsame cohort can borrow unused resources from each other.\n\nA CQ can be a member of a single borrowing cohort. A workload submitted\nto a queue referencing this CQ can borrow quota from any CQ in the cohort.\nOnly quota for the [resource, flavor] pairs listed in the CQ can be\nborrowed.\nIf empty, this ClusterQueue cannot borrow from any other ClusterQueue and\nvice versa.\n\nA cohort is a name that links CQs together, but it doesn't reference any\nobject.",
          "maxLength": 253,
          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
          "type": "string"
        },
        "fairSharing": {
          "description": "fairSharing defines the properties of the ClusterQueue when\nparticipating in FairSharing.  The values are only relevant\nif FairSharing is enabled in the Kueue configuration.",
          "properties": {
            "weight": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ],
              "default": 1,
              "description": "weight gives a comparative advantage to this ClusterQueue\nor Cohort when competing for unused resources in the\nCohort.  The share is based on the dominant resource usage\nabove nominal quotas for each resource, divided by the\nweight.  Admission prioritizes scheduling workloads from\nClusterQueues and Cohorts with the lowest share and\npreempting workloads from the ClusterQueues and Cohorts\nwith the highest share.  A zero weight implies infinite\nshare value, meaning that this Node will always be at\ndisadvantage against other ClusterQueues and Cohorts.\nWhen not 0, Weight must be greater than 10^-9.",
              "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
              "x-kubernetes-int-or-string": true
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "flavorFungibility": {
          "default": {},
          "description": "flavorFungibility defines whether a workload should try the next flavor\nbefore borrowing or preempting in the flavor being evaluated.",
          "properties": {
            "preference": {
              "description": "preference guides the choosing of the flavor for admission in case all candidate flavors\nrequire either preemption, borrowing, or both. The possible values are:\n- `BorrowingOverPreemption` (default): prefer to use borrowing rather than preemption\nwhen such a choice is possible. More technically it minimizes the borrowing distance\nin the cohort tree, and solves tie-breaks by preferring better preemption mode\n(reclaim over preemption within ClusterQueue).\n- `PreemptionOverBorrowing`: prefer to use preemption rather than borrowing\nwhen such a choice is possible.  More technically it optimizes the preemption mode\n(reclaim over preemption within ClusterQueue), and solves tie-breaks by minimizing\nthe borrowing distance in the cohort tree.",
              "enum": [
                "BorrowingOverPreemption",
                "PreemptionOverBorrowing"
              ],
              "type": "string"
            },
            "whenCanBorrow": {
              "default": "MayStopSearch",
              "description": "whenCanBorrow determines whether a workload should try the next flavor\nbefore borrowing in current flavor. The possible values are:\n\n- `MayStopSearch` (default): stop the search for candidate flavors if workload\n  fits or requires borrowing to fit.\n- `TryNextFlavor`: try next flavor if workload requires borrowing to fit.\n- `Borrow` (deprecated): old name for `MayStopSearch`; please use new name.",
              "enum": [
                "MayStopSearch",
                "TryNextFlavor",
                "Borrow"
              ],
              "type": "string"
            },
            "whenCanPreempt": {
              "default": "TryNextFlavor",
              "description": "whenCanPreempt determines whether a workload should try the next flavor\nbefore borrowing in current flavor. The possible values are:\n\n- `MayStopSearch`: stop the search for candidate flavors if workload fits or requires\n  preemption to fit.\n- `TryNextFlavor` (default): try next flavor if workload requires preemption\n  to fit in current flavor.\n- `Preempt` (deprecated): old name for `MayStopSearch`; please use new name.",
              "enum": [
                "MayStopSearch",
                "TryNextFlavor",
                "Preempt"
              ],
              "type": "string"
            }
          },
          "type": "object",
          "x-kubernetes-validations": [
            {
              "message": "preference can only be set when both whenCanBorrow and whenCanPreempt are TryNextFlavor",
              "rule": "!has(self.preference) || (self.whenCanBorrow == 'TryNextFlavor' && self.whenCanPreempt == 'TryNextFlavor')"
            }
          ],
          "additionalProperties": false
        },
        "namespaceSelector": {
          "description": "namespaceSelector defines which namespaces are allowed to submit workloads to\nthis clusterQueue. Beyond this basic support for policy, a policy agent like\nGatekeeper should be used to enforce more advanced policies.\nDefaults to null which is a nothing selector (no namespaces eligible).\nIf set to an empty selector `{}`, then all namespaces are eligible.",
          "properties": {
            "matchExpressions": {
              "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
              "items": {
                "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
                "properties": {
                  "key": {
                    "description": "key is the label key that the selector applies to.",
                    "type": "string"
                  },
                  "operator": {
                    "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
                    "type": "string"
                  },
                  "values": {
                    "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-kubernetes-list-type": "atomic"
                  }
                },
                "required": [
                  "key",
                  "operator"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array",
              "x-kubernetes-list-type": "atomic"
            },
            "matchLabels": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
              "type": "object"
            }
          },
          "type": "object",
          "x-kubernetes-map-type": "atomic",
          "additionalProperties": false
        },
        "preemption": {
          "default": {},
          "description": "preemption defines the preemption policies.",
          "properties": {
            "borrowWithinCohort": {
              "default": {},
              "description": "borrowWithinCohort determines whether a pending Workload can preempt\nWorkloads from other ClusterQueues in the cohort if the workload requires borrowing.\nMay only be configured with Classical Preemption, and __not__ with Fair Sharing.",
              "properties": {
                "maxPriorityThreshold": {
                  "description": "maxPriorityThreshold allows to restrict the set of workloads which\nmight be preempted by a borrowing workload, to only workloads with\npriority less than or equal to the specified threshold priority.\nWhen the threshold is not specified, then any workload satisfying the\npolicy can be preempted by the borrowing workload.",
                  "format": "int32",
                  "type": "integer"
                },
                "policy": {
                  "default": "Never",
                  "description": "policy determines the policy for preemption to reclaim quota within cohort while borrowing.\nPossible values are:\n- `Never` (default): do not allow for preemption, in other\n   ClusterQueues within the cohort, for a borrowing workload.\n- `LowerPriority`: allow preemption, in other ClusterQueues\n   within the cohort, for a borrowing workload, but only if\n   the preempted workloads are of lower priority.",
                  "enum": [
                    "Never",
                    "LowerPriority"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "reclaimWithinCohort": {
              "default": "Never",
              "description": "reclaimWithinCohort determines whether a pending Workload can preempt\nWorkloads from other ClusterQueues in the cohort that are using more than\ntheir nominal quota. The possible values are:\n\n- `Never` (default): do not preempt Workloads in the cohort.\n- `LowerPriority`: **Classic Preemption** if the pending Workload\n  fits within the nominal quota of its ClusterQueue, only preempt\n  Workloads in the cohort that have lower priority than the pending\n  Workload. **Fair Sharing** only preempt Workloads in the cohort that\n  have lower priority than the pending Workload and that satisfy the\n  Fair Sharing preemptionStategies.\n- `Any`: **Classic Preemption** if the pending Workload fits within\n   the nominal quota of its ClusterQueue, preempt any Workload in the\n   cohort, irrespective of priority. **Fair Sharing** preempt Workloads\n   in the cohort that satisfy the Fair Sharing preemptionStrategies.",
              "enum": [
                "Never",
                "LowerPriority",
                "Any"
              ],
              "type": "string"
            },
            "withinClusterQueue": {
              "default": "Never",
              "description": "withinClusterQueue determines whether a pending Workload that doesn't fit\nwithin the nominal quota for its ClusterQueue, can preempt active Workloads in\nthe ClusterQueue. The possible values are:\n\n- `Never` (default): do not preempt Workloads in the ClusterQueue.\n- `LowerPriority`: only preempt Workloads in the ClusterQueue that have\n  lower priority than the pending Workload.\n- `LowerOrNewerEqualPriority`: only preempt Workloads in the ClusterQueue that\n  either have a lower priority than the pending workload or equal priority\n  and are newer than the pending workload.",
              "enum": [
                "Never",
                "LowerPriority",
                "LowerOrNewerEqualPriority"
              ],
              "type": "string"
            }
          },
          "type": "object",
          "x-kubernetes-validations": [
            {
              "message": "reclaimWithinCohort=Never and borrowWithinCohort.Policy!=Never",
              "rule": "!(self.reclaimWithinCohort == 'Never' && has(self.borrowWithinCohort) &&  self.borrowWithinCohort.policy != 'Never')"
            }
          ],
          "additionalProperties": false
        },
        "queueingStrategy": {
          "default": "BestEffortFIFO",
          "description": "queueingStrategy indicates the queueing strategy of the workloads\nacross the queues in this ClusterQueue.\nCurrent Supported Strategies:\n\n- StrictFIFO: workloads are ordered strictly by creation time.\nOlder workloads that can't be admitted will block admitting newer\nworkloads even if they fit available quota.\n- BestEffortFIFO: workloads are ordered by creation time,\nhowever older workloads that can't be admitted will not block\nadmitting newer workloads that fit existing quota.",
          "enum": [
            "StrictFIFO",
            "BestEffortFIFO"
          ],
          "type": "string"
        },
        "resourceGroups": {
          "description": "resourceGroups describes groups of resources.\nEach resource group defines the list of resources and a list of flavors\nthat provide quotas for these resources.\nEach resource and each flavor can only form part of one resource group.\nresourceGroups can be up to 16, with a max of 256 total flavors across all groups.",
          "items": {
            "properties": {
              "coveredResources": {
                "description": "coveredResources is the list of resources covered by the flavors in this\ngroup.\nExamples: cpu, memory, vendor.com/gpu.\nThe list cannot be empty and it can contain up to 64 resources. With a total\nof up to 256 covered resources across all resource groups in the ClusterQueue.",
                "items": {
                  "description": "ResourceName is the name identifying various resources in a ResourceList.",
                  "type": "string"
                },
                "maxItems": 64,
                "minItems": 1,
                "type": "array"
              },
              "flavors": {
                "description": "flavors is the list of flavors that provide the resources of this group.\nTypically, different flavors represent different hardware models\n(e.g., gpu models, cpu architectures) or pricing models (on-demand vs spot\ncpus).\nEach flavor MUST list all the resources listed for this group in the same\norder as the .resources field.\nThe list cannot be empty and it can contain up to 64 flavors, with a max of\n256 total flavors across all resource groups in the ClusterQueue.",
                "items": {
                  "properties": {
                    "name": {
                      "description": "name of this flavor. The name should match the .metadata.name of a\nResourceFlavor. If a matching ResourceFlavor does not exist, the\nClusterQueue will have an Active condition set to False.",
                      "maxLength": 253,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                      "type": "string"
                    },
                    "resources": {
                      "description": "resources is the list of quotas for this flavor per resource.\nThere could be up to 64 resources.",
                      "items": {
                        "properties": {
                          "borrowingLimit": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "description": "borrowingLimit is the maximum amount of quota for the [flavor, resource]\ncombination that this ClusterQueue is allowed to borrow from the unused\nquota of other ClusterQueues in the same cohort.\nIn total, at a given time, Workloads in a ClusterQueue can consume a\nquantity of quota equal to nominalQuota+borrowingLimit, assuming the other\nClusterQueues in the cohort have enough unused quota.\nIf null, it means that there is no borrowing limit.\nIf not null, it must be non-negative.\nborrowingLimit must be null if spec.cohort is empty.",
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "lendingLimit": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "description": "lendingLimit is the maximum amount of unused quota for the [flavor, resource]\ncombination that this ClusterQueue can lend to other ClusterQueues in the same cohort.\nIn total, at a given time, ClusterQueue reserves for its exclusive use\na quantity of quota equals to nominalQuota - lendingLimit.\nIf null, it means that there is no lending limit, meaning that\nall the nominalQuota can be borrowed by other clusterQueues in the cohort.\nIf not null, it must be non-negative.\nlendingLimit must be null if spec.cohort is empty.\nThis field is in beta stage and is enabled by default.",
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "name": {
                            "description": "name of this resource.",
                            "type": "string"
                          },
                          "nominalQuota": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "description": "nominalQuota is the quantity of this resource that is available for\nWorkloads admitted by this ClusterQueue at a point in time.\nThe nominalQuota must be non-negative.\nnominalQuota should represent the resources in the cluster available for\nrunning jobs (after discounting resources consumed by system components\nand pods not managed by kueue). In an autoscaled cluster, nominalQuota\nshould account for resources that can be provided by a component such as\nKubernetes cluster-autoscaler.\n\nIf the ClusterQueue belongs to a cohort, the sum of the quotas for each\n(flavor, resource) combination defines the maximum quantity that can be\nallocated by a ClusterQueue in the cohort.",
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          }
                        },
                        "required": [
                          "name",
                          "nominalQuota"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "maxItems": 64,
                      "minItems": 1,
                      "type": "array",
                      "x-kubernetes-list-map-keys": [
                        "name"
                      ],
                      "x-kubernetes-list-type": "map"
                    }
                  },
                  "required": [
                    "name",
                    "resources"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "maxItems": 64,
                "minItems": 1,
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "name"
                ],
                "x-kubernetes-list-type": "map"
              }
            },
            "required": [
              "coveredResources",
              "flavors"
            ],
            "type": "object",
            "x-kubernetes-validations": [
              {
                "message": "flavors must have the same number of resources as the coveredResources",
                "rule": "self.flavors.all(x, size(x.resources) == size(self.coveredResources))"
              }
            ],
            "additionalProperties": false
          },
          "maxItems": 16,
          "type": "array",
          "x-kubernetes-list-type": "atomic"
        },
        "stopPolicy": {
          "default": "None",
          "description": "stopPolicy - if set to a value different from None, the ClusterQueue is considered Inactive, no new reservation being\nmade.\n\nDepending on its value, its associated workloads will:\n\n- None - Workloads are admitted\n- HoldAndDrain - Admitted workloads are evicted and Reserving workloads will cancel the reservation.\n- Hold - Admitted workloads will run to completion and Reserving workloads will cancel the reservation.",
          "enum": [
            "None",
            "Hold",
            "HoldAndDrain"
          ],
          "type": "string"
        }
      },
      "type": "object",
      "x-kubernetes-validations": [
        {
          "message": "borrowingLimit must be nil when cohort is empty",
          "rule": "!has(self.cohort) && has(self.resourceGroups) ? self.resourceGroups.all(rg, rg.flavors.all(f, f.resources.all(r, !has(r.borrowingLimit)))) : true"
        }
      ],
      "additionalProperties": false
    },
    "status": {
      "description": "status is the status of the ClusterQueue.",
      "properties": {
        "admittedWorkloads": {
          "description": "admittedWorkloads is the number of workloads currently admitted to this\nclusterQueue and haven't finished yet.",
          "format": "int32",
          "type": "integer"
        },
        "conditions": {
          "description": "conditions hold the latest available observations of the ClusterQueue\ncurrent state.",
          "items": {
            "description": "Condition contains details for one aspect of the current state of this API Resource.",
            "properties": {
              "lastTransitionTime": {
                "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.",
                "maxLength": 32768,
                "type": "string"
              },
              "observedGeneration": {
                "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "reason": {
                "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.",
                "maxLength": 1024,
                "minLength": 1,
                "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
                "type": "string"
              },
              "status": {
                "description": "status of the condition, one of True, False, Unknown.",
                "enum": [
                  "True",
                  "False",
                  "Unknown"
                ],
                "type": "string"
              },
              "type": {
                "description": "type of condition in CamelCase or in foo.example.com/CamelCase.",
                "maxLength": 316,
                "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "message",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "type"
          ],
          "x-kubernetes-list-type": "map"
        },
        "fairSharing": {
          "description": "fairSharing contains the current state for this ClusterQueue\nwhen participating in Fair Sharing.\nThis is recorded only when Fair Sharing is enabled in the Kueue configuration.",
          "properties": {
            "admissionFairSharingStatus": {
              "description": "admissionFairSharingStatus represents information relevant to the Admission Fair Sharing",
              "properties": {
                "consumedResources": {
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                    "x-kubernetes-int-or-string": true
                  },
                  "description": "consumedResources represents the aggregated usage of resources over time,\nwith decaying function applied.\nThe value is populated if usage consumption functionality is enabled in Kueue config.",
                  "type": "object"
                },
                "lastUpdate": {
                  "description": "lastUpdate is the time when share and consumed resources were updated.",
                  "format": "date-time",
                  "type": "string"
                }
              },
              "required": [
                "consumedResources",
                "lastUpdate"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "weightedShare": {
              "description": "weightedShare represents the maximum of the ratios of usage\nabove nominal quota to the lendable resources in the\nCohort, among all the resources provided by the Node, and\ndivided by the weight.  If zero, it means that the usage of\nthe Node is below the nominal quota.  If the Node has a\nweight of zero and is borrowing, this will return\n9223372036854775807, the maximum possible share value.",
              "format": "int64",
              "type": "integer"
            }
          },
          "required": [
            "weightedShare"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "flavorsReservation": {
          "description": "flavorsReservation are the reserved quotas, by flavor, currently in use by the\nworkloads assigned to this ClusterQueue.",
          "items": {
            "properties": {
              "name": {
                "description": "name of the flavor.",
                "maxLength": 253,
                "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                "type": "string"
              },
              "resources": {
                "description": "resources lists the quota usage for the resources in this flavor.",
                "items": {
                  "properties": {
                    "borrowed": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "borrowed is quantity of quota that is borrowed from the cohort. In other\nwords, it's the used quota that is over the nominalQuota.",
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "x-kubernetes-int-or-string": true
                    },
                    "name": {
                      "description": "name of the resource",
                      "type": "string"
                    },
                    "total": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "total is the total quantity of used quota, including the amount borrowed\nfrom the cohort.",
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "maxItems": 64,
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "name"
                ],
                "x-kubernetes-list-type": "map"
              }
            },
            "required": [
              "name",
              "resources"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "maxItems": 64,
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "name"
          ],
          "x-kubernetes-list-type": "map"
        },
        "flavorsUsage": {
          "description": "flavorsUsage are the used quotas, by flavor, currently in use by the\nworkloads admitted in this ClusterQueue.",
          "items": {
            "properties": {
              "name": {
                "description": "name of the flavor.",
                "maxLength": 253,
                "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                "type": "string"
              },
              "resources": {
                "description": "resources lists the quota usage for the resources in this flavor.",
                "items": {
                  "properties": {
                    "borrowed": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "borrowed is quantity of quota that is borrowed from the cohort. In other\nwords, it's the used quota that is over the nominalQuota.",
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "x-kubernetes-int-or-string": true
                    },
                    "name": {
                      "description": "name of the resource",
                      "type": "string"
                    },
                    "total": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "total is the total quantity of used quota, including the amount borrowed\nfrom the cohort.",
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "maxItems": 64,
                "type": "array",
                "x-kubernetes-list-map-keys": [
                  "name"
                ],
                "x-kubernetes-list-type": "map"
              }
            },
            "required": [
              "name",
              "resources"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "maxItems": 64,
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "name"
          ],
          "x-kubernetes-list-type": "map"
        },
        "pendingWorkloads": {
          "description": "pendingWorkloads is the number of workloads currently waiting to be\nadmitted to this clusterQueue.",
          "format": "int32",
          "type": "integer"
        },
        "pendingWorkloadsStatus": {
          "description": "pendingWorkloadsStatus contains the information exposed about the current\nstatus of the pending workloads in the cluster queue.\n\nDeprecated: This field is no longer effective since v0.14.0, which means Kueue no longer stores and updates information.\nYou can migrate to VisibilityOnDemand\n(https://kueue.sigs.k8s.io/docs/tasks/manage/monitor_pending_workloads/pending_workloads_on_demand/)\ninstead.",
          "properties": {
            "clusterQueuePendingWorkload": {
              "description": "clusterQueuePendingWorkload contains the list of top pending workloads.",
              "items": {
                "description": "ClusterQueuePendingWorkload contains the information identifying a pending workload\nin the cluster queue.",
                "properties": {
                  "name": {
                    "description": "name indicates the name of the pending workload.",
                    "type": "string"
                  },
                  "namespace": {
                    "description": "namespace indicates the name of the pending workload.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "namespace"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array",
              "x-kubernetes-list-type": "atomic"
            },
            "lastChangeTime": {
              "description": "lastChangeTime indicates the time of the last change of the structure.",
              "format": "date-time",
              "type": "string"
            }
          },
          "required": [
            "lastChangeTime"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "reservingWorkloads": {
          "description": "reservingWorkloads is the number of workloads currently reserving quota in this\nclusterQueue.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
