/usr/lib/python3/dist-packages/uaclient/clouds/__pycache__
NameSizeModeActions
aws.cpython-310.pyc53770644editdlrm
azure.cpython-310.pyc28880644editdlrm
gcp.cpython-310.pyc45420644editdlrm
identity.cpython-310.pyc31230644editdlrm
lxd.cpython-310.pyc25450644editdlrm
__init__.cpython-310.pyc25820644editdlrm
Edit: /usr/lib/python3/dist-packages/uaclient/clouds/__pycache__/aws.cpython-310.pyc (5377B)
o Ki@sddlZddlZddlmZmZddlmZmZmZm Z m Z ddl m Z dZ dZe efZdZdZd Zd Zd Zd Zd ZdZedZee eZGddde ZdS)N)AnyDict) exceptionshttpsecret_managersystemutil)PublicCloudAutoAttachInstancez169.254.169.254z[fd00:ec2::254]zhttp://{}/latest/api/tokenz0http://{}/latest/dynamic/instance-identity/pkcs7z3http://{}/latest/dynamic/instance-identity/documentz/sys/hypervisor/uuidz /sys/class/dmi/id/product_serialz/sys/class/dmi/id/product_uuid21600zX-aws-ec2-metadata-tokenz -ttl-secondsc@seZdZdZdZdefddZeej e j gddde ee ffdd Zej e j gddde fd d Zedefd d ZddZej e j gddddZedefddZedefddZdefddZdedefddZdS)AWSAutoAttachInstanceNurlcCs2tj||dd}|jdkr|jStj|j|jd)N)headerstimeoutcodebody)rreadurlrrrCloudMetadataError)selfr rresponser5/usr/lib/python3/dist-packages/uaclient/clouds/aws.py_get_imds_url_responses  z,AWSAutoAttachInstance._get_imds_url_response)g?r r ) retry_sleepsreturncCs6|}t|j}|j||d}tj|d|iS)Nrpkcs7)_request_imds_v2_token_headersIMDS_URLformat _ip_addressrrsecrets add_secret)rrr imds_url_responserrr identity_doc*s   z"AWSAutoAttachInstance.identity_docc Csf|}t|j}z t|j||d}W|Stjy2}zt d|iWYd}~Sd}~ww)a  Get the instance identity doc associated with the current instance. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/retrieve-iid.html for more context. @return: Dict containing the instance identity document. rz-Error decoding instance identity document: %sN) r _IMDS_IID_URLr!r"jsonloadsrJSONDecodeErrorLOGdebug)rrr ii_docerrr _get_ii_doc3s   z!AWSAutoAttachInstance._get_ii_doccCs0|}|dd}|dd}t|pt|S)a Determines if the instance is likely Ubuntu Pro. Criteria: if any billing-product or marketplace-product-code is present, then is likely a Pro instance. @return: Boolean indicating if the instance is likely pro or not. billingProductsNmarketplaceProductCodes)r/getbool)rr-billing_productsmarketplace_product_codesrrr is_likely_proIs  z#AWSAutoAttachInstance.is_likely_proc Cs|tD]+}z|j|d}Wnty)}ztd|t|ddWYd}~qd}~ww||_|jdurs&