Skip to content

resource_v1alpha3

DeviceTaint

class lightkube.models.resource_v1alpha3.DeviceTaint(effect, key, timeAdded=None, value=None)

The device this taint is attached to has the "effect" on any claim which does not tolerate the taint and, through the claim, to pods using the claim.

parameters

  • effect str - The effect of the taint on claims that do not tolerate the taint and through such claims on the pods using them. Valid effects are None, NoSchedule and NoExecute. PreferNoSchedule as used for nodes is not valid here. More effects may get added in the future. Consumers must treat unknown effects like None.
  • key str - The taint key to be applied to a device. Must be a label name.
  • timeAdded Optional[meta_v1.Time] - TimeAdded represents the time at which the taint was added or (only in a DeviceTaintRule) the effect was modified. Added automatically during create or update if not set. In addition, in a DeviceTaintRule a value provided during an update gets replaced with the current time if the provided value is the same as the old one and the new effect is different. Changing the key and/or value while keeping the effect unchanged is possible and does not update the time stamp because the eviction which uses it is either already started (NoExecute) or not started yet (NoEffect, NoSchedule).
  • value Optional[str] - The taint value corresponding to the taint key. Must be a label value.

DeviceTaintRule

class lightkube.models.resource_v1alpha3.DeviceTaintRule(spec, apiVersion=None, kind=None, metadata=None, status=None)

DeviceTaintRule adds one taint to all devices which match the selector. This has the same effect as if the taint was specified directly in the ResourceSlice by the DRA driver.

parameters

  • spec DeviceTaintRuleSpec - Spec specifies the selector and one taint. Changing the spec automatically increments the metadata.generation number.
  • apiVersion Optional[str] - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info
  • kind Optional[str] - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info
  • metadata Optional[meta_v1.ObjectMeta] - Standard object metadata
  • status Optional[DeviceTaintRuleStatus] - Status provides information about what was requested in the spec.

DeviceTaintRuleList

class lightkube.models.resource_v1alpha3.DeviceTaintRuleList(items, apiVersion=None, kind=None, metadata=None)

DeviceTaintRuleList is a collection of DeviceTaintRules.

parameters

  • items List[DeviceTaintRule] - Items is the list of DeviceTaintRules.
  • apiVersion Optional[str] - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info
  • kind Optional[str] - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info
  • metadata Optional[meta_v1.ListMeta] - Standard list metadata

DeviceTaintRuleSpec

class lightkube.models.resource_v1alpha3.DeviceTaintRuleSpec(taint, deviceSelector=None)

DeviceTaintRuleSpec specifies the selector and one taint.

parameters

  • taint DeviceTaint - The taint that gets applied to matching devices.
  • deviceSelector Optional[DeviceTaintSelector] - DeviceSelector defines which device(s) the taint is applied to. All selector criteria must be satisfied for a device to match. The empty selector matches all devices. Without a selector, no devices are matches.

DeviceTaintRuleStatus

class lightkube.models.resource_v1alpha3.DeviceTaintRuleStatus(conditions=None)

DeviceTaintRuleStatus provides information about an on-going pod eviction.

parameters

  • conditions Optional[List[meta_v1.Condition]] - Conditions provide information about the state of the DeviceTaintRule and the cluster at some point in time, in a machine-readable and human-readable format. The following condition is currently defined as part of this API, more may get added: - Type: EvictionInProgress - Status: True if there are currently pods which need to be evicted, False otherwise (includes the effects which don't cause eviction).
  • Reason: not specified, may change - Message: includes information about number of pending pods and already evicted pods in a human-readable format, updated periodically, may change For effect: None, the condition above gets set once for each change to the spec, with the message containing information about what would happen if the effect was NoExecute. This feedback can be used to decide whether changing the effect to NoExecute will work as intended. It only gets set once to avoid having to constantly update the status. Must have 8 or fewer entries.

DeviceTaintSelector

class lightkube.models.resource_v1alpha3.DeviceTaintSelector(device=None, driver=None, pool=None)

DeviceTaintSelector defines which device(s) a DeviceTaintRule applies to. The empty selector matches all devices. Without a selector, no devices are matched.

parameters

  • device Optional[str] - If device is set, only devices with that name are selected. This field corresponds to slice.spec.devices[].name. Setting also driver and pool may be required to avoid ambiguity, but is not required.
  • driver Optional[str] - If driver is set, only devices from that driver are selected. This fields corresponds to slice.spec.driver.
  • pool Optional[str] - If pool is set, only devices in that pool are selected. Also setting the driver name may be useful to avoid ambiguity when different drivers use the same pool name, but this is not required because selecting pools from different drivers may also be useful, for example when drivers with node-local devices use the node name as their pool name.

PoolStatus

class lightkube.models.resource_v1alpha3.PoolStatus(driver, generation, poolName, allocatedDevices=None, availableDevices=None, nodeName=None, resourceSliceCount=None, totalDevices=None, unavailableDevices=None, validationError=None)

PoolStatus contains status information for a single resource pool.

parameters

  • driver str - Driver is the DRA driver name for this pool. Must be a DNS subdomain (e.g., "gpu.example.com").
  • generation int - Generation is the pool generation observed across all ResourceSlices in this pool. Only the latest generation is reported. During a generation rollout, if not all slices at the latest generation have been published, the pool is included with a validationError and device counts unset.
  • poolName str - PoolName is the name of the pool. Must be a valid resource pool name (DNS subdomains separated by "/").
  • allocatedDevices Optional[int] - AllocatedDevices is the number of devices currently allocated to claims. A value of 0 means no devices are allocated. May be unset when validationError is set.
  • availableDevices Optional[int] - AvailableDevices is the number of devices available for allocation. This equals TotalDevices - AllocatedDevices - UnavailableDevices. A value of 0 means no devices are currently available. May be unset when validationError is set.
  • nodeName Optional[str] - NodeName is the node this pool is associated with. When omitted, the pool is not associated with a specific node. Must be a valid DNS subdomain name (RFC1123).
  • resourceSliceCount Optional[int] - ResourceSliceCount is the number of ResourceSlices that make up this pool. May be unset when validationError is set.
  • totalDevices Optional[int] - TotalDevices is the total number of devices in the pool across all slices. A value of 0 means the pool has no devices. May be unset when validationError is set.
  • unavailableDevices Optional[int] - UnavailableDevices is the number of devices that are not available due to taints or other conditions, but are not allocated. A value of 0 means all unallocated devices are available. May be unset when validationError is set.
  • validationError Optional[str] - ValidationError is set when the pool's data could not be fully validated (e.g., incomplete slice publication). When set, device count fields and ResourceSliceCount may be unset.

ResourcePoolStatusRequest

class lightkube.models.resource_v1alpha3.ResourcePoolStatusRequest(metadata, spec, apiVersion=None, kind=None, status=None)

ResourcePoolStatusRequest triggers a one-time calculation of resource pool status based on the provided filters. Once status is set, the request is considered complete and will not be reprocessed. Users should delete and recreate requests to get updated information.

parameters

  • metadata meta_v1.ObjectMeta - Standard object metadata
  • spec ResourcePoolStatusRequestSpec - Spec defines the filters for which pools to include in the status. The spec is immutable once created.
  • apiVersion Optional[str] - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info
  • kind Optional[str] - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info
  • status Optional[ResourcePoolStatusRequestStatus] - Status is populated by the controller with the calculated pool status. When status is non-nil, the request is considered complete and the entire object becomes immutable.

ResourcePoolStatusRequestList

class lightkube.models.resource_v1alpha3.ResourcePoolStatusRequestList(items, apiVersion=None, kind=None, metadata=None)

ResourcePoolStatusRequestList is a collection of ResourcePoolStatusRequests.

parameters

  • items List[ResourcePoolStatusRequest] - Items is the list of ResourcePoolStatusRequests.
  • apiVersion Optional[str] - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info
  • kind Optional[str] - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info
  • metadata Optional[meta_v1.ListMeta] - Standard list metadata

ResourcePoolStatusRequestSpec

class lightkube.models.resource_v1alpha3.ResourcePoolStatusRequestSpec(driver, limit=None, poolName=None)

ResourcePoolStatusRequestSpec defines the filters for the pool status request.

parameters

  • driver str - Driver specifies the DRA driver name to filter pools. Only pools from ResourceSlices with this driver will be included. Must be a DNS subdomain (e.g., "gpu.example.com").
  • limit Optional[int] - Limit optionally specifies the maximum number of pools to return in the status. If more pools match the filter criteria, the response will be truncated (i.e., len(status.pools) < status.poolCount). Default: 100 Minimum: 1 Maximum: 1000
  • poolName Optional[str] - PoolName optionally filters to a specific pool name. If not specified, all pools from the specified driver are included. When specified, must be a non-empty valid resource pool name (DNS subdomains separated by "/").

ResourcePoolStatusRequestStatus

class lightkube.models.resource_v1alpha3.ResourcePoolStatusRequestStatus(poolCount, conditions=None, pools=None)

ResourcePoolStatusRequestStatus contains the calculated pool status information.

parameters

  • poolCount int - PoolCount is the total number of pools that matched the filter criteria, regardless of truncation. This helps users understand how many pools exist even when the response is truncated. A value of 0 means no pools matched the filter criteria.
  • conditions Optional[List[meta_v1.Condition]] - Conditions provide information about the state of the request. A condition with type=Complete or type=Failed will always be set when the status is populated. Known condition types: - "Complete": True when the request has been processed successfully - "Failed": True when the request could not be processed
  • pools Optional[List[PoolStatus]] - Pools contains the first spec.limit matching pools, sorted by driver then pool name. If len(pools) < poolCount, the list was truncated. When omitted, no pools matched the request filters.