Ë
    eQêj’B  ã                  ó
  — 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mZ ddlmZmZmZmZmZmZ ddlmZ ddlmZ dd	lmZ dd
l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Ú
StrictBoolÚ	StrictStr)ÚAnyÚClassVarÚDictÚListÚOptionalÚcast)ÚV1NodeSelector)ÚV1beta2CounterSet)ÚV1beta2Device)ÚV1beta2ResourcePool)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       úy/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/client/models/v1beta2_resource_slice_spec.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_valuer0   G   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#   r2   r2   T   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d¬	«      Zd
ed<    ed¬«      Z	ded<    ed edd«      dd¬«      Z
ded<    ed edd«      d¬«      Zded<    ed edd«      dd¬«      Zded<    ed edd«      dd¬«      Zded<   ded<    ed ed d!«      d d"¬«      Zd#ed!<    ed ed$d%«      d$d&¬«      Zd'ed%<   d(d)d*d*d+d*d(dd,d-d.œ
Zd/ed0<   ddddddddd d$d.œ
Zd/ed1<   g d2¢Zd3ed4<   e	 dC	 	 	 	 	 dDd6„«       Z ed5d5d5d7d8¬9«      ZdEd:„ZdEd;„ZdFd<„ZdFd=„ZdEd>„ZedGd?„«       ZdHdId@„ZdJdA„Z eee e«        eee e«       [edKdB„«       Z!y)LÚV1beta2ResourceSliceSpecaa  
    ResourceSliceSpec contains the information published by the driver in one ResourceSlice.

    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ÚallNodesÚ	all_nodesz¥AllNodes indicates that all nodes have access to the resources in the pool.  Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.)ÚdefaultÚvalidation_aliasÚserialization_aliasÚdescriptionzOptional[StrictBool]zãDevices lists some or all of the devices in this pool.  Must not have more than 128 entries. If any device uses taints or consumes counters the limit is 64.  Only one of Devices and SharedCounters can be set in a ResourceSlice.)r8   r;   zOptional[List[V1beta2Device]]Údevicesa@  Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.  Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. It should use only lower case characters. This field is immutable.)r;   r
   ÚdriverÚnodeNameÚ	node_namea÷  NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.  This field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.  Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.zOptional[StrictStr]ÚnodeSelectorÚnode_selector)r8   r9   r:   zOptional[V1NodeSelector]ÚpartitionTypeAttributeÚpartition_type_attributeai  PartitionTypeAttribute names a string device attribute (by fully qualified name, e.g. "gpu.example.com/profile") whose value labels each device with its partition type, such as "Full" or "Half" for a MIG-style GPU.  When set, every partitionable device in the slice must carry the attribute and devices sharing a value must share the same ConsumesCounters cost.ÚperDeviceNodeSelectionÚper_device_node_selectionaA  PerDeviceNodeSelection defines whether the access from nodes to resources in the pool is set on the ResourceSlice level or on each device. If it is set to true, every device defined the ResourceSlice must specify this individually.  Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.r   ÚpoolÚsharedCountersÚshared_countersa  SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.  The names of the counter sets must be unique in the ResourcePool.  Only one of Devices and SharedCounters can be set in a ResourceSlice.  The maximum number of counter sets is 8.z!Optional[List[V1beta2CounterSet]]ÚskipNodeOperationsÚskip_node_operationsa±  SkipNodeOperations lists node-local resource operations (gRPC calls) that will be skipped for the devices in this slice when determining whether operations are necessary on the node. If all allocated devices for a driver in a claim skip an operation, that gRPC call will be skipped. Valid values are:  - "NodePrepareResources": NodePrepareResources gRPC calls are skipped. This   value cannot be specified unless "NodeUnprepareResources" is also listed   (or "*" is specified). - "NodeUnprepareResources": NodeUnprepareResources gRPC calls are skipped. - "*": All node-local resource operations are skipped.  Other values may be added in the future. The kubelet must ignore unknown values.zOptional[List[StrictStr]]ÚboolzList[V1beta2Device]Ústrr   zList[V1beta2CounterSet]z	List[str])
r7   r<   r=   r?   rA   rC   rE   rF   rH   rJ   zClassVar[Dict[str, str]]Úopenapi_typesÚattribute_map©
r6   r<   r=   r>   r@   rB   rD   rF   rG   rI   zClassVar[List[str]]Ú%_V1beta2ResourceSliceSpec__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 «       d|vrd|v r|d   |d<   |j                  dd «       d|vrd|v r|d   |d<   |j                  dd «       d	|vrd
|v r|d
   |d	<   |j                  d
d «       d|vrd|v r|d   |d<   |j                  dd «       d|vrd|v r|d   |d<   |j                  dd «       |S )Nr6   r7   r>   r?   r@   rA   rB   rC   rD   rE   rG   rH   rI   rJ   )r*   Ú_Mappingr,   Úpop)ÚclsÚobjÚremove_hidden_storage_namess      r#   Ú__preprocess_input_namesz1V1beta2ResourceSliceSpec.__preprocess_input_names“   se  € ô ˜#œxÔ(ØˆJÜ�3‹iˆØ˜SÑ  [°CÑ%7Ø! +Ñ.ˆC�
‰OØ�‰�˜TÔ"Ø˜SÑ  [°CÑ%7Ø! +Ñ.ˆC�
‰OØ�‰�˜TÔ"Ø Ñ$¨¸CÑ)?Ø"% oÑ"6ˆC�ÑØ�‰� Ô&Ø#¨3Ñ.Ð3MÐQTÑ3TØ,/Ð0JÑ,KˆCÐ(Ñ)Ø�‰Ð*¨DÔ1Ø#¨3Ñ.Ð3NÐRUÑ3UØ,/Ð0KÑ,LˆCÐ(Ñ)Ø�‰Ð+¨TÔ2Ø 3Ñ&Ð+<ÀÑ+CØ$'Ð(9Ñ$:ˆCÐ Ñ!Ø�‰Ð! 4Ô(Ø sÑ*Ð/EÈÑ/LØ(+Ð,BÑ(CˆCÐ$Ñ%Ø�‰Ð&¨Ô-Øˆ
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V1beta2ResourceSliceSpec.to_str¼   s   € ä�~‰~˜dŸl™l›nÓ-Ð-r%   c                ó"   — | j                  «       S )zFor print and pprint)rd   rb   s    r#   Ú__repr__z!V1beta2ResourceSliceSpec.__repr__À   s   € à�{‰{‹}Ðr%   c                óf   — t        |t        «      sy| j                  «       |j                  «       k(  S )z&Returns true if both objects are equalF)r*   r5   r   ©rc   Úothers     r#   Ú__eq__zV1beta2ResourceSliceSpec.__eq__Ä   s'   € ä˜%Ô!9Ô:Øà�|‰|‹~ §¡£Ñ0Ð0r%   c                ó0   — t        |t        «      sy| |k(   S )z*Returns true if both objects are not equalT)r*   r5   rh   s     r#   Ú__ne__zV1beta2ResourceSliceSpec.__ne__Ë   s   € ä˜%Ô!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   )rc   r3   s     r#   Úto_jsonz V1beta2ResourceSliceSpec.to_jsonÓ   sG   € ä.¨tÓ4ˆØÐ&Ü—:‘:Ô0±ÀÓ1FÓGÓHÐHÜ�z‰zÔ,¨T¯\©\«^Ó<Ó=Ð=r%   c                óJ   — | j                  t        j                  |«      «      S )zACreate an instance of V1beta2ResourceSliceSpec from a JSON string)Ú	from_dictrn   Úloads)rT   Újson_strs     r#   Ú	from_jsonz"V1beta2ResourceSliceSpec.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«      |«      |rdndt        t        | dd«      |«      |rdnd	t        t        | d	d«      |«      |rd
ndt        t        | dd«      |«      |rdndt        t        | dd«      |«      |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.r6   r7   Nr<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   )r0   r   )rc   r'   s     r#   r   z V1beta2ResourceSliceSpec.to_dictß   s�  € ñ %‰Z¨+Ô8HÌÐQUÐWbÐdhÓIiÐktÓ8uÙ#‰Y¨Ô5EÄgÈdÐT]Ð_cÓFdÐfoÓ5pÙ"‰X¨Ô3CÄGÈDÐRZÐ\`ÓDaÐclÓ3mÙ$‰Z¨+Ô8HÌÐQUÐWbÐdhÓIiÐktÓ8uÙ(‰^¨oÔ@PÔQXÐY]Ð_nÐptÓQuð  xAó  ABÙ)2Ñ%Ð8RÔUeÔfmÐnrð  uOð  QUó  gVð  Xaó  VbÙ)2Ñ%Ð8SÔVfÔgnÐosð  vQð  SWó  hXð  Zcó  WdÙ ‰V fÔ/?ÄÈÈfÐVZÓ@[Ð]fÓ/gÙ!*ÑÐ0AÔDTÔU\Ð]aÐctÐvzÓU{ð  ~Gó  EHÙ%.Ñ!Ð4JÔM]Ô^eÐfjð  mCð  EIó  _Jð  LUó  NVð
ð 	
r%   c                óÜ  — t        g «      }| j                  d|d¬«      }g }| j                  r4| j                  D ]   }|j                  |�t	        |«      nd«       Œ" ||d<   | j
                  rt	        | j
                  «      |d<   | j                  rt	        | j                  «      |d<   g }| j                  r4| j                  D ]   }|j                  |�t	        |«      n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_noneNr<   r@   rF   rG   )ÚsetÚ
model_dumpr<   Úappendr2   rA   rF   rH   )rc   Úexcluded_fieldsÚ_dictÚ_itemsÚ_item_devicesÚ_item_shared_counterss         r#   Ú%__openapi_generator_modern_projectionz>V1beta2ResourceSliceSpec.__openapi_generator_modern_projectionî   s  € ô %(ð )
ó %ˆð —‘ØØ#Øð  ó 
ˆð ˆØ�<Š<Ø!%§¡ò g�Ø—‘À-ÐB[Ô/°Ô>ÐaeÕfðgà%ˆE�)Ñà×ÒÜ$5°d×6HÑ6HÓ$IˆE�.Ñ!à�9Š9Ü-¨d¯i©iÓ8ˆE�&‰MàˆØ×ÒØ)-×)=Ñ)=ò wÐ%Ø—‘ÐJ_ÐJkÔ/Ð0EÔFÐquÕvðwà&,ˆEÐ"Ñ#Øˆr%   c                ó*  — |€yt        |t        «      s| j                  |«      S t        t        t
        t        f   | j                  |d¬«      «      }| j                  |j                  d«      |j                  d«      �&|d   D �cg c]  }t        j                  |«      ‘Œ c}nd|j                  d«      |j                  d«      |j                  d«      �t        j                  |d   «      nd|j                  d	«      |j                  d
«      |j                  d«      �t        j                  |d   «      nd|j                  d«      �&|d   D �cg c]  }t        j                  |«      ‘Œ c}nd|j                  d«      dœ
«      }|S c c}w c c}w )z:Create an instance of V1beta2ResourceSliceSpec from a dictNT)rV   r6   r<   r=   r>   r@   rB   rD   rF   rG   rI   rO   )r*   r,   Úmodel_validateÚ_castr   rL   r   Ú1_V1beta2ResourceSliceSpec__preprocess_input_namesÚgetr   rr   r   r   r   )rT   rU   Ú_itemÚ_objs       r#   rr   z"V1beta2ResourceSliceSpec.from_dict   s‡  € ð ˆ;Øä˜#œtÔ$Ø×%Ñ% cÓ*Ð*äÜ””c�‰NØ×(Ñ(ØØ,0ð )ó ó
ˆð ×!Ñ!ØŸ™ 
Ó+ØWZ×W^ÑW^Ð_hÓWiÐWuÀCÈ	ÁNÖS¸5œ×/Ñ/°Õ6ÓSÐ{Ø—g‘g˜hÓ'ØŸ™ 
Ó+ØMPÏWÉWÐUcÓMdÐMpœN×4Ñ4°S¸Ñ5HÔIÐvzØ&)§g¡gÐ.FÓ&GØ&)§g¡gÐ.FÓ&GØBEÇ'Á'È&Ã/ÐB]Ô'×1Ñ1°#°f±+Ô>ÐcgØil×ipÑipð  rBó  jCð  jOÈsÐScÑOdÖeÀeÔ0×:Ñ:¸5ÕAÓeð  UYØ"%§'¡'Ð*>Ó"?ñ#
ó ˆð ˆùò Tùò fs   ÂF
ÅF)T)rU   r   rV   rK   Úreturnr   )r‹   rL   )ri   Úobjectr‹   rK   )rt   rL   r‹   úOptional[Self])F)r'   rK   r‹   úDict[str, Any])r‹   rŽ   )rU   zOptional[Dict[str, Any]]r‹   r�   )"Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r7   Ú__annotations__r<   r=   r?   rA   rC   rE   rH   rJ   rM   rN   rP   Úclassmethodr‡   r   Úmodel_configrd   rf   rj   rl   rp   ru   r   Ú>_V1beta2ResourceSliceSpec__openapi_generator_modern_projectionÚsetattrr   rr   rY   r%   r#   r5   r5   d   sç  … ññ ',°DÉ<ÐXbÐdoÓKpð  GQð  _Fô  'G€IÐ#ó  GÙ-2¸4ð  Nsô  .t€GÐ*ó  tÙð  +mô  n€FˆIó  nÙ%*°4É,ÐWaÐcnÓJoð  FPð  ^W
ô  &X
€IÐ"ó  X
Ù.3¸DÑS_Ð`nÐpó  TAð  Weô  /f€MÐ+ó  fÙ49À$ÑYeÐf~ð  A[ó  Z\ð  rJð  XI	ô  5J	ÐÐ1ó  J	Ù6;ÀDÑ[gð  iAð  C^ó  \_ð  uMð  [^ô  7_ÐÐ3ó  _Ø
ÓÙ9>ÀtÑ^jÐk{ð  ~Oó  _Pð  fvð  Dcô  :d€OÐ6ó  dÙ6;ÀDÑ[gÐh|ð  Uó  \Vð  l@ð  NKô  7LÐÐ3ó  LàØ(ØØØ)Ø$)Ø%+Ø%Ø4Ø +ñ/€MÐ+ó ð  ØØØØ'Ø$<Ø%=ØØ+Ø 4ñ/€MÐ+ó ò )J€LÐ%ó  Jàð -1ðàðð &*ðð 
ò	ó ðñ> ØØØ ØØô€Ló.óó1ó#ó>ð ò3ó ð3ô
ó$ñL ØØ"Ø-ôñ
 Ø-Ø"Øôð
 	.àòó ñr%   r5   )r    r   r‹   r   )r    r   r'   rK   r‹   r   )+r’   Ú
__future__r   r`   Úrern   Úcollections.abcr   rR   Úpydanticr   r   r   r   r	   r
   Útypingr   r   r   r   r   r   r†   Ú)kubernetes.client.models.v1_node_selectorr   Ú,kubernetes.client.models.v1beta2_counter_setr   Ú'kubernetes.client.models.v1beta2_devicer   Ú.kubernetes.client.models.v1beta2_resource_poolr   r   Útyping_extensionsr   Úpydantic_corer   r   r$   r(   r0   r2   r5   rY   r%   r#   ú<module>r£      sf   ðñ	õ #Û Û 	Û å /ß V× Vß E× EÝ DÝ JÝ AÝ Nß  Ý "Ý ,ð :Ð óó6ó
-óô Y˜yõ Yr%   