
    x[hJ                         S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ	r	  SSK
Jr  SSKJrJrJrJrJrJr  SSKJr  SSKJr  SSKJr  S	rSS
 jrS r\S:X  a  \" 5       R=                  5       r\" \\5        gg)z(Debug network config format conversions.    N)distrossafeyaml)loggers)eninetplannetwork_managernetwork_statenetworkd	sysconfig)DataSourceAzure)	openstack)guestcust_utilznet-convertc           
         U (       d  [         R                  " [        [        S9n U R	                  SS[
        SSSS9  U R	                  SS	/ S
QSSS9  U R	                  SSSSSS9  U R	                  SS[        R                  R                  5        VVs/ s H  o  H  o"PM     M     snnSS9  U R	                  SSSSSS9  U R	                  SSSS9  U R	                  SS/ S QSS!S9  U $ s  snnf )"a  Build 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-dataPATHTz!The network configuration to read)typemetavarrequiredhelpz-kz--kind)r   network_data.jsonyaml
azure-imds
vmware-imcz&The format of the given network config)choicesr   r   z-dz--directoryzdirectory to place output in)r   r   r   z-Dz--distro)r   r   z-mz--maczname,macappendzinterface name to mac mapping)r   actionr   z--debug
store_truezenable debug logging to stderr.)r   r   z-Oz--output-kind)r   r   r
   r   network-managerz!The network config format to emit)	argparseArgumentParserNAME__doc__add_argumentopenr   
OSFAMILIESvalues)parsersublistitems      A/usr/lib/python3/dist-packages/cloudinit/cmd/devel/net_convert.py
get_parserr,      sJ    ((dH
0   
 5   +    ' 2 2 9 9 ;
 ;WDD ;
    ,   ,-N   N0   M-
s   C)c           
      
   UR                   R                  S5      (       d  U=R                   S-  sl         [        R                  R	                  UR                   5      (       d   [        R
                  " UR                   5        UR                  (       a#  [        R                  " [        R                  S9  O"[        R                  " [        R                  S9  UR                  (       a.  0 nUR                   H  nUR                  SS5      u  pEXBU'   M     OS nUR                  R                  5       nUR                   S:X  a  ["        R$                  " U5      nGOpUR                   S:X  a  [&        R(                  " U5      nSU;   a  UR+                  S5      nUR                  (       aE  [,        R.                  R1                  SR3                  S	[4        R6                  " U5      S
/5      5        OUR                   S:X  a*  [8        R:                  " [<        R>                  " U5      US9nOUR                   S:X  a-  [@        RB                  " [<        R>                  " U5      S   SS9nOeUR                   S:X  aU  [D        RF                  " [D        RH                  " UR                  RJ                  5      5      n[D        RL                  " US5      n[N        RP                  " URR                  5      n	U	" URR                  0 S 5      n
URT                  S:X  a-  ["        RV                  nU
RX                  R+                  S5      nGOURT                  S:X  aD  [Z        RV                  nU
RX                  R+                  S0 5      nSUS'   US   SS  US'   SS/US'   OURT                  S:X  a,  [\        RV                  nU
RX                  R+                  S5      nOURT                  S:X  a,  [^        RV                  nU
RX                  R+                  S5      nOGURT                  S:X  a,  [`        RV                  nU
RX                  R+                  S5      nO[c        S5      eU" US9n[d        Rf                  " WUS9nUR                  (       aF  [,        R.                  R1                  SR3                  S
S[&        Rh                  " U5      S
/5      5        [,        R.                  R1                  S
R3                  SUR                   < S UR                  RJ                  < S!3S"URT                  < S#UR                   < S$3/5      S-   5        URk                  XR                   S%9  g )&N/)level,   r   r   network
z
Input YAML r   )
known_macsr   T)&apply_network_config_for_secondary_ipsr   Fr   postcmdsnetplan_pathzdhcp-use-domainszipv6-mtufeaturesr
   r   r   zInvalid output_kind)config)rendererzInternal StatezRead input format 'z' from 'z'.
zWrote output format 'z' to 'z'
)r	   target)6	directoryendswithospathisdirmakedirsdebugr   setup_basic_loggingloggingDEBUGWARNmacsplitnetwork_datareadkindr   convert_eni_datar   	safe_loadgetsysstderrwritejoinr   dumpsr   convert_net_jsonjsonloadsazure6generate_network_config_from_instance_network_metadatar   Config
ConfigFilename%get_network_data_from_vmware_cust_cfgr   fetchdistrooutput_kindRendererrenderer_configsr   r
   r   r   RuntimeErrorr	   parse_net_config_datadumprender_network_state)r\   argsr5   r*   
iface_name	iface_macnet_datapre_nsr:   
distro_clsr_   r_clsrnss                 r+   handle_argsrp   `   s   >>""3''#77==((
DNN#zz##'--8##',,7xx
HHD$(JJsA$6!J$.y!  
  %%'HyyE%%h/	f	)ZZ	*F::JJ		<)?DE 
)	)++JJx Z
 
l	"MMJJx +37
 
l	"&&%%d&7&7&<&<=
  EEE
 t{{+JR.F5 ((,,U3			Y	&  ((,,Y;"z!'!7!;~0*=z			Z	'!!((,,Z8			[	(""((,,[9			.	.((((,,->?011VA		,	,Va	@Bzz

B(8$))B-#LMNJJ
 99d//446 ##T^^5	
 	
 NNC    __main__)N) r#   r    rV   rE   r?   rP   r   	cloudinitr   r   cloudinit.logr   cloudinit.netr   r   r   r	   r
   r   cloudinit.sourcesr   rX   cloudinit.sources.helpersr   $cloudinit.sources.helpers.vmware.imcr   r"   r,   rp   __name__
parse_argsrg    rq   r+   <module>r|      ss    /    	 
  ' !  7 / ??DZDz z<""$Dd rq   