## DeviceRequestAllocationResult

# Struct DeviceRequestAllocationResult

Source

    pub struct DeviceRequestAllocationResult {
        pub admin_access: Option<bool>,
        pub binding_conditions: Option<Vec<String>>,
        pub binding_failure_conditions: Option<Vec<String>>,
        pub consumed_capacity: Option<BTreeMap<String, Quantity>>,
        pub device: String,
        pub driver: String,
        pub pool: String,
        pub request: String,
        pub share_id: Option<String>,
        pub tolerations: Option<Vec<DeviceToleration>>,
    }

Expand description

DeviceRequestAllocationResult contains the allocation result for one request.

## Fields§

§`admin_access: Option<bool>`

AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.

This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.

§`binding_conditions: Option<Vec<String>>`

BindingConditions contains a copy of the BindingConditions from the corresponding ResourceSlice at the time of allocation.

This is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.

§`binding_failure_conditions: Option<Vec<String>>`

BindingFailureConditions contains a copy of the BindingFailureConditions from the corresponding ResourceSlice at the time of allocation.

This is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.

§`consumed_capacity: Option<BTreeMap<String, Quantity>>`

ConsumedCapacity tracks the amount of capacity consumed per device as part of the claim request. The consumed amount may differ from the requested amount: it is rounded up to the nearest valid value based on the device’s requestPolicy if applicable (i.e., may not be less than the requested amount).

The total consumed capacity for each device must not exceed the DeviceCapacity’s Value.

This field is populated only for devices that allow multiple allocations. All capacity entries are included, even if the consumed amount is zero.

§`device: String`

Device references one device instance via its name in the driver’s resource pool. It must be a DNS label.

§`driver: String`

Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.

Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. It should use only lower case characters.

§`pool: String`

This name together with the driver name and the device name field identify which device was allocated (`\<driver name\>/\<pool name\>/\<device name\>`).

Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.

§`request: String`

Request is the name of the request in the claim which caused this device to be allocated. If it references a subrequest in the firstAvailable list on a DeviceRequest, this field must include both the name of the main request and the subrequest using the format <main request>/<subrequest>.

Multiple devices may have been allocated per request.

§`share_id: Option<String>`

ShareID uniquely identifies an individual allocation share of the device, used when the device supports multiple simultaneous allocations. It serves as an additional map key to differentiate concurrent shares of the same device.

§`tolerations: Option<Vec<DeviceToleration>>`

A copy of all tolerations specified in the request at the time when the device got allocated.

The maximum number of tolerations is 16.

This is an alpha field and requires enabling the DRADeviceTaints feature gate.

## Trait Implementations§

Source§

### impl Clone for DeviceRequestAllocationResult

Source§

#### fn clone(&self) -> DeviceRequestAllocationResult

Returns a duplicate of the value. Read more
1.0.0 · Source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
Source§

### impl Debug for DeviceRequestAllocationResult

Source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

### impl DeepMerge for DeviceRequestAllocationResult

Source§

#### fn merge_from(&mut self, other: Self)

Merge `other` into `self`.
Source§

### impl Default for DeviceRequestAllocationResult

Source§

#### fn default() -> DeviceRequestAllocationResult

Returns the “default value” for a type. Read more
Source§

### impl<'de> Deserialize<'de> for DeviceRequestAllocationResult

Source§

#### fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

### impl PartialEq for DeviceRequestAllocationResult

Source§

#### fn eq(&self, other: &DeviceRequestAllocationResult) -> bool

Tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · Source§

#### fn ne(&self, other: &Rhs) -> bool

Tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

### impl Serialize for DeviceRequestAllocationResult

Source§

#### fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

### impl StructuralPartialEq for DeviceRequestAllocationResult

## Auto Trait Implementations§

§

### impl Freeze for DeviceRequestAllocationResult

§

### impl RefUnwindSafe for DeviceRequestAllocationResult

§

### impl Send for DeviceRequestAllocationResult

§

### impl Sync for DeviceRequestAllocationResult

§

### impl Unpin for DeviceRequestAllocationResult

§

### impl UnwindSafe for DeviceRequestAllocationResult

## Blanket Implementations§

Source§

### impl<T> Any for T
where T: 'static + ?Sized,

Source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
Source§

### impl<T> Borrow<T> for T
where T: ?Sized,

Source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

### impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

### impl<T> CloneToUninit for T
where T: Clone,

Source§

#### unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (`clone_to_uninit`)
Performs copy-assignment from `self` to `dest`. Read more
Source§

### impl<T> From<T> for T

Source§

#### fn from(t: T) -> T

Returns the argument unchanged.

Source§

### impl<T, U> Into<U> for T
where U: From<T>,

Source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

Source§

### impl<T> ToOwned for T
where T: Clone,

Source§

#### type Owned = T

The resulting type after obtaining ownership.
Source§

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

#### type Error = Infallible

The type returned in the event of a conversion error.
Source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

### impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,