a 'Dg @sdZddlZddlZddlZddlmZddlmZmZddl m Z ddl m Z m Z dZddd Zd d Zd d ZedkredS)zCCommandline utility to list the canonical cloud-id for an instance.N)read_cfg_paths) RunningStatusget_status_details)log_util)METADATA_UNKNOWNcanonical_cloud_idzcloud-idcCsdtd}|stjtdd}|jdddddd |jd d ddd d |jd dt|d|d|S)a*Build or extend an arg parser for the cloud-id utility. @param parser: Optional existing ArgumentParser instance representing the query subcommand which will be extended to support the args of this utility. @returns: ArgumentParser with proper argument configuration. instance_dataz/Report the canonical cloud-id for this instance)prog descriptionz-jz--json store_trueFz5Report all standardized cloud-id information as json.)actiondefaulthelpz-lz--longz=Report extended cloud-id information as tab-delimited string.z-iz--instance-dataz,Path to instance-data.json file. Default is )typer r)rZ get_runpathargparseArgumentParserNAME add_argumentstr)parserZdefault_instance_jsonr:/usr/lib/python3.9/site-packages/cloudinit/cmd/cloud_id.py get_parsers<  rc Cszt}|jtjkr,tjd|jjdS|jtj krRtjd|jjdSz8t |j }t |}Wdn1s~0YWnXtytd|j YSty}z td|j |fWYd}~Sd}~00|di}t|dt|d t|d t}|j rDtjd ||d <t j|d ddd}n"|jrbd||d tf}n|}tjd|dS)zHandle calls to 'cloud-id' cli. Print the canonical cloud-id on which the instance is running. @return: 0 on success, 1 on error, 2 on disabled, 3 on cloud-init not run. z{0} NzTFile not found '%s'. Provide a path to instance data json file using --instance-datazFile '%s' is not valid json. %sv1Z cloud_nameZregionplatformz%DEPRECATED: Use: cloud-init query v1 cloud_idT),z: )indentZ sort_keysZ separatorsz%s %sz%s r)rZrunning_statusrZDISABLEDsysstdoutwriteformatvalueZ NOT_STARTEDopenrjsonloadIOErrorrerror ValueErrorgetrrstderrdumpsZlong) nameargsZstatus_detailsfilererrZresponserrr handle_args=sJ   ,       r3cCst}ttt|dS)z,Tool to query specific instance-data values.N)rr!exitr3r parse_args)rrrrmainlsr6__main__)N)__doc__rr'r!Zcloudinit.cmd.develrZcloudinit.cmd.statusrrZ cloudinit.logrZcloudinit.sourcesrrrrr3r6__name__rrrrs   */