Class ResourceSlice

  • All Implemented Interfaces:
    io.fabric8.kubernetes.api.builder.Editable<ResourceSliceBuilder>, io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.KubernetesResource, Serializable

    @Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator")
    public class ResourceSlice
    extends Object
    implements io.fabric8.kubernetes.api.builder.Editable<ResourceSliceBuilder>, io.fabric8.kubernetes.api.model.HasMetadata
    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.

    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from interface io.fabric8.kubernetes.api.model.HasMetadata

        DNS_LABEL_END, DNS_LABEL_REGEXP, DNS_LABEL_START, FINALIZER_NAME_MATCHER, REQUIRES_NON_NULL_METADATA, REQUIRES_NON_NULL_NAME, REQUIRES_NON_NULL_NAMESPACE
    • Constructor Detail

      • ResourceSlice

        public ResourceSlice()
        No args constructor for use in serialization
      • ResourceSlice

        public ResourceSlice​(String apiVersion,
                             String kind,
                             io.fabric8.kubernetes.api.model.ObjectMeta metadata,
                             ResourceSliceSpec spec)
    • Method Detail

      • getApiVersion

        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 io.fabric8.kubernetes.api.model.HasMetadata
      • setApiVersion

        public void setApiVersion​(String apiVersion)
        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:
        setApiVersion in interface io.fabric8.kubernetes.api.model.HasMetadata
      • getKind

        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 io.fabric8.kubernetes.api.model.HasMetadata
      • setKind

        public void setKind​(String kind)
        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
      • getMetadata

        public io.fabric8.kubernetes.api.model.ObjectMeta getMetadata()
        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.

        Specified by:
        getMetadata in interface io.fabric8.kubernetes.api.model.HasMetadata
      • setMetadata

        public void setMetadata​(io.fabric8.kubernetes.api.model.ObjectMeta metadata)
        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.

        Specified by:
        setMetadata in interface io.fabric8.kubernetes.api.model.HasMetadata
      • getSpec

        public ResourceSliceSpec getSpec()
        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.

      • setSpec

        public void setSpec​(ResourceSliceSpec spec)
        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.

      • getAdditionalProperties

        public Map<String,​Object> getAdditionalProperties()
      • setAdditionalProperty

        public void setAdditionalProperty​(String name,
                                          Object value)
      • setAdditionalProperties

        public void setAdditionalProperties​(Map<String,​Object> additionalProperties)