f$dZddlZddlZddlZddlZddlZddlZddlmZm Z m Z ddl m Z m Z mZmZmZmZddlmZddlmZddlmZdZd d Zd Zed k(rej;Zeeeyy) z(Debug network config format conversions.N)distroslogsafeyaml)eninetplannetwork_manager network_statenetworkd sysconfig)DataSourceAzure) openstack)guestcust_utilz net-convertc |stjtt}|j ddt ddd|j dd gd dd |j d dddd|j ddt jjDcgc] }|D]}| c}}d|j ddddd|j ddd|j ddgd dd! |Scc}}w)"aBuild or extend and arg parser for net-convert utility. @param parser: Optional existing ArgumentParser instance representing the subcommand which will be extended to support the args of this utility. @returns: ArgumentParser with proper argument configuration. )prog descriptionz-pz--network-dataPATHTz!The network configuration to read)typemetavarrequiredhelpz-kz--kind)rnetwork_data.jsonyaml azure-imds vmware-imcz&The format of the given network config)choicesrrz-dz --directoryzdirectory to place output in)rrrz-Dz--distro)rrz-mz--maczname,macappendzinterface name to mac mapping)ractionrz--debug store_truezenable debug logging to stderr.)rrz-Oz --output-kind)rrr r network-managerz!The network config format to emit) argparseArgumentParserNAME__doc__ add_argumentopenr OSFAMILIESvalues)parsersublistitems A/usr/lib/python3/dist-packages/cloudinit/cmd/devel/net_convert.py get_parserr,sO ((dH    0     5    +    ' 2 2 9 9 ;  @DD      ,  ,-N  N 0  M- sC7c Z |jjds|xjdz c_tjj |jstj |j|j r%tjtjn$tjtj|jr.i}|jD]}|jdd\}}|||<nd}|jj}|j dk(rt#j$|}nc|j dk(r|t'j(|}d|vr|j+d}|j rt,j.j1dj3d t'j4|d gn|j d k(r+t7j8t;j<|| }n|j d k(r.t?j@t;j<|dd}na|j dk(rRtCjDtCjF|jjH}tCjJ|d}tMjN|jP} | |jPid} |jRdk(r-t"jT} | jVj+d}n|jRdk(rDtXjT} | jVj+di}d|d<|ddd|d<ddg|d<n|jRdk(r,tZjT} | jVj+d}n|jRdk(r,t\jT} | jVj+d}nF|jRdk(r,t^jT} | jVj+d}n tad| |} tcjd| } |j rEt,j.j1dj3d dtgjh| d gt,j.j1d j3d|j d |jjHd!d"|jRd#|jd$gdz| jk| |j%y)&N/)level,rrnetwork z Input YAMLr) known_macsrT)&apply_network_config_for_secondary_ipsrFrpostcmds netplan_pathzdhcp-use-domainszipv6-mtufeaturesr r rzInvalid output_kind)config)rendererzInternal StatezRead input format 'z' from 'z'. zWrote output format 'z' to 'z' )r target)6 directoryendswithospathisdirmakedirsdebugrsetup_basic_loggingloggingDEBUGWARNmacsplit network_datareadkindrconvert_eni_datarloadgetsysstderrwritejoindumpsr convert_net_jsonjsonloadsazure6generate_network_config_from_instance_network_metadatarConfig ConfigFilename%get_network_data_from_vmware_cust_cfgrfetchdistro output_kindRendererrenderer_configsrr r r RuntimeErrorr parse_net_config_datardumprender_network_state)r\argsr5r* iface_name iface_macnet_datapre_nsr: distro_clsr_r_clsrnss r+ handle_argsrp_s >> " "3 ' # 77== ( DNN# zz gmm4 gll3 xx HH /D$(JJsA$6 !J $.Jy ! /   %%'H yyE%%h/ f x(  ZZ *F :: JJ   <)?DE  ) )++ JJx Z  l "MM JJx  +37  l "&&  % %d&7&7&<&< =  EE E t{{+J  R .F 5  ((,,U3  Y &  ((,,Y;"z!'!7!;~0*=z  Z '!!((,,Z8  [ (""((,,[9  . .((((,,->?011 VA  , ,Va @B zz B(8$))B-#LMNJJ 99d//446##T^^5     DNNC__main__)N)r#r rVrEr?rPr cloudinitrrr cloudinit.netrrrr r r cloudinit.sourcesr rXcloudinit.sources.helpersr $cloudinit.sources.helpers.vmware.imcrr"r,rp__name__ parse_argsrgrqr+r{ss/  ,,7/??DZDz z < " " $Ddrq