܍~c ddlZddlZddlmZddlmZddlmZddl m Z m Z ddl m Z ddlmZejeZGdd ZdS) N)Optional)log)Distro)PathsRunners)events) DataSourceceZdZ ddedededededee j f dZ d Z e d Zdd Zd ZddZdZe dZdZdZddZdZddZddZddZdS)CloudN datasourcepathscfgdistrorunnersreporterc||_||_||_||_||_|t jddd}||_dS)Nzunnamed-cloud-reporterF)name descriptionreporting_enabled)r r r_cfg_runnersrReportEventStackr)selfr r rrrrs 1/usr/lib/python3/dist-packages/cloudinit/cloud.py__init__zCloud.__init__ sZ%     .-4"'H ! c^tjtj|jdSN)logging resetLogging setupLoggingrrs r cycle_loggingzCloud.cycle_logging9s*TX&&&&&rc4tj|jSr)copydeepcopyrr"s rrz Cloud.cfg=s}TY'''rFc>|j|||||Sr)rrun)rrfunctorargsfreq clear_on_fails rr(z Cloud.runBs }  wdMJJJrc|jj|z}tj|s;t dtj||dS|S)Nz-No template found in %s for template named %s)r template_tplospathisfileLOGwarningdirname)rrfns rget_template_filenamezCloud.get_template_filenameEs` Z $ -w~~b!!  KK?##    4 rTc6|j|Sr)r get_userdata)r apply_filters rr8zCloud.get_userdataQs++L999rc4|jSr)r get_instance_idr"s rr;zCloud.get_instance_idTs..000rc|jjSr)r launch_indexr"s rr=zCloud.launch_indexWs ++rc4|jSr)r get_public_ssh_keysr"s rr?zCloud.get_public_ssh_keys[s22444rc4|jSr)r get_localer"s rrAzCloud.get_locale^s))+++rc:|j||S)N)fqdn metadata_only)r get_hostname)rrCrDs rrEzCloud.get_hostnameas&++],   rc6|j|Sr)r device_name_to_devicerrs rrGzCloud.device_name_to_devicefs44T:::rc6|j|Sr)r get_ipath_currHs rrJzCloud.get_ipath_curisz''---rc6|j|Sr)r get_cpathrHs rrLzCloud.get_cpathlz##D)))rc6|j|Sr)r get_ipathrHs rrOzCloud.get_ipathorMrr)NF)T)FF)__name__ __module__ __qualname__r rdictrrrrrrr#propertyrr(r6r8r;r=r?rArErGrJrLrOrrr r s7;!!!! !  !  !623!!!!2'''((X(KKKK   ::::111,,X,555,,,    ;;;....**********rr )r%r/typingr cloudinitrrcloudinit.distrosrcloudinit.helpersrrcloudinit.reportingrcloudinit.sourcesr getLoggerrPr2r rUrrr]s $$$$$$$$$$$$,,,,,,,,&&&&&&((((((g!!Q*Q*Q*Q*Q*Q*Q*Q*Q*Q*r