Ë
    *CàeJ  ã                   óV   — d Z ddlZddlZddlZddlmZ ddlZdZddgZ G d„ d	e«      Z	y)
znetplan set command lineé    Né   )ÚNetplanCommandz70-netplan-set.yamlÚrendererÚversionc                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )Ú
NetplanSetc                 ó*   •— t         ‰| �  ddd¬«       y )NÚsetzTAdd new setting by specifying a dotted key=value pair like ethernets.eth0.dhcp4=trueT)Ú
command_idÚdescriptionÚleaf)ÚsuperÚ__init__)ÚselfÚ	__class__s    €ú2/usr/share/netplan/netplan_cli/cli/commands/set.pyr   zNetplanSet.__init__!   s   ø€ Ü‰Ñ EØ%{Ø"ð 	õ 	$ó    c                 ó*  — | j                   j                  dt        d¬«       | j                   j                  dt        d¬«       | j                   j                  ddd¬	«       | j                  | _        | j                  «        | j                  «        y )
NÚ	key_valuezNThe nested key=value pair in dotted format. Value can be NULL to delete a key.)ÚtypeÚhelpz--origin-hintz”Can be used to help choose a name for the overwrite YAML file.                                        A .yaml suffix will be appended automatically.z
--root-dirú/zAOverwrite configuration files in this root directory instead of /)Údefaultr   )ÚparserÚadd_argumentÚstrÚcommand_setÚfuncÚ
parse_argsÚrun_command)r   s    r   ÚrunzNetplanSet.run&   s‰   € Ø�‰× Ñ  ´3Ø&vð 	!ô 	xà�‰× Ñ  ´sð'Wð 	!ô 	Xð 	�‰× Ñ  °sØ&ið 	!ô 	kð ×$Ñ$ˆŒ	à�‰ÔØ×ÑÕr   c                 óD  — | j                   �#t        | j                   «      dk(  rt        d«      ‚| j                   rdj                  | j                   df«      }nd }| j                  j                  dd«      }t        |«      dk7  rt        d«      ‚|\  }}|j                  d	«      sdj                  d	|f«      }t        j
                  d
|«      D �cg c]  }|j                  dd«      ‘Œ }}t        j                  «       }t        j                  «       5 }t        j                  |||«       |j                  «        |j                  dt         j"                  «       |j%                  |«       |j'                  | j(                  «       |j                  dt         j"                  «       |j+                  |«       t        j,                  «       }	|	j/                  |«       |�rt        j                  «       }
|j                  dt         j"                  «       |
j%                  |«       |j                  dt         j"                  «       |
j1                  ||¬«       |
j'                  | j(                  «       |j                  dt         j"                  «       |
j+                  |«       t        j,                  «       }|j/                  |
«       |j3                  || j(                  «       n |	j5                  t6        | j(                  «       d d d «       y c c}w # 1 sw Y   y xY w)Nr   zInvalid/empty origin-hintú.Úyamlú=é   r   zInvalid value specifiedÚnetworkz	(?<!\\)\.z\.)Ú
constraint)Úorigin_hintÚlenÚ	ExceptionÚjoinr   ÚsplitÚ
startswithÚreÚreplaceÚnetplanÚParserÚtempfileÚTemporaryFileÚ_create_yaml_patchÚflushÚseekÚioÚSEEK_SETÚload_nullable_fieldsÚload_yaml_hierarchyÚroot_dirÚ	load_yamlÚStateÚimport_parser_resultsÚ_load_nullable_overridesÚ_write_yaml_fileÚ_update_yaml_hierarchyÚFALLBACK_FILENAME)r   Úfilenamer-   ÚkeyÚvalueÚsÚ	yaml_pathr   ÚtmpÚstateÚparser_output_fileÚstate_output_files               r   r   zNetplanSet.command_set4   st  € Ø×ÑÐ'¬C°×0@Ñ0@Ó,AÀQÒ,FÜÐ7Ó8Ð8Ø×ÒØ—x‘x ×!1Ñ!1°6Ð :Ó;‰HàˆHØ—‘×$Ñ$ S¨!Ó,ˆÜˆu‹:˜Š?ÜÐ5Ó6Ð6à‰
ˆˆUØ�~‰~˜iÔ(Ø—(‘(˜I sÐ+Ó,ˆCô 57·H±H¸\È3Ó4OÖP¨q�Q—Y‘Y˜u cÕ*ÐPˆ	ÐPä—‘Ó!ˆÜ×#Ñ#Ó%ð :	O¨Ü×&Ñ& y°%¸Ô=Ø�I‰IŒKð �H‰H�QœŸ™Ô$Ø×'Ñ'¨Ô,ð ×&Ñ& t§}¡}Ô5ð �H‰H�QœŸ™Ô$Ø×Ñ˜SÔ!ô —M‘M“OˆEØ×'Ñ'¨Ô/âÜ%,§^¡^Ó%5Ð"ð —‘˜œBŸK™KÔ(Ø"×7Ñ7¸Ô<ð —‘˜œBŸK™KÔ(Ø"×;Ñ;¸CÈHÐ;ÔUð #×6Ñ6°t·}±}ÔEØ—‘˜œBŸK™KÔ(Ø"×,Ñ,¨SÔ1ô
 %,§M¡M£OÐ!Ø!×7Ñ7Ð8JÔKØ!×2Ñ2°8¸T¿]¹]ÕKà×,Ñ,Ô->ÀÇÁÔN÷u:	Oð :	Oùò Q÷:	Oð :	Oús   ÃLÄG3LÌL)Ú__name__Ú
__module__Ú__qualname__r   r!   r   Ú__classcell__)r   s   @r   r   r      s   ø„ ô$ò
öMOr   r   )
Ú__doc__r3   r/   r8   Úutilsr   r1   rC   ÚGLOBAL_KEYSr   © r   r   ú<module>rU      s9   ðñ$ ã Û 	Û 	å "Û à)Ð Ø˜9Ð%€ôbO�õ bOr   