o
    x[h­  ã                   @   s   d dl mZ G dd„ dƒZdS )é    )ÚNicc                   @   s  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdd„ Zedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZed d!„ ƒZed"d#„ ƒZed$d%„ ƒZed&d'„ ƒZed(d)„ ƒZed*d+„ ƒZ ed,d-„ ƒZ!ed.d/„ ƒZ"d0S )1ÚConfigzT
    Stores the Contents specified in the Customization
    Specification file.
    zCUSTOM-SCRIPT|SCRIPT-NAMEzDNS|NAMESERVER|zNETWORK|DOMAINNAMEzNETWORK|HOSTNAMEzMISC|MARKER-IDzPASSWORD|-PASSzPASSWORD|RESETzDNS|SUFFIX|zDATETIME|TIMEZONEzMISC|POST-GC-STATUSz!MISC|DEFAULT-RUN-POST-CUST-SCRIPTzCLOUDINIT|METADATAzCLOUDINIT|USERDATAzMISC|INSTANCE-IDc                 C   s
   || _ d S )N)Ú_configFile)ÚselfÚ
configFile© r   úM/usr/lib/python3/dist-packages/cloudinit/sources/helpers/vmware/imc/config.pyÚ__init__!   s   
zConfig.__init__c                 C   ó   | j  tjd¡S )zReturn the hostname.N)r   Úgetr   ÚHOSTNAME©r   r   r   r   Ú	host_name$   ó   zConfig.host_namec                 C   r
   )zReturn the domain name.N)r   r   r   Ú
DOMAINNAMEr   r   r   r   Údomain_name)   r   zConfig.domain_namec                 C   r
   )zReturn the timezone.N)r   r   r   ÚTIMEZONEr   r   r   r   Útimezone.   r   zConfig.timezonec                 C   r
   )z#Return the root password to be set.N)r   r   r   ÚPASSr   r   r   r   Úadmin_password3   r   zConfig.admin_passwordc                 C   óH   g }| j  tj¡}td|d ƒD ]}tjt|ƒ }| | j | ¡ q|S )zReturn the list of DNS servers.é   )r   Úget_count_with_prefixr   ÚDNSÚrangeÚstrÚappend©r   ÚresÚcntÚiÚkeyr   r   r   Úname_servers8   ó   zConfig.name_serversc                 C   r   )z Return the list of DNS Suffixes.r   )r   r   r   ÚSUFFIXr   r   r   r   r   r   r   Údns_suffixesC   r#   zConfig.dns_suffixesc                 C   s4   g }| j d }| d¡D ]}| t|| j ƒ¡ q|S )z#Return the list of associated NICs.zNIC-CONFIG|NICSú,)r   Úsplitr   r   )r   r   ÚnicsÚnicr   r   r   r(   N   s
   
zConfig.nicsc                 C   ó0   | j  tjd¡}| ¡ }|dvrtdƒ‚|dkS )z1Retrieves if the root password needs to be reset.Úno©Úyesr+   z$ResetPassword value should be yes/nor-   )r   r   r   Ú	RESETPASSÚlowerÚ
ValueError)r   Ú	resetPassr   r   r   Úreset_passwordX   ó
   zConfig.reset_passwordc                 C   r
   )zReturns marker id.N)r   r   r   ÚMARKERIDr   r   r   r   Ú	marker_ida   r   zConfig.marker_idc                 C   r
   )z,Return the name of custom (pre/post) script.N)r   r   r   ÚCUSTOM_SCRIPTr   r   r   r   Úcustom_script_namef   r   zConfig.custom_script_namec                 C   r*   )z8Return whether to post guestinfo.gc.status VMX property.r+   r,   z#PostGcStatus value should be yes/nor-   )r   r   r   ÚPOST_GC_STATUSr/   r0   )r   ÚpostGcStatusr   r   r   Úpost_gc_statusk   r3   zConfig.post_gc_statusc                 C   r*   )z�
        Return enable-custom-scripts default value if enable-custom-scripts
        is absent in VM Tools configuration
        r+   r,   z+defaultRunPostScript value should be yes/nor-   )r   r   r   ÚDEFAULT_RUN_POST_SCRIPTr/   r0   )r   ÚdefaultRunPostScriptr   r   r   Údefault_run_post_scriptt   s   ÿzConfig.default_run_post_scriptc                 C   r
   )z(Return the name of cloud-init meta data.N)r   r   r   ÚCLOUDINIT_META_DATAr   r   r   r   Úmeta_data_name‚   r   zConfig.meta_data_namec                 C   r
   )z(Return the name of cloud-init user data.N)r   r   r   ÚCLOUDINIT_USER_DATAr   r   r   r   Úuser_data_name‡   r   zConfig.user_data_namec                 C   r
   )zReturn instance idN)r   r   r   ÚCLOUDINIT_INSTANCE_IDr   r   r   r   Úinstance_idŒ   r   zConfig.instance_idN)#Ú__name__Ú
__module__Ú__qualname__Ú__doc__r6   r   r   r   r4   r   r.   r$   r   r8   r;   r>   r@   rB   r	   Úpropertyr   r   r   r   r"   r%   r(   r2   r5   r7   r:   r=   r?   rA   rC   r   r   r   r   r      s^    








	






r   N)Ú(cloudinit.sources.helpers.vmware.imc.nicr   r   r   r   r   r   Ú<module>   s   