
    x[h                     f    S SK Jr  S SKJrJrJr   " S S\5      r " S S\5      r " S S\5      rg	)
    )BootProtoEnum)NicBaseStaticIpv4BaseStaticIpv6Basec                       \ rS rSrSrS rS rS r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       rSrg)Nic   zX
Holds the information about each NIC specified
in the customization specification file
c                     Xl         X l        g N)_name_configFile)selfname
configFiles      J/usr/lib/python3/dist-packages/cloudinit/sources/helpers/vmware/imc/nic.py__init__Nic.__init__   s    
%    c                 Z    U R                   R                  U R                  S-   U-   S 5      $ )N|)r   getr   )r   whats     r   _getNic._get   s(    ##DIIOd$:DAAr   c                 R    U R                   R                  U R                  U-   5      $ r   )r   get_count_with_prefixr   )r   prefixs     r   _get_count_with_prefixNic._get_count_with_prefix   s"    55dii&6HIIr   c                     U R                   $ r   )r   r   s    r   r   Nic.name    s    zzr   c                 @    U R                  S5      R                  5       $ )NMACADDRr   lowerr!   s    r   macNic.mac$   s    yy#))++r   c                 v    U R                  S5      nU(       a!  UR                  5       nUS:H  =(       d    US:H  $ g)NPRIMARYyestrueFr%   r   values     r   primaryNic.primary(   s4    		)$KKMEE>4Uf_4r   c                 v    U R                  S5      nU(       a!  UR                  5       nUS:H  =(       d    US:H  $ g)NONBOOTr+   r,   Fr%   r-   s     r   onboot
Nic.onboot1   s4    		(#KKMEE>4Uf_4r   c                 T    U R                  S5      nU(       a  UR                  5       $ g)N	BOOTPROTO r%   r-   s     r   	bootProtoNic.bootProto:   "    		+&;;= r   c                 T    U R                  S5      nU(       a  UR                  5       $ g)N	IPv4_MODEr7   r%   r-   s     r   	ipv4_modeNic.ipv4_modeB   r:   r   c                 X    U R                   [        R                  :X  a  [        U 5      /$ g)zo
Checks the BOOTPROTO property and returns StaticIPv4Addr
configuration object if STATIC configuration is set.
N)r8   r   STATICStaticIpv4Addrr!   s    r   
staticIpv4Nic.staticIpv4J   s'     >>]111"4())r   c                     U R                  S5      nU(       d  g / n[        SUS-   5       H  nUR                  [        X5      5        M     U$ )Nz
|IPv6ADDR|   )r   rangeappendStaticIpv6Addr)r   cntresultindexs       r   
staticIpv6Nic.staticIpv6U   sJ    )),71cAg&EMM.56 ' r   )r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   propertyr   r'   r/   r3   r8   r=   rB   rL   __static_attributes__ r   r   r   r      s    
&BJ   , ,           
 
r   r   c                   N    \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	Sr
g)	rA   c   zStatic IPV4  Setting.c                     Xl         g r   _nic)r   nics     r   r   StaticIpv4Addr.__init__f   s    	r   c                 8    U R                   R                  S5      $ )NIPADDRrZ   r   r!   s    r   ipStaticIpv4Addr.ipi   s    yy~~h''r   c                 8    U R                   R                  S5      $ )NNETMASKr_   r!   s    r   netmaskStaticIpv4Addr.netmaskm   s    yy~~i((r   c                     U R                   R                  S5      nU(       a/  UR                  S5       Vs/ s H  o"R                  5       PM     sn$ g s  snf )NGATEWAY,)rZ   r   splitstrip)r   r.   xs      r   gatewaysStaticIpv4Addr.gatewaysq   sC    		y)',{{3'78'7!GGI'788 9s   ArY   N)rN   rO   rP   rQ   rR   r   rS   r`   rd   rl   rT   rU   r   r   rA   rA   c   sF     ( ( ) )  r   rA   c                   N    \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	Sr
g)	rH   z   zStatic IPV6 Address.c                     Xl         X l        g r   )rZ   _index)r   r[   rK   s      r   r   StaticIpv6Addr.__init__}   s    	r   c                 d    U R                   R                  S[        U R                  5      -   5      $ )Nz	IPv6ADDR|rZ   r   strrq   r!   s    r   r`   StaticIpv6Addr.ip   s#    yy~~kC,<<==r   c                 d    U R                   R                  S[        U R                  5      -   5      $ )NzIPv6NETMASK|rt   r!   s    r   rd   StaticIpv6Addr.netmask   #    yy~~ns4;;/??@@r   c                 d    U R                   R                  S[        U R                  5      -   5      $ )NzIPv6GATEWAY|rt   r!   s    r   gatewayStaticIpv6Addr.gateway   ry   r   )rq   rZ   N)rN   rO   rP   rQ   rR   r   rS   r`   rd   r{   rT   rU   r   r   rH   rH   z   sJ     > > A A A Ar   rH   N)	/cloudinit.sources.helpers.vmware.imc.boot_protor   -cloudinit.sources.helpers.vmware.imc.nic_baser   r   r   r   rA   rH   rU   r   r   <module>r      s>    J P' Pf^ .A^ Ar   