a D=]i; @s&ddlmZmZGdddeeZdS))PluginIndependentPluginc@s0eZdZdZdZdZddZddZdd Zd S) AwszAWS EC2 instance metadataZaws)ZvirtcCsXz>tddd}d|vWdWS1s20YWntyRYdS0dS)Nz&/sys/devices/virtual/dmi/id/sys_vendorzutf-8)encodingZAmazonF)openreadFileNotFoundError)selffr :/usr/lib/python3.9/site-packages/sos/report/plugins/aws.py_is_ec2s0 z Aws._is_ec2cCs|S)N)r )r r r r check_enabledszAws.check_enabledc Cs|s|jddSd}d|}z|j|ddd}WntyRd}Yn0d}|rfd|}gd }d }|D]:}||}|d d } |jd |d|d| ddqvdS)Nz5Not an EC2 instance; skipping AWS metadata collectionz'http://169.254.169.254/latest/api/tokenzJcurl -sS -X PUT -H X-aws-ec2-metadata-token-ttl-seconds:21600 )timeoutoutputz-H X-aws-ec2-metadata-token:)hostnamez instance-idzinstance-life-cyclez instance-typezplacement/availability-zone-idz(http://169.254.169.254/latest/meta-data//_z curl -sS  Z aws_metadata_z.txt)Zsuggest_filename)r ZsosloginfoZexec_cmd ExceptionreplaceZadd_cmd_output) r Z token_urlZ token_cmdtokenZ token_headerZmetadata_pathsZbase_urlpathZmeta_urlZ safe_namer r r setup!s2     z Aws.setupN) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesr rrr r r r rs  rN)Zsos.report.pluginsrrrr r r r  s