+
    DAi                     r    ^ RI Ht ^ RIt^ RIHt ^RIHtHt ^RIH	t	H
t
 ^RIHt ^RIHt  ! R R	4      tR# )
    )StringIONIO)ffilib)NetDefinitionNetDefinitionIteratorParser)_checked_lib_callc                     a  ] tR t^!t o R tR tV 3R lR ltR tV 3R lR ltR,V 3R	 lR
 llt	R-V 3R lR llt
V 3R lR lt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR  l4       t]V 3R! lR" l4       t]V 3R# lR$ l4       t]V 3R% lR& l4       t]V 3R' lR( l4       t]V 3R) lR* l4       tR+tV tR# ).Statec                :    \         P                  ! 4       V n        R # N)r   netplan_state_new_ptrselfs   &//usr/lib/python3/dist-packages/netplan/state.py__init__State.__init__"   s    ))+	    c                t    \         P                  ! R V P                  4      p\        P                  ! V4       R# )zNetplanState **N)r   newr   r   netplan_state_clear)r   refs   & r   __del__State.__del__%   s%    gg'3$r   c                    < V ^8  d   QhRS[ /# )   	netdef_idstr)format__classdict__s   "r   __annotate__State.__annotate__)   s     ( (S (r   c                    \         P                  ! V P                  VP                  R 4      4      pV'       g   \	        4       h\        W4      # utf-8)r   netplan_state_get_netdefr   encode
IndexErrorr   )r   r!   ptrs   && r   __getitem__State.__getitem__)   s9    **499i6F6Fw6OP,T''r   c                B    \         P                  ! V P                  4      # r   )r   netplan_state_get_netdefs_sizer   r   s   &r   __len__State.__len__/   s    11$))<<r   c                    < V ^8  d   QhRS[ /# )r    parserr
   )r$   r%   s   "r   r&   r'   2   s     [ [F [r   c                d    \        \        P                  V P                  VP                  4       R # r   )r   r   #netplan_state_import_parser_resultsr   )r   r6   s   &&r   import_parser_resultsState.import_parser_results2   s    #AA499fkkZr   Nc                &   < V ^8  d   QhRS[ RS[ /# )r    filenamerootdirr"   )r$   r%   s   "r   r&   r'   :   s     T T Tc Tr   c                    V'       d   VP                  R 4      M\        P                  pV'       d   VP                  R 4      M\        P                  p\        \        P
                  V P                  W44       R# r*   N)r,   r   NULLr   r   netplan_state_write_yaml_filer   )r   r<   r=   nameroots   &&&  r   _write_yaml_fileState._write_yaml_file:   sD    +3xw'*1w~~g&sxx#;;TYYSr   c                &   < V ^8  d   QhRS[ RS[ /# )r    default_filenamer=   r"   )r$   r%   s   "r   r&   r'   ?   s     Z Zs ZS Zr   c                    VP                  R 4      pV'       d   VP                  R 4      M\        P                  p\        \        P
                  V P                  W44       R# r?   )r,   r   r@   r   r   #netplan_state_update_yaml_hierarchyr   )r   rG   r=   rB   rC   s   &&&  r   _update_yaml_hierarchyState._update_yaml_hierarchy?   s>    &&w/*1w~~g&sxx#AA499dYr   c                    < V ^8  d   QhRS[ /# )r    output_filer   )r$   r%   s   "r   r&   r'   D   s     J Jb Jr   c                H   \        V\        4      '       d   \        P                  ! R R7      p\	        \
        P                  V P                  V4       \        P                  ! V^ \        P                  4      p\        P                  ! V^ \        P                  4       \        P                  ! W#4      p\        P                  ! V4       VP                  VP                  R4      4       R# VP                  4       p\	        \
        P                  V P                  V4       R# )netplan_temp_file)rB   r*   N)
isinstancer   osmemfd_creater   r   netplan_state_dump_yamlr   lseekSEEK_CURSEEK_SETreadclosewritedecodefileno)r   rM   fdsizedatas   &&   r   
_dump_yamlState._dump_yamlD   s    k8,,&9:Bc99499bI88B2;;/DHHRBKK(772$DHHRLdkk'23##%Bc99499bIr   c                    < V ^8  d   QhRS[ /# r    returnr"   )r$   r%   s   "r   r&   r'   R   s     n n nr   c                    \         P                  ! \        P                  ! \        P                  ! V P
                  4      4      4      P                  R 4      # r)   )r   stringr   netplan_backend_namenetplan_state_get_backendr   rZ   r   s   &r   backendState.backendQ   s:    zz#2233P3PQUQZQZ3[\]ddelmmr   c                    < V ^8  d   QhRS[ /# rb   r	   )r$   r%   s   "r   r&   r'   V   s     M M. Mr   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   id.0nds   & r   	<genexpr> State.netdefs.<locals>.<genexpr>W   s     L*KBUUBK*K   Ndictr	   r   s   &r   netdefsState.netdefsU   s    L*?d*KLLLr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   Z   s     T T0 Tr   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   "State.ethernets.<locals>.<genexpr>[   s     S*RBUUBK*Rru   	ethernetsrv   r   s   &r   r~   State.ethernetsY   s    S*?k*RSSSr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   ^   s     Q Q- Qr   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   State.modems.<locals>.<genexpr>_   s     P*OBUUBK*Oru   modemsrv   r   s   &r   r   State.modems]   s    P*?h*OPPPr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   b        P P, Pr   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   State.wifis.<locals>.<genexpr>c        O*NBUUBK*Nru   wifisrv   r   s   &r   r   State.wifisa       O*?g*NOOOr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   f   r   r   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   State.vlans.<locals>.<genexpr>g   r   ru   vlansrv   r   s   &r   r   State.vlanse   r   r   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   j        R R. Rr   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs    State.bridges.<locals>.<genexpr>k        Q*PBUUBK*Pru   bridgesrv   r   s   &r   r   State.bridgesi       Q*?i*PQQQr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   n   r   r   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   State.bonds.<locals>.<genexpr>o   r   ru   bondsrv   r   s   &r   r   State.bondsm   r   r   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   r   s     X X4 Xr   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   &State.dummy_devices.<locals>.<genexpr>s   s     W*VBUUBK*Vru   zdummy-devicesrv   r   s   &r   dummy_devicesState.dummy_devicesq   s    W*?o*VWWWr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   v   r   r   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs    State.tunnels.<locals>.<genexpr>w   r   ru   tunnelsrv   r   s   &r   r   State.tunnelsu   r   r   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   z   s     \ \#8 \r   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   *State.virtual_ethernets.<locals>.<genexpr>{   s     [*ZBUUBK*Zru   zvirtual-ethernetsrv   r   s   &r   virtual_ethernetsState.virtual_ethernetsy   s    [*?FY*Z[[[r   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'   ~   s     O O+ Or   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   State.vrfs.<locals>.<genexpr>   s     N*MBUUBK*Mru   vrfsrv   r   s   &r   r   
State.vrfs}   s    N*?f*MNNNr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'      s     U U0 Ur   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   "State.ovs_ports.<locals>.<genexpr>        T*SBUUBK*Sru   z
_ovs-portsrv   r   s   &r   	ovs_portsState.ovs_ports       T*?l*STTTr   c                    < V ^8  d   QhRS[ /# rb   rk   )r$   r%   s   "r   r&   r'      s     U U1 Ur   c                :    \        R  \        V R4       4       4      # )c              3   <   "   T F  qP                   V3x  K  	  R # 5ir   rn   rp   s   & r   rs   #State.nm_devices.<locals>.<genexpr>   r   ru   z
nm-devicesrv   r   s   &r   
nm_devicesState.nm_devices   r   r   )r   )NNr   )__name__
__module____qualname____firstlineno__r   r   r/   r3   r9   rD   rJ   r_   propertyrh   rx   r~   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell__)r%   s   @r   r   r   !   s    ,%( (=[ [T T
Z Z
J J n n M M T T Q Q P P P P R R P P X X R R \ \ O O U U U Ur   r   )ior   rQ   typingr   _netplan_cffir   r   netdefr   r	   r6   r   _utilsr   r    r   r   <module>r      s*   "  	  # 8  %fU fUr   