/usr/lib/python3/dist-packages/cloudinit/sources/azure/__pycache__
Edit: /usr/lib/python3/dist-packages/cloudinit/sources/azure/__pycache__/identity.cpython-310.pyc (3024B)
o
th @ s d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z e
eZde
de
fddZde
de
fd d
ZdefddZde
fd
dZde
fddZG dd de jZdS ) N)Optional)dmi)report_diagnostic_eventsystem_uuidreturnc C sJ zt | }W n ty d| }t|tjd w tt j|jdS )a Byte swap system uuid.
Azure always uses little-endian for the first three fields in the uuid.
This behavior was made strict in SMBIOS 2.6+, but Linux and dmidecode
follow RFC 4122 and assume big-endian for earlier SMBIOS versions.
Azure's gen1 VMs use SMBIOS 2.3 which requires byte swapping to match
compute.vmId presented by IMDS.
Azure's gen2 VMs use SMBIOS 3.1 which does not require byte swapping.
:raises ValueError: if UUID is invalid.
zFailed to parse system uuid: logger_func)bytes)uuidUUID
ValueErrorr LOGerrorstrbytes_le)r
original_uuidmsg r B/usr/lib/python3/dist-packages/cloudinit/sources/azure/identity.pybyte_swap_system_uuid s
r c C s t rt| S | S )z!Determine VM ID from system uuid.)
is_vm_gen1r r r r r convert_system_uuid_to_vm_id) s r c C s$ t jdrdS t jdrdS dS )zZDetermine if VM is gen1 or gen2.
Gen2 guests use UEFI while gen1 is legacy BIOS.
z/sys/firmware/efiFz/dev/efiT)ospathexistsr r r r r 1 s
r c C s2 t d} | du r
td| } td| | S )z Query system uuid in lower-case.zsystem-uuidNzfailed to read system-uuidzRead product uuid: %s)r
read_dmi_dataRuntimeErrorlowerr
debugr r r r query_system_uuidA s
r c C s t } t| S )zQuery VM ID from system.)r r r r r r query_vm_idM s r! c @ s&