~f fdZddlZddlZddlZddlZddlZddlmZGddejZ y)znetplan generate command lineN)utilsc*eZdZfdZdZdZxZS)NetplanGeneratec*t|dddy)NgeneratezFGenerate backend specific configuration files from /etc/netplan/*.yamlT) command_id descriptionleaf)super__init__)self __class__s 7/usr/share/netplan/netplan_cli/cli/commands/generate.pyr zNetplanGenerate.__init__s  J&A"  $c|jjdd|jjdd|j|_|j |j y)N --root-dirzOSearch for and generate configuration files in this root directory instead of /)help --mappingzFDisplay the netplan device ID/backend/interface name mapping and exit.)parser add_argumentcommand_generatefunc parse_args run_command)rs rrunzNetplanGenerate.run%sa   &w ! y   &n ! p))   rc dtjvrctjd}| t dt j |ddddddd g}|d k7r|d k(r td t d |zytjg}|jr|d|jgz }|jr|d|jgz }tjd|t j |} tjt#j$|y#t j$r}tj |Yd}~Cd}~wwxYw)NSNAPbusctlzmissing busctl utilitycallz--quietz--systemzio.netplan.Netplanz/io/netplan/NetplanGeneraterz8PermissionError: failed to communicate with dbus servicez?RuntimeError: failed to communicate with dbus service: error %srrzcommand generate: running %s)osenvironshutilwhich RuntimeError subprocessr PermissionErrorrget_generator_pathroot_dirmappingloggingdebugsystemctl_daemon_reloadCalledProcessErrorwarningsysexit)rrresargves rrz NetplanGenerate.command_generate0s@ RZZ \\(+F~"#;<< //669j#7#8#7#- #%&Cax#:)RTT'Y\__aa((*+ == \4==1 1D << [$,,/ /D 4d;ood#   ) ) +  ,,  OOA   s1DE .EE )__name__ __module__ __qualname__r rr __classcell__)rs@rrrs$ ,rr) __doc__r-r#r2r(r%rNetplanCommandrrrr?s.$$  ?e**?r