Package-level declarations

Types

Link copied to clipboard
data class AllocatedDeviceStatus(val conditions: List<Condition>? = null, val data: JsonElement? = null, val device: String, val driver: String, val networkData: NetworkDeviceData? = null, val pool: String)

AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.

Link copied to clipboard
data class AllocatedDeviceStatusPatch(val conditions: List<ConditionPatch>? = null, val data: JsonElement? = null, val device: String? = null, val driver: String? = null, val networkData: NetworkDeviceDataPatch? = null, val pool: String? = null)

AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.

Link copied to clipboard
data class AllocationResult(val devices: DeviceAllocationResult? = null, val nodeSelector: NodeSelector? = null)

AllocationResult contains attributes of an allocated resource.

Link copied to clipboard
data class AllocationResultPatch(val devices: DeviceAllocationResultPatch? = null, val nodeSelector: NodeSelectorPatch? = null)

AllocationResult contains attributes of an allocated resource.

Link copied to clipboard
data class CELDeviceSelector(val expression: String)

CELDeviceSelector contains a CEL expression for selecting a device.

Link copied to clipboard
data class CELDeviceSelectorPatch(val expression: String? = null)

CELDeviceSelector contains a CEL expression for selecting a device.

Link copied to clipboard
data class Counter(val value: String)

Counter describes a quantity associated with a device.

Link copied to clipboard
data class CounterSet(val counters: Map<String, Counter>, val name: String)

CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice. The counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.

Link copied to clipboard
data class CounterSetPatch(val counters: Map<String, Counter>? = null, val name: String? = null)

CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice. The counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.

Link copied to clipboard
data class Device(val allNodes: Boolean? = null, val attributes: Map<String, DeviceAttribute>? = null, val capacity: Map<String, DeviceCapacity>? = null, val consumesCounters: List<DeviceCounterConsumption>? = null, val name: String, val nodeName: String? = null, val nodeSelector: NodeSelector? = null, val taints: List<DeviceTaint>? = null)

Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.

Link copied to clipboard
data class DeviceAllocationConfiguration(val opaque: OpaqueDeviceConfiguration? = null, val requests: List<String>? = null, val source: String)

DeviceAllocationConfiguration gets embedded in an AllocationResult.

Link copied to clipboard
data class DeviceAllocationConfigurationPatch(val opaque: OpaqueDeviceConfigurationPatch? = null, val requests: List<String>? = null, val source: String? = null)

DeviceAllocationConfiguration gets embedded in an AllocationResult.

Link copied to clipboard
data class DeviceAllocationResult(val config: List<DeviceAllocationConfiguration>? = null, val results: List<DeviceRequestAllocationResult>? = null)

DeviceAllocationResult is the result of allocating devices.

Link copied to clipboard

DeviceAllocationResult is the result of allocating devices.

Link copied to clipboard
data class DeviceAttribute(val bool: Boolean? = null, val int: Int? = null, val string: String? = null, val version: String? = null)

DeviceAttribute must have exactly one field set.

Link copied to clipboard
data class DeviceCapacity(val value: String)

DeviceCapacity describes a quantity associated with a device.

Link copied to clipboard
data class DeviceClaim(val config: List<DeviceClaimConfiguration>? = null, val constraints: List<DeviceConstraint>? = null, val requests: List<DeviceRequest>? = null)

DeviceClaim defines how to request devices with a ResourceClaim.

Link copied to clipboard
data class DeviceClaimConfiguration(val opaque: OpaqueDeviceConfiguration? = null, val requests: List<String>? = null)

DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.

Link copied to clipboard
data class DeviceClaimConfigurationPatch(val opaque: OpaqueDeviceConfigurationPatch? = null, val requests: List<String>? = null)

DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.

Link copied to clipboard
data class DeviceClaimPatch(val config: List<DeviceClaimConfigurationPatch>? = null, val constraints: List<DeviceConstraintPatch>? = null, val requests: List<DeviceRequestPatch>? = null)

DeviceClaim defines how to request devices with a ResourceClaim.

Link copied to clipboard
data class DeviceClass(val apiVersion: String? = null, val kind: String? = null, val metadata: ObjectMeta? = null, val spec: DeviceClassSpec)

DeviceClass is a vendor- or admin-provided resource that contains device configuration and selectors. It can be referenced in the device requests of a claim to apply these presets. Cluster scoped. This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.

Link copied to clipboard
data class DeviceClassConfiguration(val opaque: OpaqueDeviceConfiguration? = null)

DeviceClassConfiguration is used in DeviceClass.

Link copied to clipboard

DeviceClassConfiguration is used in DeviceClass.

Link copied to clipboard
data class DeviceClassSpec(val config: List<DeviceClassConfiguration>? = null, val selectors: List<DeviceSelector>? = null)

DeviceClassSpec is used in a DeviceClass to define what can be allocated and how to configure it.

Link copied to clipboard
data class DeviceClassSpecPatch(val config: List<DeviceClassConfigurationPatch>? = null, val selectors: List<DeviceSelectorPatch>? = null)

DeviceClassSpec is used in a DeviceClass to define what can be allocated and how to configure it.

Link copied to clipboard
data class DeviceConstraint(val matchAttribute: String? = null, val requests: List<String>? = null)

DeviceConstraint must have exactly one field set besides Requests.

Link copied to clipboard
data class DeviceConstraintPatch(val matchAttribute: String? = null, val requests: List<String>? = null)

DeviceConstraint must have exactly one field set besides Requests.

Link copied to clipboard
data class DeviceCounterConsumption(val counterSet: String, val counters: Map<String, Counter>)

DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.

Link copied to clipboard
data class DeviceCounterConsumptionPatch(val counterSet: String? = null, val counters: Map<String, Counter>? = null)

DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.

Link copied to clipboard
data class DevicePatch(val allNodes: Boolean? = null, val attributes: Map<String, DeviceAttribute>? = null, val capacity: Map<String, DeviceCapacity>? = null, val consumesCounters: List<DeviceCounterConsumptionPatch>? = null, val name: String? = null, val nodeName: String? = null, val nodeSelector: NodeSelectorPatch? = null, val taints: List<DeviceTaintPatch>? = null)

Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.

Link copied to clipboard
data class DeviceRequest(val exactly: ExactDeviceRequest? = null, val firstAvailable: List<DeviceSubRequest>? = null, val name: String)

DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices. With FirstAvailable it is also possible to provide a prioritized list of requests.

Link copied to clipboard
data class DeviceRequestAllocationResult(val adminAccess: Boolean? = null, val device: String, val driver: String, val pool: String, val request: String, val tolerations: List<DeviceToleration>? = null)

DeviceRequestAllocationResult contains the allocation result for one request.

Link copied to clipboard
data class DeviceRequestAllocationResultPatch(val adminAccess: Boolean? = null, val device: String? = null, val driver: String? = null, val pool: String? = null, val request: String? = null, val tolerations: List<DeviceTolerationPatch>? = null)

DeviceRequestAllocationResult contains the allocation result for one request.

Link copied to clipboard
data class DeviceRequestPatch(val exactly: ExactDeviceRequestPatch? = null, val firstAvailable: List<DeviceSubRequestPatch>? = null, val name: String? = null)

DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices. With FirstAvailable it is also possible to provide a prioritized list of requests.

Link copied to clipboard
data class DeviceSelector(val cel: CELDeviceSelector? = null)

DeviceSelector must have exactly one field set.

Link copied to clipboard
data class DeviceSelectorPatch(val cel: CELDeviceSelectorPatch? = null)

DeviceSelector must have exactly one field set.

Link copied to clipboard
data class DeviceSubRequest(val allocationMode: String? = null, val count: Int? = null, val deviceClassName: String, val name: String, val selectors: List<DeviceSelector>? = null, val tolerations: List<DeviceToleration>? = null)

DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices. DeviceSubRequest is similar to ExactDeviceRequest, but doesn't expose the AdminAccess field as that one is only supported when requesting a specific device.

Link copied to clipboard
data class DeviceSubRequestPatch(val allocationMode: String? = null, val count: Int? = null, val deviceClassName: String? = null, val name: String? = null, val selectors: List<DeviceSelectorPatch>? = null, val tolerations: List<DeviceTolerationPatch>? = null)

DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices. DeviceSubRequest is similar to ExactDeviceRequest, but doesn't expose the AdminAccess field as that one is only supported when requesting a specific device.

Link copied to clipboard
data class DeviceTaint(val effect: String, val key: String, val timeAdded: String? = null, val value: String? = null)

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.

Link copied to clipboard
data class DeviceTaintPatch(val effect: String? = null, val key: String? = null, val timeAdded: String? = null, val value: String? = null)

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.

Link copied to clipboard
data class DeviceToleration(val effect: String? = null, val key: String? = null, val operator: String? = null, val tolerationSeconds: Int? = null, val value: String? = null)

The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple using the matching operator .

Link copied to clipboard
data class DeviceTolerationPatch(val effect: String? = null, val key: String? = null, val operator: String? = null, val tolerationSeconds: Int? = null, val value: String? = null)

The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple using the matching operator .

Link copied to clipboard
data class ExactDeviceRequest(val adminAccess: Boolean? = null, val allocationMode: String? = null, val count: Int? = null, val deviceClassName: String, val selectors: List<DeviceSelector>? = null, val tolerations: List<DeviceToleration>? = null)

ExactDeviceRequest is a request for one or more identical devices.

Link copied to clipboard
data class ExactDeviceRequestPatch(val adminAccess: Boolean? = null, val allocationMode: String? = null, val count: Int? = null, val deviceClassName: String? = null, val selectors: List<DeviceSelectorPatch>? = null, val tolerations: List<DeviceTolerationPatch>? = null)

ExactDeviceRequest is a request for one or more identical devices.

Link copied to clipboard
data class NetworkDeviceData(val hardwareAddress: String? = null, val interfaceName: String? = null, val ips: List<String>? = null)

NetworkDeviceData provides network-related details for the allocated device. This information may be filled by drivers or other components to configure or identify the device within a network context.

Link copied to clipboard
data class NetworkDeviceDataPatch(val hardwareAddress: String? = null, val interfaceName: String? = null, val ips: List<String>? = null)

NetworkDeviceData provides network-related details for the allocated device. This information may be filled by drivers or other components to configure or identify the device within a network context.

Link copied to clipboard
data class OpaqueDeviceConfiguration(val driver: String, val parameters: JsonElement)

OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.

Link copied to clipboard
data class OpaqueDeviceConfigurationPatch(val driver: String? = null, val parameters: JsonElement? = null)

OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.

Link copied to clipboard
data class ResourceClaim(val apiVersion: String? = null, val kind: String? = null, val metadata: ObjectMeta? = null, val spec: ResourceClaimSpec, val status: ResourceClaimStatus? = null)

ResourceClaim describes a request for access to resources in the cluster, for use by workloads. For example, if a workload needs an accelerator device with specific properties, this is how that request is expressed. The status stanza tracks whether this claim has been satisfied and what specific resources have been allocated. This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.

Link copied to clipboard
data class ResourceClaimConsumerReference(val apiGroup: String? = null, val name: String, val resource: String, val uid: String)

ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.

Link copied to clipboard
data class ResourceClaimConsumerReferencePatch(val apiGroup: String? = null, val name: String? = null, val resource: String? = null, val uid: String? = null)

ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.

Link copied to clipboard
data class ResourceClaimSpec(val devices: DeviceClaim? = null)

ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.

Link copied to clipboard
data class ResourceClaimSpecPatch(val devices: DeviceClaimPatch? = null)

ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.

Link copied to clipboard
data class ResourceClaimStatus(val allocation: AllocationResult? = null, val devices: List<AllocatedDeviceStatus>? = null, val reservedFor: List<ResourceClaimConsumerReference>? = null)

ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.

Link copied to clipboard
data class ResourceClaimStatusPatch(val allocation: AllocationResultPatch? = null, val devices: List<AllocatedDeviceStatusPatch>? = null, val reservedFor: List<ResourceClaimConsumerReferencePatch>? = null)

ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.

Link copied to clipboard
data class ResourceClaimTemplate(val apiVersion: String? = null, val kind: String? = null, val metadata: ObjectMeta? = null, val spec: ResourceClaimTemplateSpec)

ResourceClaimTemplate is used to produce ResourceClaim objects. This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.

Link copied to clipboard
data class ResourceClaimTemplateSpec(val metadata: ObjectMeta? = null, val spec: ResourceClaimSpec)

ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.

Link copied to clipboard
data class ResourceClaimTemplateSpecPatch(val metadata: ObjectMetaPatch? = null, val spec: ResourceClaimSpecPatch? = null)

ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.

Link copied to clipboard
data class ResourcePool(val generation: Int, val name: String, val resourceSliceCount: Int)

ResourcePool describes the pool that ResourceSlices belong to.

Link copied to clipboard
data class ResourcePoolPatch(val generation: Int? = null, val name: String? = null, val resourceSliceCount: Int? = null)

ResourcePool describes the pool that ResourceSlices belong to.

Link copied to clipboard
data class ResourceSlice(val apiVersion: String? = null, val kind: String? = null, val metadata: ObjectMeta? = null, val spec: ResourceSliceSpec)

ResourceSlice represents one or more resources in a pool of similar resources, managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many ResourceSlices comprise a pool is determined by the driver. At the moment, the only supported resources are devices with attributes and capacities. Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. The ResourceSlice in which a device gets published may change over time. The unique identifier for a device is the tuple , , . Whenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number and updates all ResourceSlices with that new number and new resource definitions. A consumer must only use ResourceSlices with the highest generation number and ignore all others. When allocating all resources in a pool matching certain criteria or when looking for the best solution among several different alternatives, a consumer should check the number of ResourceSlices in a pool (included in each ResourceSlice) to determine whether its view of a pool is complete and if not, should wait until the driver has completed updating the pool. For resources that are not local to a node, the node name is not set. Instead, the driver may use a node selector to specify where the devices are available. This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.

Link copied to clipboard
data class ResourceSliceSpec(val allNodes: Boolean? = null, val devices: List<Device>? = null, val driver: String, val nodeName: String? = null, val nodeSelector: NodeSelector? = null, val perDeviceNodeSelection: Boolean? = null, val pool: ResourcePool, val sharedCounters: List<CounterSet>? = null)

ResourceSliceSpec contains the information published by the driver in one ResourceSlice.

Link copied to clipboard
data class ResourceSliceSpecPatch(val allNodes: Boolean? = null, val devices: List<DevicePatch>? = null, val driver: String? = null, val nodeName: String? = null, val nodeSelector: NodeSelectorPatch? = null, val perDeviceNodeSelection: Boolean? = null, val pool: ResourcePoolPatch? = null, val sharedCounters: List<CounterSetPatch>? = null)

ResourceSliceSpec contains the information published by the driver in one ResourceSlice.