Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
python3-dmapi-el9 / usr / lib / python3.9 / site-packages / dmapi / objects / __pycache__ / instance.cpython-39.pyc
Size: Mime:
a

քeµ)ã@s\ddlZddlmZddlmZddlmZddl	m
Z
ddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZej Z e !e"¡Z#gd¢Z$gd¢Z%gd¢Z&gd¢Z'e$e%e&Z(gd¢Z)dZ*dd„Z+e,ƒZ-ej.j/Gdd„dej0ej1ej2ƒƒZ3dS)éN)Úcfg)Ú	exception)Úlog)Ú	jsonutils)Ú	timeutils)Úversionutils)Úor_)Úfunc)Únull)Údb)Úapi)Úmodels)Ú_)Úobjects)Úbase©Úfields)Úutils)ÚmetadataÚsystem_metadataÚsecurity_groupsÚpci_devicesÚtagsZservicesÚfault)ÚflavorZ
old_flavorZ
new_flavorZec2_ids)Ú
numa_topologyÚpci_requestsrZ
vcpu_modelZmigration_contextZkeypairsZdevice_metadata)rrr)rrré2csbˆsˆSdd„ˆDƒ}‡fdd„tDƒ}|r6| d¡dd„|Dƒ}||}ttt|ƒƒ|jdS)zžReturn expected_attrs that are columns needing joining.

    NB: This function may modify expected_attrs if one
    requested attribute requires another.
    cSsg|]}|tvr|‘qS©)Ú _INSTANCE_OPTIONAL_JOINED_FIELDS)Ú.0Úattrrrú:/usr/lib/python3.9/site-packages/dmapi/objects/instance.pyÚ
<listcomp>Dsÿz"_expected_cols.<locals>.<listcomp>csg|]}|ˆvrd|‘qS)zextra.%sr)r Úfield©Úexpected_attrsrr"r#GsþZextracSsg|]}|tvr|‘qSr)Ú_INSTANCE_EXTRA_FIELDS)r Úxrrr"r#Ló)Úkey)r'ÚappendÚsortedÚlistÚsetÚindex)r&Zsimple_colsZcomplex_colsZ
expected_colsrr%r"Ú_expected_cols;s
ÿ
r0cspeZdZdZe ¡ejddejddejddejddejddejddejddejddejddejddejddejddejddejddejddejddejdde 	¡ejdddœZdgZ
‡fdd	„Zed
d„ƒZ
dd
d„Z‡fdd„Zd ‡fdd„	Z‡fdd„Ze‡fdd„ƒZedd„ƒZed!dd„ƒZed"dd„ƒZejd#dd„ƒZ‡ZS)$ÚInstancez2.0T)ZnullableF)Údefault)ÚidÚhostnameÚhostZnodeZinstance_type_idZ	user_dataZreservation_idZlaunched_atZ
terminated_atZavailability_zoneZdisplay_nameZdisplay_descriptionZlaunched_onÚlockedZ	locked_byZos_typeZarchitectureZvm_modeÚuuidÚ
task_stateÚnamecs"tt|ƒj|i|¤Ž| ¡dS©N)Úsuperr1Ú__init__Ú_reset_metadata_tracking)ÚselfÚargsÚkwargs©Ú	__class__rr"r<„szInstance.__init__cCstj |¡Sr:)rZ	ImageMetaZ
from_instance)r>rrr"Ú
image_metaˆszInstance.image_metaNcCsT|dusd|vr(d|vr"t|jƒni|_|dus8d|vrPd|vrJt|jƒni|_dS)Nrr)ÚdictrÚ_orig_system_metadatarÚ_orig_metadata)r>rrrr"r=Œsÿÿÿÿz!Instance._reset_metadata_trackingcs>tt|ƒ ¡}t|dƒr$t|jƒ|_t|dƒr:t|jƒ|_|S)z&Create a copy of this instance object.rFrE)r;r1Ú	obj_cloneÚhasattrrDrFrE)r>ZnobjrArr"rG”s

zInstance.obj_clonecs$tt|ƒj||d|j|ddS)N)Ú	recursiver)r;r1Úobj_reset_changesr=)r>rrIrArr"rJ¡sÿzInstance.obj_reset_changescsNtt|ƒ ¡}d|vr,|j|jkr,| d¡d|vrJ|j|jkrJ| d¡|S)Nrr)r;r1Úobj_what_changedrrFÚaddrrE)r>ZchangesrArr"rK¦s
ÿ
zInstance.obj_what_changedcs tt|ƒ |||¡}| ¡|Sr:)r;r1Ú_obj_from_primitiver=)ÚclsÚcontextZobjverZ	primitiver>rArr"rM¯s
ÿzInstance._obj_from_primitivecCsÄztj|j}Wn®ty~i}|jD](}|dkr8q(n| |¡sDq(||||<q(ztj|}Wntyx|j}Yn0YnBtj	y¾|j
tjkrª|j
tjkrªd}nt d¡|j}Yn0|S)Nr9ÚzOCould not lazy-load instance.id while attempting to generate the instance name.)ÚCONFZinstance_name_templater3Ú	TypeErrorrZobj_attr_is_setÚKeyErrorr7rZObjectActionErrorZvm_stateZ	vm_statesZBUILDINGr8Ztask_statesZ
SCHEDULINGÚLOGÚerror)r>Ú	base_nameÚinfor*rrr"r9¶s,


ÿ
z
Instance.namecCs¾||_|durg}|jD]P}|tvr(qq|dkrD|d|dk|_q|dkr\|ddk|_q||||<qd|vr€t |¡|d<d|vr–t |¡|d<d|vr²tj	 
||j¡|d<| ¡|S)	zjMethod to help with migration to objects.

        Converts a database entity to a formal object.
        NÚdeletedr3Úcleanedérrr)
Z_contextrÚINSTANCE_OPTIONAL_ATTRSrXrYrZ
instance_metaZinstance_sys_metarZ
InstanceFaultZget_latest_for_instancer7rJ)rOÚinstanceÚdb_instr&r$rrr"Ú_from_db_objectÜs,
ÿÿzInstance._from_db_objectcCstj|||dS)N)Úcolumns_to_join)rZinstance_get_by_uuid)rOr7r_Ú	use_slaverrr"Ú_db_instance_get_by_uuidüsÿz!Instance._db_instance_get_by_uuidcCs<|durddg}t|ƒ}|j||||d}| ||ƒ||¡S)NZ
info_cacher)r`)r0rar^)rNrOr7r&r`r_r]rrr"Úget_by_uuids
ÿÿzInstance.get_by_uuid)N)NF)N)F)NF)Ú__name__Ú
__module__Ú__qualname__ZVERSIONrZIntegerFieldZStringFieldZ
DateTimeFieldZBooleanFieldZ	UUIDFieldZobj_extra_fieldsr<ÚpropertyrCr=rGrJrKÚclassmethodrMr9Ústaticmethodr^rarZremotable_classmethodrbÚ
__classcell__rrrAr"r1ZsR

















á"


	
%ÿr1)4Ú
contextlibZoslo_configrZoslo_dbrZdb_excZoslo_logrZloggingZoslo_serializationrZ
oslo_utilsrrZ
sqlalchemyrZsqlalchemy.sqlr	r
ZdmapirZdmapi.db.sqlalchemyrZdb_apir
Z
dmapi.i18nrrZ
dmapi.objectsrrrrQZ	getLoggerrcrTrZ$_INSTANCE_OPTIONAL_NON_COLUMN_FIELDSr'Z_MIGRATION_CONTEXT_ATTRSr[ZINSTANCE_DEFAULT_FIELDSZ
MAX_TAG_COUNTr0ÚobjectZ_NO_DATA_SENTINELZContegoObjectRegistryÚregisterZContegoPersistentObjectZ
ContegoObjectZContegoObjectDictCompatr1rrrr"Ú<module>sJ
ÿþÿ