Ë
    eQêj¸)  ã                  óÖ   — d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
mZmZmZmZ ddlmZmZmZmZmZmZ ddlmZmZ ddlmZ dd	lmZ d
Zdd„Zdd„Zdd„Zdd„Z  G d„ de«      Z!y)a   
    Kubernetes

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: release-1.37
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
é    )ÚannotationsN)ÚMapping)ÚAliasChoicesÚ	BaseModelÚ
ConfigDictÚFieldÚ	StrictStr)ÚAnyÚClassVarÚDictÚListÚOptionalÚcast)r   ÚSet)ÚSelf)Úto_jsonable_pythonÚ_openapi_generator_to_dictc                óâ   — t        | dd «      }t        t        | «      dd «      }t        |«      rt        |dd «      |ury t        |t        d «      }t        |«      rt        |t        d «      |ury |S )NÚto_dictÚ__func__)ÚgetattrÚtypeÚcallableÚ_OPENAPI_GENERATOR_TO_DICT)Úvaluer   Útype_to_dictÚopenapi_to_dicts       úw/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/client/models/v1beta2_device_constraint.pyÚ_get_openapi_to_dictr      s‚   € ô �e˜Y¨Ó-€GÜœ4 ›;¨	°4Ó8€Lä�WÔÜ�7˜J¨Ó-°\ÑAàäØÔ0°$ó€Oô �_Ô%ÜØÜ&Øó
ð ñ	ð ØÐó    c                ó‚   — t        | dd «      }t        | «      �t        |«      r	 ||¬«      S t        |«      r |«       S | S )Nr   )Ú	serialize)r   r   r   )r   r"   r   s      r   Ú_to_legacy_itemr#   :   sB   € Ü�e˜Y¨Ó-€GÜ˜EÓ"Ð.´8¸GÔ3DÙ Ô+Ð+Ü�ÔÙ‹yÐØ€Lr    c           	     ó   — t        | t        «      r| D �cg c]  }t        ||«      ‘Œ c}S t        | t        «      r.| j	                  «       D ��ci c]  \  }}|t        ||«      “Œ c}}S t        | |«      S c c}w c c}}w )N)Ú
isinstanceÚlistr#   ÚdictÚitems)r   r"   ÚitemÚkeys       r   Ú_to_legacy_valuer+   C   s}   € ô �%œÔØ=BÖC°T”  iÕ0ÒCÐCÜ�%œÔð #Ÿ[™[›]÷
á��Tð ”  yÓ1Ñ1ó
ð 	
ô ˜5 )Ó,Ð,ùò Dùó
s   •A5ÁA:c                óP  — t        | t        «      r| D �cg c]  }t        |«      ‘Œ c}S t        | t        «      r-| j	                  «       D ��ci c]  \  }}|t        |«      “Œ c}}S t        | «      }|� || «      S t        | dd «      }t        |«      r |«       S | S c c}w c c}}w )Nr   )r%   r&   Ú_to_openapi_valuer'   r(   r   r   r   )r   r)   r*   Úto_openapi_dictr   s        r   r-   r-   P   s™   € Ü�%œÔØ49Ö:¨DÔ! $Õ'Ò:Ð:Ü�%œÔØ>C¿k¹k»m×L±°°d�Ô& tÓ,Ñ,ÓLÐLä*¨5Ó1€OØÐ"Ù˜uÓ%Ð%ä�e˜Y¨Ó-€GÜ�ÔÙ‹yÐØ€Lùò ;ùãLs   •BÁB"c                  ó�  — e Zd ZU dZ ed edd«      dd¬«      Zded<    ed edd	«      dd
¬«      Zded	<    edd¬«      Z	ded<   ddddœZ
ded<   ddddœZded<   g d¢Zded<   e	 d&	 	 	 	 	 d'd„«       Z eddddd¬«      Zd(d„Zd(d„Zd)d„Zd)d „Zd(d!„Zed*d"„«       Zd+d,d#„Zd-d$„Z eeee«        eeee«       [ed.d%„«       Zy)/ÚV1beta2DeviceConstraintaK  
    DeviceConstraint must have exactly one field set besides Requests.

    Attributes:
      openapi_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    NÚdistinctAttributeÚdistinct_attributea  DistinctAttribute requires that all devices in question have this attribute and that its type and value are unique across those devices.  When the DRAListTypeAttributes feature gate is enabled, comparison uses set semantics (i.e., element order and duplicates are ignored): list-valued attributes must be pairwise disjoint across devices. Scalar values are treated as singleton sets for backward compatibility.  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.)ÚdefaultÚvalidation_aliasÚserialization_aliasÚdescriptionzOptional[StrictStr]ÚmatchAttributeÚmatch_attributeaB  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.  When the DRAListTypeAttributes feature gate is enabled, comparison uses set semantics(i.e., element order and duplicates are ignored): list-valued attributes match when the intersection across all devices is non-empty. Scalar values are treated as singleton sets for backward compatibility.  Must include the domain qualifier.aú  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.)r3   r6   zOptional[List[StrictStr]]ÚrequestsÚstrz	List[str])r2   r8   r9   zClassVar[Dict[str, str]]Úopenapi_typesÚattribute_map©r1   r7   r9   zClassVar[List[str]]Ú$_V1beta2DeviceConstraint__propertiesTc                óÈ   — t        |t        «      s|S t        |«      }d|vrd|v r|d   |d<   |j                  dd «       d|vrd|v r|d   |d<   |j                  dd «       |S )Nr1   r2   r7   r8   )r%   Ú_Mappingr'   Úpop)ÚclsÚobjÚremove_hidden_storage_namess      r   Ú__preprocess_input_namesz0V1beta2DeviceConstraint.__preprocess_input_namesz   s�   € ô ˜#œxÔ(ØˆJÜ�3‹iˆØ cÑ)Ð.BÀcÑ.IØ'*Ð+?Ñ'@ˆCÐ#Ñ$Ø�‰Ð$ dÔ+Ø 3Ñ&Ð+<ÀÑ+CØ$'Ð(9Ñ$:ˆCÐ Ñ!Ø�‰Ð! 4Ô(Øˆ
r    Úforbid© )Úvalidate_by_nameÚvalidate_by_aliasÚvalidate_assignmentÚextraÚprotected_namespacesc                óH   — t        j                  | j                  «       «      S )z.Returns the string representation of the model)ÚpprintÚpformatr   ©Úselfs    r   Úto_strzV1beta2DeviceConstraint.to_str”   s   € ä�~‰~˜dŸl™l›nÓ-Ð-r    c                ó"   — | j                  «       S )zFor print and pprint)rR   rP   s    r   Ú__repr__z V1beta2DeviceConstraint.__repr__˜   s   € à�{‰{‹}Ðr    c                óf   — t        |t        «      sy| j                  «       |j                  «       k(  S )z&Returns true if both objects are equalF)r%   r0   r   ©rQ   Úothers     r   Ú__eq__zV1beta2DeviceConstraint.__eq__œ   s'   € ä˜%Ô!8Ô9Øà�|‰|‹~ §¡£Ñ0Ð0r    c                ó0   — t        |t        «      sy| |k(   S )z*Returns true if both objects are not equalT)r%   r0   rV   s     r   Ú__ne__zV1beta2DeviceConstraint.__ne__£   s   € ä˜%Ô!8Ô9Øà˜E‘MÐ"Ð"r    c                ó¼   — t        | «      }|�$t        j                  t         || «      «      «      S t        j                  t        | j	                  «       «      «      S )z8Returns the JSON representation of the model using alias)r   ÚjsonÚdumpsr   r   )rQ   r.   s     r   Úto_jsonzV1beta2DeviceConstraint.to_json«   sG   € ä.¨tÓ4ˆØÐ&Ü—:‘:Ô0±ÀÓ1FÓGÓHÐHÜ�z‰zÔ,¨T¯\©\«^Ó<Ó=Ð=r    c                óJ   — | j                  t        j                  |«      «      S )z@Create an instance of V1beta2DeviceConstraint from a JSON string)Ú	from_dictr\   Úloads)rB   Újson_strs     r   Ú	from_jsonz!V1beta2DeviceConstraint.from_json²   s   € ð �}‰}œTŸZ™Z¨Ó1Ó2Ð2r    c                ó¨   — |rdndt        t        | dd«      |«      |rdndt        t        | dd«      |«      |rdndt        t        | dd«      |«      iS )z<Return all declared model fields using public or wire names.r1   r2   Nr7   r8   r9   )r+   r   )rQ   r"   s     r   r   zV1beta2DeviceConstraint.to_dict·   s†   € ñ %.Ñ Ð3GÔJZÔ[bÐcgÐi}ð  @Dó  \Eð  GPó  KQÙ!*ÑÐ0AÔDTÔU\Ð]aÐctÐvzÓU{ð  ~Gó  EHÙ$‰Z¨*Ô7GÌÐPTÐV`ÐbfÓHgÐirÓ7sð
ð 	
r    c                óD   — t        g «      }| j                  d|d¬«      }|S )ac  Return the dictionary representation of the model using alias.

        This has the following differences from calling pydantic's
        `self.model_dump(by_alias=True)`:

        * `None` is only added to the output dict for nullable fields that
          were set at model initialization. Other fields with value `None`
          are ignored.
        T)Úby_aliasÚexcludeÚexclude_none)ÚsetÚ
model_dump)rQ   Úexcluded_fieldsÚ_dicts      r   Ú%__openapi_generator_modern_projectionz=V1beta2DeviceConstraint.__openapi_generator_modern_projection¿   s8   € ô %(ð )
ó %ˆð —‘ØØ#Øð  ó 
ˆð
 ˆr    c                ó.  — |€yt        |t        «      s| j                  |«      S t        t        t
        t        f   | j                  |d¬«      «      }| j                  |j                  d«      |j                  d«      |j                  d«      dœ«      }|S )z9Create an instance of V1beta2DeviceConstraint from a dictNT)rD   r1   r7   r9   r=   )	r%   r'   Úmodel_validateÚ_castr   r:   r
   Ú0_V1beta2DeviceConstraint__preprocess_input_namesÚget)rB   rC   Ú_objs      r   r`   z!V1beta2DeviceConstraint.from_dictß   s™   € ð ˆ;Øä˜#œtÔ$Ø×%Ñ% cÓ*Ð*äÜ””c�‰NØ×(Ñ(ØØ,0ð )ó ó
ˆð ×!Ñ!Ø!$§¡Ð)<Ó!=Ø!Ÿg™gÐ&6Ó7ØŸ™ 
Ó+ñ#
ó ˆð
 ˆr    )T)rC   r
   rD   ÚboolÚreturnr
   )ru   r:   )rW   Úobjectru   rt   )rb   r:   ru   úOptional[Self])F)r"   rt   ru   úDict[str, Any])ru   rx   )rC   zOptional[Dict[str, Any]]ru   rw   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r2   Ú__annotations__r8   r9   r;   r<   r>   Úclassmethodrq   r   Úmodel_configrR   rT   rX   rZ   r^   rc   r   Ú=_V1beta2DeviceConstraint__openapi_generator_modern_projectionÚsetattrr   r`   rG   r    r   r0   r0   `   s™  … ññ /4¸DÑS_Ð`sð  vJó  TKð  atð  Bbô  /cÐÐ+ó  cÙ+0¸ÑP\Ð]mð  pAó  QBð  Xhð  v|ô  ,}€OÐ(ó  }Ù*/¸ð  KG	ô  +H	€HÐ'ó  H	à#Ø Øñ/€MÐ+ó ð 2Ø+Øñ/€MÐ+ó ò
 )\€LÐ%Ó[àð -1ðàðð &*ðð 
ò	ó ðñ  ØØØ ØØô€Ló.óó1ó#ó>ð ò3ó ð3ô
óñ( ØØ"Ø-ôñ
 Ø-Ø"Øôð
 	.àòó ñr    r0   )r   r
   ru   r
   )r   r
   r"   rt   ru   r
   )"r|   Ú
__future__r   rN   Úrer\   Úcollections.abcr   r@   Úpydanticr   r   r   r   r	   Útypingr
   r   r   r   r   r   rp   r   Útyping_extensionsr   Úpydantic_corer   r   r   r#   r+   r-   r0   rG   r    r   ú<module>r‰      sZ   ðñ	õ #Û Û 	Û å /ß JÕ Jß E× Eß  Ý "Ý ,ð :Ð óó6ó
-óô U˜iõ Ur    