3 \me@sddlmZGdddZdS))Nicc@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZddZeddZeddZeddZeddZeddZeddZedd Zed!d"Zed#d$Zed%d&Zed'd(Zed)d*Z ed+d,Z!ed-d.Z"ed/d0Z#d1S)2ConfigzT Stores the Contents specified in the Customization Specification file. zCUSTOM-SCRIPT|SCRIPT-NAMEzDNS|NAMESERVER|zNETWORK|DOMAINNAMEzNETWORK|HOSTNAMEzMISC|MARKER-IDzPASSWORD|-PASSzPASSWORD|RESETz DNS|SUFFIX|zDATETIME|TIMEZONEz DATETIME|UTCzMISC|POST-GC-STATUSz!MISC|DEFAULT-RUN-POST-CUST-SCRIPTzCLOUDINIT|METADATAzCLOUDINIT|USERDATAzCLOUDINIT|INSTANCE-IDcCs ||_dS)N) _configFile)selfZ configFiler/usr/lib/python3.6/config.py__init__"szConfig.__init__cCs|jjtjdS)zReturn the hostname.N)rgetrHOSTNAME)rrrr host_name%szConfig.host_namecCs|jjtjdS)zReturn the domain name.N)rr r DOMAINNAME)rrrr domain_name*szConfig.domain_namecCs|jjtjdS)zReturn the timezone.N)rr rTIMEZONE)rrrrtimezone/szConfig.timezonecCs|jjtjdS)z#Return the root password to be set.N)rr rPASS)rrrradmin_password4szConfig.admin_passwordcCsLg}|jjtj}x4td|dD]"}tjt|}|j|j|q"W|S)zReturn the list of DNS servers.)rget_count_with_prefixrDNSrangestrappend)rrescntikeyrrr name_servers9s zConfig.name_serverscCsLg}|jjtj}x4td|dD]"}tjt|}|j|j|q"W|S)z Return the list of DNS Suffixes.r)rrrSUFFIXrrr)rrrrrrrr dns_suffixesDs zConfig.dns_suffixescCs8g}|jd}x$|jdD]}|jt||jqW|S)z#Return the list of associated NICs.zNIC-CONFIG|NICS,)rsplitrr)rrnicsZnicrrrr!Os  z Config.nicscCs0|jjtjd}|j}|dkr(td|dkS)z1Retreives if the root password needs to be reset.noyesz$ResetPassword value should be yes/no)r#r")rr r RESETPASSlower ValueError)rZ resetPassrrrreset_passwordYs zConfig.reset_passwordcCs|jjtjdS)zReturns marker id.N)rr rMARKERID)rrrr marker_idbszConfig.marker_idcCs|jjtjdS)z,Return the name of custom (pre/post) script.N)rr r CUSTOM_SCRIPT)rrrrcustom_script_namegszConfig.custom_script_namecCs0|jjtjd}|j}|dkr(td|dkS)z8Return whether to post guestinfo.gc.status VMX property.r"r#z#PostGcStatus value should be yes/no)r#r")rr rPOST_GC_STATUSr%r&)rZ postGcStatusrrrpost_gc_statusls zConfig.post_gc_statuscCs0|jjtjd}|j}|dkr(td|dkS)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")rr rDEFAULT_RUN_POST_SCRIPTr%r&)rZdefaultRunPostScriptrrrdefault_run_post_scriptus  zConfig.default_run_post_scriptcCs|jjtjdS)z(Return the name of cloud-init meta data.N)rr rCLOUDINIT_META_DATA)rrrrmeta_data_nameszConfig.meta_data_namecCs|jjtjdS)z(Return the name of cloud-init user data.N)rr rCLOUDINIT_USER_DATA)rrrruser_data_nameszConfig.user_data_namecCs|jjtjdS)zReturn instance idN)rr rCLOUDINIT_INSTANCE_ID)rrrr instance_idszConfig.instance_idN)$__name__ __module__ __qualname____doc__r*rr r r(rr$rrZUTCr,r.r0r2r4rpropertyr r rrrrr!r'r)r+r-r/r1r3r5rrrrr s@         rN)Z(cloudinit.sources.helpers.vmware.imc.nicrrrrrr s