Class DeviceConstraint

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

    @Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator")
    public class DeviceConstraint
    extends Object
    implements io.fabric8.kubernetes.api.builder.Editable<DeviceConstraintBuilder>, io.fabric8.kubernetes.api.model.KubernetesResource
    DeviceConstraint must have exactly one field set besides Requests.
    See Also:
    Serialized Form
    • Constructor Detail

      • DeviceConstraint

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

        public DeviceConstraint​(String distinctAttribute,
                                String matchAttribute,
                                List<String> requests)
    • Method Detail

      • getDistinctAttribute

        public String getDistinctAttribute()
        DistinctAttribute requires that all devices in question have this attribute and that its type and value are unique across those devices.


        This acts as the inverse of MatchAttribute.


        This constraint is used to avoid allocating multiple requests to the same device by ensuring attribute-level differentiation.


        This is useful for scenarios where resource requests must be fulfilled by separate physical devices. For example, a container requests two network interfaces that must be allocated from two different physical NICs.

      • setDistinctAttribute

        public void setDistinctAttribute​(String distinctAttribute)
        DistinctAttribute requires that all devices in question have this attribute and that its type and value are unique across those devices.


        This acts as the inverse of MatchAttribute.


        This constraint is used to avoid allocating multiple requests to the same device by ensuring attribute-level differentiation.


        This is useful for scenarios where resource requests must be fulfilled by separate physical devices. For example, a container requests two network interfaces that must be allocated from two different physical NICs.

      • getMatchAttribute

        public String getMatchAttribute()
        MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.


        For example, if you specified "dra.example.com/numa" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen.


        Must include the domain qualifier.

      • setMatchAttribute

        public void setMatchAttribute​(String matchAttribute)
        MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.


        For example, if you specified "dra.example.com/numa" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen.


        Must include the domain qualifier.

      • getRequests

        public List<String> getRequests()
        Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.


        References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the constraint applies to all subrequests.

      • setRequests

        public void setRequests​(List<String> requests)
        Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.


        References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the constraint applies to all subrequests.

      • getAdditionalProperties

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

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

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