
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
\me                 @   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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/d0 Z#d1S )2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DATETIME|UTCzMISC|POST-GC-STATUSz!MISC|DEFAULT-RUN-POST-CUST-SCRIPTzCLOUDINIT|METADATAzCLOUDINIT|USERDATAzCLOUDINIT|INSTANCE-IDc             C   s
   || _ d S )N)_configFile)selfZ
configFile r   /usr/lib/python3.6/config.py__init__"   s    zConfig.__init__c             C   s   | j jtjdS )zReturn the hostname.N)r   getr   HOSTNAME)r   r   r   r   	host_name%   s    zConfig.host_namec             C   s   | j jtjdS )zReturn the domain name.N)r   r	   r   
DOMAINNAME)r   r   r   r   domain_name*   s    zConfig.domain_namec             C   s   | j jtjdS )zReturn the timezone.N)r   r	   r   TIMEZONE)r   r   r   r   timezone/   s    zConfig.timezonec             C   s   | j jtjdS )z#Return the root password to be set.N)r   r	   r   PASS)r   r   r   r   admin_password4   s    zConfig.admin_passwordc             C   sL   g }| j jtj}x4td|d D ]"}tjt| }|j| j |  q"W |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_servers9   s    zConfig.name_serversc             C   sL   g }| j jtj}x4td|d D ]"}tjt| }|j| j |  q"W |S )z Return the list of DNS Suffixes.r   )r   r   r   SUFFIXr   r   r   )r   r   r   r   r   r   r   r   dns_suffixesD   s    zConfig.dns_suffixesc             C   s8   g }| j d }x$|jdD ]}|jt|| j  qW |S )z#Return the list of associated NICs.zNIC-CONFIG|NICS,)r   splitr   r   )r   r   nicsZnicr   r   r   r!   O   s
    
zConfig.nicsc             C   s0   | j jtjd}|j }|dkr(td|dkS )z1Retreives if the root password needs to be reset.noyesz$ResetPassword value should be yes/no)r#   r"   )r   r	   r   	RESETPASSlower
ValueError)r   Z	resetPassr   r   r   reset_passwordY   s
    zConfig.reset_passwordc             C   s   | j jtjdS )zReturns marker id.N)r   r	   r   MARKERID)r   r   r   r   	marker_idb   s    zConfig.marker_idc             C   s   | j jtjdS )z,Return the name of custom (pre/post) script.N)r   r	   r   CUSTOM_SCRIPT)r   r   r   r   custom_script_nameg   s    zConfig.custom_script_namec             C   s0   | j jtjd}|j }|dkr(td|dkS )z8Return whether to post guestinfo.gc.status VMX property.r"   r#   z#PostGcStatus value should be yes/no)r#   r"   )r   r	   r   POST_GC_STATUSr%   r&   )r   ZpostGcStatusr   r   r   post_gc_statusl   s
    zConfig.post_gc_statusc             C   s0   | j jtjd}|j }|dkr(td|dkS )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/no)r#   r"   )r   r	   r   DEFAULT_RUN_POST_SCRIPTr%   r&   )r   ZdefaultRunPostScriptr   r   r   default_run_post_scriptu   s    
zConfig.default_run_post_scriptc             C   s   | j jtjdS )z(Return the name of cloud-init meta data.N)r   r	   r   CLOUDINIT_META_DATA)r   r   r   r   meta_data_name   s    zConfig.meta_data_namec             C   s   | j jtjdS )z(Return the name of cloud-init user data.N)r   r	   r   CLOUDINIT_USER_DATA)r   r   r   r   user_data_name   s    zConfig.user_data_namec             C   s   | j jtjdS )zReturn instance idN)r   r	   r   CLOUDINIT_INSTANCE_ID)r   r   r   r   instance_id   s    zConfig.instance_idN)$__name__
__module____qualname____doc__r*   r   r   r
   r(   r   r$   r   r   ZUTCr,   r.   r0   r2   r4   r   propertyr   r   r   r   r   r   r!   r'   r)   r+   r-   r/   r1   r3   r5   r   r   r   r   r      s@   
		r   N)Z(cloudinit.sources.helpers.vmware.imc.nicr   r   r   r   r   r   <module>	   s   