Class V1ResourceSlice
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 <driver name>,
<pool name>, <device name>.
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.
Inheritance
V1ResourceSlice
Assembly: KubernetesClient.dll
Syntax
[KubernetesEntity(Group = "resource.k8s.io", Kind = "ResourceSlice", ApiVersion = "v1", PluralName = "resourceslices")]
public record V1ResourceSlice : IKubernetesObject<V1ObjectMeta>, IKubernetesObject, IMetadata<V1ObjectMeta>, ISpec<V1ResourceSliceSpec>, IEquatable<V1ResourceSlice>
Constructors
V1ResourceSlice()
Declaration
V1ResourceSlice(V1ResourceSlice)
Declaration
protected V1ResourceSlice(V1ResourceSlice original)
Parameters
Fields
KubeApiVersion
Declaration
public const string KubeApiVersion = "v1"
Field Value
KubeGroup
Declaration
public const string KubeGroup = "resource.k8s.io"
Field Value
KubeKind
Declaration
public const string KubeKind = "ResourceSlice"
Field Value
KubePluralName
Declaration
public const string KubePluralName = "resourceslices"
Field Value
Properties
ApiVersion
Declaration
[JsonPropertyName("apiVersion")]
public string ApiVersion { get; set; }
Property Value
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
Kind
Declaration
[JsonPropertyName("kind")]
public string Kind { get; set; }
Property Value
Declaration
[JsonPropertyName("metadata")]
public V1ObjectMeta Metadata { get; set; }
Property Value
Spec
Contains the information published by the driver.
Changing the spec automatically increments the metadata.generation number.
Declaration
[JsonPropertyName("spec")]
public V1ResourceSliceSpec Spec { get; set; }
Property Value
Methods
Equals(object?)
Declaration
public override bool Equals(object? obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
Equals(V1ResourceSlice?)
Declaration
public virtual bool Equals(V1ResourceSlice? other)
Parameters
Returns
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
PrintMembers(StringBuilder)
Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Returns
ToString()
Declaration
public override string ToString()
Returns
Overrides
Operators
operator ==(V1ResourceSlice?, V1ResourceSlice?)
Declaration
public static bool operator ==(V1ResourceSlice? left, V1ResourceSlice? right)
Parameters
Returns
operator !=(V1ResourceSlice?, V1ResourceSlice?)
Declaration
public static bool operator !=(V1ResourceSlice? left, V1ResourceSlice? right)
Parameters
Returns
Implements
Extension Methods