a 'Dg@sddlZddlZddlZddlZddlmZmZddlmZddlm Z m Z m Z m Z m Z ddlmZddlZddlmZmZddlmZddlmZeeZd(e eeeed d d ZGdddeZGdddeZ GdddeZ!GdddeZ"GdddeZ#GdddeZ$GdddeZ%GdddeZ&GdddeZ'Gd d!d!eZ(Gd"d#d#eZ)Gd$d%d%eZ*Gd&d'd'eZ+dS))N)datetimetimezone)StringIO)AnyDictListOptionalTuple) ElementTree)subpversion)identity)UrlError|')data delimiter quotecharreturncCsPt6}tj|||tjd||WdS1sB0YdS)zEncode report data with csv.)rrZquotingN)rcsvwriterZ QUOTE_MINIMALZwriterowgetvaluerstrip)rrriorB/usr/lib/python3.9/site-packages/cloudinit/sources/azure/errors.py encode_reportsrc@sZeZdZddeeeeefddddZedddZe dd d Z edd d Z dS) ReportableErrorN)supporting_data)reasonrrc Csdt|_d|_||_|r(||_ni|_ttj |_ zt |_ Wn0tyz}zd||_ WYd}~n d}~00dS)Nz Cloud-Init/z%https://aka.ms/linuxprovisioningerrorzfailed to read vm id: )r Zversion_stringagentdocumentation_urlrrrZnowrZutc timestampr Z query_vm_idvm_id Exception)selfrrZid_errorrrr__init__(szReportableError.__init__rcCsddd|jd|jg}|dd|jD7}|d|jd|jd|jg7}t|S) Nz result=errorzreason=zagent=cSsg|]\}}|d|qS)=r).0kvrrr Fz5ReportableError.as_encoded_report..zvm_id=z timestamp=zdocumentation_url=) rr ritemsr#r"Z isoformatr!r)r%rrrras_encoded_report>s    z!ReportableError.as_encoded_reportcCs.t|to,|j|jko,|j|jko,|j|jkS)N) isinstancerr"rr)r%otherrrr__eq__Os    zReportableError.__eq__cCs&|jjd|jd|jd|jdS)Nz(reason=z , timestamp=z, supporting_data=)) __class____name__rr"rr%rrr__repr__Ws zReportableError.__repr__) r5 __module__ __qualname__strrrrr&r/boolr2r7rrrrr's  rcs$eZdZeddfdd ZZS)$ReportableErrorDhcpInterfaceNotFoundN)durationrcstd||jd<dS)Nzfailure to find DHCP interfacer=superr&r)r%r=r4rrr&as z-ReportableErrorDhcpInterfaceNotFound.__init__)r5r8r9floatr& __classcell__rrr@rr<`sr<cs*eZdZeeeddfdd ZZS)ReportableErrorDhcpLeaseN)r= interfacercs$td||jd<||jd<dS)Nzfailure to obtain DHCP leaser=rDr>)r%r=rDr@rrr&hs  z!ReportableErrorDhcpLease.__init__)r5r8r9rArr:r&rBrrr@rrCgsrCcsPeZdZeeeeeeeeeeefeeefddfdd Z Z S)(ReportableErrorDhcpOnNonPrimaryInterfaceN)rDdriverrouter static_routesleasercsBtd||jd<||jd<||jd<||jd<||jd<dS)Nz&failure to find primary DHCP interfacerDrFrGrHrIr>)r%rDrFrGrHrIr@rrr&ps     z1ReportableErrorDhcpOnNonPrimaryInterface.__init__) r5r8r9rr:rr rrr&rBrrr@rrEos rEcs&eZdZeeddfdd ZZS)ReportableErrorImdsUrlErrorN) exceptionr=rcst|jtjrd}nBt|jtjr(d}n.t|jtjrs<       9