
    x[h                     $    d dl mZ  G d d      Zy)    )Nicc                   >   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ed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Z ed        Z!ed        Z"y )!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                     || _         y )N)_configFile)self
configFiles     M/usr/lib/python3/dist-packages/cloudinit/sources/helpers/vmware/imc/config.py__init__zConfig.__init__!   s
    %    c                 V    | j                   j                  t        j                  d      S )zReturn the hostname.N)r   getr   HOSTNAMEr   s    r
   	host_namezConfig.host_name$   !     ##FOOT::r   c                 V    | j                   j                  t        j                  d      S )zReturn the domain name.N)r   r   r   
DOMAINNAMEr   s    r
   domain_namezConfig.domain_name)   s#     ##F$5$5t<<r   c                 V    | j                   j                  t        j                  d      S )zReturn the timezone.N)r   r   r   TIMEZONEr   s    r
   timezonezConfig.timezone.   r   r   c                 V    | j                   j                  t        j                  d      S )z#Return the root password to be set.N)r   r   r   PASSr   s    r
   admin_passwordzConfig.admin_password3   s!     ##FKK66r   c                     g }| j                   j                  t        j                        }t	        d|dz         D ]<  }t        j                  t        |      z   }|j                  | j                   |          > |S )zReturn the list of DNS servers.   )r   get_count_with_prefixr   DNSrangestrappendr   rescntikeys        r
   name_serverszConfig.name_servers8   sm     44VZZ@q#'" 	.A**s1v%CJJt'',-	. 
r   c                     g }| j                   j                  t        j                        }t	        d|dz         D ]<  }t        j                  t        |      z   }|j                  | j                   |          > |S )z Return the list of DNS Suffixes.r   )r   r   r   SUFFIXr    r!   r"   r#   s        r
   dns_suffixeszConfig.dns_suffixesC   sm     44V]]Cq#'" 	.A--#a&(CJJt'',-	. 
r   c                     g }| j                   d   }|j                  d      D ]'  }|j                  t        || j                                ) |S )z#Return the list of associated NICs.zNIC-CONFIG|NICS,)r   splitr"   r   )r   r$   nicsnics       r
   r/   zConfig.nicsN   sQ      12::c? 	3CJJs3 0 012	3 
r   c                     | j                   j                  t        j                  d      }|j	                         }|dvrt        d      |dk(  S )z1Retrieves if the root password needs to be reset.noyesr2   z$ResetPassword value should be yes/nor4   )r   r   r   	RESETPASSlower
ValueError)r   	resetPasss     r
   reset_passwordzConfig.reset_passwordX   sM     $$(()9)94@	OO%	M)CDDE!!r   c                 V    | j                   j                  t        j                  d      S )zReturns marker id.N)r   r   r   MARKERIDr   s    r
   	marker_idzConfig.marker_ida   r   r   c                 V    | j                   j                  t        j                  d      S )z,Return the name of custom (pre/post) script.N)r   r   r   CUSTOM_SCRIPTr   s    r
   custom_script_namezConfig.custom_script_namef   s#     ##F$8$8$??r   c                     | j                   j                  t        j                  d      }|j	                         }|dvrt        d      |dk(  S )z8Return whether to post guestinfo.gc.status VMX property.r2   r3   z#PostGcStatus value should be yes/nor4   )r   r   r   POST_GC_STATUSr6   r7   )r   postGcStatuss     r
   post_gc_statuszConfig.post_gc_statusk   sO     ''++F,A,A4H#))+},BCCu$$r   c                     | j                   j                  t        j                  d      }|j	                         }|dvrt        d      |dk(  S )z
        Return enable-custom-scripts default value if enable-custom-scripts
        is absent in VM Tools configuration
        r2   r3   z+defaultRunPostScript value should be yes/nor4   )r   r   r   DEFAULT_RUN_POST_SCRIPTr6   r7   )r   defaultRunPostScripts     r
   default_run_post_scriptzConfig.default_run_post_scriptt   sV      $//33**D 
  499;}4JKK#u,,r   c                 V    | j                   j                  t        j                  d      S )z(Return the name of cloud-init meta data.N)r   r   r   CLOUDINIT_META_DATAr   s    r
   meta_data_namezConfig.meta_data_name   #     ##F$>$>EEr   c                 V    | j                   j                  t        j                  d      S )z(Return the name of cloud-init user data.N)r   r   r   CLOUDINIT_USER_DATAr   s    r
   user_data_namezConfig.user_data_name   rK   r   c                 V    | j                   j                  t        j                  d      S )zReturn instance idN)r   r   r   CLOUDINIT_INSTANCE_IDr   s    r
   instance_idzConfig.instance_id   s#     ##F$@$@$GGr   N)#__name__
__module____qualname____doc__r>   r   r   r   r;   r   r5   r*   r   rA   rE   rI   rM   rP   r   propertyr   r   r   r   r(   r+   r/   r9   r<   r?   rC   rG   rJ   rN   rQ    r   r
   r   r      s   
 0M
C%J!HHD IF"H*NA...& ; ; = = ; ; 7 7       " " ; ; @ @ % % - - F F F F H Hr   r   N)(cloudinit.sources.helpers.vmware.imc.nicr   r   rW   r   r
   <module>rY      s    9CH CHr   