Show / Hide Table of Contents

Class V1beta1NodeAllocatableResourceMapping

NodeAllocatableResourceMapping defines the translation between the DRA device/capacity units requested to the corresponding quantity of the node allocatable resource.

Inheritance
object
V1beta1NodeAllocatableResourceMapping
Implements
IEquatable<V1beta1NodeAllocatableResourceMapping>
Inherited Members
object.GetType()
object.MemberwiseClone()
object.Equals(object, object)
object.ReferenceEquals(object, object)
Namespace: k8s.Models
Assembly: KubernetesClient.dll
Syntax
public record V1beta1NodeAllocatableResourceMapping : IEquatable<V1beta1NodeAllocatableResourceMapping>

Constructors

V1beta1NodeAllocatableResourceMapping()

Declaration
public V1beta1NodeAllocatableResourceMapping()

V1beta1NodeAllocatableResourceMapping(V1beta1NodeAllocatableResourceMapping)

Declaration
protected V1beta1NodeAllocatableResourceMapping(V1beta1NodeAllocatableResourceMapping original)
Parameters
Type Name Description
V1beta1NodeAllocatableResourceMapping original

Properties

AllocationMultiplier

AllocationMultiplier is used as a multiplier for the allocated device count or the allocated capacity in the claim. It defaults to 1 if not specified. How the field is used also depends on whether capacityKey is set. 1. If capacityKey is NOT set: allocationMultiplier multiplies the device count allocated to the claim. a. A DRA driver representing each CPU core as a device would have {ResourceName: "cpu", allocationMultiplier: "2"} in its nodeAllocatableResourceMappings. If 4 devices are allocated to the claim, 4 * 2 CPUs would be considered as allocated and subtracted from the node's capacity. b. A GPU device that needs additional node memory per GPU allocation would have {ResourceName: "memory", allocationMultiplier: "2Gi"}. Each allocated GPU device instance of this type will account for 2Gi of memory.

  1. If capacityKey IS set: allocationMultiplier is multiplied by the amount of that capacity consumed. The final node allocatable resource amount is consumedCapacity[capacityKey] * allocationMultiplier. For example, if a Device's capacity "dra.example.com/cores" is consumed, and each "core" provides 2 "cpu"s, the mapping would be: {ResourceName: "cpu", capacityKey: "dra.example.com/cores", allocationMultiplier: "2"}. If a claim consumes 8 "dra.example.com/cores", the CPU footprint is 8 * 2 = 16.
Declaration
[JsonPropertyName("allocationMultiplier")]
public ResourceQuantity AllocationMultiplier { get; set; }
Property Value
Type Description
ResourceQuantity

CapacityKey

CapacityKey references a capacity name defined as a key in the spec.devices[*].capacity map. When this field is set, the value associated with this key in the status.allocation.devices.results[*].consumedCapacity map (for a specific claim allocation) determines the base quantity for the node allocatable resource. If allocationMultiplier is also set, it is multiplied with the base quantity. For example, if spec.devices[*].capacity has an entry "dra.example.com/memory": "128Gi", and this field is set to "dra.example.com/memory", then for a claim allocation that consumes { "dra.example.com/memory": "4Gi" } the base quantity for the node allocatable resource mapping will be "4Gi", and allocationMultiplier should be omitted or set to "1".

Declaration
[JsonPropertyName("capacityKey")]
public string CapacityKey { get; set; }
Property Value
Type Description
string

EqualityContract

Declaration
protected virtual Type EqualityContract { get; }
Property Value
Type Description
Type

Methods

Equals(object?)

Declaration
public override bool Equals(object? obj)
Parameters
Type Name Description
object obj
Returns
Type Description
bool
Overrides
object.Equals(object)

Equals(V1beta1NodeAllocatableResourceMapping?)

Declaration
public virtual bool Equals(V1beta1NodeAllocatableResourceMapping? other)
Parameters
Type Name Description
V1beta1NodeAllocatableResourceMapping other
Returns
Type Description
bool

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
int
Overrides
object.GetHashCode()

PrintMembers(StringBuilder)

Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Type Name Description
StringBuilder builder
Returns
Type Description
bool

ToString()

Declaration
public override string ToString()
Returns
Type Description
string
Overrides
object.ToString()

Operators

operator ==(V1beta1NodeAllocatableResourceMapping?, V1beta1NodeAllocatableResourceMapping?)

Declaration
public static bool operator ==(V1beta1NodeAllocatableResourceMapping? left, V1beta1NodeAllocatableResourceMapping? right)
Parameters
Type Name Description
V1beta1NodeAllocatableResourceMapping left
V1beta1NodeAllocatableResourceMapping right
Returns
Type Description
bool

operator !=(V1beta1NodeAllocatableResourceMapping?, V1beta1NodeAllocatableResourceMapping?)

Declaration
public static bool operator !=(V1beta1NodeAllocatableResourceMapping? left, V1beta1NodeAllocatableResourceMapping? right)
Parameters
Type Name Description
V1beta1NodeAllocatableResourceMapping left
V1beta1NodeAllocatableResourceMapping right
Returns
Type Description
bool

Implements

IEquatable<T>
In this article
Back to top Generated by DocFX