Class V1alpha3ResourceSlice

java.lang.Object
io.kubernetes.client.openapi.models.V1alpha3ResourceSlice
All Implemented Interfaces:
KubernetesObject, KubernetesType

@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen", date="2025-02-12T21:15:49.397498Z[Etc/UTC]", comments="Generator version: 7.6.0") public class V1alpha3ResourceSlice extends Object implements KubernetesObject
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. This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
  • Field Details

  • Constructor Details

    • V1alpha3ResourceSlice

      public V1alpha3ResourceSlice()
  • Method Details

    • apiVersion

      public V1alpha3ResourceSlice apiVersion(String apiVersion)
    • getApiVersion

      @Nullable public String getApiVersion()
      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: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
      Specified by:
      getApiVersion in interface KubernetesType
      Returns:
      apiVersion
    • setApiVersion

      public void setApiVersion(String apiVersion)
    • kind

      public V1alpha3ResourceSlice kind(String kind)
    • getKind

      @Nullable public String getKind()
      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: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
      Specified by:
      getKind in interface KubernetesType
      Returns:
      kind
    • setKind

      public void setKind(String kind)
    • metadata

      public V1alpha3ResourceSlice metadata(V1ObjectMeta metadata)
    • getMetadata

      @Nullable public V1ObjectMeta getMetadata()
      Get metadata
      Specified by:
      getMetadata in interface KubernetesObject
      Returns:
      metadata
    • setMetadata

      public void setMetadata(V1ObjectMeta metadata)
    • spec

    • getSpec

      @Nonnull public V1alpha3ResourceSliceSpec getSpec()
      Get spec
      Returns:
      spec
    • setSpec

      public void setSpec(V1alpha3ResourceSliceSpec spec)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • validateJsonElement

      public static void validateJsonElement(com.google.gson.JsonElement jsonElement) throws IOException
      Validates the JSON Element and throws an exception if issues found
      Parameters:
      jsonElement - JSON Element
      Throws:
      IOException - if the JSON Element is invalid with respect to V1alpha3ResourceSlice
    • fromJson

      public static V1alpha3ResourceSlice fromJson(String jsonString) throws IOException
      Create an instance of V1alpha3ResourceSlice given an JSON string
      Parameters:
      jsonString - JSON string
      Returns:
      An instance of V1alpha3ResourceSlice
      Throws:
      IOException - if the JSON string is invalid with respect to V1alpha3ResourceSlice
    • toJson

      public String toJson()
      Convert an instance of V1alpha3ResourceSlice to an JSON string
      Returns:
      JSON string