3 \¼meØ ã@sTddlmZddlmZmZmZGdd„deƒZGdd„deƒZGdd„deƒZd S) é)Ú BootProtoEnum)ÚNicBaseÚStaticIpv4BaseÚStaticIpv6Basec@sˆeZdZdZdd„Zdd„Zdd„Zedd „ƒZed d „ƒZ ed d „ƒZ edd„ƒZ edd„ƒ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 ú/usr/lib/python3.6/nic.pyÚ__init__sz Nic.__init__cCs|jj|jd|dƒS)Nú|)rÚgetr )r Zwhatr r r Ú_getszNic._getcCs|jj|j|ƒS)N)rZget_count_with_prefixr )r Úprefixr r r Ú_get_count_with_prefixszNic._get_count_with_prefixcCs|jS)N)r)r r r r r szNic.namecCs|jdƒjƒS)NZMACADDR)rÚlower)r r r r Úmac$szNic.maccCs.|jdƒ}|r&|jƒ}|dkp$|dkSdSdS)NZPRIMARYÚyesÚtrueF)rr)r Úvaluer r r Úprimary(s  z Nic.primarycCs.|jdƒ}|r&|jƒ}|dkp$|dkSdSdS)NZONBOOTrrF)rr)r rr r r Úonboot1s  z Nic.onbootcCs|jdƒ}|r|jƒSdSdS)NZ BOOTPROTOÚ)rr)r rr r r Ú bootProto:s z Nic.bootProtocCs|jdƒ}|r|jƒSdSdS)NZ IPv4_MODEr)rr)r rr 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ÚStaticIpv4Addr)r r r r Ú staticIpv4Js  zNic.staticIpv4cCsB|jdƒ}|sdSg}x&td|dƒD]}|jt||ƒƒq&W|S)Nz |IPv6ADDR|é)rÚrangeÚappendÚStaticIpv6Addr)r ZcntÚresultÚindexr r r Ú staticIpv6Us zNic.staticIpv6N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrÚpropertyr rrrrrrr%r r r r rs     rc@s<eZdZdZdd„Zedd„ƒZedd„ƒZedd „ƒZd S) rzStatic IPV4 Setting.cCs ||_dS)N)Ú_nic)r Únicr r r r fszStaticIpv4Addr.__init__cCs |jjdƒS)NZIPADDR)r+r)r r r r ÚipiszStaticIpv4Addr.ipcCs |jjdƒS)NZNETMASK)r+r)r r r r ÚnetmaskmszStaticIpv4Addr.netmaskcCs,|jjdƒ}|r$dd„|jdƒDƒSdSdS)NZGATEWAYcSsg|] }|jƒ‘qSr )Ústrip)Ú.0Úxr r r ú usz+StaticIpv4Addr.gateways..ú,)r+rÚsplit)r rr r r Úgatewaysqs zStaticIpv4Addr.gatewaysN) r&r'r(r)r r*r-r.r5r r r r rcs   rc@s<eZdZdZdd„Zedd„ƒZedd„ƒZedd „ƒZd S) r"zStatic IPV6 Address.cCs||_||_dS)N)r+Ú_index)r r,r$r r r r }szStaticIpv6Addr.__init__cCs|jjdt|jƒƒS)Nz IPv6ADDR|)r+rÚstrr6)r r r r r-szStaticIpv6Addr.ipcCs|jjdt|jƒƒS)Nz IPv6NETMASK|)r+rr7r6)r r r r r.…szStaticIpv6Addr.netmaskcCs|jjdt|jƒƒS)Nz IPv6GATEWAY|)r+rr7r6)r r r r Úgateway‰szStaticIpv6Addr.gatewayN) r&r'r(r)r r*r-r.r8r r r r r"zs   r"N) Z/cloudinit.sources.helpers.vmware.imc.boot_protorZ-cloudinit.sources.helpers.vmware.imc.nic_baserrrrrr"r r r r Ús S