o ed @sTdZddlZddlZddlZddlZddlZddlmmZGdddej Z dS)znetplan generate command lineNcs,eZdZfddZddZddZZS)NetplanGeneratecstjdddddS)NgeneratezFGenerate backend specific configuration files from /etc/netplan/*.yamlT) command_id descriptionleaf)super__init__self __class__3/usr/share/netplan/netplan/cli/commands/generate.pyrs zNetplanGenerate.__init__cCs<|jjddd|jjddd|j|_||dS)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_commandr r r rrun%s zNetplanGenerate.runc Csdtjvr3td}|durtdt|ddddddd g}|d kr1|d kr+td td |dSt g}|j rB|d|j g7}|j rL|d|j g7}t d|tt|dS)NSNAPbusctlzmissing busctl utilitycallz--quietz--systemzio.netplan.Netplanz/io/netplan/NetplanGeneraterz'failed to communicate with dbus servicez1failed to communicate with dbus service: error %srrzcommand generate: running %s)osenvironshutilwhich RuntimeError subprocessrPermissionErrorutilsget_generator_pathroot_dirmappingloggingdebugsysexit)r rresargvr r rr0s4     z NetplanGenerate.command_generate)__name__ __module__ __qualname__rrr __classcell__r r r rrs  r) __doc__r)rr+r#r netplan.cli.utilsclir%NetplanCommandrr r r rs