Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the kueue v1alpha2 API group +kubebuilder:object:generate=true +groupName=kueue.x-k8s.io
Index ¶
- Constants
- Variables
- type Admission
- type ClusterQueue
- type ClusterQueueList
- type ClusterQueueReference
- type ClusterQueueSpec
- type ClusterQueueStatus
- type Flavor
- type LocalQueue
- type LocalQueueList
- type LocalQueueSpec
- type LocalQueueStatus
- type PodSet
- type PodSetFlavors
- type QueueingStrategy
- type Quota
- type Resource
- type ResourceFlavor
- type ResourceFlavorList
- type ResourceFlavorReference
- type Usage
- type UsedResources
- type Workload
- type WorkloadList
- type WorkloadSpec
- type WorkloadStatus
Constants ¶
const ( ResourceInUseFinalizerName = "kueue.k8s.io/resource-in-use" DefaultPodSetName = "main" )
const ( // WorkloadAdmitted means that the Workload was admitted by a ClusterQueue. WorkloadAdmitted = "Admitted" // WorkloadFinished means that the workload associated to the // ResourceClaim finished running (failed or succeeded). WorkloadFinished = "Finished" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kueue.x-k8s.io", Version: "v1alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Admission ¶
type Admission struct { // clusterQueue is the name of the ClusterQueue that admitted this workload. ClusterQueue ClusterQueueReference `json:"clusterQueue"` // podSetFlavors hold the admission results for each of the .spec.podSets entries. // +listType=map // +listMapKey=name PodSetFlavors []PodSetFlavors `json:"podSetFlavors"` }
func (*Admission) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Admission.
func (*Admission) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterQueue ¶
type ClusterQueue struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterQueueSpec `json:"spec,omitempty"` Status ClusterQueueStatus `json:"status,omitempty"` }
ClusterQueue is the Schema for the clusterQueue API.
func (*ClusterQueue) DeepCopy ¶
func (in *ClusterQueue) DeepCopy() *ClusterQueue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterQueue.
func (*ClusterQueue) DeepCopyInto ¶
func (in *ClusterQueue) DeepCopyInto(out *ClusterQueue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterQueue) DeepCopyObject ¶
func (in *ClusterQueue) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterQueueList ¶
type ClusterQueueList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterQueue `json:"items"` }
ClusterQueueList contains a list of ClusterQueue
func (*ClusterQueueList) DeepCopy ¶
func (in *ClusterQueueList) DeepCopy() *ClusterQueueList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterQueueList.
func (*ClusterQueueList) DeepCopyInto ¶
func (in *ClusterQueueList) DeepCopyInto(out *ClusterQueueList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterQueueList) DeepCopyObject ¶
func (in *ClusterQueueList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterQueueReference ¶
type ClusterQueueReference string
ClusterQueueReference is the name of the ClusterQueue.
type ClusterQueueSpec ¶
type ClusterQueueSpec struct { // resources represent the total pod requests of workloads dispatched // via this clusterQueue. This doesn’t guarantee the actual availability of // resources, although an integration with a resource provisioner like Cluster // Autoscaler is possible to achieve that. Example: // // - name: cpu // flavors: // - quota: // min: 100 // - name: memory // flavors: // - quota: // min: 100Gi // // Two resources must either have all the flavors in the same order or not // have any matching flavors. When two resources match their flavors, they // are said to be codependent. When a workload is admitted by this // ClusterQueue, all the codependent resources that the Workload requests get // assigned the same flavor. // // resources can be up to 16 elements. // // +listType=map // +listMapKey=name Resources []Resource `json:"resources,omitempty"` // cohort that this ClusterQueue belongs to. QCs that belong to the // same cohort can borrow unused resources from each other. // // A QC can be a member of a single borrowing cohort. A workload submitted // to a queue referencing this QC can borrow resources from any QC in the // cohort. Only resources listed in the QC can be borrowed (see example). // // In the example below, the following applies: // 1. tenantB can run a workload consuming up to 20 k80 GPUs, meaning a resource // can be allocated from more than one clusterQueue in a cohort. // 2. tenantB can not consume any p100 GPUs or spot because its QC has no quota // defined for them, and so the max is implicitly 0. // 3. If both tenantA and tenantB are running jobs such that current usage for // tenantA is lower than its min quota (e.g., 5 k80 GPUS) while // tenantB’s usage is higher than its min quota (e.g., 12 k80 GPUs), // and both tenants have pending jobs requesting the remaining clusterQueue of // the cohort (the 3 k80 GPUs), then tenantA jobs will get this remaining // clusterQueue since tenantA is below its min limit. // 4. If a tenantA workload doesn’t tolerate spot, then the workload will only // be eligible to consume on-demand cores (the next in the list of cpu flavors). // 5. Before considering on-demand, the workload will get assigned spot if // the quota can be borrowed from the cohort. // // metadata: // name: tenantA // spec: // cohort: borrowing-cohort // resources: // - name: cpu // - name: spot // quota: // min: 1000 // - name: on-demand // quota: // min: 100 // - name: nvidia.com/gpus // - name: k80 // quota: // min: 10 // max: 20 // labels: // - cloud.provider.com/accelerator: nvidia-tesla-k80 // - name: p100 // quota: // min: 10 // max: 20 // labels: // - cloud.provider.com/accelerator: nvidia-tesla-p100 // // metadata: // name: tenantB // spec: // cohort: borrowing-cohort // resources: // - name: cpu // - name: on-demand // quota: // min: 100 // - name: nvidia.com/gpus // - name: k80 // quota: // min: 10 // max: 20 // labels: // - cloud.provider.com/accelerator: nvidia-tesla-k80 // // If empty, this ClusterQueue cannot borrow from any other ClusterQueue and vice versa. // // The name style is similar to label keys. These are just names to link QCs // together, and they are meaningless otherwise. Cohort string `json:"cohort,omitempty"` // QueueingStrategy indicates the queueing strategy of the workloads // across the queues in this ClusterQueue. This field is immutable. // Current Supported Strategies: // // - StrictFIFO: workloads are ordered strictly by creation time. // Older workloads that can't be admitted will block admitting newer // workloads even if they fit available quota. // - BestEffortFIFO:workloads are ordered by creation time, // however older workloads that can't be admitted will not block // admitting newer workloads that fit existing quota. // // +kubebuilder:default=BestEffortFIFO // +kubebuilder:validation:Enum=StrictFIFO;BestEffortFIFO QueueingStrategy QueueingStrategy `json:"queueingStrategy,omitempty"` // namespaceSelector defines which namespaces are allowed to submit workloads to // this clusterQueue. Beyond this basic support for policy, an policy agent like // Gatekeeper should be used to enforce more advanced policies. // Defaults to null which is a nothing selector (no namespaces eligible). // If set to an empty selector `{}`, then all namespaces are eligible. NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"` }
ClusterQueueSpec defines the desired state of ClusterQueue
func (*ClusterQueueSpec) DeepCopy ¶
func (in *ClusterQueueSpec) DeepCopy() *ClusterQueueSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterQueueSpec.
func (*ClusterQueueSpec) DeepCopyInto ¶
func (in *ClusterQueueSpec) DeepCopyInto(out *ClusterQueueSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterQueueStatus ¶
type ClusterQueueStatus struct { // usedResources are the resources (by flavor) currently in use by the // workloads assigned to this clusterQueue. // +optional UsedResources UsedResources `json:"usedResources"` // PendingWorkloads is the number of workloads currently waiting to be // admitted to this clusterQueue. // +optional PendingWorkloads int32 `json:"pendingWorkloads"` // AdmittedWorkloads is the number of workloads currently admitted to this // clusterQueue and haven't finished yet. // +optional AdmittedWorkloads int32 `json:"admittedWorkloads"` }
ClusterQueueStatus defines the observed state of ClusterQueue
func (*ClusterQueueStatus) DeepCopy ¶
func (in *ClusterQueueStatus) DeepCopy() *ClusterQueueStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterQueueStatus.
func (*ClusterQueueStatus) DeepCopyInto ¶
func (in *ClusterQueueStatus) DeepCopyInto(out *ClusterQueueStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Flavor ¶
type Flavor struct { // name is a reference to the resourceFlavor that defines this flavor. // +kubebuilder:default=default Name ResourceFlavorReference `json:"name"` // quota is the limit of resource usage at a point in time. Quota Quota `json:"quota"` }
func (*Flavor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flavor.
func (*Flavor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalQueue ¶
type LocalQueue struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LocalQueueSpec `json:"spec,omitempty"` Status LocalQueueStatus `json:"status,omitempty"` }
LocalQueue is the Schema for the localQueues API
func (*LocalQueue) DeepCopy ¶
func (in *LocalQueue) DeepCopy() *LocalQueue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalQueue.
func (*LocalQueue) DeepCopyInto ¶
func (in *LocalQueue) DeepCopyInto(out *LocalQueue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LocalQueue) DeepCopyObject ¶
func (in *LocalQueue) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LocalQueueList ¶
type LocalQueueList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LocalQueue `json:"items"` }
LocalQueueList contains a list of LocalQueue
func (*LocalQueueList) DeepCopy ¶
func (in *LocalQueueList) DeepCopy() *LocalQueueList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalQueueList.
func (*LocalQueueList) DeepCopyInto ¶
func (in *LocalQueueList) DeepCopyInto(out *LocalQueueList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LocalQueueList) DeepCopyObject ¶
func (in *LocalQueueList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LocalQueueSpec ¶
type LocalQueueSpec struct { // clusterQueue is a reference to a clusterQueue that backs this localQueue. ClusterQueue ClusterQueueReference `json:"clusterQueue,omitempty"` }
LocalQueueSpec defines the desired state of LocalQueue
func (*LocalQueueSpec) DeepCopy ¶
func (in *LocalQueueSpec) DeepCopy() *LocalQueueSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalQueueSpec.
func (*LocalQueueSpec) DeepCopyInto ¶
func (in *LocalQueueSpec) DeepCopyInto(out *LocalQueueSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalQueueStatus ¶
type LocalQueueStatus struct { // PendingWorkloads is the number of workloads currently admitted to this // localQueue not yet admitted to a ClusterQueue. // +optional PendingWorkloads int32 `json:"pendingWorkloads"` }
LocalQueueStatus defines the observed state of LocalQueue
func (*LocalQueueStatus) DeepCopy ¶
func (in *LocalQueueStatus) DeepCopy() *LocalQueueStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalQueueStatus.
func (*LocalQueueStatus) DeepCopyInto ¶
func (in *LocalQueueStatus) DeepCopyInto(out *LocalQueueStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSet ¶
type PodSet struct { // name is the PodSet name. // +kubebuilder:default=main Name string `json:"name"` // spec is the Pod spec. // If requests are omitted for a container or initContainer, // they default to the limits if they are explicitly specified for the // container or initcontainer. Spec corev1.PodSpec `json:"spec"` // count is the number of pods for the spec. Count int32 `json:"count"` }
func (*PodSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSet.
func (*PodSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSetFlavors ¶
type PodSetFlavors struct { // Name is the name of the podSet. It should match one of the names in .spec.podSets. // +kubebuilder:default=main Name string `json:"name"` // Flavors are the flavors assigned to the workload for each resource. Flavors map[corev1.ResourceName]string `json:"flavors,omitempty"` }
func (*PodSetFlavors) DeepCopy ¶
func (in *PodSetFlavors) DeepCopy() *PodSetFlavors
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSetFlavors.
func (*PodSetFlavors) DeepCopyInto ¶
func (in *PodSetFlavors) DeepCopyInto(out *PodSetFlavors)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueueingStrategy ¶
type QueueingStrategy string
const ( // StrictFIFO means that workloads are ordered strictly by creation time. // Older workloads that can't be admitted will block admitting newer // workloads even if they fit available quota. StrictFIFO QueueingStrategy = "StrictFIFO" // BestEffortFIFO means that workloads are ordered by creation time, // however older workloads that can't be admitted will not block // admitting newer workloads that fit existing quota. BestEffortFIFO QueueingStrategy = "BestEffortFIFO" )
type Quota ¶
type Quota struct { // min quantity of resource requests that are available to be used by workloads // admitted by this ClusterQueue at a point in time. // The quantity must be positive. // The sum of min quotas for a flavor in a cohort defines the maximum amount // of resources that can be allocated by a ClusterQueue in the cohort. Min resource.Quantity `json:"min,omitempty"` // max is the upper limit on the quantity of resource requests that // can be used by workloads admitted by this ClusterQueue at a point in time. // Resources can be borrowed from unused min quota of other // ClusterQueues in the same cohort. // If not null, it must be greater than or equal to min. // If null, there is no upper limit for borrowing. Max *resource.Quantity `json:"max,omitempty"` }
func (*Quota) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Quota.
func (*Quota) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct { // name of the resource. For example, cpu, memory or nvidia.com/gpu. Name corev1.ResourceName `json:"name"` // flavors is the list of different flavors of this resource and their limits. // Typically two different “flavors” of the same resource represent // different hardware models (e.g., gpu models, cpu architectures) or // pricing (on-demand vs spot cpus). The flavors are distinguished via labels and // taints. // // For example, if the resource is nvidia.com/gpu, and we want to define // different limits for different gpu models, then each model is mapped to a // flavor and must set different values of a shared key. For example: // // spec: // resources: // - name: nvidia.com/gpus // - name: k80 // quota: // min: 10 // - name: p100 // quota: // min: 10 // // The flavors are evaluated in order, selecting the first to satisfy a // workload’s requirements. Also the quantities are additive, in the example // above the GPU quota in total is 20 (10 k80 + 10 p100). // A workload is limited to the selected type by converting the labels to a node // selector that gets injected into the workload. This list can’t be empty, at // least one flavor must exist. // // flavors can be up to 16 elements. // // +listType=map // +listMapKey=name Flavors []Flavor `json:"flavors,omitempty"` }
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceFlavor ¶
type ResourceFlavor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // labels associated with this flavor. They are matched against or // converted to node affinity constraints on the workload’s pods. // For example, cloud.provider.com/accelerator: nvidia-tesla-k80. // More info: http://kubernetes.io/docs/user-guide/labels // // labels can be up to 8 elements. Labels map[string]string `json:"labels,omitempty"` // taints associated with this flavor that workloads must explicitly // “tolerate” to be able to use this flavor. // For example, cloud.provider.com/preemptible="true":NoSchedule // // taints can be up to 8 elements. // // +listType=atomic Taints []corev1.Taint `json:"taints,omitempty"` }
ResourceFlavor is the Schema for the resourceflavors API
func (*ResourceFlavor) DeepCopy ¶
func (in *ResourceFlavor) DeepCopy() *ResourceFlavor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceFlavor.
func (*ResourceFlavor) DeepCopyInto ¶
func (in *ResourceFlavor) DeepCopyInto(out *ResourceFlavor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceFlavor) DeepCopyObject ¶
func (in *ResourceFlavor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceFlavorList ¶
type ResourceFlavorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ResourceFlavor `json:"items"` }
ResourceFlavorList contains a list of ResourceFlavor
func (*ResourceFlavorList) DeepCopy ¶
func (in *ResourceFlavorList) DeepCopy() *ResourceFlavorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceFlavorList.
func (*ResourceFlavorList) DeepCopyInto ¶
func (in *ResourceFlavorList) DeepCopyInto(out *ResourceFlavorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceFlavorList) DeepCopyObject ¶
func (in *ResourceFlavorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceFlavorReference ¶
type ResourceFlavorReference string
ResourceFlavorReference is the name of the ResourceFlavor.
type Usage ¶
type Usage struct { // Total is the total quantity of the resource used, including resources // borrowed from the cohort. Total *resource.Quantity `json:"total,omitempty"` // Borrowed is the used quantity past the min quota, borrowed from the cohort. Borrowed *resource.Quantity `json:"borrowing,omitempty"` }
func (*Usage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Usage.
func (*Usage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UsedResources ¶
type UsedResources map[corev1.ResourceName]map[string]Usage
func (UsedResources) DeepCopy ¶
func (in UsedResources) DeepCopy() UsedResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsedResources.
func (UsedResources) DeepCopyInto ¶
func (in UsedResources) DeepCopyInto(out *UsedResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workload ¶
type Workload struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec WorkloadSpec `json:"spec,omitempty"` Status WorkloadStatus `json:"status,omitempty"` }
Workload is the Schema for the workloads API
func (*Workload) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workload.
func (*Workload) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workload) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadList ¶
type WorkloadList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Workload `json:"items"` }
WorkloadList contains a list of ResourceClaim
func (*WorkloadList) DeepCopy ¶
func (in *WorkloadList) DeepCopy() *WorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadList.
func (*WorkloadList) DeepCopyInto ¶
func (in *WorkloadList) DeepCopyInto(out *WorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadList) DeepCopyObject ¶
func (in *WorkloadList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadSpec ¶
type WorkloadSpec struct { // podSets is a list of sets of homogeneous pods, each described by a Pod spec // and a count. // There must be at least one element and at most 8. // podSets cannot be changed. // // +listType=map // +listMapKey=name PodSets []PodSet `json:"podSets,omitempty"` // queueName is the name of the queue the Workload is associated with. // queueName cannot be changed once set. QueueName string `json:"queueName,omitempty"` // admission holds the parameters of the admission of the workload by a ClusterQueue. // admission cannot be changed once set. Admission *Admission `json:"admission,omitempty"` // If specified, indicates the workload's priority. // "system-node-critical" and "system-cluster-critical" are two special // keywords which indicate the highest priorities with the former being // the highest priority. Any other name must be defined by creating a // PriorityClass object with that name. If not specified, the workload // priority will be default or zero if there is no default. PriorityClassName string `json:"priorityClassName,omitempty"` // Priority determines the order of access to the resources managed by the // ClusterQueue where the workload is queued. // The priority value is populated from PriorityClassName. // The higher the value, the higher the priority. // If priorityClassName is specified, priority must not be null. Priority *int32 `json:"priority,omitempty"` }
WorkloadSpec defines the desired state of Workload
func (*WorkloadSpec) DeepCopy ¶
func (in *WorkloadSpec) DeepCopy() *WorkloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSpec.
func (*WorkloadSpec) DeepCopyInto ¶
func (in *WorkloadSpec) DeepCopyInto(out *WorkloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadStatus ¶
type WorkloadStatus struct { // conditions hold the latest available observations of the Workload // current state. // // The type of the condition could be: // // - Admitted: the Workload was admitted through a ClusterQueue. // - Finished: the associated workload finished running (failed or succeeded). // // +optional // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty"` }
WorkloadStatus defines the observed state of Workload
func (*WorkloadStatus) DeepCopy ¶
func (in *WorkloadStatus) DeepCopy() *WorkloadStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadStatus.
func (*WorkloadStatus) DeepCopyInto ¶
func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.