codekingpro/portable-devtools
114k
1# coding: utf-82 3"""4 Kubernetes5 6 No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E5017 8 The version of the OpenAPI document: release-1.359 Generated by: https://openapi-generator.tech10"""11 12 13import pprint14import re # noqa: F40115 16import six17 18from kubernetes.client.configuration import Configuration19 20 21class V1beta1DeviceConstraint(object):22 """NOTE: This class is auto generated by OpenAPI Generator.23 Ref: https://openapi-generator.tech24 25 Do not edit the class manually.26 """27 28 """29 Attributes:30 openapi_types (dict): The key is attribute name31 and the value is attribute type.32 attribute_map (dict): The key is attribute name33 and the value is json key in definition.34 """35 openapi_types = {36 'distinct_attribute': 'str',37 'match_attribute': 'str',38 'requests': 'list[str]'39 }40 41 attribute_map = {42 'distinct_attribute': 'distinctAttribute',43 'match_attribute': 'matchAttribute',44 'requests': 'requests'45 }46 47 def __init__(self, distinct_attribute=None, match_attribute=None, requests=None, local_vars_configuration=None): # noqa: E50148 """V1beta1DeviceConstraint - a model defined in OpenAPI""" # noqa: E50149 if local_vars_configuration is None:50 local_vars_configuration = Configuration()51 self.local_vars_configuration = local_vars_configuration52 53 self._distinct_attribute = None54 self._match_attribute = None55 self._requests = None56 self.discriminator = None57 58 if distinct_attribute is not None:59 self.distinct_attribute = distinct_attribute60 if match_attribute is not None:61 self.match_attribute = match_attribute62 if requests is not None:63 self.requests = requests64 65 @property66 def distinct_attribute(self):67 """Gets the distinct_attribute of this V1beta1DeviceConstraint. # noqa: E50168 69 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. # noqa: E50170 71 :return: The distinct_attribute of this V1beta1DeviceConstraint. # noqa: E50172 :rtype: str73 """74 return self._distinct_attribute75 76 @distinct_attribute.setter77 def distinct_attribute(self, distinct_attribute):78 """Sets the distinct_attribute of this V1beta1DeviceConstraint.79 80 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. # noqa: E50181 82 :param distinct_attribute: The distinct_attribute of this V1beta1DeviceConstraint. # noqa: E50183 :type: str84 """85 86 self._distinct_attribute = distinct_attribute87 88 @property89 def match_attribute(self):90 """Gets the match_attribute of this V1beta1DeviceConstraint. # noqa: E50191 92 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. # noqa: E50193 94 :return: The match_attribute of this V1beta1DeviceConstraint. # noqa: E50195 :rtype: str96 """97 return self._match_attribute98 99 @match_attribute.setter100 def match_attribute(self, match_attribute):101 """Sets the match_attribute of this V1beta1DeviceConstraint.102 103 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. # noqa: E501104 105 :param match_attribute: The match_attribute of this V1beta1DeviceConstraint. # noqa: E501106 :type: str107 """108 109 self._match_attribute = match_attribute110 111 @property112 def requests(self):113 """Gets the requests of this V1beta1DeviceConstraint. # noqa: E501114 115 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. # noqa: E501116 117 :return: The requests of this V1beta1DeviceConstraint. # noqa: E501118 :rtype: list[str]119 """120 return self._requests121 122 @requests.setter123 def requests(self, requests):124 """Sets the requests of this V1beta1DeviceConstraint.125 126 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. # noqa: E501127 128 :param requests: The requests of this V1beta1DeviceConstraint. # noqa: E501129 :type: list[str]130 """131 132 self._requests = requests133 134 def to_dict(self):135 """Returns the model properties as a dict"""136 result = {}137 138 for attr, _ in six.iteritems(self.openapi_types):139 value = getattr(self, attr)140 if isinstance(value, list):141 result[attr] = list(map(142 lambda x: x.to_dict() if hasattr(x, "to_dict") else x,143 value144 ))145 elif hasattr(value, "to_dict"):146 result[attr] = value.to_dict()147 elif isinstance(value, dict):148 result[attr] = dict(map(149 lambda item: (item[0], item[1].to_dict())150 if hasattr(item[1], "to_dict") else item,151 value.items()152 ))153 else:154 result[attr] = value155 156 return result157 158 def to_str(self):159 """Returns the string representation of the model"""160 return pprint.pformat(self.to_dict())161 162 def __repr__(self):163 """For `print` and `pprint`"""164 return self.to_str()165 166 def __eq__(self, other):167 """Returns true if both objects are equal"""168 if not isinstance(other, V1beta1DeviceConstraint):169 return False170 171 return self.to_dict() == other.to_dict()172 173 def __ne__(self, other):174 """Returns true if both objects are not equal"""175 if not isinstance(other, V1beta1DeviceConstraint):176 return True177 178 return self.to_dict() != other.to_dict()179 