name : nic.cpython-39.pyc
a

'�Dg��@sTddlmZddlmZmZmZGdd�de�ZGdd�de�ZGdd�de�Zd	S)
�)�
BootProtoEnum)�NicBase�StaticIpv4Base�StaticIpv6Basec@s�eZdZdZdd�Zdd�Zdd�Zedd	��Zed
d��Z	edd
��Z
edd��Zedd��Zedd��Z
edd��Zedd��ZdS)�Niczd
    Holds the information about each NIC specified
    in the customization specification file
    cCs||_||_dS�N)�_name�_configFile)�self�nameZ
configFile�r�L/usr/lib/python3.9/site-packages/cloudinit/sources/helpers/vmware/imc/nic.py�__init__szNic.__init__cCs|j�|jd|d�S)N�|)r	�getr)r
Zwhatrrr
�_getszNic._getcCs|j�|j|�Sr)r	Zget_count_with_prefixr)r
�prefixrrr
�_get_count_with_prefixszNic._get_count_with_prefixcCs|jSr)r�r
rrr
r szNic.namecCs|�d���S)NZMACADDR�r�lowerrrrr
�mac$szNic.maccCs.|�d�}|r&|��}|dkp$|dkSdSdS)NZPRIMARY�yes�trueFr�r
�valuerrr
�primary(s

zNic.primarycCs.|�d�}|r&|��}|dkp$|dkSdSdS)NZONBOOTrrFrrrrr
�onboot1s

z
Nic.onbootcCs|�d�}|r|��SdSdS)NZ	BOOTPROTO�rrrrr
�	bootProto:s
z
Nic.bootProtocCs|�d�}|r|��SdSdS)NZ	IPv4_MODErrrrrr
�	ipv4_modeBs
z
Nic.ipv4_modecCs|jtjkrt|�gSdSdS)z�
        Checks the BOOTPROTO property and returns StaticIPv4Addr
        configuration object if STATIC configuration is set.
        N)rrZSTATIC�StaticIpv4Addrrrrr
�
staticIpv4Js
zNic.staticIpv4cCs>|�d�}|sdSg}td|d�D]}|�t||��q$|S)Nz
|IPv6ADDR|�)r�range�append�StaticIpv6Addr)r
Zcnt�result�indexrrr
�
staticIpv6Us
zNic.staticIpv6N)�__name__�
__module__�__qualname__�__doc__rrr�propertyrrrrrr r"r)rrrr
rs(







rc@s<eZdZdZdd�Zedd��Zedd��Zedd	��Zd
S)r!zStatic IPV4  Setting.cCs
||_dSr)�_nic)r
�nicrrr
rfszStaticIpv4Addr.__init__cCs|j�d�S)NZIPADDR�r/rrrrr
�ipiszStaticIpv4Addr.ipcCs|j�d�S)NZNETMASKr1rrrr
�netmaskmszStaticIpv4Addr.netmaskcCs,|j�d�}|r$dd�|�d�D�SdSdS)NZGATEWAYcSsg|]}|���qSr)�strip)�.0�xrrr
�
<listcomp>u�z+StaticIpv4Addr.gateways.<locals>.<listcomp>�,)r/r�splitrrrr
�gatewaysqszStaticIpv4Addr.gatewaysN)	r*r+r,r-rr.r2r3r;rrrr
r!cs

r!c@s<eZdZdZdd�Zedd��Zedd��Zedd	��Zd
S)r&zStatic IPV6 Address.cCs||_||_dSr)r/�_index)r
r0r(rrr
r}szStaticIpv6Addr.__init__cCs|j�dt|j��S)Nz	IPv6ADDR|�r/r�strr<rrrr
r2�szStaticIpv6Addr.ipcCs|j�dt|j��S)NzIPv6NETMASK|r=rrrr
r3�szStaticIpv6Addr.netmaskcCs|j�dt|j��S)NzIPv6GATEWAY|r=rrrr
�gateway�szStaticIpv6Addr.gatewayN)	r*r+r,r-rr.r2r3r?rrrr
r&zs

r&N)	Z/cloudinit.sources.helpers.vmware.imc.boot_protorZ-cloudinit.sources.helpers.vmware.imc.nic_baserrrrr!r&rrrr
�<module>sS

© 2025 Cubjrnet7