o
    w7e                     @   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)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_password4   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_servers9      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_suffixesD   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(   O   s
   
zConfig.nicsc                 C   0   | j tjd}| }|dvrtd|dkS )z1Retreives 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_passwordY   
   zConfig.reset_passwordc                 C   r
   )zReturns marker id.N)r   r   r   MARKERIDr   r   r   r   	marker_idb   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_nameg   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_statusl   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_scriptu   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   UTCr8   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   