܍~cldZddlZddlZddlZddlZddlZddlmZmZm Z ddl m Z m Z m Z mZmZmZddlmZddlmZddlmZdZd d Zd Zed kr*eZeeedSdS) z(Debug network config format conversions.N)distroslogsafeyaml)eninetplannetwork_manager network_statenetworkd sysconfig)DataSourceAzure) DataSourceOVF) openstackz net-convertc|s tjtt}|ddt ddd|dd gd dd |d dddd|dddt jDd|ddddd|ddd|dd gd!dd" |S)#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--distrocg|] }|D]}| Sr).0sublistitems A/usr/lib/python3/dist-packages/cloudinit/cmd/devel/net_convert.py zget_parser..Es9     @DD    )rrz-mz--maczname,macappendzinterface name to mac mapping)ractionrz--debug store_truezenable debug logging to stderr.)r%rz-Oz --output-kind)rrr r network-managerz!The network config format to emit) argparseArgumentParserNAME__doc__ add_argumentopenr OSFAMILIESvalues)parsers r! get_parserr1s I(dHHH    0       5      +     ' 2 9 9 ; ;       ,  ,-N  NNN 0  Mr#c @ |jds|xjdz c_tj|jstj|j|jr tjtj ntjtj |j r+i}|j D] }| dd\}}|||<!nd}|j }|jdkrt!j|}nC|jdkr|t%j|}d|vr|d}|jrGt*jdd t%j|d gn|jd kr)t5jt9j|| }n|jd kr-t=jt9j|d}nP|jdkrEtAj!tAj"|j j#}tAj$|d}tKj&|j'} | |j'id} |j(dkr't j)} | j*d}n|j(dkrGtVj)} | j*di}d|d<|ddd|d<ddg|d<n|j(dkr'tXj)} | j*d}ns|j(dkr'tZj)} | j*d}nA|j(dkr't\j)} | j*d}nt_d| |} taj1|| } |jrHt*jdd dtej3| d gt*jd d|jd|j j#dd |j(d!|jd"gdz| 4| |j#dS)$N/)level,rrnetwork z Input YAMLr) known_macsrrFrpostcmds netplan_pathzdhcp-use-domainszipv6-mtufeaturesr r r'zInvalid output_kind)config)rendererzInternal StatezRead input format 'z' from 'z'. zWrote output format 'z' to 'z' )r target)5 directoryendswithospathisdirmakedirsdebugrsetupBasicLoggingDEBUGWARNmacsplit network_datareadkindrconvert_eni_datarloadgetsysstderrwritejoindumpsrconvert_net_jsonjsonloadsazure6generate_network_config_from_instance_network_metadataovfConfig ConfigFilenameget_network_config_from_confrfetchdistro output_kindRendererrenderer_configsrr r r RuntimeErrorr parse_net_config_datardumprender_network_state)r`argsr:r iface_name iface_macnet_datapre_nsr> distro_clsrcr_clsrnss r! handle_argsrt^s > " "3 ' ' # 7== ( ($ DN### z. CI..... CH---- x H / /D$(JJsA$6$6 !J $.Jy ! ! /  %%''H yE%h// f  x((   ZZ **F :  J   <)?)?DEE    ) ) )+ Jx Z    l " "M Jx  +   l " "CN4+<+ABBCC1&%@@t{++J Z R . .F 5   (,,U33 Y & & (,,Y;;"z!'!7!;~0*=z Z ' '!(,,Z88 [ ( ("(,,[99 . . .((,,->??0111 VA  ,Va @ @ @B zO B(8$)B--#LMMNNNJ 999d/44466###T^^^5        DNCCCCCr#__main__)N)r+r(rYrCrSr cloudinitrrr cloudinit.netrrrr r r cloudinit.sourcesr r[r r]cloudinit.sources.helpersrr*r1rt__name__ parse_argsrkrr#r!r|sT/. ,,,,,,,,,,766666222222//////????DUDUDUDp z :<< " " $ $DKdr#